var HighlightToday=true;var DisablePast=true;var MonthNames=new Array("January","February","March","April","May","June","July","August","September","October","November","December");var MonthLengths=new Array(31,28,31,30,31,30,31,31,30,31,30,31);var now;var eDate;var wDate;var ny;var nm;var nd;var sy;var sm;var sd;var y;var m;var d;var color;var calBtn;var YEAR=0;var MONTH=1;var DAY=2;var startDateNode_a=[null,null,null];var endDateNode_a=[null,null,null];var numNightsNode=null;var startDay=-1;var whichCal=0;var minStay=1;var adultNode=null;var childNode=null;var maxPeople=0;function getDateNodes(){var va=true;startDateNode_a=[null,null,null];endDateNode_a=[null,null,null];var v=document.getElementsByTagName("select");for(var H=0;H<v.length;H++){switch(v[H].getAttribute("name")){case "adults":adultNode=v[H];break;case "arrivalDay":startDateNode_a[DAY]=v[H];break;case "arrivalMonth":startDateNode_a[MONTH]=v[H];break;case "arrivalYear":startDateNode_a[YEAR]=v[H];break;case "children":childNode=v[H];break;case "departureDay":endDateNode_a[DAY]=v[H];break;case "departureMonth":endDateNode_a[MONTH]=v[H];break;case "departureYear":endDateNode_a[YEAR]=v[H];break;default:break;};}v=document.getElementsByTagName("input");for(H=0;H<v.length;H++){switch(v[H].getAttribute("name")){case "maxPeople":maxPeople=Number(v[H].value).valueOf();if(maxPeople<0)maxPeople=0;break;case "minStay":minStay=Number(v[H].value).valueOf();if(minStay<=0)minStay=1;break;case "nightsStay":numNightsNode=v[H];break;default:break;};}if((!startDateNode_a[DAY]||!startDateNode_a[MONTH]||!startDateNode_a[YEAR])||(endDateNode_a[DAY]&&(!endDateNode_a[MONTH]||!endDateNode_a[YEAR]))||(endDateNode_a[MONTH]&&(!endDateNode_a[YEAR]||!endDateNode_a[DAY]))||(endDateNode_a[YEAR]&&(!endDateNode_a[DAY]||!endDateNode_a[MONTH]))||((endDateNode_a[DAY]||endDateNode_a[MONTH]||endDateNode_a[YEAR])&&!numNightsNode)){alert("HTML form does NOT contain the necessary form fields");va=false;}return va;};function Z9823541GetArrDate(G){whichCal=0;Z9823541GetDate(G);};function Z9823541GetDepDate(G){whichCal=1;Z9823541GetDate(G);};function Z9823541GetDate(G){Z9823541DestroyCalendar();calBtn=G;if(!startDateNode_a[0])if(!getDateNodes())return;if(whichCal==0){sy=Number(startDateNode_a[YEAR].value).valueOf();sm=Number(startDateNode_a[MONTH].value).valueOf();sd=Number(startDateNode_a[DAY].value).valueOf();}else{sy=Number(endDateNode_a[YEAR].value).valueOf();sm=Number(endDateNode_a[MONTH].value).valueOf();sd=Number(endDateNode_a[DAY].value).valueOf();}wDate=new Date(sy,sm,sd);if(now.getTime()>wDate.getTime()){wDate=new Date(ny,nm,(nd+1));sy=wDate.getFullYear();sm=wDate.getMonth();sd=wDate.getDate();}y=sy;m=sm;d=sd;Z9823541DrawCalendar();return;};function Z9823541DestroyCalendar(){var r=document.getElementById("dpCalendar");if(!r)r=Z9823541EnsureCalendarExists();r.innerHTML="";r.style.display="none";return;};function Z9823541DrawCalendar(){Z9823541DestroyCalendar();var r=document.getElementById("dpCalendar");var z="<table border=\"0\" cellpadding=\"1\" cellspacing=\"1\">"+"<tbody>"+"<tr>"+"<td class=\"cellButton\">"+"<span onclick=\"PrevMonth();\" onmouseover=\"setPointerOn(this);\" onmouseout=\"setPointerOff(this);\" title=\"Previous Month\">&lt;&lt;</span>"+"</td>"+"<td class=\"cellMonth\" width=\"80%\" colspan=\"5\">"+MonthNames[m]+" "+y+"</td>"+"<td class=\"cellButton\">"+"<span onclick=\"NextMonth();\" onmouseover=\"setPointerOn(this);\" onmouseout=\"setPointerOff(this);\" title=\"Next Month\">&gt;&gt;</span>"+"</td>"+"</tr>"+"<tr>"+"<td>S</td><td>M</td><td>T</td><td>W</td><td>T</td><td>F</td><td>S</td>"+"</tr>";;var X=1;wDate=new Date(y,m,X);MonthLengths[1]=(Z9823541isLeapYear(wDate))?29:28;var s="";var D=false;for(var XK=1;XK<7;XK++){z+="<tr>";for(var i=0;i<7;i++){wDate=new Date(y,m,X);if((wDate.getDay()==i)&&(X<=MonthLengths[m])){if((wDate.getDate()==sd)&&(wDate.getMonth()==sm)&&(wDate.getFullYear()==sy)){s="cellSelected";D=true;}else if((wDate.getDate()==nd)&&(wDate.getMonth()==nm)&&(wDate.getFullYear()==ny)&&HighlightToday){s="cellToday";D=false;}else if(eDate&&(eDate.getTime()<wDate.getTime())){s="cellOld";D=false;}else{s="cellOld";D=false;}if(eDate&&(eDate.getTime()<wDate.getTime())){z+="<td class=\""+s+"\">"+X+"</td>";}else if(((now>wDate)&&!DisablePast)||(now<=wDate)||D){if(s=="cellOld")s="cellDay";z+="<td id=\""+s+"\" class=\""+s+"\" onclick=\"ReturnDay(this);\" onmouseover=\"setPointerOn(this);\" onmouseout=\"setPointerOff(this);\">"+X+"</td>";;}else{z+="<td class=\""+s+"\">"+X+"</td>";}X++;}else{z+="<td class=\"unused\"></td>";};}z=z+"</tr>";}z+="<tr>"+"<td colspan=\"4\" class=\"unused\"></td>"+"<td colspan=\"3\" id=\"cellCancel\" class=\"cellCancel\" onclick=\"DestroyCalendar();\" onmouseover=\"setPointerOn(this);\" onmouseout=\"setPointerOff(this);\">"+"Cancel"+"</td>"+"</tr>"+"</tbody>"+"</table>";;r.innerHTML=z;r.style.display="inline";var Z=0;var b=calBtn;var name;do{Z+=b.offsetLeft;b=b.offsetParent;name=b.nodeName.toLowerCase();}while((name!="body")&&(name!="html"));if(Z<0)Z=10;var l=0;b=calBtn;do{l+=b.offsetTop;b=b.offsetParent;name=b.nodeName.toLowerCase();}while((name!="body")&&(name!="html"));l-=r.offsetHeight;l+=calBtn.offsetHeight;if(l<0)l=10;r.style.left=Z+"px";r.style.top=l+"px";};function Z9823541PrevMonth(){m--;if(m==-1){m=11;y--;}Z9823541DrawCalendar();};function Z9823541NextMonth(){m++;if(m==12){m=0;y++;}Z9823541DrawCalendar();};function Z9823541ReturnDay(G){d=Number(G.childNodes[0].nodeValue).valueOf();var U=(whichCal==0)?startDateNode_a[YEAR]:endDateNode_a[YEAR];var v=U.getElementsByTagName("option");if(v.length>0){if(y>Number(v[v.length-1].childNodes[0].nodeValue).valueOf()){while(U.hasChildNodes())U.removeChild(U.childNodes[0]);for(var H=ny;H<=y;H++){var G=document.createElement("option");G.value=Number(H).toString();var text=document.createTextNode(G.value);G.appendChild(text);U.appendChild(G);};};}wDate=new Date(y,m,d,0,0,0,0);if(whichCal==0){if(startDay!=-1){var e=wDate.toDateString();var c=Number(wDate.getDay()).valueOf();if(c!=startDay){if(c<startDay)d+=startDay-c;else if(c>startDay)d+=7-c+startDay;wDate=new Date(y,m,d,0,0,0,0);y=wDate.getFullYear();m=wDate.getMonth();d=wDate.getDate();alert("Your selected date '"+e+"' is not available. It has been replaced by the next available date '"+wDate.toDateString()+"'");};}startDateNode_a[YEAR].value=y;startDateNode_a[MONTH].value=m;startDateNode_a[DAY].value=d;if(numNightsNode){var h=new Date(endDateNode_a[YEAR].value,endDateNode_a[MONTH].value,endDateNode_a[DAY].value,0,0,0,0);var B=Math.round((h.getTime()-wDate.getTime())/(60*60*24*1000));if(B<minStay){B=minStay;h=new Date(y,m,(d+minStay));endDateNode_a[YEAR].value=Number(h.getFullYear()).toString();endDateNode_a[MONTH].value=Number(h.getMonth()).toString();endDateNode_a[DAY].value=Number(h.getDate()).toString();}numNightsNode.value=Number(B).toString();};}else{endDateNode_a[YEAR].value=y;endDateNode_a[MONTH].value=m;endDateNode_a[DAY].value=d;var w=new Date(startDateNode_a[YEAR].value,startDateNode_a[MONTH].value,startDateNode_a[DAY].value,0,0,0,0);var B=Math.round((wDate.getTime()-w.getTime())/(60*60*24*1000));if(B<minStay){var h=new Date(w.getFullYear(),w.getMonth(),(w.getDate()+minStay));endDateNode_a[YEAR].value=Number(h.getFullYear()).toString();endDateNode_a[MONTH].value=Number(h.getMonth()).toString();endDateNode_a[DAY].value=Number(h.getDate()).toString();numNightsNode.value=Number(minStay).toString();}else{numNightsNode.value=Number(B).toString();};}Z9823541DestroyCalendar();};function Z9823541EnsureCalendarExists(){var r=document.getElementById("dpCalendar");if(!r){r=document.createElement("div");r.setAttribute("id","dpCalendar");document.body.appendChild(r);}return r;};function Z9823541isLeapYear(Yg){var y=Yg.getYear();var p=false;if(y%4==0){if(y%100!=0)p=true;else if(y%400==0)p=true;}return p;};function setPointerOn(G){G.style.cursor="pointer";var id=G.getAttribute("id");if(!id)id="";if(id=="cellCancel"){color=G.style.backgroundColor;G.style.backgroundColor="#aaa";}else if(id=="cellDay"){G.style.border="solid 1px blue";}};function setPointerOff(G){G.style.cursor="default";var id=G.getAttribute("id");if(!id)id="";if(id=="cellCancel")G.style.backgroundColor=color;else if(id=="cellDay"){G.style.borderColor="transparent";}};function start_up(){now=new Date();ny=now.getFullYear();nm=now.getMonth();nd=now.getDate();var G=document.getElementById("startDate");if(G){var _=new RegExp("^2[0-9][0-9][0-9]-[01][0-9]-[0-3][0-9]$");var a=G.value;if(a.search(_)!=-1){var k=a.match(/(.*)-(.*)-(.*)/);var S=new Date(Number(k[1]).valueOf(),Number(k[2]).valueOf()-1,Number(k[3]).valueOf());if(S.getTime()>now.getTime()){now=S;ny=now.getFullYear();nm=now.getMonth();nd=now.getDate();};};}startDay=-1;G=document.getElementById("startDay");if(G){var b=Number(G.value).valueOf();if((b>-1)&&(b<7))startDay=b;var S=new Date(ny,nm,nd);var c=Number(S.getDay()).valueOf();if(c!=startDay){if(c<startDay)nd+=(startDay-c);else if(c>startDay)nd+=7-c+startDay;S=new Date(ny,nm,nd);now=S;ny=S.getFullYear();nm=S.getMonth();nd=S.getDate();};}eDate=null;G=document.getElementById("endDate");if(G){var _=new RegExp("^2[0-9][0-9][0-9]-[01][0-9]-[0-3][0-9]$");var a=G.value;if(a.search(_)!=-1){var k=a.match(/(.*)-(.*)-(.*)/);eDate=new Date(Number(k[1]).valueOf(),Number(k[2]).valueOf()-1,Number(k[3]).valueOf());if(eDate<now){eDate=null;alert("Invalid End Date specified");};};}var v=document.getElementsByTagName("select");for(var H=0;H<v.length;H++){switch(v[H].getAttribute("name")){case "arrivalYear":while(v[H].hasChildNodes())v[H].removeChild(v[H].childNodes[0]);for(V=0;V<2;V++){G=document.createElement("option");G.value=Number(ny+V).toString();var text=document.createTextNode(G.value);G.appendChild(text);v[H].appendChild(G);}break;default:break;};}if(!startDateNode_a[0])if(!getDateNodes())return;startDateNode_a[YEAR].value=ny;startDateNode_a[MONTH].value=nm;startDateNode_a[DAY].value=nd;if(numNightsNode){while(endDateNode_a[YEAR].hasChildNodes())endDateNode_a[YEAR].removeChild(endDateNode_a[YEAR].childNodes[0]);for(H=0;H<3;H++){G=document.createElement("option");G.value=Number(ny+H).toString();var text=document.createTextNode(G.value);G.appendChild(text);endDateNode_a[YEAR].appendChild(G);}var h=new Date(ny,nm,(nd+minStay));endDateNode_a[YEAR].value=Number(h.getFullYear()).toString();endDateNode_a[MONTH].value=Number(h.getMonth()).toString();endDateNode_a[DAY].value=Number(h.getDate()).toString();numNightsNode.value=Number(minStay).toString();}startDateNode_a[YEAR].onchange=Z9823541valid_date;startDateNode_a[MONTH].onchange=Z9823541valid_date;startDateNode_a[DAY].onchange=Z9823541valid_date;if(endDateNode_a[YEAR]){endDateNode_a[YEAR].onchange=Z9823541valid_date;endDateNode_a[MONTH].onchange=Z9823541valid_date;endDateNode_a[DAY].onchange=Z9823541valid_date;}if(adultNode)adultNode.onchange=Z9823541validPeople;if(childNode)childNode.onchange=Z9823541validPeople;};function Z9823541valid_date(){var C=[parseInt(startDateNode_a[YEAR].value),0];var O=[parseInt(startDateNode_a[MONTH].value),0];var q=[parseInt(startDateNode_a[DAY].value),0];if(endDateNode_a[YEAR]){C[1]=parseInt(endDateNode_a[YEAR].value);O[1]=parseInt(endDateNode_a[MONTH].value);q[1]=parseInt(endDateNode_a[DAY].value);}wDate=new Date(C[0],O[0],q[0]);startDateNode_a[YEAR].value=Number(wDate.getFullYear()).toString();startDateNode_a[MONTH].value=Number(wDate.getMonth()).toString();startDateNode_a[DAY].value=Number(wDate.getDate()).toString();var e=wDate.toDateString();if(wDate.getTime()<now.getTime()){startDateNode_a[YEAR].value=ny;startDateNode_a[MONTH].value=nm;startDateNode_a[DAY].value=nd;}if(startDay!=-1){C[0]=parseInt(startDateNode_a[YEAR].value);O[0]=parseInt(startDateNode_a[MONTH].value);q[0]=parseInt(startDateNode_a[DAY].value);wDate=new Date(C[0],O[0],q[0]);var c=Number(wDate.getDay()).valueOf();if(c!=startDay){if(c<startDay)q[0]+=startDay-c;else if(c>startDay)q[0]+=7-c+startDay;wDate=new Date(C[0],O[0],q[0],0,0,0,0);startDateNode_a[YEAR].value=wDate.getFullYear();startDateNode_a[MONTH].value=wDate.getMonth();startDateNode_a[DAY].value=wDate.getDate();alert("Your selected date '"+e+"' is not available. It has been replaced by the next available date '"+wDate.toDateString()+"'");};}if(eDate&&(eDate.getTime()<wDate.getTime())){startDateNode_a[YEAR].value=eDate.getFullYear();startDateNode_a[MONTH].value=eDate.getMonth();startDateNode_a[DAY].value=eDate.getDate();}if(numNightsNode){var w=new Date(C[0],O[0],q[0],0,0,0,0);var h=new Date(C[1],O[1],q[1],0,0,0,0);var B=Math.round((h.getTime()-w.getTime())/(60*60*24*1000));if(B<minStay){h=new Date(C[0],O[0],(q[0]+minStay));endDateNode_a[YEAR].value=Number(h.getFullYear()).toString();endDateNode_a[MONTH].value=Number(h.getMonth()).toString();endDateNode_a[DAY].value=Number(h.getDate()).toString();numNightsNode.value=Number(minStay).toString();}else{numNightsNode.value=Number(B).toString();};}};function Z9823541validPeople(){var N=0;var g=0;if(adultNode)N=Number(adultNode.value).valueOf();if(childNode)g=Number(childNode.value).valueOf();if((maxPeople>0)&&((N+g)>maxPeople)){if(g>0)childNode.value=Number(--g).toString();else adultNode.value=Number(--N).toString();Z9823541validPeople();}else{if(adultNode)adultNode.value=Number(N).toString();if(childNode)childNode.value=Number(g).toString();}};

