//Meridian Lookup
function initXMLHTTPRequest()
{
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	return(req);
}

function changeRegion()
{
	document.getElementsByName("Country")[0].options[0].selected = true;
	document.getElementsByName("Admin1")[0].options[0].selected = true;
	document.getElementsByName("Admin2")[0].options[0].selected = true;
	document.getElementById('Admin1Row').style.display = 'none'
	document.getElementById('Admin2Row').style.display = 'none'
}

function changeCountry(Admin1, AllString)
{
	//document.getElementsByName("Region")[0].options[0].selected = true;
	document.getElementsByName("Admin1")[0].options[0].selected = true;
	document.getElementsByName("Admin2")[0].options[0].selected = true;
	document.getElementById('Admin2Row').style.display = 'none'

	var req = initXMLHTTPRequest();
	var e = document.getElementsByName("Country")[0];
	var url = "../Utility/Lookup.ashx?Country=" + e.options[e.selectedIndex].text;
	
	if (e.options[e.selectedIndex].value == '%') {
		return;
	}

	req.onreadystatechange = function()
	{
		if (req.readyState == 4 && req.status == 200) {
			var Ad1R = document.getElementById("Admin1Row");
			var Ad1N = document.getElementById("Admin1Name");
			var Ad1F = document.getElementsByName("Admin1")[0];

			var xml = req.responseXML;
			var nodes = xml.firstChild.childNodes;
			var xmlLabel = null;
			
			if (xml.firstChild.attributes.length > 1) {
				xmlLabel = xml.firstChild.attributes.item(1);
			}

			if (nodes.length > 0 && xmlLabel != null) {
				Ad1F.options.length = 0;
				Ad1F.options[0] = new Option(AllString + ' ' + xmlLabel.text + '(s)', '%');
				
				for (var i = 0; i < nodes.length; i++) {
					Ad1F.options[i + 1] = new Option(nodes.item(i).attributes.item(0).text);

					if (Ad1F.options[i + 1].text == Admin1) {
						Ad1F.options[i + 1].selected = true;
					}
				}

				Ad1N.innerText = xmlLabel.text + ":";
				Ad1R.style.display = 'block';
			} else {
				Ad1R.style.display = 'none';
			}
		}
	}
	
	req.open("GET", url, true);
	req.send(null);
}

function changeAdmin1(Admin2, AllString)
{
	//document.getElementsByName("Region")[0].options[0].selected = true;
	document.getElementsByName("Admin2")[0].options[0].selected = true;

	var req = initXMLHTTPRequest();
	var e = document.getElementsByName("Country")[0];
	var f = document.getElementsByName("Admin1")[0];
	var url = "../Utility/Lookup.ashx?Country=" + e.options[e.selectedIndex].text + "&Admin1=" + f.options[f.selectedIndex].text;

	if (f.options[f.selectedIndex].value == '%') {
		return;
	}

	req.onreadystatechange = function()
	{
		if (req.readyState == 4 && req.status == 200)
		{
			var Ad2R = document.getElementById("Admin2Row");
			var Ad2N = document.getElementById("Admin2Name");
			var Ad2F = document.getElementsByName("Admin2")[0];

			var xml = req.responseXML;
			var nodes = xml.firstChild.firstChild.childNodes;
			var xmlLabel = null;
			
			if (xml.firstChild.attributes.length > 1) {
				xmlLabel = xml.firstChild.attributes.item(1);
			}

			if (nodes.length > 0 && xmlLabel != null) {
				Ad2F.options.length = 0;
				Ad2F.options[0] = new Option(AllString + ' ' + xmlLabel.text + '(s)', '%');
				
				for (var i = 0; i < nodes.length; i++) {
					Ad2F.options[i + 1] = new Option(nodes.item(i).attributes.item(0).text);
					
					if (Ad2F.options[i + 1].text == Admin2) {
						Ad2F.options[i + 1].selected = true;
					}
				}

				Ad2N.innerText = xmlLabel.text + ":";
				Ad2R.style.display = 'block';
			} else {
				Ad2R.style.display = 'none';
			}
		}
	}
	
	req.open("GET", url, true);
	req.send(null);
}
