
var defaultStartDate=+42;var defaultEndDate=+56;var selectedArea='';jQuery(document).ready(function(){jQuery('.dp .dpFromContainer input[@type=text]:first').click(function(){buildDP(jQuery(this).parent(),0,'Hinreise')});jQuery('.dp .dpToContainer input[@type=text]:first').click(function(){buildDP(jQuery(this).parent(),1,'R\xFCckreise')});});function buildDP(container,section,label){jQuery('.dp .dplayer').hide();if(!container.next('.dplayer').length){var selectOptions='';for(var area in vacations){selectOptions+='<option value="'+area+'">'+area+'</option>';}
container.after('<div class="dplayer"><div class="dpclose">Fenster schliessen</div><iframe class="dplayeriframe" frameborder="0"></iframe><div class="dptmp" id="dptmp'+section+'"></div><label style="width:75px; padding:5px 0 2px 5px;">Schulferien:</label><select class="dpvac"><option value="">Kanton w&auml;hlen</option>'+selectOptions+'</select></div>');}
jQuery('.dpvac option').each(function(){if(jQuery(this).val()==selectedArea){jQuery(this).attr('selected','selected');}});containerLayer=container.next('.dplayer');containerLayer.find('.dptmp').datepicker(getDPConf(container,containerLayer,section));if(container.find('input[@type=text]:first').attr('value')){var dpDate=container.find('input[@type=text]:first').attr('value').split('.');if(dpDate.length==3){containerLayer.find('.dptmp').datepicker('setDate',new Date(dpDate[2],dpDate[1]-1,dpDate[0]));}}
containerLayer.find('.dpvac').change(function(){selectedArea=jQuery('.dpvac').find('[@selected]').attr('value').replace('ü','&uuml;');initDP(container,containerLayer,section);buildMonthYearCombo('#dptmp'+section,label);});containerLayer.find('.dpclose').click(function(){containerLayer.hide();});initDP(container,containerLayer,section);buildMonthYearCombo('#dptmp'+section,label);containerLayer.show();containerLayer.find('.dplayeriframe').css({'width':containerLayer.width(),'height':containerLayer.height()});}
function initDP(container,containerLayer,section){var dp=containerLayer.find('.dptmp').datepicker('getDate');containerLayer.find('.dptmp').datepicker('change',getDPConf(container,containerLayer,section));if(dp){containerLayer.find('.dptmp').datepicker('setDate',dp);}}
function getDPConf(container,containerLayer,section){if(!section){return{beforeShowDay:markVac,minDate:new Date(),maxDate:new Date(new Date().getFullYear()+1,11,31),onSelect:submitDP,defaultDate:defaultStartDate}}else{var otherDP=container.prev('.dpFromContainer');if(!otherDP.length){var otherDP=container.prev().prev('.dpFromContainer');}
var dpDate=otherDP.find('input[@type=text]:first').attr('value').split('.');minDate=(dpDate.length==3)?new Date(dpDate[2],dpDate[1]-1,dpDate[0]):new Date();return{beforeShowDay:markVac,minDate:minDate,maxDate:new Date(new Date().getFullYear()+1,11,31),onSelect:submitDP,defaultDate:defaultEndDate}}}
function submitDP(){jQuery('.dp .dplayer:visible').each(function(){var dp=jQuery(this).find('.dptmp').datepicker('getDate');jQuery(this).prev('.formseperator').find('input[@type=text]:first').attr('value',jQuery.datepicker.formatDate('dd.mm.yy',dp));if(jQuery(this).next('.formseperator').length){var dpTo=jQuery(this).next('.formseperator').find('input[@type=text]:first').attr('value').split('.');if(dpTo.length==3){if(dp.getTime()>new Date(dpTo[2],dpTo[1]-1,dpTo[0]).getTime()){dpToNew=dp.addDays(+1);jQuery(this).next('.formseperator').find('input[@type=text]:first').attr('value',jQuery.datepicker.formatDate('dd.mm.yy',dpToNew));}}}
jQuery(this).hide();});}
function buildMonthYearCombo(preSel,label){var monthYearCombo='<div class="monthYearComboLabel">'+label+'</div>';monthYearCombo+='<select onchange="changeMonthYearCombo(\''+preSel+'\')">';jQuery(preSel).find('.ui-datepicker-new-year option').each(function(j){var yearVal=jQuery(this).val();var yearLabel=jQuery(this).text();var monthsArr=new Array('Januar','Februar','M&auml;rz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');var offset=!j?monthsArr.length-jQuery(preSel).find('.ui-datepicker-new-month option').length:0;for(var i=offset;i<monthsArr.length;i++){if(new Date(yearVal,i,31)>new Date()){monthYearCombo+='<option value="'+yearVal+'_'+i+'">'+monthsArr[i]+' '+yearLabel+'</label>';}}});monthYearCombo+='</select>';jQuery(preSel+' .monthyearcombo').remove();jQuery(preSel).prepend('<div class="monthyearcombo">'+monthYearCombo+'</div>');jQuery(preSel+' .monthyearcombo select option[value='+jQuery(preSel).find('.ui-datepicker-new-year option:selected').val()+'_'+jQuery(preSel).find('.ui-datepicker-new-month option:selected').val()+']').attr('selected','selected');}
function changeMonthYearCombo(preSel){var monthYear=jQuery(preSel+' .monthyearcombo option:selected').val().split('_');jQuery(preSel+' .ui-datepicker-new-month option[value='+monthYear[1]+']').attr('selected','selected');jQuery.datepicker._selectMonthYear(preSel,document.getElementById(preSel.split('#')[1]).getElementsByTagName('select')[1],'M');jQuery(preSel+' .ui-datepicker-new-year option[value='+monthYear[0]+']').attr('selected','selected');jQuery.datepicker._selectMonthYear(preSel,document.getElementById(preSel.split('#')[1]).getElementsByTagName('select')[2],'Y');}
function markVac(dateElm){if(selectedArea){if(vacations[selectedArea].length){ret=showDays(vacations[selectedArea]);if(ret){return ret;}}}
if(holidays){ret=showDays(holidays['global'],dateElm);if(ret){return ret;}}}
function showDays(markedDays){for(i=0;i<markedDays.length;i++){var dpFromParts=markedDays[i][0].split('.');var dpFrom=new Date(dpFromParts[2],dpFromParts[1]-1,dpFromParts[0]).getTime();if(markedDays[i].length==2){var dpToParts=markedDays[i][1].split('.');var dpTo=new Date(dpToParts[2],dpToParts[1]-1,dpToParts[0]).getTime();if(dateElm.getTime()>=dpFrom&&dateElm.getTime()<=dpTo){return[true,'ui-datepicker-vacation'];}}
if(dateElm.getTime()==dpFrom){return[true,'ui-datepicker-vacation'];}}};
