/** Note, this is here for Backward compatibility. Do not add any new code to this page **/


var formsubmitted = false;
var smallmarket = false;

/*******************************************
The following functions allow for creation and use of 'arrays' in Javascript 1.0
The array 'length' is a value held in the first index (also indicated by the array
name!). Be sure to add items to the array using the addToArray function to keep the
length value accurate....
********************************************/
function addToArray(ar, str)
{
	var l
	l = ar[0] + 1
	ar[l] = str
	ar[0] = l
}
function makeArray()
{
	array = new Object();
	array[0] = 0;
	return array;
}

var dayNames = makeArray()
addToArray(dayNames, " Sun")
addToArray(dayNames, " Mon")
addToArray(dayNames, " Tue")
addToArray(dayNames, " Wed")
addToArray(dayNames, " Thu")
addToArray(dayNames, " Fri")
addToArray(dayNames, " Sat")

function ShowDay() {
	var ryear = document.r.ResYear.selectedIndex;
	if(ryear < 0)
		ryear= 0;
	ryear= document.r.ResYear.options[ryear].value - 0;
	var rmonth = document.r.ResMonth.selectedIndex;
	var rdate = document.r.ResDate.selectedIndex + 1;
	var rnow = new Date(ryear,rmonth,rdate);
	var now = new Date();

		var rday = rnow.getDay() + 1;
		document.r.dayweek.value = dayNames[rday]
	
document.q.ResYear.selectedIndex = document.r.ResYear.selectedIndex
document.q.ResMonth.selectedIndex = document.r.ResMonth.selectedIndex
document.q.ResDate.selectedIndex = document.r.ResDate.selectedIndex
document.q.dayweek.value = dayNames[rday]
}

function ShowDay2() {
	var qyear = document.q.ResYear.selectedIndex;
	if(qyear < 0)
		qyear= 0;
	qyear= document.q.ResYear.options[qyear].value - 0;
	var rmonth = document.q.ResMonth.selectedIndex;
	var rdate = document.q.ResDate.selectedIndex + 1;
	var rnow = new Date(qyear,rmonth,rdate);
	var now = new Date();

		var rday = rnow.getDay() + 1;
		document.q.dayweek.value = dayNames[rday]
	
document.r.ResYear.selectedIndex = document.q.ResYear.selectedIndex
document.r.ResMonth.selectedIndex = document.q.ResMonth.selectedIndex
document.r.ResDate.selectedIndex = document.q.ResDate.selectedIndex
document.r.dayweek.value = dayNames[rday]
}

