var iCallID1;
var AjaxMode = true;
function initializeWebServicePopProvince()
{
	if (AjaxMode == false)
	{
			try
			{
				if (!isIE() && !isFireFox())
				{
					alert('Non-Internet Explorer or non-FireFox browser detected. This application may not work properly on your browser');
				}
				if (!isFireFox())
				{
					popProvince.useService("http://www.sysdma.com/wsUtilityEngine/eswUtilityEngine.asmx?WSDL","XMLFriendlyName");
				}
			}
			catch (e)
			{
				alert(e.message)
			}
	}
}

function doPopProvince(sCountry)
{
	var localProvince = document.getElementById("txtCANProvinces");
	if (localProvince == null)
	{
		if (AjaxMode == false)
		{
			if (!isFireFox())
			{
				iCallID1 = popProvince.XMLFriendlyName.callService(displayProvResults1,"getProvinceIDAndNameString",sCountry, 5);
			}
			else
			{
				var mySOAPCall = new SOAPCall();
				mySOAPCall.transportURI = "http://www.sysdma.com/wsUtilityEngine/eswUtilityEngine.asmx";
				mySOAPCall.actionURI = "http://www.sysdma.com/wsUtilityEngine/eswUtilityEngine/getProvinceIDAndNameString";
				var parameters = new Array();
				parameters[0] = new SOAPParameter(sCountry,"aCountryCode");
				if (!mySOAPCall.verifySourceHeader)netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
				mySOAPCall.encode(0,"getProvinceIDAndNameString","http://www.sysdma.com/wsUtilityEngine/eswUtilityEngine",0,null,parameters.length,parameters);
				mySOAPCall.asyncInvoke(displayProvResults2);
			}
		}
		else
		{
			displayAjaxProvResults(DHLWebSite.ModAjaxEngine.GetProvincesByCountry(sCountry).value);
		}
	}
	else
	{
		doPopProvinceLocally(sCountry);
		return;
	}
}
function doPopProvinceLocally(sCountry)
{
	var aTempArray;
	var bTempArray;
	var i;
	var sTempArray;
	var aTempResultString;
	var obj=document.getElementById("cboProvince");
	var aProvinceCode = document.getElementById("txtProvince");
	var aCurrentProvince = document.getElementById("txtCurrentProvince");
	var currentLoadedCountryCode = document.getElementById("cboCountry");
	showProvinceBox();
	if (sCountry != 'CA' && sCountry != 'US') return;
	if (sCountry == 'CA')
	{
		aTempResultString = document.getElementById("txtCANProvinces").value;
	}
	else
	{
		aTempResultString = document.getElementById("txtUSAStates").value;
	}
	
	if (aTempResultString != null && aTempResultString != '')
	{
		aTempArray = aTempResultString.split('|');
		if (aTempArray != undefined)
		{
			obj.length = 0;
			for (i = 0; i<aTempArray.length; i++)
			{	
				sTempArray = aTempArray[i];
				bTempArray = sTempArray.split('=');
				obj.options[obj.length] = new Option(bTempArray[1],bTempArray[0]);
			}
			// Set default value here
			if (aProvinceCode.value != '')
			{
				if (currentLoadedCountryCode.value == "CA" || currentLoadedCountryCode.value == "CAN" || currentLoadedCountryCode.value == "CANADA" || currentLoadedCountryCode.value == "US" || currentLoadedCountryCode.value == "USA" || currentLoadedCountryCode.value == "UNITED STATES OF AMERICA")
				{
					setDropDownListDefaultItem(obj, aProvinceCode.value);
				}
			}
			else
			{
				obj.options[0].selected = true;
			}
		}
	}
	else
	{
		obj.length = 0;
	}
	showProvinceBox();
}
function displayProvResults1(result)
{
	var aTempArray;
	var bTempArray;
	var i;
	var sTempArray;
	var aTempResultString = HandleDisplayResults(result,iCallID1);

	var obj=document.getElementById("cboProvince");
	var aProvinceCode = document.getElementById("txtProvince");
	var aCurrentProvince = document.getElementById("txtCurrentProvince");
	var currentLoadedCountryCode = document.getElementById("cboCountry");

	if (aTempResultString != null && aTempResultString != '')
	{
		aTempArray = aTempResultString.split('|');
		if (aTempArray != undefined)
		{
			obj.length = 0;
			for (i = 0; i<aTempArray.length; i++)
			{	
				sTempArray = aTempArray[i];
				bTempArray = sTempArray.split('=');
				obj.options[obj.length] = new Option(bTempArray[1],bTempArray[0]);
				//if (i == 0)
				//{
				//	aProvinceCode.value = obj.value;
				//}
				//if ((aProvinceCode.value == bTempArray[0]) || (aProvinceCode.value == bTempArray[1]))
				//{
				//	obj.options[obj.length - 1].selected = true;
				//}
			}
			// Set default value here
			if (aProvinceCode.value != '')
			{
				if (currentLoadedCountryCode.value == "CA" || currentLoadedCountryCode.value == "CAN" || currentLoadedCountryCode.value == "CANADA" || currentLoadedCountryCode.value == "US" || currentLoadedCountryCode.value == "USA" || currentLoadedCountryCode.value == "UNITED STATES OF AMERICA")
				{
					setDropDownListDefaultItem(obj, aProvinceCode.value);
				}
			}
			else
			{
				obj.options[0].selected = true;
			}
		}
	}
	else
	{
		obj.length = 0;
	}
	showProvinceBox();
}	
function displayProvResults2(resp,call,status)
{
	var aTempArray;
	var bTempArray;
	var i;
	var sTempArray;
	var aTempResultString = resp.body.firstChild.firstChild.firstChild.data;

	var obj=document.getElementById("cboProvince");
	var aProvinceCode = document.getElementById("txtProvince");
	var aCurrentProvince = document.getElementById("txtCurrentProvince");
	var currentLoadedCountryCode = document.getElementById("cboCountry");

	if (aTempResultString != null && aTempResultString != '')
	{
		aTempArray = aTempResultString.split('|');
		if (aTempArray != undefined)
		{
			obj.length = 0;
			for (i = 0; i<aTempArray.length; i++)
			{	
				sTempArray = aTempArray[i];
				bTempArray = sTempArray.split('=');
				obj.options[obj.length] = new Option(bTempArray[1],bTempArray[0]);
				//if (i == 0)
				//{
				//	aProvinceCode.value = obj.value;
				//}
				//if ((aProvinceCode.value == bTempArray[0]) || (aProvinceCode.value == bTempArray[1]))
				//{
				//	obj.options[obj.length - 1].selected = true;
				//}
			}
			// Set default value here
			if (aProvinceCode.value != '')
			{
				if (currentLoadedCountryCode.value == "CA" || currentLoadedCountryCode.value == "CAN" || currentLoadedCountryCode.value == "CANADA" || currentLoadedCountryCode.value == "US" || currentLoadedCountryCode.value == "USA" || currentLoadedCountryCode.value == "UNITED STATES OF AMERICA")
				{
					setDropDownListDefaultItem(obj, aProvinceCode.value);
				}
			}
			else
			{
				obj.options[0].selected = true;
			}
		}
	}
	else
	{
		obj.length = 0;
	}
	showProvinceBox();
}	
function displayAjaxProvResults(result)
{
	var aTempArray;
	var bTempArray;
	var i;
	var sTempArray;
	var aTempResultString = result;

	var obj=document.getElementById("cboProvince");
	var aProvinceCode = document.getElementById("txtProvince");
	var aCurrentProvince = document.getElementById("txtCurrentProvince");
	var currentLoadedCountryCode = document.getElementById("cboCountry");

	if (aTempResultString != null && aTempResultString != '')
	{
		aTempArray = aTempResultString.split('|');
		if (aTempArray != undefined)
		{
			obj.length = 0;
			for (i = 0; i<aTempArray.length; i++)
			{	
				sTempArray = aTempArray[i];
				bTempArray = sTempArray.split('=');
				obj.options[obj.length] = new Option(bTempArray[1],bTempArray[0]);
				//if (i == 0)
				//{
				//	aProvinceCode.value = obj.value;
				//}
				//if ((aProvinceCode.value == bTempArray[0]) || (aProvinceCode.value == bTempArray[1]))
				//{
				//	obj.options[obj.length - 1].selected = true;
				//}
			}
			// Set default value here
			if (aProvinceCode.value != '')
			{
				if (currentLoadedCountryCode.value == "CA" || currentLoadedCountryCode.value == "CAN" || currentLoadedCountryCode.value == "CANADA" || currentLoadedCountryCode.value == "US" || currentLoadedCountryCode.value == "USA" || currentLoadedCountryCode.value == "UNITED STATES OF AMERICA")
				{
					setDropDownListDefaultItem(obj, aProvinceCode.value);
				}
			}
			else
			{
				obj.options[0].selected = true;
			}
		}
	}
	else
	{
		obj.length = 0;
	}
	showProvinceBox();
}	
			
