var addressParams;
var ddArray;
function makeRequestObject()

{

	var request;

	if (window.XMLHttpRequest) // Used for Firefox and others.

	{

		request = new XMLHttpRequest();

	}

	else if (window.ActiveXObject) // Used for Internet Explorer 5+.

	{

		try

		{

			request = new ActiveXObject("Msxml2.XMLHTTP");

		}

		catch (e)

		{

		 	try

			{

		 	 	request = new ActiveXObject("Microsoft.XMLHTTP");

			}

			catch (e)

			{

				alert("The browser you are using is incompatible with this site. Please upgrade your browser in order to make full use of this site.");	

			}

		}

	}

	else // Browser is incompatible with search engine

	{

		alert("The browser you are using is incompatible with this site. Please upgrade your browser in order to make full use of this site.");	

	}

	

	return request;

}



// Function has been made so creation of XMLHttpRequest is possible (creating now)



http = new makeRequestObject();



// Now creating function that will be called from within the <form>.

// This will use the XMLHttpRequest object to get data from another script.



function updateForm(ddn, target) // ddn -> Drop Down Number

{
	var emaillist = document.getElementById("emaillist");
	
	ddArray = new Array(document.getElementById('ddSearch' + '1'), document.getElementById('ddSearch' + '2'), document.getElementById('ddSearch' + '3'), document.getElementById('ddSearch' + '4'), document.getElementById('ddSearch' + '5'));
	
 	var dd1 = ddArray[0].value;

 	var dd2 = ddArray[1].value;

 	var dd3 = ddArray[2].value;

 	var dd4 = ddArray[3].value;
	
 	var dd5 = ddArray[4].value;
 	
	var dropdownvalue = document.getElementById('ddSearch' + ddn).options[document.getElementById('ddSearch' + ddn).selectedIndex].value; 	

 	if (dropdownvalue == "Select Country..." || dropdownvalue == "Select State/Province..." || dropdownvalue == "Select County..." || dropdownvalue == "Select City..." || dropdownvalue == "Select Cuisine Style...")

 	{

 	 	// Delete following drop downs but do not load anything into them.

 	 	if (document.getElementById('ddSearch' + ddn).options[0].value != "Select Cuisine Style...")

		{

			for (i=(ddn+1); i <= 5; i++)

			{ 

				for (j = document.getElementById('ddSearch' + i).length-1; j >= 0; j--)

			 	{

					document.getElementById('ddSearch' + i).options[j] = null;

				}

				document.getElementById('ddSearch' + i).disabled = true;

				

			}

		}

 	}

	else

	{

		if (document.getElementById('ddSearch' + ddn).options[0].value != "Select Cuisine Style...")

		{

			for (i=(ddn+1); i <= 5; i++)

			{ 

				for (j = document.getElementById('ddSearch' + i).length-1; j >= 0; j--)

			 	{

					document.getElementById('ddSearch' + i).options[j] = null;

				}

				document.getElementById('ddSearch' + i).disabled = true;

				

			}

				document.getElementById('ddSearch' + (ddn+1)).options[0] = new Option("Loading...");	
				emaillist.innerHTML =  "E-mail this listing";
 		}

 		else

 		{

			var pagecontent = document.getElementById("pagecontent");

			

			pagecontent.innerHTML = "<h1>Retrieving Results...</h1>"

		}
		addressParams = "p1="+dd1+"&p2="+dd2+"&p3="+dd3+"&p4="+dd4+"&p5="+dd5;
		http.open("GET", "includes/ajax/populate.php?dd="+ddn+"&" + addressParams);

		http.onreadystatechange = processResponseData;

		http.send(null);

	}

}

