var isNav=false; if(parseInt(navigator.appVersion) >= 4) { if(navigator.appName == "Netscape") { isNav=true; } } else { isNav=true; } var today = new Date(new Date().valueOf()); var dateBoxPieceBlank = "  "; var dateBoxPiece = " ##DAY##"; var baseDateBoxHeader = "\n"; baseDateBoxHeader += " \n"; baseDateBoxHeader += " \n"; baseDateBoxHeader += " \n"; baseDateBoxHeader += " \n"; baseDateBoxHeader += " \n"; baseDateBoxHeader += " \n"; baseDateBoxHeader += " \n"; baseDateBoxHeader += " \n"; baseDateBoxHeader += " \n"; baseDateBoxHeader += " \n"; baseDateBoxHeader += " \n"; baseDateBoxHeader += " "; var dateBoxFooter = " \n"; dateBoxFooter += " \n"; dateBoxFooter += " \n
\n"; baseDateBoxHeader += " \n"; baseDateBoxHeader += " \n"; baseDateBoxHeader += " \n"; baseDateBoxHeader += " \n"; baseDateBoxHeader += " \n"; baseDateBoxHeader += " \n"; baseDateBoxHeader += "
<
##MONTHNAME## ##YEAR##
>
\n"; baseDateBoxHeader += "
SMTWTFS
Close
\n"; var calBuffer=""; var caldays = new Array(31,28,31,30,31,30,31,31,30,31,30,31); var months = new Array("January","February","March","April","May","June","July","August","September","October","November","December"); function isLeapYear(yr) { if (((yr % 4 == 0) && (yr % 100 != 0)) || (yr % 400 == 0)) { return true; } else { return false; } } function GetDOW2(d,m,y) { var dt=new Date(y,m-1,d); return(dt.getDay())%7; } var selectBoxFlag=false; var maxYear=0; var minYear=0; function displayCalendar(hideSelects,inDateSet) { selectBoxFlag=hideSelects; if(isNav) { var calWinHndl = window.open("http://primary.lodging.com/bonnie/window-calendar.html","calendar","scrollbars=yes,resizable=yes,width=520,height=200"); calWinHndl.focus(); } else { theForm = document.mainForm; var inYear = theForm.inyear.options[theForm.inyear.selectedIndex].value; theForm = document.mainForm; var mon = parseInt(theForm.inmonth.options[theForm.inmonth.selectedIndex].value,10); var day = parseInt(theForm.inday.options[theForm.inday.selectedIndex].value,10); var year = parseInt(theForm.inyear.options[theForm.inyear.selectedIndex].value,10); currentMonth = mon; currentYear = year; currentDay = day; maxYear = parseInt(theForm.inyear.options[(theForm.inyear.options.length-1)].value,10); minYear = parseInt(theForm.inyear.options[0].value,10); drawCalendarBody(inDateSet,mon,day,year); document.all.CAL.style.left = (event.x - event.offsetX); document.all.CAL.style.top = (event.y - event.offsetY); document.all.CAL.style.visibility = "visible"; if(hideSelects) { if(document.all.mainForm.numrooms) { document.all.mainForm.numrooms.style.visibility = "hidden"; } if(document.all.mainForm.numadults) { document.all.mainForm.numadults.style.visibility = "hidden"; } if(document.all.mainForm.bedpref) { document.all.mainForm.bedpref.style.visibility = "hidden"; } if(document.all.mainForm.smokingpref) { document.all.mainForm.smokingpref.style.visibility = "hidden"; } if(document.all.mainForm.chainpref) {document.all.mainForm.chainpref.style.visibility = "hidden"; } } } } function hideCalendar(hideSelects) { document.all.CAL.style.visibility = "hidden"; if(hideSelects || selectBoxFlag) { if(document.all.mainForm.numrooms) { document.all.mainForm.numrooms.style.visibility = "visible"; } if(document.all.mainForm.numadults) { document.all.mainForm.numadults.style.visibility = "visible"; } if(document.all.mainForm.bedpref) { document.all.mainForm.bedpref.style.visibility = "visible"; } if(document.all.mainForm.smokingpref) { document.all.mainForm.smokingpref.style.visibility = "visible"; } if(document.all.mainForm.chainpref) {document.all.mainForm.chainpref.style.visibility = "visible"; } } } function nextMonth(inDateSet) { currentMonth += 1; if(currentMonth > 12 && currentYear + 1 <= maxYear) { currentMonth = 1; currentYear++; } if(currentMonth > 12) { currentMonth = 12; } if(currentMonth == (today.getMonth()+1) && currentYear == today.getYear()) { drawCalendarBody(inDateSet,currentMonth,currentDay,currentYear); } else { drawCalendarBody(inDateSet,currentMonth,0,currentYear); } } function previousMonth(inDateSet) { if((currentMonth - 1) < (today.getMonth()+1) && currentYear <= today.getYear()) { } else { currentMonth -= 1; if(currentMonth < 1 && currentYear - 1 >= minYear) { currentMonth = 12; currentYear -= 1; } if(currentMonth == (today.getMonth()+1) && currentYear == today.getYear()) { drawCalendarBody(inDateSet,currentMonth,currentDay,currentYear); } else { drawCalendarBody(inDateSet,currentMonth,0,currentYear); } } } var currentMonth=1; var currentYear=2002; var currentDay=1; function drawCalendarBody(inDateSet,mon,day,year) { calObj = document.all.CAL_BODY; theForm = document.mainForm; var dowStartPos = GetDOW2(1,mon,year); var finalDay = caldays[(mon-1)]; if(isLeapYear(year) && mon == 1) { finalDay += 1; } re_MonthName = /##MONTHNAME##/g; re_Year = /##YEAR##/g; re_DateSet = /##DATESET##/g; dateBoxHeader = baseDateBoxHeader; dateBoxHeader = dateBoxHeader.replace(re_MonthName,months[(mon-1)]); dateBoxHeader = dateBoxHeader.replace(re_Year,""+year); dateBoxHeader = dateBoxHeader.replace(re_DateSet,""+inDateSet); calBuffer = generateGrid(inDateSet,dowStartPos,finalDay, mon,day,year); document.all.CAL_BODY.innerHTML = dateBoxHeader + calBuffer + dateBoxFooter; } function generateGrid(inDateSet,startPos,endPos, m,d,y) { var currentDay=1; var gridCount=0; var doBlanks=true; var tmpBuffer=""; re_Month = /##MONTH##/g; re_Day = /##DAY##/g; re_Year = /##YEAR##/g; re_BGColor = /##BGCOLOR##/g; re_DateSet = /##DATESET##/g; for(var i=0;i<6;i++) { tmpBuffer += "\n"; for(var j=0;j<7;j++) { if(gridCount < startPos || currentDay > endPos) { tmpBuffer += dateBoxPieceBlank + "\n"; } else { pasrsedDBP = dateBoxPiece; pasrsedDBP = pasrsedDBP.replace(re_Month,""+m); pasrsedDBP = pasrsedDBP.replace(re_Day,""+currentDay); pasrsedDBP = pasrsedDBP.replace(re_Year,""+y); pasrsedDBP = pasrsedDBP.replace(re_DateSet,""+inDateSet); if(currentDay == d) { pasrsedDBP = pasrsedDBP.replace(re_BGColor,"#BFC1FF"); } else { pasrsedDBP = pasrsedDBP.replace(re_BGColor,"#FFFFFF"); } tmpBuffer += pasrsedDBP + "\n"; currentDay++; } gridCount++; } tmpBuffer += "\n"; } return tmpBuffer; } function setDateBoxes(whichDateSet,m,d,y) { theForm = document.mainForm; eval("monthObj = theForm."+whichDateSet+"month;"); eval("dayObj = theForm."+whichDateSet+"day;"); eval("yearObj = theForm."+whichDateSet+"year;"); var yearOffset = parseInt(theForm.inyear.options[0].value,10); monthObj.options[(m-1)].selected = true; dayObj.options[(d-1)].selected = true; yearObj.options[(y-yearOffset)].selected = true; changeDates(); hideCalendar(); }