function updateProvince()
{
	var savedCurrentCountry = document.getElementById("txtCurrentCountry");
	var currentLoadedCountryCode = document.getElementById("cboCountry");
	var savedCurrentProvinceCode = document.getElementById("txtProvince");
	
	if (savedCurrentCountry.value != currentLoadedCountryCode.value)
	{
		doPopProvince(currentLoadedCountryCode.value);
		savedCurrentCountry.value = currentLoadedCountryCode.value;
		//if ((currentLoadedCountryCode.value != "CA") && (currentLoadedCountryCode.value != "US"))
		//{			
		//	savedCurrentProvinceCode.value = '';
		//}
		//else
		//{
		//	savedCurrentProvinceCode.value = currentLoadedCountryCode.value;
		//}
		if (isFireFox())
		{
			document.getElementById("lblVIATA").textContent = '';
		}
		else
		{
			document.getElementById("lblVIATA").innerText = '';
		}
		document.getElementById("cboIATASelector").length = 0;
	}
	else
	{
		showProvinceBox();
	}

}
function showProvinceBox()
{
	var currentLoadedCountryCode = document.getElementById("cboCountry");
	var hiddenProvince1 = document.getElementById("Province1");
	var hiddenProvince2 = document.getElementById("Province2");
	
	if (currentLoadedCountryCode.value == "CA" || currentLoadedCountryCode.value == "CAN" || currentLoadedCountryCode.value == "CANADA" || currentLoadedCountryCode.value == "US" || currentLoadedCountryCode.value == "USA" || currentLoadedCountryCode.value == "UNITED STATES OF AMERICA")
	{
		hiddenProvince1.style.display = "none";
		hiddenProvince2.style.display = "";
	}
	else
	{
		hiddenProvince1.style.display = "";
		hiddenProvince2.style.display = "none";
	}
}