//Retrieve output from given page
function viewPage(pagename, params)
{
 	// If params is undefined (was not used for the function)
 	// set it to null.
 	if (typeof params == 'undefined')
 	{
		params = '';
	}
	else
	{
		if (document.getElementById("fgtuserid"))
		{
			params += '&userid=' + document.getElementById("fgtuserid").value;
		}
		if (document.getElementById("fgtanswer"))
		{
			params += '&answer=' + document.getElementById("fgtanswer").value;
		}
	}
		
	var pagecontent = document.getElementById("pagecontent");

	pagecontent.innerHTML = "<h1>Loading...</h1>";
	
	http.open("POST", "pagecontent/" + pagename + ".page.php");
	
	//Send header data with request
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
	
	http.onreadystatechange = generateContent;

	http.send(params);
}

// create callback function that is called when data is received from server

function processResponseData()
{

	// Make sure XMLHttpRequest is ready and that the page requested is valid.
	if (http.readyState == 4 && http.status == 200)
	{
	 	// If a cuisine style has been selected...
	 	if (http.responseText.substr(0,11) == "[getresult]")
	 	{
	 		var pagecontent = document.getElementById("pagecontent");
			var emaillist = document.getElementById("emaillist");
	 		
	 		pagecontent.innerHTML = http.responseText.substring(11);

	 		if (pagecontent.innerHTML == "")
	 		{
				pagecontent.innerHTML = "<h1>No results found...</h1>";
			}
			else
			{	
			 	var adrParams = '';

				for (i = 0; i < ddArray.length; i++)
				{
					if (ddArray[i].options[0].value.indexOf("Country") > 0)
						adrParams += "country=" + ddArray[i].value; 
					else if (ddArray[i].options[0].value.indexOf("State") > 0)
						adrParams += "&stateprov=" + ddArray[i].value; 
					else if (ddArray[i].options[0].value.indexOf("County") > 0)
						adrParams += "&county=" + ddArray[i].value; 
					else if (ddArray[i].options[0].value.indexOf("City") > 0)
						adrParams += "&city=" + ddArray[i].value; 
					else if (ddArray[i].options[0].value.indexOf("Cuisine") > 0)
						adrParams += "&cuisine=" + ddArray[i].value; 
				}
				
				emaillist.innerHTML = "<a href=\"javascript:openWindow('emaillist.php?" + adrParams + "', 'emaillist')\">E-mail this listing</a>";
				
			}
	 	}
	 	else
	 	{
		 	var results = http.responseText.split(",");
		 	var dd = results[0];	
		 	for (i=1; i<results.length; i++)
		 	{
				document.getElementById('ddSearch' + dd).options[i-1] = new Option(results[i], results[i]);
			}

			document.getElementById('ddSearch' + dd).disabled = false;
			document.getElementById('ddSearch' + dd).focus();
		}
	}
}

function generateContent()

{

	 // Make sure XMLHttpRequest is ready and that the page requested is valid.

	if (http.readyState == 4 && http.status == 200)

	{

 		var pagecontent = document.getElementById("pagecontent");

 		

 		pagecontent.innerHTML = http.responseText;

 		if (document.forms[0].elements[0])
 		{
			document.forms[0].elements[0].focus();
		}

 		if (pagecontent.innerHTML == "")

 		{

			pagecontent.innerHTML = "<h1>Error: Unable to load page.</h1>";

		}

	}
}

// Initial settings for when each different popup window is loaded

function openWindow(url, name)

{
 	if (name == "email")
 	{
		var newwindow = window.open(url, name, "height=385,width=425");
	}
	else if (name == "specials")
	{
		var newwindow = window.open(url, name, "height=375,width=415,scrollbars=yes,menubar=1,resizable=1");
	}
	else if (name == "refer")
	{
		var newwindow = window.open(url, name, "height=275,width=415,scrollbars=yes,menubar=1,resizable=1");
	}
	else if (name == "info")
	{
		var newwindow = window.open(url, name, "height=175,width=250");
	}
	else if (name == "guestbook")
 	{
		var newwindow = window.open(url, name, "height=430,width=425");
	}
	else if (name == "emaillist")
	{
		var newwindow = window.open(url, name, "height=175,width=415,scrollbars=yes,menubar=1,resizable=1");
	}
}
