var currentTime = new Date()
var month = currentTime.getMonth() + 1
var day = currentTime.getDate()
var year = currentTime.getFullYear()

day = day.toString();
month = month.toString();
if (day.length == 1) { day = '0' + day }
if (month.length == 1) { month = '0' + month }

document.write("<!--[if lte IE 7]>");
document.write("		<style type='text/css'>");
document.write("			#OT_searchWrapperAll {");
document.write("        		z-index:1; /*with z-index works for ie*/");
document.write("         	/*without works for FF*/");
document.write("    		}");

document.write("    		#OT_searchWrapper {");
document.write("        		z-index:2;/*with z-index works for ie*/");
document.write("       	 	/*without works for FF*/");
document.write("    		}");
document.write("    	</style>");
document.write("    <![endif]-->");
document.write("<form name=ism id=ism METHOD=POST action=\"");
document.write("http://www.opentable.com/ism/interim.aspx\"");

document.write("\">");
document.write('<div id="OT_searchWrapper">');
document.write("<h2 class=OT_feedTitle>Search For Available Tables at Monterey Bay Fish Grotto - Mt. Washington</h2>");

document.write("<dl>");

document.write('<dt id="OT_partySizeLbl">');
document.write("Party Size:");

document.write("</dt>");
document.write('	<dd id="OT_partySize">');
document.write("			<select name=PartySize class=feedFormfield>");
document.write("            <option value=1>1</option>");
document.write("            <option value=2 selected>2</option>");
document.write("            <option value=3>3</option>");
document.write("            <option value=4>4</option>");
document.write("            <option value=5>5</option>");
document.write("            <option value=6>6</option>");

document.write("			</select>");
document.write("	</dd>");
document.write('<dt id="OT_dateLbl">');
document.write("Date:");

document.write("</dt>");
document.write('	<dd id="OT_date">');
document.write("	    <div><input type=text class=OT_feedFormfieldCalendar id=startDate name=startDate onchange=setField(this,null,this.value,'reso');writeCalendar('cal1'); onFocus=setField(this,null,this.value,'reso');writeCalendar('cal1'); value=");
document.write(month + '/' + day + '/' + year);

document.write("	    ></div>");
document.write("<p id=dateDisplay>mm/dd/yyyy</p>");
document.write("	    <div id=cal1 class=imgCal></div>");
document.write("	    <iframe id=cal1Shim class=imgCal scrolling=no frameborder=0></iframe>");
document.write("	</dd>");
document.write('	<dt id="OT_timeLbl">');
document.write("Time:");

