(function($){Drupal.behaviors.webform=function(context){Drupal.webform.datepicker(context);};Drupal.webform=Drupal.webform||{};Drupal.webform.datepicker=function(context){$('div.webform-datepicker').each(function(){var $webformDatepicker=$(this);var $calendar=$webformDatepicker.find('input.webform-calendar');var startDate=$calendar[0].className.replace(/.*webform-calendar-start-(\d{4}-\d{2}-\d{2}).*/,'$1').split('-');var endDate=$calendar[0].className.replace(/.*webform-calendar-end-(\d{4}-\d{2}-\d{2}).*/,'$1').split('-');var firstDay=$calendar[0].className.replace(/.*webform-calendar-day-(\d).*/,'$1');startDate=new Date(startDate[0],startDate[1]-1,startDate[2]);endDate=new Date(endDate[0],endDate[1]-1,endDate[2]);if(startDate>endDate){var laterDate=startDate;startDate=endDate;endDate=laterDate;}
var startYear=startDate.getFullYear();var endYear=endDate.getFullYear();$calendar.datepicker({dateFormat:'yy-mm-dd',yearRange:startYear+':'+endYear,firstDay:parseInt(firstDay),minDate:startDate,maxDate:endDate,onSelect:function(dateText,inst){var date=dateText.split('-');$webformDatepicker.find('select.year, input.year').val(+date[0]);$webformDatepicker.find('select.month').val(+date[1]);$webformDatepicker.find('select.day').val(+date[2]);},beforeShow:function(input,inst){var year=$webformDatepicker.find('select.year, input.year').val();var month=$webformDatepicker.find('select.month').val();var day=$webformDatepicker.find('select.day').val();var today=new Date();year=year?year:today.getFullYear();month=month?month:today.getMonth()+1;day=day?day:today.getDate();year=(year<startYear||year>endYear)?startYear:year;$(input).val(year+'-'+month+'-'+day);}});$calendar.click(function(event){$(this).focus();event.preventDefault();});});}})(jQuery);
