$.datepicker.setDefaults({dateFormat: 'dd/mm/yy', constrainInput: true, duration: 'fast', minDate: '0', maxDate: '+18m', showOn: 'focus'});

$(function() {
  $("#datepickfrom").datepicker({
    beforeShowDay: disabledDays
  });
  
  $("#datepickto").datepicker({ 
    beforeShowDay: disabledDays
  });

  function disabledDays(date) {
  	// return enabled/disabled flag, classname, popup tooltip 
    var sDate = (date.getMonth()+1).toString() + "/" + date.getDate().toString() + "/" + date.getFullYear().toString();
	var enabled = true;
	var season = getSeason(date);
	var tooltip = formatTooltip(season);
	
    if ($.inArray(sDate, bookedDays) != -1) {
		enabled = false;
		tooltip = 'Unavailable';
	}
		
	return [enabled, season+'Season', tooltip];
  }
  
  function getSeason(date)
  {
	for (var i = 0; i < seasons.length; i++)
	{
		var sdate = new Date(seasons[i][0]);
		var edate = new Date(seasons[i][1]);
		if (date >= sdate && date <= edate)
		{
			return seasons[i][2]; // return classname
			break;
		}
	}
  }
  
  function formatTooltip(str) {
  	if (str) {
		var tip = str.substr(0, 1).toUpperCase() + str.substr(1);
		if (tip == 'Out') {
			return tip + ' of Season - Available';
		}
		return tip + ' Season - Available';
	}
	return '';
  }
});

