/** 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
	}
