var calHelper=function(){var f;var a;var d;var h;var j;var g;var e;var k="m/d/yy";var p=function(r,q){if(r===undefined||r===null||q===undefined||q===null){return false}return r.valueOf()==q.valueOf()};var b=function(q){if(q===""){f=null}else{f=calHelper.parse(q)}};var o=function(q){if(q===""){a=null}else{a=calHelper.parse(q)}};var c=function(){b(j.val());o(g.val())};var i=function(q){q.setMinutes(0);q.setSeconds(0);q.setHours(0);q.setMilliseconds(0);return q};var n=function(q,r){q.setFullYear(q.getFullYear()+r);return q};var m=function(q,r){q.setDate(q.getDate()+r);return q};var l=function(s,r){var q=1000*60*60*24;return Math.ceil((r.getTime()-s.getTime())/q)};return{setDepart:function(q){o(q)},setArrive:function(q){b(q)},init:function(){$(document).ready(function(){d=i(new Date());h=i(m(n(new Date(),2),-1));j=$(".arrive > input");j.change(c);g=$(".depart > input");g.change(c);e=Number($("#minLengthOfStay > input").val());c();var q={dateFormat:k,gotoCurrent:true,numberOfMonths:2,minDate:"+"+$("#minimumBookingLeadTime").val()+"D",maxDate:"+2Y -"+e+"D",beforeShowDay:calHelper.beforeShowDay,changeMonth:true,changeYear:true};q.onSelect=calHelper.onArriveSelect;$("#"+j.attr("id")).datepicker(q);q.onSelect=calHelper.onDepartSelect;var r=e+Number($("#minimumBookingLeadTime").val());q.minDate="+"+r+"D";q.maxDate="+2Y";$("#"+g.attr("id")).datepicker(q)})},validate:function(){if(j.val()==""&&g.val()==""){return true}if(f===null||f===undefined||a===null||a===undefined){if((f===null||f===undefined)&&(a===null||a===undefined)){alert("Please enter valid checkin and checkout dates.");return false}if(f===null||f===undefined){alert("Please enter a valid checkin date.");return false}if(a===null||a===undefined){alert("Please enter a valid checkout date.");return false}}var q=i(new Date());m(q,Number($("#minimumBookingLeadTime").val()));if(f<q){alert("The earliest possible checkin date is "+$.datepicker.formatDate("m/d/yy",q));return false}if(a<=f){alert("Checkin must precede checkout.");return false}if(f<d||f>h){alert("Travel must take place within one year from today.");return false}if(l(f,a)<e){alert("Minimum length of stay is "+e+(e==1?" night.":" nights."));return false}return true},onArriveSelect:function(q,r){f=calHelper.parse(q);$("#"+g.attr("id")).datepicker("option","defaultDate",f);if(a!==null&&a!==undefined&&a<=f){$("#"+g.attr("id")).datepicker("setDate",null);a=null}},onDepartSelect:function(q,r){a=calHelper.parse(q);$("#"+j.attr("id")).datepicker("option","defaultDate",a);if(f!==null&&f!==undefined&&f>=a){$("#"+j.attr("id")).datepicker("setDate",null);f=null}},beforeShowDay:function(q){if(p(f,q)){return[true,"arrive-day"]}if(p(a,q)){return[true,"depart-day"]}if(f!==null&&a!==null&&q>f&&q<a){return[true,"stay"]}return[true,""]},parse:function(r){try{return $.datepicker.parseDate(k,r)}catch(q){alert("Sorry, we don't recognize the date you typed in. Please use the following format: m/d/yyyy")}}}}();calHelper.init();