//The following code will validate the form before submission...
function submitIt(form) {
	if (formsubmitted) { return false	}
		
	if((form.SearchType.length != null) && (smallmarket == false))
	{
		//make sure search criteria were chosen....
		//was an appropriate search criterion selected?
		if (form.SearchType[chkCN].checked == true)
		{
			if (form.FoodTypes.selectedIndex == -1)
			{
				alert("You must select a food type for your search!")
				form.FoodTypes.focus()
				return false
			}
			//commented out for now	drew 5/18/00
			//if (form.Neighborhoods.selectedIndex == -1)
			//{
			//	alert("In order for us to complete your search, please select a neighborhood. Thank you.")
			//	form.Neighborhoods.focus()
			//	return false
			//}
			
			//uncomment the following when price criteria are ready	
			if (form.PriceRange.selectedIndex == -1)
			{
				alert("You must select a price range for your search!")
				form.PriceRange.focus()
				return false
			}
		}
		else if ((form.SearchType[chkR].checked == true) && (smallmarket == false))
		{
			if (form.Restaurants.selectedIndex == -1)
			{
				alert("You must select a restaurant for your search!")
				form.Restaurants.focus()
				return false
			}
		}
		//else if(!useFavorites || !form.SearchType[0].checked)
		//{
		//	alert(selectMessage);
		//	form.SearchType[chkR].focus();
		//	return false;
		//}
	}
		
	//make sure date is not in the past
	//get submitted date and time
	var subyear =	form.ResYear.options[form.ResYear.selectedIndex].value - 0;
	var submonth =	form.ResMonth.options[form.ResMonth.selectedIndex].value - 1;
	var subdate =	form.ResDate.options[form.ResDate.selectedIndex].value - 0;
	var subhour = form.ResHour.options[form.ResHour.selectedIndex].value - 0;
	var subminute = form.ResMinute.options[form.ResMinute.selectedIndex].value - 0;
	var subAmPm = form.Meridian.options[form.Meridian.selectedIndex].value;
	if ((subAmPm == "PM") && (subhour!=12)) {
			subhour += 12
	}
	if ((subAmPm == "AM") && (subhour==12)) {
			subhour -= 12
	}
	var subtime = new Date(subyear,submonth,subdate,subhour,subminute);

	//get current date and time
	var now = new Date()
	var nowyear = now.getYear()
	var nowmonth = now.getMonth()
	var nowday = now.getDate()
	var nowhour = now.getHours()
	var nowminute = now.getMinutes()
	//check for time/date in the past
	if (now.getTime() > subtime.getTime()) {
	
	var agree=confirm("You have entered a date/time which has passed.  Do you wish to continue?");
	if (agree)
		return true ;
	else {
		
		//alert("You have entered a date/time which has passed.  Check the day/time setting on your computer to ensure it's correct.")
		//now find out where to put focus...
			if (nowyear > subyear) {
				form.ResYear.focus()
				return false
			}
			if (nowmonth > submonth) {
				form.ResMonth.focus()
				return false
			}
			if (nowday > subdate) {
				form.ResDate.focus()
				return false
			}
			if (nowhour > subhour) {
				form.ResHour.focus()
				return false
			}
			if (nowminute > subminute) {
				form.ResMinute.focus()
				return false
			}
			return false
		}
	}

		switch((form.ResMonth.options[form.ResMonth.selectedIndex].value-1)) {
			case 1:
				if ((form.ResDate.options[form.ResDate.selectedIndex].value == 30) || (form.ResDate.options[form.ResDate.selectedIndex].value == 31) || (form.ResDate.options[form.ResDate.selectedIndex].value == 32)){
				alert("The month does not have that date.");
					return false;
					}
				break;
			case 3:
				if (form.ResDate.options[form.ResDate.selectedIndex].value == "31"){
				alert("The month does not have that date.");
					return false;
					}
				break;
			case 5:
				if (form.ResDate.options[form.ResDate.selectedIndex].value == "31"){
				alert("The month does not have that date.");
					return false;
					}
				break;
			case 8:
				if (form.ResDate.options[form.ResDate.selectedIndex].value == "31"){
				alert("The month does not have that date.");
					return false;
					}
				break;
			case 10:
				if (form.ResDate.options[form.ResDate.selectedIndex].value == "31"){
				alert("The month does not have that date.");
					return false;
					}
				break;
		}

	//if here, time/date submitted is not in the past, check for 1/2 hour advance...
	var submins = ((subtime.getTime())/60000)
	var nowmins = (((now.getTime())/60000) + 5)
	if (submins < nowmins) {
		alert("You must make reservations at least 5 minutes in advance!")
		form.ResHour.focus()
		return false
	}
	//else if here the date and time are o.k.
	//saveValues()
	if (form.specialdate.value != "1") {
	var str = form.PartySize.selectedIndex + ":"
	str = str + form.ResMonth.selectedIndex + ":"
	str = str + form.ResDate.selectedIndex + ":"
	str = str + form.ResYear.selectedIndex + ":"
	str = str + form.ResHour.selectedIndex + ":"
	str = str + form.ResMinute.selectedIndex + ":"
	str = str + form.Meridian.selectedIndex 

	var usernow=(form.ResMonth.value + "/" + form.ResDate.value + "/" + form.ResYear.value + " " + form.ResHour.value + ":" + form.ResMinute.value + ":00 " + form.Meridian.value)
	usernow = new Date(usernow)
	document.cookie="remember=" + str
	// + ";expires=" + usernow.toGMTString()
	}

	//document.cookie="remember=" + str 
	//if (floater != null && floater.open) {
	//	floater.close();
	//}
	//openWindow('interim.asp',700,400,'interim');
	formsubmitted = true;
	return true;
}//end of submitIt()

function saveValues(form) {
	var str = form.PartySize.selectedIndex + ":"
	str = str + form.ResMonth.selectedIndex + ":"
	str = str + form.ResDate.selectedIndex + ":"
	str = str + form.ResYear.selectedIndex + ":"
	str = str + form.ResHour.selectedIndex + ":"
	str = str + form.ResMinute.selectedIndex + ":"
	str = str + form.Meridian.selectedIndex 
	
	var usernow=(form.ResMonth.value + "/" + form.ResDate.value + "/" + form.ResYear.value + " " + form.ResHour.value + ":" + form.ResMinute.value + ":00 " + form.Meridian.value)
	usernow = new Date(usernow)
	document.cookie="remember=" + str
	//+ ";expires=" + usernow.toGMTString() + 
	 + ";path=/;"
	//alert(usernow)
}

/******************************************
The following is a split function for Javascript 1.0
it returns its values in an array....
******************************************/
function mySplit(str, ch)
{
	
	anArray = makeArray();
	if (str != "")		//navigator 2 bug workaround?
	{
	start = 0
	end = 0
	i=0
	//anArray = makeArray();
	while (str.indexOf(ch) != -1)
		{
		end = str.indexOf(ch)
		strTemp = (str.substring(start, end))
		addToArray(anArray, strTemp)
		str = str.substring(end+1, str.length)
		i += 1
		}
		addToArray(anArray, str)
	}
	return anArray
}

 function clearValues() {
 	document.cookie="remember=";
	}
