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{init:function(){$(document).ready(function(){D=I(new Date());H=I(M(N(new Date(),1),-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:"+1D",maxDate:"+1Y",beforeShowDay:calHelper.beforeShowDay,changeMonth:true};Q.onSelect=calHelper.onArriveSelect;$("#"+J.attr("id")).datepicker(Q);Q.onSelect=calHelper.onDepartSelect;Q.maxDate="+1Y +1D";$("#"+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 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(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();