var vStateElem = "";
var vCityElem = "";
var vAddrElem = "";
var vSearchType = "";

function changeCitySel(iStateElem, iCityElem, iAddrElem) {
	vAddrElem = iAddrElem;
	vStateElem = iStateElem;
	vCityElem = iCityElem;
	vSearchType = "city";			
	if (iStateElem && iStateElem.value != "" && iCityElem && iCityElem.value != "")
		getData("library/storelookup.cfm?state=" + iStateElem.value + "&city=" + iCityElem.value);
}

function changeStateSel(iStateElem, iCityElem) {
	vStateElem = iStateElem;
	vCityElem = iCityElem;
	vSearchType = "state";

	if (vCityElem.options) {
		vCityElem.selectedIndex = 0;
		vCityElem.disabled = true;
	}
	if (vAddrElem.options) {
		vAddrElem.selectedIndex = 0;
		vAddrElem.disabled = true;
	}
	document.getElementById("divStoreInfo").style.display = "none";

	if (iStateElem && iStateElem.value != "")
		getData("library/storelookup.cfm?state=" + iStateElem.value);
}

function getData(iURL) {
	if (window.XMLHttpRequest) 
	{	req = new XMLHttpRequest();	}						// Firefox
	else if (window.ActiveXObject)
	{	req = new ActiveXObject("Microsoft.XMLHTTP");	}	// IE
	req.onreadystatechange = callback;
	req.open("GET", iURL, true);
	req.send(null);
}

function callback() {
	if (req && req.readyState == 4) {
		if (req.status == 200) 
			displayData();
	}
}

function displayData() {
	var xmlDoc = req.responseXML.documentElement;
	
	if (vSearchType == "state") {
		vCityElem.options.length = 0;
		vCityElem.options[0] = new Option("Choose a City", "");

		var vCurrCity = "";
		var vTmpCity = "";
		var vCounter = 1;
		for (i = 0; i < xmlDoc.getElementsByTagName("store").length; i++) {			
			vTmpCity = xmlDoc.getElementsByTagName("StoreCity")[i].firstChild.data;
			
			if (vCurrCity != vTmpCity) {
				vCityElem.options[vCounter] = new Option(vTmpCity, vTmpCity);
				vCurrCity = vTmpCity;
				vCounter++;
			}
		}
		
		vCityElem.disabled = false;
	} 
	else if (vSearchType == "city") {
		vAddrElem.options.length = 0;
		
		var vCounter = 0;								
		if (xmlDoc.getElementsByTagName("store").length > 1) {
			vAddrElem.options[0] = new Option("Choose an Address", "");
			vCounter++;
		}

		var vTmpAddr = "";
		var vTmpNum = "";
		
		if (vStateElem.value == "" && xmlDoc.getElementsByTagName("store").length > 0)
			vStateElem.value = xmlDoc.getElementsByTagName("StoreState")[0].firstChild.data;

		for (i = 0; i < xmlDoc.getElementsByTagName("store").length; i++) {			
			vTmpAddr = xmlDoc.getElementsByTagName("StoreStreetAddress")[i].firstChild.data;
			vTmpNum = xmlDoc.getElementsByTagName("StoreNumber")[i].firstChild.data;
			
			vAddrElem.options[vCounter] = new Option(vTmpAddr, i);
			vCounter++;
		}
		
		vAddrElem.disabled = false;
		
		changeAddrSel(document.getElementById("divStoreInfo"), document.getElementById("hdnStoreNum"));	
	}
}

function changeAddrSel(iInfoDiv, iStoreNum) {			
	if (vAddrElem.value == "") {				
		iInfoDiv.style.display = "none";
	} else {
		var xmlDoc = req.responseXML.documentElement;

		if (xmlDoc.getElementsByTagName("store").length > 0) {

			iStoreNum.value = xmlDoc.getElementsByTagName("StoreNumber")[vAddrElem.value].firstChild.data;
			
			iInfoDiv.innerHTML = "<b>Store Information:</b><p/>";

			if (xmlDoc.getElementsByTagName("StoreOPCO")[vAddrElem.value].firstChild.data == "Martins Super Food")
				iInfoDiv.innerHTML += "Martins Super Food Stores<br/>";
			else
				iInfoDiv.innerHTML += "GIANT Food Stores<br/>";

			iInfoDiv.innerHTML += xmlDoc.getElementsByTagName("StoreStreetAddress")[vAddrElem.value].firstChild.data + "<br/>";
			iInfoDiv.innerHTML += xmlDoc.getElementsByTagName("StoreCity")[vAddrElem.value].firstChild.data + ", ";
			iInfoDiv.innerHTML += xmlDoc.getElementsByTagName("StoreState")[vAddrElem.value].firstChild.data + " ";
			iInfoDiv.innerHTML += xmlDoc.getElementsByTagName("StoreZip")[vAddrElem.value].firstChild.data + "<br/>";
			iInfoDiv.innerHTML += xmlDoc.getElementsByTagName("StorePhone")[vAddrElem.value].firstChild.data + "<p/>";
			
			iInfoDiv.innerHTML += "<b>Store Hours:</b><p/>";
			if (xmlDoc.getElementsByTagName("StoreHoursDaily")[vAddrElem.value])
				iInfoDiv.innerHTML += xmlDoc.getElementsByTagName("StoreHoursDaily")[vAddrElem.value].firstChild.data + " Everyday";
			else {
				if (xmlDoc.getElementsByTagName("StoreHoursMonAmToSatPm24Hours")[vAddrElem.value])
					iInfoDiv.innerHTML += "Monday-Saturday:<br/>" + xmlDoc.getElementsByTagName("StoreHoursMonAmToSatPm24Hours")[vAddrElem.value].firstChild.data;
				if (xmlDoc.getElementsByTagName("StoreHoursSundays")[vAddrElem.value])
					iInfoDiv.innerHTML += "Sunday:<br/>" + xmlDoc.getElementsByTagName("StoreHoursSundays")[vAddrElem.value].firstChild.data;
				else
					iInfoDiv.innerHTML += "Sunday: Closed";
			}
			
			iInfoDiv.innerHTML += "<p/><input type='submit' value='Select Store'>";
			
			iInfoDiv.style.display = "block";
		}
	}
}

