var openCal			= '';

/*added for currentMonthName Engine room search*/
function roomDisplay(scriptURL, trgtDiv, boxWidth, boxHeight)
{
	var overLay		= $('overLay');
	var imgDisplay	= $(trgtDiv);
	var	winWidth	= getWidth();
	var winHeight	= getHeight();

	var leftPos		= boxWidth/2;
	var topPos		= (boxHeight/2)+25;
	var divHeight	= boxHeight;
	var imgUnderTop	= (boxHeight/1)+2;
	overHeight		= document.body.scrollHeight;
	overWidth		= document.body.scrollWidth;
	
	overLay.style.position		= 'absolute';
	overLay.style.top			= '0px';
	overLay.style.left			= '0px';
	overLay.style.width			= '100%';
	overLay.style.height		= overHeight+'px';
	overLay.style.opacity		= '.75';
	overLay.style.background	= '#828282';
	overLay.style.filter		= 'alpha(opacity:'+75+')';
	overLay.style.display		= 'block';
	
	var topOffset				= window.pageYOffset;
	imgDisplay.style.position	= 'absolute';
	imgDisplay.style.top		= '50%';
	imgDisplay.style.left		= '50%';
	if(typeof( window.pageYOffset ) == 'number')
	{
		var topOffset	= window.pageYOffset;
		var leftOffset	= window.pageXOffset;
	}
	else if( document.body && (document.body.scrollTop))
	{
		var topOffset	= document.body.scrollTop;
		var leftOffset	= document.body.scrollLeft;
	}
	else if( document.documentElement && (document.documentElement.scrollTop))
	{
		var topOffset	= document.documentElement.scrollTop;
		var leftOffset	= document.documentElement.scrollLeft;
	}

	if(topOffset > 0)
	{
		var topMargin	= topPos*-1 + parseInt(topOffset);
	}else{
		var topMargin	= topPos*-1;
	}
	if(leftOffset > 0)
	{
		var leftMargin	= leftPos*-1 - parseInt(leftOffset);
	}else{
		var leftMargin = leftPos*-1;
	}
	imgDisplay.style.margin		= topMargin+'px 0px 0px '+leftMargin+'px';
	imgDisplay.style.width		= boxWidth+'px';
	imgDisplay.style.height		= divHeight+'px';
	imgDisplay.style.minHeight	= divHeight+'px';
	imgDisplay.style.display	= 'block';
	imgDisplay.style.border		= '3px solid #828282';
	
	
	imgDisplay.style.background	= "#ffffff";
	var boxReq	= new xmlRequest();
	boxReq.open("GET", scriptURL, true);
	boxReq.onreadystatechange = function()
	{
		if (boxReq.readyState == 4 && boxReq.status == 200)
		{
			
			imgDisplay.innerHTML = boxReq.responseText;
			$('closeButton').onclick = function()
			{
				closeOver(imgDisplay, overLay);
			}
		}
	}
	boxReq.send(null);
	return false;
}

function closeOver(boxDisplay, overLay)
{
	boxDisplay.innerHTML		= "";
	boxDisplay.style.position	= 'static';
	boxDisplay.style.width		= '0px';
	boxDisplay.style.height		= '0px';
	boxDisplay.style.display	= 'none';
		
	overLay.style.position		= 'static';
	overLay.style.width			= '0px';
	overLay.style.height		= '0px';
	overLay.style.display		= 'none';
	return false;
}