document.write("</dt>");
document.write('	<dd id="OT_time">');
document.write("		<select name=ResTime class=feedFormfield>");
document.write("            <option value=\"12:00 AM\" >12:00 AM</option>");
document.write("            <option value=\"12:30 AM\" >12:30 AM</option>");
document.write("            <option value=\"1:00 AM\" >1:00 AM</option>");
document.write("            <option value=\"1:30 AM\" >1:30 AM</option>");
document.write("            <option value=\"2:00 AM\" >2:00 AM</option>");
document.write("            <option value=\"2:30 AM\" >2:30 AM</option>");
document.write("            <option value=\"3:00 AM\" >3:00 AM</option>");
document.write("            <option value=\"3:30 AM\" >3:30 AM</option>");
document.write("            <option value=\"4:00 AM\" >4:00 AM</option>");
document.write("            <option value=\"4:30 AM\" >4:30 AM</option>");
document.write("            <option value=\"5:00 AM\" >5:00 AM</option>");
document.write("            <option value=\"5:30 AM\" >5:30 AM</option>");
document.write("            <option value=\"6:00 AM\" >6:00 AM</option>");
document.write("            <option value=\"6:30 AM\" >6:30 AM</option>");
document.write("            <option value=\"7:00 AM\" >7:00 AM</option>");
document.write("            <option value=\"7:30 AM\" >7:30 AM</option>");
document.write("            <option value=\"8:00 AM\" >8:00 AM</option>");
document.write("            <option value=\"8:30 AM\" >8:30 AM</option>");
document.write("            <option value=\"9:00 AM\" >9:00 AM</option>");
document.write("            <option value=\"9:30 AM\" >9:30 AM</option>");
document.write("            <option value=\"10:00 AM\" >10:00 AM</option>");
document.write("            <option value=\"10:30 AM\" >10:30 AM</option>");
document.write("            <option value=\"11:00 AM\" >11:00 AM</option>");
document.write("            <option value=\"11:30 AM\" >11:30 AM</option>");
document.write("            <option value=\"12:00 PM\" >12:00 PM</option>");
document.write("            <option value=\"12:30 PM\" >12:30 PM</option>");
document.write("            <option value=\"1:00 PM\" >1:00 PM</option>");
document.write("            <option value=\"1:30 PM\" >1:30 PM</option>");
document.write("            <option value=\"2:00 PM\" >2:00 PM</option>");
document.write("            <option value=\"2:30 PM\" >2:30 PM</option>");
document.write("            <option value=\"3:00 PM\" >3:00 PM</option>");
document.write("            <option value=\"3:30 PM\" >3:30 PM</option>");
document.write("            <option value=\"4:00 PM\" >4:00 PM</option>");
document.write("            <option value=\"4:30 PM\" >4:30 PM</option>");
document.write("            <option value=\"5:00 PM\" >5:00 PM</option>");
document.write("            <option value=\"5:30 PM\" >5:30 PM</option>");
document.write("            <option value=\"6:00 PM\" >6:00 PM</option>");
document.write("            <option value=\"6:30 PM\" >6:30 PM</option>");
document.write("            <option value=\"7:00 PM\"  selected>7:00 PM</option>");
document.write("            <option value=\"7:30 PM\" >7:30 PM</option>");
document.write("            <option value=\"8:00 PM\" >8:00 PM</option>");
document.write("            <option value=\"8:30 PM\" >8:30 PM</option>");
document.write("            <option value=\"9:00 PM\" >9:00 PM</option>");
document.write("            <option value=\"9:30 PM\" >9:30 PM</option>");
document.write("            <option value=\"10:00 PM\" >10:00 PM</option>");
document.write("            <option value=\"10:30 PM\" >10:30 PM</option>");
document.write("            <option value=\"11:00 PM\" >11:00 PM</option>");
document.write("            <option value=\"11:30 PM\" >11:30 PM</option>");

document.write("            </select>");
document.write("	</dd>");
document.write("<dt id=\"OT_empty\"></dt>");
document.write("<dd id=\"OT_submitWrap\">");
document.write("<input TYPE=IMAGE class=OT_TableButton ");
document.write("	SRC=../img/findTable-btn.gif ");
document.write("    id=submit name=submit border=0>");
document.write("</dd>");
document.write("</dl>");
document.write('</div>');
document.write('<div class=OT_hidden>');
document.write("<input type=hidden class=OT_hidden name=RestaurantID value=20350>");


document.write("<input type=hidden class=OT_hidden name=GeoID value=62>");

var currentTime = new Date()
var month = currentTime.getMonth() + 1
var day = currentTime.getDate()
var year = currentTime.getFullYear()
//var currentTime = new Date()
var hours = currentTime.getHours()
var minutes = currentTime.getMinutes()
document.write('<input type="hidden" class="OT_hidden" name="txtHidServerTime" value="');

document.write(month + '/' + day + '/' + year + ' ');
if (minutes < 10)
minutes = '0' + minutes
document.write(hours + ':' + minutes + ' ');
//if(hours > 11){
if(hours > 11)
document.write('PM');
//} else {
if(hours < 11)
document.write('AM');

document.write('" />');

//document.write("<input type=hidden class=OT_hidden name=txtHidServerTime value=\"3/20/2008 3:40 PM\">");

document.write("<input type=hidden class=OT_hidden name=txtDateFormat value=\"MM/dd/yyyy\">");

document.write('</div>');
document.write("</form>");

document.close();

/*****global variables*******/
var staticServerPath="http://www.opentable.com";

var pInputMonth;
var pInputDay;
var pInputYear;
var today = new Date();
var javaDate=today;
var year = today.getFullYear();
var javaYear=year;
var month = today.getMonth();
var javaMonth=today.getMonth();
var inputDateField;
var inputDate;
var defaultDate;
var vertical;
var tInputMonth;
var tInputDay;
var tInputYear;
var calShim;
var kCal;
var kCalShim;
var defaultDateString = 'mm/dd/yyyy';