/******************************************************
 function findCookie(str) -- finds and returns the specified cookie's value... 
******************************************************/
 function findCookie(str)
	{
	var cookieValue = ""
	var pos = document.cookie.indexOf(str)
		if (pos > -1)
		{
		var start = pos + str.length + 1
		var end = document.cookie.indexOf(";", pos)
		if (end == -1)
			{
			end = document.cookie.length
			}
		cookieValue = document.cookie.substring(start, end)
		}
		return cookieValue;
	}
	
/******************************************************
 function retrieve() -- retrieves the user's previous values for this page...
******************************************************/
 function retrieve()

	{
	var timeSaved = false
	var dateSaved = false
	var remValue = ""
	var pos = document.cookie.indexOf("=");

	if (pos != -1)
	{
		var rem = findCookie("remember")
		valuesArray = mySplit(rem, ":")
		if ((valuesArray[1] != null) && (valuesArray[1]!=""))
		{
		document.r.PartySize.selectedIndex = valuesArray[1]
		document.q.PartySize.selectedIndex = valuesArray[1]
		}
		if ((valuesArray[2] != null) && (valuesArray[2] != ""))
		{
		document.r.ResMonth.selectedIndex = valuesArray[2]
		document.q.ResMonth.selectedIndex = valuesArray[2]
		}
		if ((valuesArray[3] != null) && (valuesArray[3] != ""))
		{
		document.r.ResDate.selectedIndex = valuesArray[3]
		document.q.ResDate.selectedIndex = valuesArray[3]
		}
		if ((valuesArray[4] != null) || (valuesArray[4] == ""))
		{
		document.r.ResYear.selectedIndex = valuesArray[4]
		document.q.ResYear.selectedIndex = valuesArray[4]
		}
		else 
		{
		document.r.ResYear.selectedIndex = 0
		document.q.ResYear.selectedIndex = 0
		}
		//if other than the default values for day... set the right day of week...
		if (((valuesArray[2] != null) && (valuesArray[8] != "")) || ((valuesArray[3] != null) && (valuesArray[8] != "")) || ((valuesArray[4] != null) && (valuesArray[8] != "")))
		{
		dateSaved = true;
		}
		if ((valuesArray[5] != null) && (valuesArray[5] != ""))
		{
		timeSaved = true
		document.r.ResHour.selectedIndex = valuesArray[5]
		document.q.ResHour.selectedIndex = valuesArray[5]
		}
			
		if ((valuesArray[6] != null) && (valuesArray[6] != ""))
		{
		timeSaved = true
		document.r.ResMinute.selectedIndex = valuesArray[6]
		document.q.ResMinute.selectedIndex = valuesArray[6]
		}
		
		if ((valuesArray[7] != null) && (valuesArray[7] != ""))
		{
		timeSaved = true
		document.r.Meridian.selectedIndex = valuesArray[7]
		document.q.Meridian.selectedIndex = valuesArray[7]
		}
	}
	//order of cookie values: size; month; date; year; hour; minute; ampm;
	// geo_id; radio; foodType; names
	if ((!timeSaved) || (!dateSaved))
	{
	
		if (!timeSaved)	//was a search time entered previously? if not, set time to 1/2 hour in the future...
		{
			setTime()
		}
		if (!dateSaved)	//was a date saved? if not, set date to 1/2 hour in advance
		{
			setDate()
		}
	}
}

function setDate() {
	var now = new Date()
	var closestTime = (now.getTime() + (30 * 60000)) //1/2 hour in advance...
	var nearest = new Date(closestTime)
			var nearyear = nearest.getYear()
			var nearmonth = nearest.getMonth()
			var neardate = nearest.getDate()
				
				document.r.ResMonth.selectedIndex = nearmonth
				document.q.ResMonth.selectedIndex = nearmonth
				document.r.ResDate.selectedIndex = neardate - 1
				document.q.ResDate.selectedIndex = neardate - 1
			if (now.getDate() != neardate) // we are coming to the site between 11:30PM and 12:00AM
			{
				//ShowDay()
			}
	}
/*****************************************
	function setTime()
************************************/
 function setTime() {
 var now = new Date()
	var evening = 0
	var h = now.getHours()
	var m = now.getMinutes()
	var nearhour = 19
	var nearminute = 0 // for defaulting to ":30"
			var closestTime = (now.getTime() + (30 * 60000)) //1/2 hour in advance...
			var nearest = new Date(closestTime)
			nearhour = nearest.getHours()
			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;
		}
			document.r.ResHour.selectedIndex = nearhour - 1
			document.r.ResMinute.selectedIndex = nearminute
			document.r.Meridian.selectedIndex = evening
			document.q.ResHour.selectedIndex = nearhour - 1
			document.q.ResMinute.selectedIndex = nearminute
			document.q.Meridian.selectedIndex = evening

}