function roomCalendar(tgtID, tgtInput, calID, today, month, year)
{
	var tgtDiv		= $(tgtID);
	var tgtField	= $(tgtInput);
	var todayValue	= $(today).value;
	var dateNums	= todayValue.split("/");
	
	var localTime		= todayValue;
	var oneDay			= 86400;
	var todayDate		= new Date(dateNums[2],dateNums[0]-1,dateNums[1],0,0,0);
	var currentDay		= todayDate.getDate();
	var currentMonth	= todayDate.getMonth();
	var currentYear		= todayDate.getFullYear();
	var newNums			= tgtField.value.split("/");
	var tgtDate			= new Date(newNums[2],newNums[0]-1,newNums[1],0,0,0);
	switch(currentMonth)
	{
		case 0:
				var currentMonthName	= "January";
		break;
		case 1:
				var currentMonthName	= "February";
		break;
		case 2:
				var currentMonthName	= "March";
		break;
		case 3:
				var currentMonthName	= "April";
		break;
		case 4:
				var currentMonthName	= "May";
		break;
		case 5:
				var currentMonthName	= "June";
		break;
		case 6:
				var currentMonthName	= "July";
		break;
		case 7:
				var currentMonthName	= "August";
		break;
		case 8:
				var currentMonthName	= "September";
		break;
		case 9:
				var currentMonthName	= "October";
		break;
		case 10:
				var currentMonthName	= "November";
		break;
		case 11:
				var currentMonthName	= "December";
		break;
		default:
				var currentMonthName	= newMonth;
		break;
	}
	var localTime		= Date.parse(currentMonthName+" "+dateNums[1]+", "+dateNums[2])/1000;
	if(month)
	{
		var newDate		= new Date(year,month,1,0,0,0);
		var newDay		= newDate.getDate();
		var newMonth	= newDate.getMonth();
		var newYear		= newDate.getFullYear();
	}
	else if(tgtDate > localTime)
	{
		var newDay		= tgtDate.getDate();
		var newMonth	= tgtDate.getMonth();
		var newYear		= tgtDate.getFullYear();
	}else{
		var newDate		= new Date(currentYear,currentMonth,1,0,0,0);
		var newDay		= newDate.getDate();
		var newMonth	= newDate.getMonth();
		var newYear		= newDate.getFullYear();
	}
	
	if(calID == 'selectCheckIn')
	{
		var tgtInput	= "rmCheckIn";
		var tgtView		= "arriveDate";
	}
	else if(calID == 'selectCheckOut')
	{
		$tgtInput	= "rmCheckOut";
		$tgtView	= "departDate";
	}
/*Start Calendar*/
	var colRows		= 0;
	
	var viewMonth	= new Date(newYear, newMonth,1,0,0,0);
	var thisMonth	= new Date(currentYear,currentMonth,currentDay,0,0,0);

	switch(newMonth)
	{
		case 0:
				var monthName	= "January";
		break;
		case 1:
				var monthName	= "February";
		break;
		case 2:
				var monthName	= "March";
		break;
		case 3:
				var monthName	= "April";
		break;
		case 4:
				var monthName	= "May";
		break;
		case 5:
				var monthName	= "June";
		break;
		case 6:
				var monthName	= "July";
		break;
		case 7:
				var monthName	= "August";
		break;
		case 8:
				var monthName	= "September";
		break;
		case 9:
				var monthName	= "October";
		break;
		case 10:
				var monthName	= "November";
		break;
		case 11:
				var monthName	= "December";
		break;
		default:
				var monthName	= newMonth;
		break;
	}
	
	var dispMo		= "<div class=\"calOne\"><table class=\"searchCal\"><tr><td class=\"rmCalPrevMo\" >";
	if(viewMonth > thisMonth)
	{
		var rmCalPrevMo	= newMonth - 1;
		rmCalPrevYr		= newYear;
		if(rmCalPrevMo	< 0)
		{
			rmCalPrevMo	= 11;
			rmCalPrevYr	= newYear - 1;
		}
		dispMo			+= "<a href=\"javascript:roomCalendar('"+tgtID+"', '"+tgtInput+"', '"+calID+"', '"+today+"', '"+rmCalPrevMo+"', '"+rmCalPrevYr+"');\"><img src=\"http://"+location.host+"/graphics/prevMoArrow.gif\" width=\"15\" height=\"15\" alt=\"click for previous month\" title=\"click for previous month\" /></a>";
	}
	dispMo				+= "</td><td colspan=\"5\" class=\"rmCalCurrMo\">";
	dispMo				+= monthName+ " "+newYear;
	var rmCalNextMo		=  newMonth + 1;
	dispMo				+= "</td><td class=\"rmCalNextMo\">";
	dispMo				+= "</td></tr>\n";
	var totaldays		= daysInMonth(newMonth+1,newYear);
	dispMo				+= "\t\t<tr>"; 
	
	var weekDays		= new Array('M','T','W','T','F','S','S');
	for(var i = 0; i < weekDays.length; i++){dispMo += "<td class=\"rmCalDayName\">"+weekDays[i]+"</td>"; }
	
	dispMo += "</tr>\n\t\t<tr>"; 
	var dayOffset = viewMonth.getDay();
	if(dayOffset == 0)
	{
		dayOffset	= Math.abs(dayOffset -6);
	}else{
		dayOffset	= dayOffset - 1;
	}
	if(dayOffset > 0)
	{
		for(var j = 0; j < dayOffset; j++){dispMo += "<td class=\"rmCalDate\"></td>"; }
	}

	var yesterday	= localTime;
	var daySecs		= '';
	for(var day = 1; day <= totaldays; day++)
	{
		daySecs			= Date.parse(monthName+" "+day+", "+newYear)/1000;
		var daySecsDate	= new Date(daySecs*1000);
		if(daySecs >= (yesterday))
		{
			var nextDay			= day+1;
			var nextDaySecs		= Date.parse(monthName+" "+nextDay+", "+newYear)/1000;
			var nextDaySecsDate	= new Date(nextDaySecs*1000);
			var curMonth		= daySecsDate.getMonth()+1;
			var curDay			= daySecsDate.getDate();
			var curYR			= daySecsDate.getFullYear();
			var coMonth			= nextDaySecsDate.getMonth()+1;
			var coDay			= nextDaySecsDate.getDate();
			var coYR			= nextDaySecsDate.getFullYear();
			
			if(calID == 'selectCheckIn')
			{
				var javaFunction	= "addCheckInDate('"+curMonth+"/"+curDay+"/"+curYR+"', '"+coMonth+"/"+coDay+"/"+coYR+"', 'rmCheckIn', 'rmCheckOut', 'arriveDate', 'departDate', '"+calID+"');";
			}
			else if(calID == 'selectCheckOut')
			{
				var javaFunction	= "addDate('"+curMonth+"/"+curDay+"/"+curYR+"', 'rmCheckOut', 'departDate', '"+calID+"');";
			}
			dispMo += "<td class=\"rmCalDate active\"><a href=\"javascript:"+javaFunction+"\">"+day+"</a></td>";
		}else{
			dispMo += "<td class=\"rmCalDate past\">"+day+"</td>"; 
		}
		dayOffset++;
		if(dayOffset == 7)
		{
			dayOffset = 0;
			dispMo += "</tr>\n"; 
			colRows++;
			if(day < totaldays){dispMo += "\t\t<tr>"; }
		}
	}
	if(dayOffset > 0)
	{
		dayOffset = 7 - dayOffset;
	}
	if(dayOffset > 0)
	{ 
		for ($i = 0; $i < dayOffset; $i++){dispMo += "<td class=\"rmCalDate\"></td>"; }
	}
	if(dayOffset!=0)
	{
		dispMo += "</tr>\n"; 
		colRows++;
	}
	if(colRows < 6)
	{
		do
		{
			dispMo += "<tr><td class=\"rmCalDate\"></td><td class=\"rmCalDate\"></td><td class=\"rmCalDate\"></td><td class=\"rmCalDate\"></td><td class=\"rmCalDate\"></td><td class=\"rmCalDate\"></td><td class=\"rmCalDate\"></td></tr>"; 
			colRows++;
		}
		while(colRows < 6);
	}
	dispMo +=  "</table></div>"; 
	
	newMonth++;
//Second Month
	var colRows		= 0;
	
	var viewMonth	= new Date(newYear, newMonth,1,0,0,0);
	var thisMonth	= new Date(currentYear,currentMonth,currentDay,0,0,0);
	if(newMonth >11)
	{
		newMonth	= 0;
		newYear		= newYear+1;
	}

	switch(newMonth)
	{
		case 0:
				var monthName	= "January";
		break;
		case 1:
				var monthName	= "February";
		break;
		case 2:
				var monthName	= "March";
		break;
		case 3:
				var monthName	= "April";
		break;
		case 4:
				var monthName	= "May";
		break;
		case 5:
				var monthName	= "June";
		break;
		case 6:
				var monthName	= "July";
		break;
		case 7:
				var monthName	= "August";
		break;
		case 8:
				var monthName	= "September";
		break;
		case 9:
				var monthName	= "October";
		break;
		case 10:
				var monthName	= "November";
		break;
		case 11:
				var monthName	= "December";
		break;
		default:
				var monthName	= newMonth;
		break;
	}
	
	dispMo		+= "<div class=\"calTwo\"><table class=\"searchCal\"><tr><td class=\"rmCalPrevMo\" >";
	dispMo				+= "</td><td colspan=\"5\" class=\"rmCalCurrMo\">";
	dispMo				+= monthName+ " "+newYear;
	var rmCalNextMo		= newMonth;
	var rmCalNextYr		= newYear;
	if(rmCalNextMo	> 11)
	{
		rmCalNextMo	= 0;
		rmCalNextYr	= newYear + 1;
	}
	dispMo				+= "</td><td class=\"rmCalNextMo\">";
	var ViewMoStamp		= Date.parse(monthName+" 1, "+newYear)/1000;
	var thisMoStamp		= Date.parse(currentMonthName+" "+dateNums[1]+", "+dateNums[2])/1000;
	var doneDays		= (ViewMoStamp -thisMoStamp)/oneDay;
	
	if(doneDays < 730)
	{
		dispMo				+= " &nbsp; &nbsp;<a href=\"javascript:roomCalendar('"+tgtID+"', '"+tgtInput+"', '"+calID+"', '"+today+"', '"+rmCalNextMo+"', '"+rmCalNextYr+"');\"><img src=\"http://"+location.host+"/graphics/nextMoArrow.gif\" width=\"15\" height=\"15\" alt=\">\" title=\">\" /></a>";
	}else{
		dispMo				+= "&nbsp;";
	}
	dispMo				+= "</td></tr>\n";
	var totaldays		= daysInMonth(newMonth+1,newYear);
	dispMo				+= "\t\t<tr>"; 
	
	var weekDays		= new Array('M','T','W','T','F','S','S');
	for(var i = 0; i < weekDays.length; i++){dispMo += "<td class=\"rmCalDayName\">"+weekDays[i]+"</td>"; }
	
	dispMo += "</tr>\n\t\t<tr>"; 
	var dayOffset = viewMonth.getDay();
	if(dayOffset == 0)
	{
		dayOffset	= Math.abs(dayOffset -6);
	}else{
		dayOffset	= dayOffset - 1;
	}
	if(dayOffset > 0)
	{
		for(var j = 0; j < dayOffset; j++){dispMo += "<td class=\"rmCalDate\"></td>"; }
	}

	var yesterday	= localTime;
	var daySecs		= '';
	for(var day = 1; day <= totaldays; day++)
	{
		daySecs			= Date.parse(monthName+" "+day+", "+newYear)/1000;
		var daySecsDate	= new Date(daySecs*1000);
		if(daySecs >= (yesterday))
		{
			var nextDay			= day+1;
			var nextDaySecs		= Date.parse(monthName+" "+nextDay+", "+newYear)/1000;
			var nextDaySecsDate	= new Date(nextDaySecs*1000);
			var curMonth		= daySecsDate.getMonth()+1;
			var curDay			= daySecsDate.getDate();
			var curYR			= daySecsDate.getFullYear();
			var coMonth			= nextDaySecsDate.getMonth()+1;
			var coDay			= nextDaySecsDate.getDate();
			var coYR			= nextDaySecsDate.getFullYear();
			
			if(calID == 'selectCheckIn')
			{
				var javaFunction	= "addCheckInDate('"+curMonth+"/"+curDay+"/"+curYR+"', '"+coMonth+"/"+coDay+"/"+coYR+"', 'rmCheckIn', 'rmCheckOut', 'arriveDate', 'departDate', '"+calID+"');";
			}
			else if(calID == 'selectCheckOut')
			{
				var javaFunction	= "addDate('"+curMonth+"/"+curDay+"/"+curYR+"', 'rmCheckOut', 'departDate', '"+calID+"');";
			}
			dispMo += "<td class=\"rmCalDate active\"><a href=\"javascript:"+javaFunction+"\">"+day+"</a></td>";
		}else{
			dispMo += "<td class=\"rmCalDate past\">"+day+"</td>"; 
		}
		dayOffset++;
		if(dayOffset == 7)
		{
			dayOffset = 0;
			dispMo += "</tr>\n"; 
			colRows++;
			if(day < totaldays){dispMo += "\t\t<tr>"; }
		}
	}
	if(dayOffset > 0)
	{
		dayOffset = 7 - dayOffset;
	}
	if(dayOffset > 0)
	{ 
		for ($i = 0; $i < dayOffset; $i++){dispMo += "<td class=\"rmCalDate\"></td>"; }
	}
	if(dayOffset!=0)
	{
		dispMo += "</tr>\n"; 
		colRows++;
	}
	if(colRows < 6)
	{
		do
		{
			dispMo += "<tr><td class=\"rmCalDate\"></td><td class=\"rmCalDate\"></td><td class=\"rmCalDate\"></td><td class=\"rmCalDate\"></td><td class=\"rmCalDate\"></td><td class=\"rmCalDate\"></td><td class=\"rmCalDate\"></td></tr>"; 
			colRows++;
		}
		while(colRows < 6);
	}
	dispMo +=  "</table></div>"; 
	
	dispMo += "<div class=\"calClose\"><a class=\"inline\" href=\"javascript:closeCal('"+calID+"');\"><img src=\"http://"+location.host+"/graphics/rmCalClose-x.gif\" width=\"15px\" height=\"15px\" alt=\"close\" title=\"close\" /></a></div>";
	if(openCal != '')
	{
		closeCal(openCal);
	}
	var newSelect		= document.createElement('div');
	newSelect.id		= calID;
	newSelect.className	= "selectMonths";
	tgtDiv.appendChild(newSelect);
	newSelect.innerHTML	= dispMo;
	openCal	= calID;
}