var pkId = "";
var pkJsMOver = " ";
var pkJsMOut = " ";
var pkJsOnClick = " ";
var activeCal = "";
var foo = true; //debugging var
var javaLimitYear = 2020;
// Utilities functions

function stopBubble(e) {
	if(e.stopPropagation) {
		e.stopPropagation();
	} else {
		e.cancelBubble = true;
	}
}

function wrtPkDayDtls(pkLabel){
	var tlabel = pkLabel.toString();
	document.getElementById('pkDayDtls').innerHTML = tlabel;
	clickLayer('pkDayDtls', 2, -15);
}

function killAllCalendars() {
		kCal = activeCal;
		kCalShim = activeCal+"Shim";
		setVisible(false,activeCal, activeCal+"Shim");
}

function parseToDoubleDigit(number) {
	return (number < 10) ? '0' + number : number;
}

function parseToSingleDigit(number) {
	var str = '' + number;
	return str = str.replace(/^0+/g, '');
}

function getAllDaysInMonth(month)  {
	var days;
	var year = (month >= javaMonth) ? javaYear : javaYear + 1;
	if (month==0 || month==2 || month==4 || month==6 || month==7 || month==9 || month==11)  { days=31; }
	else if (month==3 || month==5 || month==8 || month==10) { days=30; }
	else if (month==1)  {
		if (isThisLeapYear(year)) { days=29; }
		else { days=28; }
	}
	return (days);
}

function isThisLeapYear (Year) {
	if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0)) { return (true); }
	else { return (false); }
}

function parseDate(dateString){

	/****utitility and subfunctions*******/
	function trim(sString){
		var re1 = /\s{2,10}/g;  //precompile reg ex's for performance
		sString = sString.replace(re1, ' ');
		while(sString.substring(0,1) == ' '){
		sString = sString.substring(1, sString.length);
		}
		while(sString.substring(sString.length-1, sString.length) == ' '){
		sString = sString.substring(0,sString.length-1);
		}

	return sString;
	}
	/******/

	function delimit(sString){
		var thisString;
		var re1 = /,\s/g;
		var re2 = /([|]|[.]|[,]|[;]|[\s]|[\/])/g; //BUG: ugly, but mozilla has problems with some character class formations 
		thisString = sString.replace(re1, ',');
		thisString = thisString.replace(re2, '|');
		thisString = thisString.toLowerCase();

		return thisString;
	}

	/*****/
	function convertMonthAbbreviation(inputString){
		var alphaMonth;
		var numericMonth;
		var numericString;
		var re1 = /^[a-zA-Z]*/;
		var re2 = /^[a-zA-Z]{3}/;
		var alphaMonthArray = new Array("jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec" );

		if(inputString.length < 3) return;
		if(inputString.match(re1)){
		alphaMonth = inputString.match(re2);
			for(i=0;i<alphaMonthArray.length;i++){
				if(alphaMonth == alphaMonthArray[i]) {
				numericMonth = i + 1;
				numericString = inputString.replace(re1, numericMonth);
				return numericString;
				}
			}
		}
	}
	/*****/
	function matchPattern(sString){
		var normString = sString;
		var normStringTwo = sString;
		var testPattern =  /^(\d{1,2})([|]\d{1,2})([|](\d{2}){1,2})?$/i;//check if input conforms to allowed input patterns
		var re2 = /^([a-zA-z])/;

	
		if(normString.match(re2)){
			normStringTwo = convertMonthAbbreviation(normString);
		} 

		if(normStringTwo.match(testPattern)) {
			return normStringTwo;
		}
		
		
	
		return normString;
	}
	/****************Main Function-Accepts initial Inputs*****************************/
	function parseDateMain(dateString){
		var inputString;
		var normString;
		var normStringTwo;
		//alert(dateString);
		
		inputString = trim(dateString);
		normString = delimit(inputString);
		normStringTwo = matchPattern(normString);

		setDateInputs(normStringTwo);

	}
	/****Output Function***/

	function setDateInputs(dateString){
		var re1 = "|";
		

		if(dateString != null)
		{
			var dateTokenArray = dateString.split(re1);//tokenize input into array
			if ((defaultDateString == "mm/dd/yyyy") || (defaultDateString == "mm/dd/yy")) {
				pInputMonth = dateTokenArray[0];
				pInputDay = dateTokenArray[1];
				pInputYear = dateTokenArray[2];
			}
			else if ((defaultDateString == "yyyy/mm/dd") || (defaultDateString == "yy/mm/dd")) {
				pInputMonth = dateTokenArray[1];
				pInputDay = dateTokenArray[2];
				pInputYear = dateTokenArray[0];

			}
			else if ((defaultDateString == "dd/mm/yyyy") || (defaultDateString == "dd/mm/yy") || 
			(defaultDateString == "dd.mm.yyyy") || (defaultDateString == "dd.mm.yy")) {
				pInputMonth = dateTokenArray[1];
				pInputDay = dateTokenArray[0];
				pInputYear = dateTokenArray[2];
			}
			else {
				return;
			}	
		}else{
			return;
		}
	}

	parseDateMain(dateString);
}


