// Used in all pages to submit a form and optionally set a hidden 
// form varaible called 'navigate' to direct navgiation
function submitForm(formName, navigateValue) {
	if (navigateValue != null && navigateValue != "") {
		document.forms[formName].navigate.value = navigateValue;
	}
    document.forms[formName].submit();
}
// run when checkbox is clicked to synchronise the delivery details with billing details
function IsDeliverySame_clicked() {

    if (document.customerform.IsDeliverySame.checked) {
		//First Name
        document.customerform.DeliveryFirstnames.value = document.customerform.BillingFirstnames.value;
        document.customerform.DeliveryFirstnames.disabled = true;
        //Surname
        document.customerform.DeliverySurname.value = document.customerform.BillingSurname.value;
        document.customerform.DeliverySurname.disabled = true;
        //Address1
        document.customerform.DeliveryAddress1.value = document.customerform.BillingAddress1.value;
        document.customerform.DeliveryAddress1.disabled = true;
		//Address2
        document.customerform.DeliveryAddress2.value = document.customerform.BillingAddress2.value;
        document.customerform.DeliveryAddress2.disabled = true; 
		//City
        document.customerform.DeliveryCity.value = document.customerform.BillingCity.value;
        document.customerform.DeliveryCity.disabled = true;
		//Post Code
        document.customerform.DeliveryPostCode.value = document.customerform.BillingPostCode.value;
        document.customerform.DeliveryPostCode.disabled = true;
		//Country
        document.customerform.DeliveryCountry.value = document.customerform.BillingCountry.value;
        document.customerform.DeliveryCountry.disabled = true;        
		//State
        document.customerform.DeliveryState.value = document.customerform.BillingState.value;
        document.customerform.DeliveryState.disabled = true;
		//Phone
        document.customerform.DeliveryPhone.value = document.customerform.BillingPhone.value;
        document.customerform.DeliveryPhone.disabled = true;
    }
    else 
    {
     	//First Name
        document.customerform.DeliveryFirstnames.disabled = false;        
        //Surname
        document.customerform.DeliverySurname.disabled = false;
        //Address1
        document.customerform.DeliveryAddress1.disabled = false;
        //Address2
        document.customerform.DeliveryAddress2.disabled = false;
        //City
        document.customerform.DeliveryCity.disabled = false;
        //Post Code
        document.customerform.DeliveryPostCode.disabled = false;
        //Country
        document.customerform.DeliveryCountry.disabled = false;
        //State
        document.customerform.DeliveryState.disabled = false;
        //Phone
        document.customerform.DeliveryPhone.disabled = false;
        //Focus to text box "BillingFirstnames"
        document.customerform.BillingFirstnames.focus();
    }
	GetDeliveryCountryCode();	
}

function GetDeliveryCountryCode()
{
	//Delivery Country Code
    document.getElementById('hidDeliveryCountryCode').value=document.getElementById('ddlDeliveryCountry').value;    
    //Delivery Country Name
    delcountryIndex=document.customerform.DeliveryCountry.selectedIndex;
    delcountryName=document.customerform.DeliveryCountry.options[delcountryIndex].text;
    document.getElementById('hidDeliverCountryName').value=delcountryName;
    //Shipping Cost
    shippingCost=DecideShippingCost(document.getElementById('hidDeliveryCountryCode').value);
    document.getElementById('hidItemShippingCost').value=shippingCost;
    //alert(shippingCost);
}

//function to restrict special character
//--------------------------------------
function SpecialCharactersInCustomerDetails(str)
{
	var reg = new RegExp("/");
    if (reg.test(str)) 
	{
	 	return true;        
    }
    else
    {
		return false;
	}
}

