//The function loads the state/province list based upon country selection

var COUNTRY_USA_GUID = "{83F02198-6C32-11D3-811F-0000F80627E2}";
var COUNTRY_CANADA_GUID =  "{83F02022-6C32-11D3-811F-0000F80627E2}";
var OTHER_COUNTRY_ID =  "{9F6B699C-3B06-42C7-8548-DB0533A3876A}";
var OTHER_STATE_ID =  "{B42D104E-952D-408D-B83A-F3B0A67050AB}";
var OTHER_PROVINCE_ID =  "{15B6E2EE-005B-49B2-8999-FD462AB8D3E0}";

function loadStateProvince()
{
	var objForm = document.forms[0];
	
	//Billing Address Country Data
	if(objForm.Country__BillingAddressCountryData != null)
	{
	if(objForm.Country__BillingAddressCountryData.value == COUNTRY_USA_GUID)
	{
		objForm.Country__BillingAddressCountryData.style.display = "block";
		objForm.USState__BillingAddressCountryData.style.display = "block";
		objForm.CANProvince__BillingAddressCountryData.style.display = "none";
		objForm.Region_txtBillingAddressRegion.style.display = "none";
		
		var displayMandatory = document.getElementById("lblStateProvince").innerHTML;
		var displayOptional = ReplaceTags(displayMandatory);
		document.getElementById("lblStateProvince").innerHTML = "*" + displayOptional;

	}
	else if(objForm.Country__BillingAddressCountryData.value == COUNTRY_CANADA_GUID)
	{
		objForm.Country__BillingAddressCountryData.style.display = "block";
		objForm.USState__BillingAddressCountryData.style.display = "none";
		objForm.CANProvince__BillingAddressCountryData.style.display = "block";
		objForm.Region_txtBillingAddressRegion.style.display = "none";
		
		var displayMandatory = document.getElementById("lblStateProvince").innerHTML;
		var displayOptional = ReplaceTags(displayMandatory);
		document.getElementById("lblStateProvince").innerHTML = "*" + displayOptional;
	}
	else
	{
		objForm.Region_txtBillingAddressRegion.style.display = "block";
		objForm.Country__BillingAddressCountryData.style.display = "block";
		
		objForm.USState__BillingAddressCountryData.style.display = "none";
		objForm.CANProvince__BillingAddressCountryData.style.display = "none";
		
		
		var displayMandatory = document.getElementById("lblStateProvince").innerHTML;
		var strMandatory = displayMandatory.indexOf("*");
		if(strMandatory == "0")
		{
			var displayOptional = ReplaceTags(displayMandatory);
			document.getElementById('lblStateProvince').innerHTML = displayOptional;
		}
		else
			document.getElementById('lblStateProvince').value = displayMandatory;
	}
	}
	
	//Shipping Address Country Data
	if(objForm.ShippingAddressCountry__ShippingAddressCountryData != null)
	{
	if(objForm.ShippingAddressCountry__ShippingAddressCountryData.value == COUNTRY_USA_GUID)
	{
		objForm.ShippingAddressCountry__ShippingAddressCountryData.style.display = "block";
		objForm.ShippingAddressUSState__ShippingAddressCountryData.style.display = "block";
		objForm.ShippingAddressCANProvince__ShippingAddressCountryData.style.display = "none";
		objForm.ShippingAddressRegion_txtShippingAddressRegion.style.display = "none";
		
		var displayMandatory = document.getElementById("lblStateProvince").innerHTML;
		var displayOptional = ReplaceTags(displayMandatory);
		document.getElementById("lblStateProvince").innerHTML = "*" + displayOptional;

	}
	else if(objForm.ShippingAddressCountry__ShippingAddressCountryData.value == COUNTRY_CANADA_GUID)
	{
		objForm.ShippingAddressCountry__ShippingAddressCountryData.style.display = "block";
		objForm.ShippingAddressUSState__ShippingAddressCountryData.style.display = "none";
		objForm.ShippingAddressCANProvince__ShippingAddressCountryData.style.display = "block";
		objForm.ShippingAddressRegion_txtShippingAddressRegion.style.display = "none";
		
		var displayMandatory = document.getElementById("lblStateProvince").innerHTML;
		var displayOptional = ReplaceTags(displayMandatory);
		document.getElementById("lblStateProvince").innerHTML = "*" + displayOptional;
	}
	else
	{
		objForm.ShippingAddressRegion_txtShippingAddressRegion.style.display = "block";
		objForm.ShippingAddressCountry__ShippingAddressCountryData.style.display = "block";
		
		objForm.ShippingAddressUSState__ShippingAddressCountryData.style.display = "none";
		objForm.ShippingAddressCANProvince__ShippingAddressCountryData.style.display = "none";
		
		
		var displayMandatory = document.getElementById("lblStateProvince").innerHTML;
		var strMandatory = displayMandatory.indexOf("*");
		if(strMandatory == "0")
		{
			var displayOptional = ReplaceTags(displayMandatory);
			document.getElementById('lblStateProvince').innerHTML = displayOptional;
		}
		else
			document.getElementById('lblStateProvince').value = displayMandatory;
	}
	}
	
	//Shipping Address Country Data for ShippingInfo.aspx
 if(objForm.Country__ShippingAddressCountryData != null)
 {
	 if(objForm.Country__ShippingAddressCountryData.value == COUNTRY_USA_GUID)
	 {
	 objForm.Country__ShippingAddressCountryData.style.display = "block";
	 objForm.USState__ShippingAddressCountryData.style.display = "block";
	 objForm.CANProvince__ShippingAddressCountryData.style.display = "none";
	 objForm.Region_txtShippingAddressRegion.style.display = "none";

	 var displayMandatory = document.getElementById("lblStateProvince").innerHTML;
	 var displayOptional = ReplaceTags(displayMandatory);
	 document.getElementById("lblStateProvince").innerHTML = "*" + displayOptional;

	 }
	 else if(objForm.Country__ShippingAddressCountryData.value == COUNTRY_CANADA_GUID)
	 {
	 objForm.Country__ShippingAddressCountryData.style.display = "block";
	 objForm.USState__ShippingAddressCountryData.style.display = "none";
	 objForm.CANProvince__ShippingAddressCountryData.style.display = "block";
	 objForm.Region_txtShippingAddressRegion.style.display = "none";

	 var displayMandatory = document.getElementById("lblStateProvince").innerHTML;
	 var displayOptional = ReplaceTags(displayMandatory);
	 document.getElementById("lblStateProvince").innerHTML = "*" + displayOptional;
	 }
	 else
	 {
	 objForm.Region_txtShippingAddressRegion.style.display = "block";
	 objForm.Country__ShippingAddressCountryData.style.display = "block";

	 objForm.USState__ShippingAddressCountryData.style.display = "none";
	 objForm.CANProvince__ShippingAddressCountryData.style.display = "none";


	 var displayMandatory = document.getElementById("lblStateProvince").innerHTML;
	 var strMandatory = displayMandatory.indexOf("*");
	 if(strMandatory == "0")
	 {
	 var displayOptional = ReplaceTags(displayMandatory);
	 document.getElementById('lblStateProvince').innerHTML = displayOptional;
	 }
	 else
	 document.getElementById('lblStateProvince').value = displayMandatory;
	 }
 }
	
	try
	{
		if( VatArray == null ) return;
		var showVatInfo = false;
		for( i=0; i < VatArray.length; i++ )
		{
			if( objForm.Country__BillingAddressCountryData.value === VatArray[i] )
			{
				showVatInfo = true;
				break;
			}
		}
		var vatDiv = document.getElementById("VatInfo");
		if( vatDiv == null ) return;

		if( showVatInfo )
		{
			vatDiv.style.display = "block";	
		}
		else
		{
			vatDiv.style.display = "none";	
			document.getElementById("VatNumber").value = "";
		}
	}
	catch( e)
	{
		//dont do anything.
	}
	
	
}