function processMonth(startMonthField,endMonthField) {
	endMonthField.selectedIndex = startMonthField.selectedIndex;
}

function process(num,cal) {


	if(num == -1) {
		if(month == 0) {
			month = 11;
			year--;
			today.setFullYear(year);
		}
		else { month--; }
	}
	if(num == 1) {
		if(month == 11) {
			month = 0;
			year++;
			today.setFullYear(year);
		}
		else { month++; }
	}
	// month set twice for bug #10002
	today.setMonth(month);
	today.setMonth(month);
	writeCalendar(cal);
}

function returnMonth(thismonth,thisYear) {

	MonthDayOrder = "[Month] [Year]";

	monthArray = new Array(
		"JANUARY", 
		"FEBRUARY", 
		"MARCH", 
		"APRIL", 
		"MAY", 
		"JUNE", 
		"JULY", 
		"AUGUST", 
		"SEPTEMBER", 
		"OCTOBER", 
		"NOVEMBER", 
		"DECEMBER"
		);
		
	MonthDayOrder = MonthDayOrder.replace("[Month]",monthArray[thismonth]);
	MonthDayOrder = MonthDayOrder.replace("[Year]",thisYear);
		
	return MonthDayOrder;
}

function setVisible(state,sCal,sCalShim) {
	if(!state) {
		sCal = kCal;
		sCalShim = kCalShim;
	}
	if(document.getElementById(sCal)) {
		var divRef = document.getElementById(sCal);
	} else { return; }
	if(document.getElementById(sCalShim)) {
		var ifrRef = document.getElementById(sCalShim);
	} else { return; }
	if(state) {
		var movemeback3 = document.getElementById('searchWrapperAll');
		var movemeback4 = document.getElementById('searchWrapper');
		var movemeback = document.getElementById('logoLink2');
		var movemeback2 = document.getElementById('logo2');
		
		
		divRef.style.display = "block";
		ifrRef.style.width = divRef.offsetWidth;
		ifrRef.style.height = divRef.offsetHeight;
		ifrRef.style.top = divRef.style.top;
		ifrRef.style.left = divRef.style.left;
		
		ifrRef.style.zIndex = divRef.style.zIndex -1;
		
		ifrRef.style.display = "block";
		ifrRef.onClick = true;
		
	} else { 
		divRef.style.display = "none";
		ifrRef.style.display = "none";
	}
}


function closeCalendar(cCal, cCalShim) {
	kCal = cCal;
	kCalShim = cCalShim;
	setVisible(false);
}