//function check special characters entered or not
function CheckSpecialCharactersInCustomerDetails()
{
 	var strMsg="Special Character ( / ) not allowed";
 	var strMsg1="";
 	var proceed=false;

 	//Billing Details - Trim() function is called to trim leading and trailing white spaces in a string
    //-------------------------------------------------------------------------------------------------
 	document.getElementById("BillingFirstnames").value=Trim(document.getElementById("BillingFirstnames").value,'');
 	document.getElementById("BillingSurname").value=Trim(document.getElementById("BillingSurname").value,'');
 	document.getElementById("BillingAddress1").value=Trim(document.getElementById("BillingAddress1").value,'');
 	document.getElementById("BillingAddress2").value=Trim(document.getElementById("BillingAddress2").value,'');
 	document.getElementById("BillingCity").value=Trim(document.getElementById("BillingCity").value,'');
 	document.getElementById("BillingPostCode").value=Trim(document.getElementById("BillingPostCode").value,'');
 	document.getElementById("BillingState").value=Trim(document.getElementById("BillingState").value,'');
 	document.getElementById("BillingPhone").value=Trim(document.getElementById("BillingPhone").value,'');
 	//Delivery Details - Trim() function is called to trim leading and trailing white spaces in a string
    //--------------------------------------------------------------------------------------------------
	document.getElementById("DeliveryFirstnames").value=Trim(document.getElementById("DeliveryFirstnames").value,'');
 	document.getElementById("DeliverySurname").value=Trim(document.getElementById("DeliverySurname").value,'');
 	document.getElementById("DeliveryAddress1").value=Trim(document.getElementById("DeliveryAddress1").value,'');
 	document.getElementById("DeliveryAddress2").value=Trim(document.getElementById("DeliveryAddress2").value,'');
 	document.getElementById("DeliveryCity").value=Trim(document.getElementById("DeliveryCity").value,'');
 	document.getElementById("DeliveryPostCode").value=Trim(document.getElementById("DeliveryPostCode").value,'');
 	document.getElementById("DeliveryState").value=Trim(document.getElementById("DeliveryState").value,'');
 	document.getElementById("DeliveryPhone").value=Trim(document.getElementById("DeliveryPhone").value,'');
 	
 	/*---------------------------------------- Billing Details ---------------------------------------------------*/
 	
	if(SpecialCharactersInCustomerDetails(document.getElementById("BillingFirstnames").value))
	{	
	 	strMsg1=strMsg+" in Billing First Name(s)";
		document.getElementById("divCustDetailsErrMsg").innerText=strMsg1;//for IE browser
		document.getElementById("divCustDetailsErrMsg").textContent=strMsg1;//for FireFox browser
		document.getElementById("BillingFirstnames").focus();
		proceed=false;
	}
	else if(SpecialCharactersInCustomerDetails(document.getElementById("BillingSurname").value))
	{	
	 	strMsg1=" in Billing Last Name(s)";
		document.getElementById("divCustDetailsErrMsg").innerText=strMsg+strMsg1;//for IE browser
		document.getElementById("divCustDetailsErrMsg").textContent=strMsg+strMsg1;//for FireFox browser
		document.getElementById("BillingSurname").focus();
		proceed=false;
	}
	else if(SpecialCharactersInCustomerDetails(document.getElementById("BillingAddress1").value))
	{	
	 	strMsg1=" in Billing Address Line 1";
		document.getElementById("divCustDetailsErrMsg").innerText=strMsg+strMsg1;//for IE browser
		document.getElementById("divCustDetailsErrMsg").textContent=strMsg+strMsg1;//for FireFox browser
		document.getElementById("BillingAddress1").focus();
		proceed=false;
	}
	else if(SpecialCharactersInCustomerDetails(document.getElementById("BillingAddress2").value))
	{	
 	 	strMsg1=" in Billing Address Line 2";
		document.getElementById("divCustDetailsErrMsg").innerText=strMsg+strMsg1;//for IE browser
		document.getElementById("divCustDetailsErrMsg").textContent=strMsg+strMsg1;//for FireFox browser
		document.getElementById("BillingAddress2").focus();
		proceed=false;
	}
	else if(SpecialCharactersInCustomerDetails(document.getElementById("BillingCity").value))
	{	
 	 	strMsg1=" in Billing City";
		document.getElementById("divCustDetailsErrMsg").innerText=strMsg+strMsg1;//for IE browser
		document.getElementById("divCustDetailsErrMsg").textContent=strMsg+strMsg1;//for FireFox browser
		document.getElementById("BillingCity").focus();
		proceed=false;
	}
	else if(SpecialCharactersInCustomerDetails(document.getElementById("BillingPostCode").value))
	{	
 	 	strMsg1=" in Billing Post / Zip Code";
		document.getElementById("divCustDetailsErrMsg").innerText=strMsg+strMsg1;//for IE browser
		document.getElementById("divCustDetailsErrMsg").textContent=strMsg+strMsg1;//for FireFox browser
		document.getElementById("BillingPostCode").focus();
		proceed=false;
	}
	else if(SpecialCharactersInCustomerDetails(document.getElementById("BillingState").value))
	{	
 	 	strMsg1=" in Billing State Name";
		document.getElementById("divCustDetailsErrMsg").innerText=strMsg+strMsg1;//for IE browser
		document.getElementById("divCustDetailsErrMsg").textContent=strMsg+strMsg1;//for FireFox browser
		document.getElementById("BillingState").focus();
		proceed=false;
	}
	else if(SpecialCharactersInCustomerDetails(document.getElementById("BillingPhone").value))
	{	
 	 	strMsg1=" in Billing Phone";
		document.getElementById("divCustDetailsErrMsg").innerText=strMsg+strMsg1;//for IE browser
		document.getElementById("divCustDetailsErrMsg").textContent=strMsg+strMsg1;//for FireFox browser
		document.getElementById("BillingPhone").focus();
		proceed=false;
	}
	else if(SpecialCharactersInCustomerDetails(document.getElementById("CustomerEMail").value))
	{	
 	 	strMsg1=" in Billing Email";
		document.getElementById("divCustDetailsErrMsg").innerText=strMsg+strMsg1;//for IE browser
		document.getElementById("divCustDetailsErrMsg").textContent=strMsg+strMsg1;//for FireFox browser
		document.getElementById("CustomerEMail").focus();
		proceed=false;
	}
	/*---------------------------------------- Delivery Details ---------------------------------------------------*/
	else if(SpecialCharactersInCustomerDetails(document.getElementById("DeliveryFirstnames").value))
	{
	 	strMsg1=" in Delivery First Name(s)";
		document.getElementById("divCustDetailsErrMsg").innerText=strMsg+strMsg1;//for IE browser
		document.getElementById("divCustDetailsErrMsg").textContent=strMsg+strMsg1;//for FireFox browser
		document.getElementById("DeliveryFirstnames").focus();
		proceed=false;
	}
	else if(SpecialCharactersInCustomerDetails(document.getElementById("DeliverySurname").value))
	{
	 	strMsg1=" in Delivery Last Name(s)";
		document.getElementById("divCustDetailsErrMsg").innerText=strMsg+strMsg1;//for IE browser
		document.getElementById("divCustDetailsErrMsg").textContent=strMsg+strMsg1;//for FireFox browser
		document.getElementById("DeliverySurname").focus();
		proceed=false;
	}
	else if(SpecialCharactersInCustomerDetails(document.getElementById("DeliveryAddress1").value))
	{	
	 	strMsg1=" in Delivery Address Line 1";
		document.getElementById("divCustDetailsErrMsg").innerText=strMsg+strMsg1;//for IE browser
		document.getElementById("divCustDetailsErrMsg").textContent=strMsg+strMsg1;//for FireFox browser
		document.getElementById("DeliveryAddress1").focus();
		proceed=false;
	}
	else if(SpecialCharactersInCustomerDetails(document.getElementById("DeliveryAddress2").value))
	{
	 	strMsg1=" in Delivery Address Line 2";	
		document.getElementById("divCustDetailsErrMsg").innerText=strMsg+strMsg1;//for IE browser
		document.getElementById("divCustDetailsErrMsg").textContent=strMsg+strMsg1;//for FireFox browser
		document.getElementById("DeliveryAddress2").focus();
		proceed=false;
	}
	else if(SpecialCharactersInCustomerDetails(document.getElementById("DeliveryCity").value))
	{
	 	strMsg1=" in Delivery City";	
		document.getElementById("divCustDetailsErrMsg").innerText=strMsg+strMsg1;//for IE browser
		document.getElementById("divCustDetailsErrMsg").textContent=strMsg+strMsg1;//for FireFox browser
		document.getElementById("DeliveryCity").focus();
		proceed=false;
	}
	else if(SpecialCharactersInCustomerDetails(document.getElementById("DeliveryPostCode").value))
	{	
	 	strMsg1=" in Delivery Post / Zip Code";
		document.getElementById("divCustDetailsErrMsg").innerText=strMsg+strMsg1;//for IE browser
		document.getElementById("divCustDetailsErrMsg").textContent=strMsg+strMsg1;//for FireFox browser
		document.getElementById("DeliveryPostCode").focus();
		proceed=false;
	}
	else if(SpecialCharactersInCustomerDetails(document.getElementById("DeliveryState").value))
	{	
	 	strMsg1=" in Delivery State Name";
		document.getElementById("divCustDetailsErrMsg").innerText=strMsg+strMsg1;//for IE browser
		document.getElementById("divCustDetailsErrMsg").textContent=strMsg+strMsg1;//for FireFox browser
		document.getElementById("DeliveryState").focus();
		proceed=false;
	}
	else if(SpecialCharactersInCustomerDetails(document.getElementById("DeliveryPhone").value))
	{	
	 	strMsg1=" in Delivery Phone";	 
		document.getElementById("divCustDetailsErrMsg").innerText=strMsg+strMsg1;//for IE browser
		document.getElementById("divCustDetailsErrMsg").textContent=strMsg+strMsg1;//for FireFox browser
		document.getElementById("DeliveryPhone").focus();
		proceed=false;
	}
	else
	{
		document.getElementById("divCustDetailsErrMsg").innerText="";//for IE browser
		document.getElementById("divCustDetailsErrMsg").textContent="";//for FireFox browser
		proceed=true;
	}
	if(proceed==true)
	{
		submitForm('customerform','proceed');
	}
}
function FillCustomerDetailsInCustomerForm(fName,lName,ads1,ads2,city,pCode,countryCode,email)
{
    document.customerform.BillingFirstnames.value=fName;
    document.customerform.BillingSurname.value=lName;
    document.customerform.BillingAddress1.value=ads1;
    document.customerform.BillingAddress2.value=ads2;
    document.customerform.BillingCity.value=city;
    document.customerform.BillingPostCode.value=pCode;
    document.customerform.BillingCountry.value=countryCode;    
    document.customerform.CustomerEMail.value=email;
    FixDeliveryCountryCodeOnBillCountryChange();
}