function saveCurrentProvince()
{
	document.getElementById("txtProvince").value = document.getElementById("cboProvince").value;
}

function doJustPopProvince(sCountry)
{
	var currentLoadedCountryCode = document.getElementById("cboCountry");
	if (AjaxMode == false)
	{
		iCallID1 = popProvince.XMLFriendlyName.callService(displayJustProvResults,"getProvinceIDAndNameString",currentLoadedCountryCode.value, 5);
	}
	else
	{
		displayJustAjaxProvResults(DHLWebSite.ModAjaxEngine.GetProvincesByCountry(currentLoadedCountryCode.value).value);
	}
}
function displayJustProvResults(result)
{
	var aTempArray;
	var bTempArray;
	var i;
	var sTempArray;
	var aTempResultString = HandleDisplayResults(result,iCallID1);

	var obj=document.getElementById("cboProvince");
	var currentLoadedCountryCode = document.getElementById("cboCountry");

	if (aTempResultString != null && aTempResultString != '')
	{
		aTempArray = aTempResultString.split('|');
		if (aTempArray != undefined)
		{
			obj.length = 0;
			for (i = 0; i<aTempArray.length; i++)
			{	
				sTempArray = aTempArray[i];
				bTempArray = sTempArray.split('=');
				obj.options[obj.length] = new Option(bTempArray[1],bTempArray[0]);
			}
			// Set default value here
			obj.options[0].selected = true;
		}
	}
	else
	{
		obj.length = 0;
	}
}	
function displayJustAjaxProvResults(result)
{
	var aTempArray;
	var bTempArray;
	var i;
	var sTempArray;
	var aTempResultString = result;

	var obj=document.getElementById("cboProvince");
	var currentLoadedCountryCode = document.getElementById("cboCountry");

	if (aTempResultString != null && aTempResultString != '')
	{
		aTempArray = aTempResultString.split('|');
		if (aTempArray != undefined)
		{
			obj.length = 0;
			for (i = 0; i<aTempArray.length; i++)
			{	
				sTempArray = aTempArray[i];
				bTempArray = sTempArray.split('=');
				obj.options[obj.length] = new Option(bTempArray[1],bTempArray[0]);
			}
			// Set default value here
			obj.options[0].selected = true;
		}
	}
	else
	{
		obj.length = 0;
	}
}