var calHelper=function(){var F;var A;var D;var H;var K;var G;var E;var L="m/d/yy";var Q=function(S,R){if(S===undefined||S===null||R===undefined||R===null){return false}return S.valueOf()==R.valueOf()};var B=function(R){if(R===""){F=null}else{F=calHelper.parse(R)}};var P=function(R){if(R===""){A=null}else{A=calHelper.parse(R)}};var C=function(){B(K.val());P(G.val())};var J=function(R){R.setMinutes(0);R.setSeconds(0);R.setHours(0);R.setMilliseconds(0);return R};var I=function(){if(F!==null&&F!==undefined&&A!==null&&A!==undefined){if(F<A){var R=K.val();K.val(G.val());G.val(R);C()}}};var O=function(R,S){R.setFullYear(R.getFullYear()+S);return R};var N=function(R,S){R.setDate(R.getDate()+S);return R};var M=function(T,S){var R=1000*60*60*24;return Math.ceil(S.getTime()-T.getTime())/R};return{init:function(){$(document).ready(function(){D=J(new Date());H=J(N(O(new Date(),1),-1));K=$(".arrive > input");K.change(C);G=$(".depart > input");G.change(C);E=Number($("#minLengthOfStay > input").val());C();var R={dateFormat:L,gotoCurrent:true,numberOfMonths:2,minDate:"+1D",maxDate:"+1Y",beforeShowDay:calHelper.beforeShowDay,changeMonth:true};R.onSelect=calHelper.onArriveSelect;$("#"+K.attr("id")).datepicker(R);R.onSelect=calHelper.onDepartSelect;R.maxDate="+1Y +1D";$("#"+G.attr("id")).datepicker(R)})},validate:function(){if(K.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 arrival and departure dates.");return false}if(F===null||F===undefined){alert("Please enter a valid arrival date.");return false}if(A===null||A===undefined){alert("Please enter a valid departure date.");return false}}if(A<=F){alert("Arrival must precede departure.");return false}if(F<D||F>H){alert("Travel must take place within one year from today.");return false}if(M(F,A)<E){alert("Minimum length of stay is "+E+(E==1?" night.":" nights."));return false}return true},onArriveSelect:function(R,S){F=calHelper.parse(R);$("#"+G.attr("id")).datepicker("option","defaultDate",F);if(A!==null&&A!==undefined&&A<=F){$("#"+G.attr("id")).datepicker("setDate",null);A=null}},onDepartSelect:function(R,S){A=calHelper.parse(R);$("#"+K.attr("id")).datepicker("option","defaultDate",A);if(F!==null&&F!==undefined&&F>=A){$("#"+K.attr("id")).datepicker("setDate",null);F=null}},beforeShowDay:function(R){if(Q(F,R)){return[true,"arrive-day"]}if(Q(A,R)){return[true,"depart-day"]}if(F!==null&&A!==null&&R>F&&R<A){return[true,"stay"]}return[true,""]},parse:function(S){try{return $.datepicker.parseDate(L,S)}catch(R){alert("Sorry, we don't recognize the date you typed in. Please use the following format: m/d/yyyy")}}}}();calHelper.init();