function daysInMonth(month,year) 
{
	var dd	= new Date(year, month, 0);
	return dd.getDate();
} 

function swapSrchMo(serverScript, month, year, tgtID, startEnd)
{
	var serverScript	= serverScript+"?"+tgtID+"=1&month="+month+"&year="+year;
	swapReq		= new xmlRequest();
	swapReq.open("GET", serverScript, true);
	swapReq.onreadystatechange = function()
	{
		if(swapReq.readyState == 4 && swapReq.status == 200)
		{
			$(tgtID).innerHTML	= swapReq.responseText;
		}
	}
	swapReq.send(null);
	return false;
}

function addDate(dispDate, tgtInput, tgtView, calID)
{
	$(tgtInput).value		= dispDate;
	var newValue			= dispDate.split("/");
	var plainDispDate		= newValue[1]+"/"+newValue[0]+"/"+newValue[2];
	
	$(tgtView).innerHTML	= plainDispDate;
	openCal					= '';
//	return false;
}

function addCheckInDate(dispDate, coDispDate, tgtInput, coTgtInput, tgtView, coTgtView, calID)
{
	$(tgtInput).value		= dispDate;
	inDispDate				= dispDate.split("/");

	outDispDate				= coDispDate.split("/");
	openCal					= '';
	var curValue			= $(coTgtInput).value.split("/");
	var newValue			= coDispDate.split("/");
	$(tgtView).innerHTML	= inDispDate[1]+"/"+inDispDate[0]+"/"+inDispDate[2];
	var currStamp			= new Date(curValue[2],curValue[0]-1,curValue[1],0,0,0);
	var newStamp			= new Date(newValue[2],newValue[0]-1,newValue[1],0,0,0);
	var plainDispDate		= outDispDate[1]+"/"+outDispDate[0]+"/"+outDispDate[2];
	if(currStamp < newStamp)
	{
		$(coTgtInput).value		= coDispDate;
		$(coTgtView).innerHTML	= plainDispDate;
	}
//	return false;
}