function ReplaceTags(xStr)
{
	var	Str = xStr.replace("*","");
	return Str;
}


function IsOtherProvinceSelected()
{
	var isOtherProvinceSelected = false;
	
	//get country
	//var selectedCountry = document.forms[0].Country__BillingAddressCountryData.value;
	var selectedCountry;
	
	if(document.forms[0].elements["Country__BillingAddressCountryData"] != null)
	selectedCountry = document.forms[0].Country__BillingAddressCountryData.value;
	else if(document.forms[0].elements["Country__ShippingAddressCountryData"] != null)
	selectedCountry = document.forms[0].Country__ShippingAddressCountryData.value;
		
	
	//prepare the Mandatory fields list according to the country selection
	if(selectedCountry == COUNTRY_CANADA_GUID)
	{	
		var stateID = document.forms[0].CANProvince__BillingAddressCountryData.value;
		if(stateID == OTHER_PROVINCE_ID)
		{
			alert("You have selected an invalid province. Please re-select your province.");
			document.forms[0].CANProvince__BillingAddressCountryData.focus();
			isOtherProvinceSelected = true;
		}
	}
	return isOtherProvinceSelected;
}	

function IsOtherCountrySelected()
{
	var isOtherCountrySelected = false;
		
	var countryID;
	
	if(document.forms[0].elements["Country__BillingAddressCountryData"] != null)
	countryID = document.forms[0].Country__BillingAddressCountryData.value;
	else if(document.forms[0].elements["Country__ShippingAddressCountryData"] != null)
	countryID = document.forms[0].Country__ShippingAddressCountryData.value;
	
	if(countryID == OTHER_COUNTRY_ID)
	{
		alert("You have selected an invalid country. Please re-select your country.");
		document.forms[0].Country__BillingAddressCountryData.focus();		
		isOtherCountrySelected = true;
	}
		
	return isOtherCountrySelected;
}

function IsOtherStateSelected()
{
	var isOtherStateSelected = false;
	
	//get country
	//var selectedCountry = document.forms[0].Country__BillingAddressCountryData.value;
	
	var selectedCountry;
	
	if(document.forms[0].elements["Country__BillingAddressCountryData"] != null)
	selectedCountry = document.forms[0].Country__BillingAddressCountryData.value;
	else if(document.forms[0].elements["Country__ShippingAddressCountryData"] != null)
	selectedCountry = document.forms[0].Country__ShippingAddressCountryData.value;
		
	//prepare the Mandatory fields list according to the country selection
	if(selectedCountry == COUNTRY_USA_GUID)
	{
		if(document.forms[0].elements["USState__BillingAddressCountryData"] != null)
		{
			var stateID = document.forms[0].USState__BillingAddressCountryData.value;
			if(stateID == OTHER_STATE_ID)
			{
				alert("You have selected an invalid state. Please re-select your state.");
				document.forms[0].USState__BillingAddressCountryData.focus();
				isOtherStateSelected = true;
			}
		}
		else if(document.forms[0].elements["USState__ShippingAddressCountryData"] != null)
		{
			var stateID = document.forms[0].USState__ShippingAddressCountryData.value;
			if(stateID == OTHER_STATE_ID)
			{
				alert("You have selected an invalid state. Please re-select your state.");
				document.forms[0].USState__ShippingAddressCountryData.focus();
				isOtherStateSelected = true;
			}
		
		}
		
	}
	return isOtherStateSelected;
}