//
// BrowseByCountry.js
//

// Author: Colin Jaggs
// Date: 13th August 2006
// Description: Browse By Country page specific JS functions

// must have variables created before this script is included
//		e.g. var ddlRegion = "<%= ddlRegion.ClientID%>";
//		e.g. var txtRegion = "<%= txtRegion.ClientID%>";

// send a request to the data feeder to pull back child locations
var targetDDL = false;
function getRegions(target, locationID)
{
	targetDDL = target;
	if (locationID > 0)
	{
		updateRegion(locationID);
		xmlHttp = GetXmlHttpObject(listRegions);
		xmlHttp_Get(xmlHttp, HTTPHost + "/DataFeeder.aspx?Mode=Location&LocationID=" + locationID);
	}
	else
	{
		target.length = 1;
		target.options[0].text = "[All]";
		target.options[0].value = "";

		// control visibility of lists
		if (targetDDL.id.indexOf("Region5") > -1)
		{
			document.getElementById("trRegion5").className = ((document.forms[0][ddlRegion5].options.length > 1) ? "" : "hidden");
			document.getElementById("trRegion4").className = ((document.forms[0][ddlRegion4].options.length > 1) ? "" : "hidden");
			document.getElementById("trRegion3").className = ((document.forms[0][ddlRegion3].options.length > 1) ? "" : "hidden");
			document.getElementById("trRegion2").className = ((document.forms[0][ddlRegion2].options.length > 1) ? "" : "hidden");
			updateRegion(document.forms[0][ddlRegion3].options[document.forms[0][ddlRegion3].selectedIndex].value);
		}
		else if (targetDDL.id.indexOf("Region4") > -1)
		{
			document.getElementById("trRegion5").className = "hidden";
			document.getElementById("trRegion4").className = ((document.forms[0][ddlRegion4].options.length > 1) ? "" : "hidden");
			document.getElementById("trRegion3").className = ((document.forms[0][ddlRegion3].options.length > 1) ? "" : "hidden");
			document.getElementById("trRegion2").className = ((document.forms[0][ddlRegion2].options.length > 1) ? "" : "hidden");
			updateRegion(document.forms[0][ddlRegion2].options[document.forms[0][ddlRegion2].selectedIndex].value);
		}
		else if (targetDDL.id.indexOf("Region3") > -1)
		{
			document.getElementById("trRegion5").className = "hidden";
			document.getElementById("trRegion4").className = "hidden";
			document.getElementById("trRegion3").className = ((document.forms[0][ddlRegion3].options.length > 1) ? "" : "hidden");
			document.getElementById("trRegion2").className = ((document.forms[0][ddlRegion2].options.length > 1) ? "" : "hidden");
			updateRegion(document.forms[0][ddlRegion1].options[document.forms[0][ddlRegion1].selectedIndex].value);
		}
		else if (targetDDL.id.indexOf("Region2") > -1)
		{
			document.getElementById("trRegion5").className = "hidden";
			document.getElementById("trRegion4").className = "hidden";
			document.getElementById("trRegion3").className = "hidden";
			document.getElementById("trRegion2").className = ((document.forms[0][ddlRegion2].options.length > 1) ? "" : "hidden");
			updateRegion(document.forms[0][ddlCountry].options[document.forms[0][ddlCountry].selectedIndex].value);
		}
		else if (targetDDL.id.indexOf("Region1") > -1)
		{
			document.getElementById("trRegion5").className = "hidden";
			document.getElementById("trRegion4").className = "hidden";
			document.getElementById("trRegion3").className = "hidden";
			document.getElementById("trRegion2").className = "hidden";
		}
	}
}

// list the locations that come back from the request
function listRegions()
{
	// remove select location id from the text box
	//updateRegion("");
	
	// readyState of 4 or 'complete' represents that data has been returned
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete')
	{
		var str = xmlHttp.responseText;
		if (xmlHttp.responseText)
		{
			// clear the location list first
			targetDDL.length = 1;
			targetDDL.options[0].text = "[All]";
			targetDDL.options[0].value = "";

			var arrItems = str.split("\n");
			for (var i = 0; i < arrItems.length; i ++)
			{
				var arrElements = arrItems[i].split("|");
				targetDDL.length ++;
				targetDDL.options[targetDDL.length - 1].text = arrElements[1] + " (" + arrElements[2] + ")";
				targetDDL.options[targetDDL.length - 1].value = arrElements[0];
			}
		}
		else
		{
			// inform the user that there are no jobs for this client
			targetDDL.length = 1;
			targetDDL.options[0].text = "[All]";
			targetDDL.options[0].value = "";
		}

		// control visibility of lists
		if (targetDDL.id.indexOf("Region5") > -1)
		{
			document.getElementById("trRegion5").className = ((document.forms[0][ddlRegion5].options.length > 1) ? "" : "hidden");
			document.getElementById("trRegion4").className = ((document.forms[0][ddlRegion4].options.length > 1) ? "" : "hidden");
			document.getElementById("trRegion3").className = ((document.forms[0][ddlRegion3].options.length > 1) ? "" : "hidden");
			document.getElementById("trRegion2").className = ((document.forms[0][ddlRegion2].options.length > 1) ? "" : "hidden");
		}
		else if (targetDDL.id.indexOf("Region4") > -1)
		{
			document.getElementById("trRegion5").className = "hidden";
			document.getElementById("trRegion4").className = ((document.forms[0][ddlRegion4].options.length > 1) ? "" : "hidden");
			document.getElementById("trRegion3").className = ((document.forms[0][ddlRegion3].options.length > 1) ? "" : "hidden");
			document.getElementById("trRegion2").className = ((document.forms[0][ddlRegion2].options.length > 1) ? "" : "hidden");
		}
		else if (targetDDL.id.indexOf("Region3") > -1)
		{
			document.getElementById("trRegion5").className = "hidden";
			document.getElementById("trRegion4").className = "hidden";
			document.getElementById("trRegion3").className = ((document.forms[0][ddlRegion3].options.length > 1) ? "" : "hidden");
			document.getElementById("trRegion2").className = ((document.forms[0][ddlRegion2].options.length > 1) ? "" : "hidden");
		}
		else if (targetDDL.id.indexOf("Region2") > -1)
		{
			document.getElementById("trRegion5").className = "hidden";
			document.getElementById("trRegion4").className = "hidden";
			document.getElementById("trRegion3").className = "hidden";
			document.getElementById("trRegion2").className = ((document.forms[0][ddlRegion2].options.length > 1) ? "" : "hidden");
		}
		else if (targetDDL.id.indexOf("Region1") > -1)
		{
			document.getElementById("trRegion5").className = "hidden";
			document.getElementById("trRegion4").className = "hidden";
			document.getElementById("trRegion3").className = "hidden";
			document.getElementById("trRegion2").className = "hidden";
		}
	}
}

function updateRegion(locationID)
{
	document.forms[0][txtRegion].value = locationID;
}
