
	
	
	function GetDateString(cboMonth,cboDay,cboYear,cboHour,cboMinute,cboAMPM)
	{
		var nMonthSelectedIndex = cboMonth.selectedIndex;
		var nDaySelectedIndex = cboDay.selectedIndex;
		var nYearSelectedIndex = cboYear.selectedIndex;
		var nTimeSelectedIndex = cboHour.selectedIndex;
		var nMinuteSelectedIndex = cboMinute.selectedIndex;
		var nAMPMSelectedIndex = cboAMPM.selectedIndex;
		
		var sMonth = cboMonth.options[nMonthSelectedIndex].value;
		var sDay = cboDay.options[nDaySelectedIndex].value;
		var sYear = cboYear.options[nYearSelectedIndex].value;
		
		var sTime = cboHour.options[nTimeSelectedIndex].value;
		var sMinute = cboMinute.options[nMinuteSelectedIndex].value;
		var sAMPM = cboAMPM.options[nAMPMSelectedIndex].value;
		
		var Time_array=sTime.split(":");
		var sHour = Time_array[0];
		
		if ((sAMPM == "PM") && (sHour!=12)) {
			sHour = parseInt(sHour) + 12;
		}
		if ((sAMPM == "AM") && (sHour==12)) {
			sHour = parseInt(sHour) - 12;
		}
		
		var dResoDate = new Date(sYear,nMonthSelectedIndex,sDay,sHour,sMinute);
		
		return dResoDate;
		
	}
	// The promo page might be hiding its combo values in some cases
	// in such an event we want to get the date from the literal that is displaying
	function GetDateStringPromo(cboMonth,cboDay,cboYear,cboHour,cboMinute,cboAMPM,dateDisp)
	{
		var sResoDate ="";
		var sMonth="";
		var sDay = "";
		var sYear ="";
		
		if(cboMonth != null)
		{
			var nMonthSelectedIndex = cboMonth.selectedIndex;
			var nDaySelectedIndex = cboDay.selectedIndex;
			var nYearSelectedIndex = cboYear.selectedIndex;
			sMonth = cboMonth.options[nMonthSelectedIndex].value;
			sDay = cboDay.options[nDaySelectedIndex].value;
			sYear = cboYear.options[nYearSelectedIndex].value;
		}
		else
		{
			// extract date from literal..			
			var theDate = new Date(dateDisp.innerText);
			sMonth = (theDate.getMonth() + 1);
			sDay = theDate.getDate();
			sYear = theDate.getFullYear();
		}
		
		// tack on the time part..
		var nTimeSelectedIndex = cboHour.selectedIndex;
		var nMinuteSelectedIndex = cboMinute.selectedIndex;
		var nAMPMSelectedIndex = cboAMPM.selectedIndex;
		var sHour = cboHour.options[nTimeSelectedIndex].value;
		var sMinute = cboMinute.options[nMinuteSelectedIndex].value;
		var sAMPM = cboAMPM.options[nAMPMSelectedIndex].value;
		
		if ((sAMPM == "PM") && (sHour!=12)) {
			sHour += 12
		}
		if ((sAMPM == "AM") && (sHour==12)) {
				sHour -= 12
		}
		var dResoDate = new Date(sYear,sMonth,sDay,sHour,sMinute);
		
		return dResoDate;


	}
	
	
	function IsTimeInPast(sResoDate, sMetroAreaDateTime)
	{
		var dResoDate = new Date(sResoDate);
		var dRestaurantDateTime = new Date(sMetroAreaDateTime)
		
		if (dResoDate.getTime() > dRestaurantDateTime.getTime())
		{
			
			dResoDate.setMinutes(dResoDate.getMinutes() - 5);
			if (dResoDate.getTime() > dRestaurantDateTime.getTime())
				return true;
			else
			{
				alert('You must make reservations at least 5 minutes in advance!\r\nPlease change your search criteria and submit another request.');
				return false;
			}
		}
		else
		{
			var agree=confirm('You have entered a date/time that has passed.\r\nDo you wish to continue?');
			if (agree)
				return true;
			else
				return false;
		}
	}
	function CheckDate
		(
			cboMonth,
			cboDay,
			cboYear,
			cboHour,
			cboMinute,
			cboAMPM,
			sMetroAreaDateTime
		)
	{
		
		var sResoDate = GetDateString(cboMonth,cboDay,cboYear,cboHour,cboMinute,cboAMPM);
		
		return IsTimeInPast(sResoDate,sMetroAreaDateTime);
		
	}
	
	// Called from Promo pages - special case this so that if the combo boxes have
	// bogus values - we can extract the date from the literal that displays the date..
	function CheckDatePromo(cboMonth,cboDay,cboYear,cboHour,cboMinute,cboAMPM,sMetroAreaDateTime,dateDisp)
	{		
		var sResoDate = GetDateStringPromo(cboMonth,cboDay,cboYear,cboHour,cboMinute,cboAMPM,dateDisp);
		return IsTimeInPast(sResoDate,sMetroAreaDateTime);
		
	}
		
	function FixDate
		(
			cboMonth,
			cboDay,
			cboYear,
			cboHour,
			cboMinute,
			cboAMPM,
			sMetroAreaDateTime
		)
	{
		var now = new Date()
		var evening = 0
		
		var dResoDate = GetDateString(cboMonth,cboDay,cboYear,cboHour,cboMinute,cboAMPM);
		var dRestaurantDateTime = new Date(sMetroAreaDateTime)
		var h = dRestaurantDateTime.getHours()
		var m = dRestaurantDateTime.getMinutes()
		var nearhour = 19
		var nearminute = 0 // for defaulting to ":30"
		var closestTime = (dRestaurantDateTime.getTime() + (15 * 60000)) //15 minutes in advance...
		var nearest = new Date(closestTime)
		nearhour = nearest.getHours()
		
		//alert(nearhour)
		if (dResoDate < dRestaurantDateTime)
		{
		
			if (nearest.getHours() < 19)
			{
				nearhour = 19;
				nearminute = 0;
			}
			else
			{
				nearminute = nearest.getMinutes()
				if (nearminute > 45)
				{
				nearminute = 0
				nearhour = nearhour + 1
				}
				else if (nearminute > 30)
				{
				nearminute = 3
				}
				else if (nearminute > 15)
				{
				nearminute = 2
				}
				else
				{
				nearminute = 1
				}
			}
			if (nearhour > 12)
			{
				nearhour = nearhour - 12
				evening = 1
			}
			if (nearhour == 12) evening=1
			if (nearhour == 0)
			{
				nearhour = 12;
				evening = 0;
			}
				
			cboMinute.selectedIndex = nearminute;
			cboHour.selectedIndex = nearhour - 1;
			cboAMPM.selectedIndex = evening;
		}
		
	}
	
	function clock(txtHidServerDateTime) {
		if (!document.layers && !document.all) return;
		
		var sStartDateTime = txtHidServerDateTime.value;
		
		var digital = new Date(sStartDateTime);
		
		var seconds = digital.getSeconds();
		digital.setSeconds(seconds + 1);
		
		var sClockCall
		
		if (document.layers) 
		{
			value.txtHidServerDateTime = digital.toString();
			
			sClockCall = "clock(document.layers." + txtHidServerDateTime.id + ")";
			
		}
		else if (document.all)
		{
			txtHidServerDateTime.value = digital.toString();	
			
			sClockCall = "clock(document.all." + txtHidServerDateTime.id + ")";
		}
		
		//alert(sClockCall);
		setTimeout(sClockCall, 1000);
	}