function setField(userDateField, userSiblingDate, userDate, userVertical) {
	// First off, lets kill all calendars if any.
//	alert("set field");
	killAllCalendars();
	inputDateField = userDateField;
	inputDate = userDate;
	vertical = userVertical;


	var dToday = today;
	defaultDate = dToday.getMonth()+1+'/'+dToday.getDate()+'/'+javaYear;

	if (inputDate == defaultDateString) {
		if (userSiblingDate == defaultDateString) {
			inputDate = defaultDate;
		} else {
			inputDate = userSiblingDate;
		}
	} else if (inputDate.length < 1) {
		inputDate = defaultDate;
	}

	try {
		parseDate(inputDate);
	} catch(e) {
		parseDate(defaultDate);
	}

	if (parseToSingleDigit(pInputMonth) > 12) {
		parseDate(defaultDate);
	}

	tInputMonth =  parseToSingleDigit(pInputMonth);
	tInputDay = parseToSingleDigit(pInputDay);
	tInputYear = ((pInputYear.length <= 2) ? '20' + pInputYear : pInputYear);

	month = tInputMonth - 1;
	today.setMonth(month);
	year = tInputYear;
	today.setFullYear(year);
}

function returnDate(inDay,cal) {
	var thisDay = inDay;
	var thisMonth = month + 1;
	var thisYear = year;
	var thisYearString = '' + thisYear;
	
	
	if ((defaultDateString == "mm/dd/yyyy") || (defaultDateString == "mm/dd/yy")) {
		inputDateField.value = parseToDoubleDigit(thisMonth) + '/' + parseToDoubleDigit(thisDay) + '/' + (thisYear);
	}
	else if ((defaultDateString == "yyyy/mm/dd") || (defaultDateString == "yy/mm/dd")) {
		inputDateField.value = (thisYear) + '/' + parseToDoubleDigit(thisMonth) + '/' + parseToDoubleDigit(thisDay);
	}
	else if ((defaultDateString == "dd/mm/yyyy") || (defaultDateString == "dd/mm/yy")) {
		inputDateField.value = parseToDoubleDigit(thisDay) + '/' + parseToDoubleDigit(thisMonth) + '/' + (thisYear);
	}
	else if ((defaultDateString == "dd.mm.yyyy") || (defaultDateString == "dd.mm.yy")) {
		inputDateField.value = parseToDoubleDigit(thisDay) + '.' + parseToDoubleDigit(thisMonth) + '.' + (thisYear);
	}

	closeCalendar(cal, calShim);
}