function closeCal(calID)
{
	var	CalDiv	= $(calID);
	var removed	= CalDiv.parentNode.removeChild(CalDiv);
	if(openCal){openCal = '';}
}

function submitRoomSearch(pgForm, tgtID)
{
	var tgtDiv			= $(tgtID);
	var serverScript	= pgForm.action;
	var errMsgs			= new Array();
	var reqMsgSet		= false;
	for(var i = 0; i < pgForm.elements.length; i++)
	{
		if(pgForm.elements[i].className.indexOf('required') != -1)
		{
			if(pgForm.elements[i].value == '')
			{
				if(isNaN(pgForm.guests))
				{
					if(!alertMsg){var alertMsg	= "Please fill in all required fields.";}
					errMsgs.push(pgForm.elements[i].name);
				}
			}
		}
		if(!formSubmit)
		{
			var formSubmit	= pgForm.elements[i].name+"="+pgForm.elements[i].value;
		}else{
			formSubmit	+= "&"+pgForm.elements[i].name+"="+pgForm.elements[i].value;
		}
	}
	var checkInString		= pgForm.rmCheckin.value.split("/");
	var checkOutString		= pgForm.rmCheckOut.value.split("/");
	var chekInDate			= new Date(checkInString[2],checkInString[0]-1,checkInString[1],0,0,0);
	var checkOutDate		= new Date(checkOutString[2],checkOutString[0]-1,checkOutString[1],0,0,0)
	if(chekInDate >= checkOutDate)
	{
		if(!alertMsg)
		{
			var alertMsg	= "\"Check-out Date\" must be after \"Check-in date\"";
		}else{
			alertMsg	= alertMsg+"\n\"Check-out Date\" must be after \"Check-in date\"";
		}
		errMsgs.push('rmCheckin');
		errMsgs.push('rmCheckOut');
	}
	if(errMsgs.length > 0)
	{
		alert(alertMsg+'\nPlease correct highlighted fields.');
		for(var j = 0; j < errMsgs.length; j++)
		{
			var fieldName	= errMsgs[j];
			if(pgForm.elements[fieldName].type == 'hidden')
			{
				if(pgForm.elements[fieldName].parentElement)
				{
					pgForm.elements[fieldName].parentElement.style.background = '#fff3c8';
				}else{
					pgForm.elements[fieldName].parentNode.style.background = '#fff3c8';
				}
			}else{
				pgForm.elements[fieldName].style.background = '#fff3c8';
			}
		}
		return false;
	}
	var rmReq	= new xmlRequest();
	rmReq.open("POST", serverScript, true);
	rmReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded charset=UTF-8");
	rmReq.onreadystatechange = function()
	{
		if(rmReq.readyState == 4 && rmReq.status == 200)
		{
			if(rmReq.responseText.substr(0,6) == "ERROR:")
			{
				alert(rmReq.responseText.substr(6));
			}else{
				tgtDiv.innerHTML	= rmReq.responseText;
			}
		}
	}
	rmReq.send(formSubmit);
	return false;
}