function writeCalendar(cal) {
//alert(vertical);
	activeCal = cal;
	calShim = cal + "Shim";
	blankColumn = "<td class='clickableDays partOfCal'>&nbsp;</td>"
	tableOutput = "<table cellpadding='0' cellspacing='0' border='0'><tr><td class='partOfCal' colspan='7'></td></tr><tr><td class='weekdays partOfCal'>" + 
					"S"  + 
					"</td><td class='weekdays partOfCal'>" + 
					"M" + 
					"</td><td class='weekdays partOfCal'>" + 
					"T" + 
					"</td><td class='weekdays partOfCal'>" + 
					"W" + 
					"</td><td class='weekdays partOfCal'>" + 
					"T" + 
					"</td><td class='weekdays partOfCal'>" + 
					"F" + 
					"</td><td class='weekdays partOfCal'>" + 
					"S" + 
					"</td></tr><tr align='right'>"

 	var days = getAllDaysInMonth(month);
	var firstOfMonth = new Date (year, month, 1);
	var startingPos  = firstOfMonth.getDay()
	startingPos -= parseInt(0)
	days += startingPos;

	//
//alert(startingPos + ":" + days);

	var columnCount = 0;

	for (i = 0; i < startingPos; i++) {
		tableOutput += blankColumn;
		columnCount++;
	}

	var currentDay = 0;
   	for (i = startingPos; i < days; i++) {
		currentDay = i-startingPos+1;
		var pStyle = " ";
		var pStyleCode = " ";
		var sltdDt = " ";
		var sltdDtA= " ";

		var pkMonth = parseToDoubleDigit(month + 1); //modify date segments for peak date id's
		var pkCurrentDay;
		pkCurrentDay = parseToDoubleDigit(currentDay);
		year = "" + year;  //javascript internal bug; force type to year
		pkYear = year.substring(2,4);
		var pkId = " ";

	  

		  pkId = "pk" + pkMonth  + pkCurrentDay + pkYear;
		  pkJsMOver = " ";
		  pkJsMOut = " ";
		  pkJsOnClick = " ";

			if(vertical == "flights"){ // Render peak days for AIR only  

			// Private function to pop peak day bubble
			function checkPkDays(pkId){
			var label = " ";
			var showLabel
				for (var i in peakDays){
				label = peakDays[i];

					if(pkId == i){

							pkJsMOver = " onmouseover='wrtPkDayDtls(\"" + label + "\");' ";
							pkJsMOut =  " onmouseout='javascript:hideLayer(\"pkDayDtls\");' ";
							pkJsOnClick = " onclick='javascript:hideLayer(\"pkDayDtls\");' "
							pStyleCode = " pkD "
					}
				}
			}


			checkPkDays(pkId);
		}

		if(month + 1 == tInputMonth && (currentDay == tInputDay)) { sltdDt = "style=\"border:1px solid #9CADBD; background-color:#FFEF9C;\""
	 sltdDtA="style=\"background-color:#FFEF9C;\""
 } 

		var verticalDate = javaDate;

		var nonClickableDayString = "<td " + pkJsMOver + pkJsMOut + pkJsOnClick + " class='nonclickableDays partOfCal " + pStyleCode + "' " + ">" + currentDay + "</td>";

		var clickableDayString = "<td " + pkJsMOver + pkJsMOut + pkJsOnClick + " class='clickableDays partOfCal " +  pStyleCode +  "' " + " id='" + pkId + "' " + sltdDt + "><a href=javascript:returnDate(" + currentDay + ",'" + cal + "'); class='clickableDays partOfCal " + pStyleCode + "' " + " id=' " + pkId   + "' " + sltdDtA + ">" + currentDay + "</a></td>"

//alert (nonClickableDayString);
//alert(clickableDayString);
//For Past Purchase vertical we have to show the previous/past date, the below check is done for that.
		if(vertical != 'pastpurchase') {
		//alert("javamonth = " + javaMonth + " javaYear :" + javaYear + " current day : " + currentDay + " vertical date: " + verticalDate);
		if (month <= javaMonth && year == javaYear) {
			if (month == javaMonth && currentDay >= verticalDate.getDate()) {
				tableOutput += clickableDayString;
			} else {
				tableOutput += nonClickableDayString;
			}
		} else if (year >= javaLimitYear) {
			if ((month > javaLimitMonth) || (month == javaLimitMonth && currentDay >= javaLimitDate) || (year > javaLimitYear)){
				tableOutput += nonClickableDayString;
			} else {
				tableOutput += clickableDayString;
			}
		} else if (year < javaYear) {
			tableOutput += nonClickableDayString;
		} else {
			tableOutput += clickableDayString;
		}
		 } else {
				tableOutput += clickableDayString;
		 }

		columnCount++;
		if (columnCount % 7 == 0) {
			tableOutput += "</tr><tr>";
		}
	}

	for (i=days; i<42; i++)  {
		tableOutput += blankColumn;
		columnCount++;

		if (columnCount % 7 == 0) {
			tableOutput += "</tr>";
			if (i<41) {
				tableOutput += "<tr>";
			}
		}
	}

var leftarrow;
var rightarrow;


if(vertical == 'pastpurchase') {
	//Show left arrow of the calendar as the customer can go and check any past dates for past purchase vertical
	leftarrow="<a class='partOfCal' href='javascript:process(-1,\"" + cal + "\")'><img class='partOfCal' src='"+staticServerPath +"/img/dnbase/left.gif' width='11' height='17' border='0'></a>"
}
else {
	if(month==javaMonth && year==javaYear) leftarrow="<img class='partOfCal' src='"+staticServerPath +"/img/dnbase/spacer.gif' width='11' height='17' border='0'>"
	else leftarrow="<a class='partOfCal' href='javascript:process(-1,\"" + cal + "\")'><img class='partOfCal' src='"+staticServerPath +"/img/dnbase/left.gif' width='11' height='17' border='0'></a>"

}

//Show right arrow of the calendar as the customer can go and check any future dates for past purchase vertical
if(vertical == 'pastpurchase') {
	rightarrow="<a class='partOfCal' href='javascript:process(1,\"" + cal + "\")'><img class='partOfCal' src='"+staticServerPath +"/img/dnbase/right.gif' width='11' height='17' border='0'></a>"
}
else {
	if((month==javaMonth-1) && (year==javaYear+1)) rightarrow="<img class='partOfCal' src='"+staticServerPath +"/img/dnbase/spacer.gif' width='11' height='17' border='0'>"
	else rightarrow="<a class='partOfCal' href='javascript:process(1,\"" + cal + "\")'><img class='partOfCal' src='"+staticServerPath +"/img/dnbase/right.gif' width='11' height='17' border='0'></a>"
}


tableOutput += "</table>";

//alert(tableOutput)

monthOutput = "<table cellspacing='0' cellpadding='0' border='0' id=imageCal><tr><td class='partOfCal' bgcolor='#333333' colspan='5'><img class='partOfCal' src='"+staticServerPath +"/img/dnbase/spacer.gif' width='1' height='1' border='0'></td></tr><tr><td class='partOfCal' bgcolor='#333333'><img class='partOfCal' src='"+staticServerPath +"/img/dnbase/spacer.gif' width='1' height='1' border='0'></td><td class='partOfCal' bgcolor='#FFFFFF'><img class='partOfCal' src='"+staticServerPath +"/img/dnbase/spacer.gif' width='1' height='1' border='0'></td><td class='partOfCal'><img class='partOfCal' src='"+staticServerPath +"/img/dnbase/spacer.gif' width='150' height='1' border='0'><br class='partOfCal' /><table cellpadding='0' cellspacing='0' border='0' bgcolor='#9CADBD'><tr><td class='partOfCal' bgcolor='#9CADBD' height='15' valign='top'>" + leftarrow + "</td><td align='center' valign='middle' class='months partOfCal' bgcolor='#9CADBD'>" + returnMonth(month,year) + "</td><td class='partOfCal' align='right' bgcolor='#9CADBD' valign='top'>" + rightarrow + "</td></tr></table>";

disclaimer = "<table cellspacing='0' cellpadding='0' border='0'><tr><td class='partOfCal' bgcolor='#333333' colspan='2'><img class='partOfCal' src='"+staticServerPath +"/img/dnbase/spacer.gif' width='1' height='1' border='0'></td></tr><tr><td class='partOfCal' align='center' valign='bottom'></td><td class='partOfCal' align='right' valign='bottom'><a class='partOfCal' href='javascript:closeCalendar(\"" + cal + "\",\"" + calShim + "\")'><img class='partOfCal' src='"+staticServerPath +"/img/dnbase/close.gif' width='16' height='12' border='0' vspace=3 align=right></a></td></tr></table></td><td class='partOfCal' bgcolor='#FFFFFF'><img class='partOfCal' src='"+staticServerPath +"/img/dnbase/spacer.gif' width='1' height='1' border='0'></td><td class='partOfCal' bgcolor='#333333'><img class='partOfCal' src='"+staticServerPath +"/img/dnbase/spacer.gif' width='1' height='1' border='0'></td></tr><tr><td class='partOfCal' bgcolor='#333333' colspan='5'><img class='partOfCal' src='"+staticServerPath +"/img/dnbase/spacer.gif' width='1' height='1' border='0'></td></tr></table>";
tableOutput = (monthOutput + tableOutput) + disclaimer;

	document.getElementById(cal).innerHTML=tableOutput;
	setVisible(true,cal,calShim);

}


// any click outside of the calendar will hide all calendars
function exteriorCloseCal(e) {
	var myObj = new Object;
	if( !e ) {
		if( window.event ) {
			e = window.event;
		} else {
			return;
		}
	}
	if (document.all) {
		myObj = e.srcElement;
	} else {
		myObj = e.target;
	}
	// we close all calendars on every click on the document, UNLESS that click is:
	// 1) on a calendar, noted by a match to class name partOfCal or 2) is on a named input field (which call the calendar)
	// all objects in calendar must be part of class partOfCal
	if (myObj.className.indexOf("partOfCal") == -1 && myObj.name != 'startDate' && myObj.name != 'endDate' && myObj.name != 'travelStartDate') {
		killAllCalendars();
	}
}
document.onclick=exteriorCloseCal;