// JavaScript Document
// Form Validaiton
function frm_Submit(frm)
{

var LeadTitle,LeadFirstName,LeadSurname,LeadEmail,Terms,URL,cid,LeadUpdate;

var LeadDOBDay,LeadDOBMonth,LeadDOBYear,LeadResidentialStatus,LeadEmpType,LeadAnnualIncome;
var LeadHouseNo,LeadPostCode,LeadYearAtAddress,LeadHomeTel,LeadMobileTel;

var LeadCreditHistory,LeadBrowser,LeadIPAddress,LeadReferrer,LeadAffID,LeadAffUID;


cid			= frm.cid.value;
LeadUpdate  = frm.LeadUpdate.value;

LeadTitle 		= frm.LeadTitle;
LeadFirstName	= frm.LeadFirstName;
LeadSurname		= frm.LeadSurname;

LeadDOBDay			= frm.LeadDOBDay;
LeadDOBMonth		= frm.LeadDOBMonth;
LeadDOBYear			= frm.LeadDOBYear;

LeadEmail		= frm.LeadEmail;
LeadHomeTel		= frm.LeadHomeTel;
LeadMobileTel	= frm.LeadMobileTel;

LeadHouseNo 			= frm.LeadHouseNo;
LeadPostCode			= frm.LeadPostCode;
LeadYearAtAddress		= frm.LeadYearAtAddress;

LeadResidentialStatus	= frm.LeadResidentialStatus;
LeadEmpType				= frm.LeadEmpType;
LeadAnnualIncome		= frm.LeadAnnualIncome;
LeadCreditHistory		= frm.LeadCreditHistory;

LeadBrowser		= frm.LeadBrowser;
LeadIPAddress	= frm.LeadIPAddress;
LeadReferrer	= frm.LeadReferrer;
LeadAffID		= frm.LeadAffID;
LeadAffUID		= frm.LeadAffUID;

Terms					= frm.Terms;


	
	
	if (LeadTitle.value.length==0)
	{
		alert('Please select Title');
		LeadTitle.focus();
		return false;
	}			
	
	if(LeadFirstName.value.length < 2 || !isNaN(LeadFirstName.value))
	{
		
		alert('Please enter First name');
		LeadFirstName.focus();
		return false;
	}

	//if(firstname.value.isOneCharactersOnly()||VALIDATE.profane_names.itemExists(firstname.value.toLowerCase())||firstname.value.hasDigit()||firstname.value.length<2||!isNaN((firstname.value)))
	
	if (LeadSurname.value.length < 2 || !isNaN(LeadSurname.value))
	{
		alert('Please enter Surname');
		LeadSurname.focus();
		return false;
	}

	if (LeadDOBDay.value.length==0)
    {
       	alert('Please select the Day you were born');
       	LeadDOBDay.focus();
       	return false;
    }	

	if (LeadDOBMonth.value.length==0)
    {
       	alert('Please select the Month you were born');
       	LeadDOBMonth.focus();
       	return false;
    }
	
	if (LeadDOBYear.value.length==0)
    {
       	alert('Please select the Year you were born');
       	LeadDOBYear.focus();
       	return false;
    }

    if (LeadCreditHistory.value.length==0)
    {
       	alert('Please select your credit history');
       	LeadCreditHistory.focus();
       	return false;
    }


    if (LeadEmail.value.length==0)
    {
       	alert('Please enter valid Email address');
       	LeadEmail.focus();
       	return false;
    }
	
	if (echeck(LeadEmail.value)==false){
		LeadEmail.value=""
		LeadEmail.focus()
		return false
	}

	if (LeadHomeTel.value.length==0 || Left(LeadHomeTel.value,2) == '07')
    {
       	alert('Please enter Home Telephone');
       	LeadHomeTel.focus();
       	return false;
    }
	
	if (!checkUKTelephone(LeadHomeTel.value))
    {
		var telestr
		telestr = LeadHomeTel.value.split("",2)
		if (telestr=='0,8') { 
		alert('08 numbers are not accepted in this application');
		LeadHomeTel.focus();
        return false; 
		}		
        alert('Please enter your Home Telephone');
        LeadHomeTel.focus();
        return false;
    }
	
	if (LeadMobileTel.value.length==0 || Left(LeadMobileTel.value,2) != '07')
    {
       //	alert(Left(LeadMobile.value,2));
		alert('Please enter Mobile Telephone');
       	LeadMobileTel.focus();
       	return false;
    }	
	if (LeadMobileTel.value.replace(/ /g,'').length!=0)
    {
		if(!checkUKTelephone(LeadMobileTel.value))
		{
		var telestr
		telestr = LeadMobileTel.value.split("",2)
			if (telestr=='0,8') { 
			alert('08 numbers are not accepted in this application');
			LeadMobileTel.focus();
        	return false; 
			}
        alert('Please enter your mobilephone number');
        LeadMobileTel.focus();
        return false;
		}
    }

	if (LeadHouseNo.value.length==0)
    {
       	alert('Please enter House Number/Name');
       	LeadHouseNo.focus();
       	return false;
    }
	
	if (LeadPostCode.value.length==0)
    {
       	alert('Please enter Postcode');
       	LeadPostCode.focus();
       	return false;
    }
	if (!checkPostCode(LeadPostCode.value))
    {
       	alert('Please enter valid Postcode');
       	LeadPostCode.focus();
       	return false;
    }

	if (LeadYearAtAddress.value.length==0)
    {
       	alert('Please select Time of years at address');
       	LeadYearAtAddress.focus();
       	return false;
    }

	if (LeadResidentialStatus.value.length==0)
    {
       	alert('Please select Residential Status');
       	LeadResidentialStatus.focus();
       	return false;
    }		
	
	if (LeadEmpType.value.length==0)
    {
       	alert('Please select Employment status');
       	LeadEmpType.focus();
       	return false;
    }	


	if (LeadAnnualIncome.value.length==0)
    {
       	alert('Please enter your annual income before Tax');
       	LeadAnnualIncome.focus();
       	return false;
    }

	if (Terms.checked==false)
	{
		alert('Please read and accept the terms and conditions');
        return false;
	}	
	
	URL = "processindex.asp?cid="+cid+"&LeadUpdate="+LeadUpdate+"&LeadTitle="+frm.LeadTitle.value+"&LeadFirstName="+frm.LeadFirstName.value+"&LeadSurname="+frm.LeadSurname.value+"&LeadEmail="+frm.LeadEmail.value+"&LeadHomeTel="+frm.LeadHomeTel.value+"&LeadMobileTel="+frm.LeadMobileTel.value+"&LeadDOBDay="+frm.LeadDOBDay.value+"&LeadDOBMonth="+frm.LeadDOBMonth.value+"&LeadDOBYear="+frm.LeadDOBYear.value+"&LeadHouseNo="+frm.LeadHouseNo.value+"&LeadPostCode="+frm.LeadPostCode.value+"&LeadYearAtAddress="+frm.LeadYearAtAddress.value+"&LeadResidentialStatus="+frm.LeadResidentialStatus.value+"&LeadEmpType="+frm.LeadEmpType.value+"&LeadAnnualIncome="+frm.LeadAnnualIncome.value+"&LeadCreditHistory="+frm.LeadCreditHistory.value+"&LeadIPAddress="+frm.LeadIPAddress.value+"&LeadBrowser="+frm.LeadBrowser.value+"&LeadReferrer="+frm.LeadReferrer.value+"&LeadAffID="+frm.LeadAffID.value+"&LeadAffUID="+LeadAffUID+"";
	
//	alert(URL);
//	return;
	
	
	open2(URL,2);
	 	 
//	return true;
	
}
//#########################################################



function formProcess(frm)
{
//var LeadCredit,LeadEmpType,LeadIncome,LeadPropertyValue,LeadMortgageBalance;
//var LeadHomeInsurance
var LeadDebMgt,LeadLoan,LeadPaymentProtection,LeadMortgage,LeadAccident;

var LeadDebtAmount,LeadMonthlyIncome,LeadMonthlyDIncome,LeadNoOfCreditors1,LeadCCJd;
var LeadCCEmail
var LeadPPClaim,LeadPPCreditcardClaim;
var LeadPropertyDesc,LeadPropertyPurpose,LeadPropertyStyle,LeadMortgageRequired,LeadHomeValue,LeadBorrowMoney,LeadIncomeCertify,LeadCCJm,LeadMissedCardPayment;
var LeadIncidentDate,LeadHaveALawyer,LeadMedical,LeadAccidentType,LeadAccidentContact;

var reURL,IsSubmit_LoanForm,LeadID,LeadISINDB;

IsSubmit_LoanForm		= frm.IsSubmit_LoanForm;
LeadID					= frm.LeadID;
LeadISINDB				= frm.LeadISINDB;

LeadDebMgt				= frm.LeadDebMgt;
LeadLoan				= frm.LeadLoan;
LeadPaymentProtection	= frm.LeadPaymentProtection;
LeadMortgage			= frm.LeadMortgage;
LeadAccident			= frm.LeadAccident;

LeadDebtAmount 			= frm.LeadDebtAmount;
LeadMonthlyIncome		= frm.LeadMonthlyIncome;
LeadMonthlyDIncome		= frm.LeadMonthlyDIncome;
LeadNoOfCreditors1		= frm.LeadNoOfCreditors1;
LeadCCJd				= frm.LeadCCJd;

LeadCCEmail				= frm.LeadCCEmail;

LeadPPClaim				= frm.LeadPPClaim;
LeadPPCreditcardClaim	= frm.LeadPPCreditcardClaim;

LeadPropertyDesc		= frm.LeadPropertyDesc;
LeadPropertyPurpose		= frm.LeadPropertyPurpose;
LeadPropertyStyle		= frm.LeadPropertyStyle;
LeadMortgageRequired	= frm.LeadMortgageRequired
LeadHomeValue			= frm.LeadHomeValue;
LeadBorrowMoney			= frm.LeadBorrowMoney;
LeadIncomeCertify		= frm.LeadIncomeCertify;	
LeadCCJm				= frm.LeadCCJm;
LeadMissedCardPayment	= frm.LeadMissedCardPayment;

LeadIncidentDate 		= frm.LeadIncidentDate;
LeadHaveALawyer	 		= frm.LeadHaveALawyer;
LeadMedical		 		= frm.LeadMedical;
LeadAccidentType 		= frm.LeadAccidentType
LeadAccidentContact 	= frm.LeadAccidentContact;


	if (!LeadDebMgt[0].checked && !LeadDebMgt[1].checked)
	{
		alert('Please select Yes to freeze interest and reduce your debt by up to 70%.');
	   	return false;	
	}

	if(LeadDebMgt[0].checked)
	{				
		if(LeadDebtAmount.value.length == 0 || LeadDebtAmount.value == 0)
		{
			alert('Please select debt amount');
       		LeadDebtAmount.focus();
       		return false;
		}
		
		if(LeadMonthlyIncome.value.length == 0)
		{
			alert('Please select monthly income');
       		LeadMonthlyIncome.focus();
       		return false;
		}
		
		if(LeadMonthlyDIncome.value.length == 0)
		{
			alert('Please select monthly disposable income');
       		LeadMonthlyDIncome.focus();
       		return false;
		}
		
		if(LeadNoOfCreditors1.value.length == 0)
		{
			alert('Please selct no of creditors');
       		LeadNoOfCreditors1.focus();
       		return false;
		}
		
		if(!LeadCCJd[0].checked && !LeadCCJd[1].checked)
		{
			alert('Please select yes if you have any CCJs');       		
       		return false;
		}		
		
	}

	if (!LeadLoan[0].checked && !LeadLoan[1].checked)
	{
		alert('Please select yes to receive a personalised recommendation to get secured or unsecured loan');
        return false;	
	}
		
	if(LeadLoan[0].checked)
	{
		if(LeadCCEmail.value.length == 0)
		{
			alert('Please enter your email address');
       		LeadCCEmail.focus();
       		return false;
		}			
	}
	if (!LeadPaymentProtection[0].checked && !LeadPaymentProtection[1].checked)
	{
		alert('Would be interested in Reclaim your Unfair Bank , Credit Card Charges, Mis-sold Payment Protection Insurance or Mortgage');
        return false;	
	}
	
	if(LeadPaymentProtection[0].checked)
	{
		
		if(LeadPPClaim.value.length == 0)
		{
			alert('Please select, what would you like to claim');
       		LeadPPClaim.focus();
       		return false;
		}			
		if(LeadPPCreditcardClaim.value.length == 0)
		{
			alert('Please select, How many cards will you claim on?');
       		LeadPPCreditcardClaim.focus();
       		return false;
		}		
	}

	if (!LeadMortgage[0].checked && !LeadMortgage[1].checked)
	{
		alert('Please select to get free quote on a mortgage or remortgage');
        return false;	
	}	
	
	if(LeadMortgage[0].checked)
	{
		if(LeadPropertyDesc.value.length == 0)
		{
			alert('Please select property descirption');
       		LeadPropertyDesc.focus();
       		return false;
		}	
		
		if(LeadPropertyPurpose.value.length == 0)
		{
			alert('Please select property purpose');
       		LeadPropertyPurpose.focus();
       		return false;
		}	
	
		if(LeadPropertyStyle.value.length == 0)
		{
			alert('Please select property style');
       		LeadPropertyStyle.focus();
       		return false;
		}	

		if(LeadMortgageRequired.value.length == 0)
		{
			alert('Please select, How soon you need your mortgage');
       		LeadMortgageRequired.focus();
       		return false;
		}	
		
		if(LeadHomeValue.value.length == 0)
		{
			alert('Please enter estimated home value');
       		LeadHomeValue.focus();
       		return false;
		}	
		
		if(LeadBorrowMoney.value.length == 0)
		{
			alert('Please enter, How much would you like to borrow');
       		LeadBorrowMoney.focus();
       		return false;
		}
		if(!LeadIncomeCertify[0].checked && !LeadIncomeCertify[1].checked)
		{
			alert('Please select,if you need to self-certify your income.');       		
       		return false;
		}		
		if(!LeadCCJm[0].checked && !LeadCCJm[1].checked)
		{
			alert('Please select,if you had a CCJ, IVA or been declared bankrup?');
       		return false;
		}	
		if(!LeadMissedCardPayment[0].checked && !LeadMissedCardPayment[1].checked)
		{
			alert('Please select,if you have missed a loan or credit card payment in the past 12 months.');
       		return false;
		}				
	
	}
	
	if (!LeadAccident[0].checked && !LeadAccident[1].checked)
	{
		alert('Please select, if you are interested in accident injury claim? ');
        return false;	
	}
	if(LeadAccident[0].checked)
	{				
		if(LeadIncidentDate.value.length == 0)
		{
			alert('Please enter your incident date');
       		LeadIncidentDate.focus();
       		return false;
		}

		if (!LeadHaveALawyer[0].checked && !LeadHaveALawyer[1].checked)
		{
			alert('Please select yes, if you have a lawyer.');
			return false;	
		}
		
		if (!LeadMedical[0].checked && !LeadMedical[1].checked)
		{
			alert('Please select yes, if you receive medical attention for your injuries.');
			return false;	
		}	
		if(LeadAccidentType.value.length == 0)
		{
			alert('Please select Type of accident');
       		LeadAccidentType.focus();
       		return false;
		}						 		
		if (!LeadAccidentContact[0].checked && !LeadAccidentContact[1].checked)
		{
			alert('Please select yes, if you would like to be contacted by a specialist regarding this product.');
			return false;	
		}	
	}
	
	if (LeadDebMgt[0].checked)
	{
		LeadDebMgt  = frm.LeadDebMgt[0].value;	
	}
	else
	{
		LeadDebMgt = frm.LeadDebMgt[1].value;	
	}
	
	if (LeadCCJd[0].checked)
	{
		LeadCCJd  = frm.LeadCCJd[0].value;	
	}
	else
	{
		LeadCCJd = frm.LeadCCJd[1].value;	
	}
	
	if (LeadLoan[0].checked)
	{
		LeadLoan  = frm.LeadLoan[0].value;	
	}
	else
	{
		LeadLoan = frm.LeadLoan[1].value;	
	}
	
	if (LeadPaymentProtection[0].checked)
	{
		LeadPaymentProtection  = frm.LeadPaymentProtection[0].value;	
	}
	else
	{
		LeadPaymentProtection = frm.LeadPaymentProtection[1].value;	
	}	
	
	if (LeadMortgage[0].checked)
	{
		LeadMortgage  = frm.LeadMortgage[0].value;	
	}
	else
	{
		LeadMortgage = frm.LeadMortgage[1].value;	
	}
	
	if (LeadIncomeCertify[0].checked)
	{
		LeadIncomeCertify  = frm.LeadIncomeCertify[0].value;	
	}
	else
	{
		LeadIncomeCertify = frm.LeadIncomeCertify[1].value;	
	}
	
	if (LeadCCJm[0].checked)
	{
		LeadCCJm  = frm.LeadCCJm[0].value;	
	}
	else
	{
		LeadCCJm = frm.LeadCCJm[1].value;	
	}
	
	if (LeadMissedCardPayment[0].checked)
	{
		LeadMissedCardPayment  = frm.LeadMissedCardPayment[0].value;	
	}
	else
	{
		LeadMissedCardPayment = frm.LeadMissedCardPayment[1].value;	
	}
	
	if (LeadAccident[0].checked)
	{
		LeadAccident  = frm.LeadAccident[0].value;	
	}
	else
	{
		LeadAccident = frm.LeadAccident[1].value;	
	}	

	if (LeadHaveALawyer[0].checked)
	{
		LeadHaveALawyer  = frm.LeadHaveALawyer[0].value;	
	}
	else
	{
		LeadHaveALawyer = frm.LeadHaveALawyer[1].value;	
	}

	if (LeadMedical[0].checked)
	{
		LeadMedical  = frm.LeadMedical[0].value;	
	}
	else
	{
		LeadMedical = frm.LeadMedical[1].value;	
	}

	if (LeadAccidentContact[0].checked)
	{
		LeadAccidentContact  = frm.LeadAccidentContact[0].value;	
	}
	else
	{
		LeadAccidentContact = frm.LeadAccidentContact[1].value;	
	}
	
	if (LeadAccidentContact[0].checked)
	{
		LeadAccidentContact  = frm.LeadAccidentContact[0].value;	
	}
	else
	{
		LeadAccidentContact = frm.LeadAccidentContact[1].value;	
	}
	
	
	reURL = "Process3.asp?IsSubmit_LoanForm="+frm.IsSubmit_LoanForm.value+"&LeadID="+frm.LeadID.value+"&LeadISINDB="+frm.LeadISINDB.value+"&LeadDebMgt="+LeadDebMgt+"&LeadDebtAmount="+frm.LeadDebtAmount.options[frm.LeadDebtAmount.selectedIndex].value+"&LeadMonthlyIncome="+frm.LeadMonthlyIncome.options[frm.LeadMonthlyIncome.selectedIndex].value+"&LeadMonthlyDIncome="+frm.LeadMonthlyDIncome.options[frm.LeadMonthlyDIncome.selectedIndex].value+"&LeadNoOfCreditors1="+frm.LeadNoOfCreditors1.options[frm.LeadNoOfCreditors1.selectedIndex].value+"&LeadCCJd="+LeadCCJd+"&LeadLoan="+LeadLoan+"&LeadCCEmail="+LeadCCEmail.value+"&LeadPaymentProtection="+LeadPaymentProtection+"&LeadPPClaim="+frm.LeadPPClaim.options[frm.LeadPPClaim.selectedIndex].value+"&LeadPPCreditcardClaim="+frm.LeadPPCreditcardClaim.options[frm.LeadPPCreditcardClaim.selectedIndex].value+"&LeadMortgage="+LeadMortgage+"&LeadPropertyDesc="+frm.LeadPropertyDesc.options[frm.LeadPropertyDesc.selectedIndex].value+"&LeadPropertyPurpose="+frm.LeadPropertyPurpose.options[frm.LeadPropertyPurpose.selectedIndex].value+"&LeadPropertyStyle="+frm.LeadPropertyStyle.options[frm.LeadPropertyStyle.selectedIndex].value+"&LeadMortgageRequired="+frm.LeadMortgageRequired.options[frm.LeadMortgageRequired.selectedIndex].value+"&LeadHomeValue="+LeadHomeValue.value+"&LeadBorrowMoney="+LeadBorrowMoney.value+"&LeadIncomeCertify="+LeadIncomeCertify+"&LeadCCJm="+LeadCCJm+"&LeadMissedCardPayment="+LeadMissedCardPayment+"&LeadAccident="+LeadAccident+"&LeadIncidentDate="+frm.LeadIncidentDate.options[frm.LeadIncidentDate.selectedIndex].value+"&LeadHaveALawyer="+LeadHaveALawyer+"&LeadMedical="+LeadMedical+"&LeadAccidentType="+frm.LeadAccidentType.options[frm.LeadAccidentType.selectedIndex].value+"&LeadAccidentContact="+LeadAccidentContact+"";

	//alert(reURL);	
	//return;
	open2(reURL,2);
	
	return true;
}
//#########################################################
function open2(url, opt){
  if (opt == 0) // current window
    window.location = url;	 
  else if (opt == 1) // new window
    window.open(url);
  else if (opt == 2) // background window
    {window.open(url); self.focus();}
}
//#########################################################

// Email Validation Function
function echeck(str) 
{

	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   alert("Invalid Email address")
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   alert("Invalid Email address")
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		alert("Invalid Email address")
		return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		alert("Invalid Email address")
		return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		alert("Invalid Email address")
		return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		alert("Invalid Email address")
		return false
	 }
	
	 if (str.indexOf(" ")!=-1){
		alert("Invalid Email address")
		return false
	 }

	 return true					
}
//##########################################

// Check Post Code
function checkPostCode(toCheck) 
 {
			
	  // Permitted letters depend upon their position in the postcode.
	  var alpha1 = "[abcdefghijklmnoprstuwyz]";                       // Character 1
	  var alpha2 = "[abcdefghklmnopqrstuvwxy]";                       // Character 2
	  var alpha3 = "[abcdefghjkstuw]";                                // Character 3
	  var alpha4 = "[abehmnprvwxy]";                                  // Character 4
	  var alpha5 = "[abdefghjlnpqrstuwxyz]";                          // Character 5
	  
	  // Array holds the regular expressions for the valid postcodes
	  var pcexp = new Array ();
	
	  // Expression for postcodes: AN NAA, ANN NAA, AAN NAA, and AANN NAA
	  pcexp.push (new RegExp ("^(" + alpha1 + "{1}" + alpha2 + "?[0-9]{1,2})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));
	  
	  // Expression for postcodes: ANA NAA
	  pcexp.push (new RegExp ("^(" + alpha1 + "{1}[0-9]{1}" + alpha3 + "{1})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));
	
	  // Expression for postcodes: AANA  NAA
	  pcexp.push (new RegExp ("^(" + alpha1 + "{1}" + alpha2 + "?[0-9]{1}" + alpha4 +"{1})(\\s*)([0-9]{1}" + alpha5 + "{2})$","i"));
	  
	  // Exception for the special postcode GIR 0AA
	  pcexp.push (/^(GIR)(\s*)(0AA)$/i);
	  
	  // Standard BFPO numbers
	  pcexp.push (/^(bfpo)(\s*)([0-9]{1,4})$/i);
	  
	  // c/o BFPO numbers
	  pcexp.push (/^(bfpo)(\s*)(c\/o\s*[0-9]{1,3})$/i);
	  
	  // Overseas Territories
	  pcexp.push (/^([A-Z]{4})(\s*)(1ZZ)$/i);
	
	  // Load up the string to check
	  var postCode = toCheck;
	
	  // Assume we're not going to find a valid postcode
	  var valid = false;
	  
	  // Check the string against the types of post codes
	  for ( var i=0; i<pcexp.length; i++) {
		if (pcexp[i].test(postCode)) {
		
		  // The post code is valid - split the post code into component parts
		  pcexp[i].exec(postCode);
		  
		  // Copy it back into the original string, converting it to uppercase and
		  // inserting a space between the inward and outward codes
		  postCode = RegExp.$1.toUpperCase() + " " + RegExp.$3.toUpperCase();
		  
		  // If it is a BFPO c/o type postcode, tidy up the "c/o" part
		  postCode = postCode.replace (/C\/O\s*/,"c/o ");
		  
		  // Load new postcode back into the form element
		  valid = true;
		  
		  // Remember that we have found that the code is valid and break from loop
		  break;
		}
	  }
	  
	  // Return with either the reformatted valid postcode or the original invalid 
	  // postcode
	 // if (valid) {return ;} else return false;
	 return valid;
}
// ##########################################

// Check UK Telephone 
function checkUKTelephone(telephoneNumber)
{
	var telNumberErrorNo = 0;
	var telNumberErrors = new Array ();
	telNumberErrors[0] = "Valid UK telephone number";
	telNumberErrors[1] = "Telephone number not provided";
	telNumberErrors[2] = "UK telephone number without the country code, please";
	telNumberErrors[3] = "UK telephone numbers should contain 10 or 11 digits";
	telNumberErrors[4] = "The telephone number should start with a 0";
	telNumberErrors[5] = "The telephone number is either invalid or inappropriate";
	  // Convert into a string and check that we were provided with something
	  var telnum = telephoneNumber + " ";
	  if (telnum.length == 1)  {
		 telNumberErrorNo = 1;
		 return false
	  }
	  telnum.length = telnum.length - 1;
	  
	  // Don't allow country codes to be included (assumes a leading "+")
	  var exp = /^(\+)[\s]*(.*)$/;
	  if (exp.test(telnum) == true) {
		 telNumberErrorNo = 2;
		 return false;
	  }
	  
	  // Remove spaces from the telephone number to help validation
	  while (telnum.indexOf(" ")!= -1)  {
		telnum = telnum.slice (0,telnum.indexOf(" ")) + telnum.slice (telnum.indexOf(" ")+1)
	  }
	  
	  // Remove hyphens from the telephone number to help validation
	  while (telnum.indexOf("-")!= -1)  {
		telnum = telnum.slice (0,telnum.indexOf("-")) + telnum.slice (telnum.indexOf("-")+1)
	  }  
	  
	  // Now check that all the characters are digits
	  exp = /^[0-9]{11,11}$/;
	  if (exp.test(telnum) != true) {
		 telNumberErrorNo = 3;
		 return false;
	  }
	  
	  // Now check that the first digit is 0
	  exp = /^0[0-9]{9,10}$/;
	  if (exp.test(telnum) != true) {
		 telNumberErrorNo = 4;
		 return false;
	  }
		
		// Disallow numbers allocated for dramas.
		 
	  // Array holds the regular expressions for the drama telephone numbers
	  var tnexp = new Array ();
		tnexp.push (/^(0113|0114|0115|0116|0117|0118|0121|0131|0141|0151|0161)(4960)[0-9]{3}$/);
		tnexp.push (/^02079460[0-9]{3}$/);
		tnexp.push (/^01914980[0-9]{3}$/);
		tnexp.push (/^02890180[0-9]{3}$/);
		tnexp.push (/^02920180[0-9]{3}$/);
		tnexp.push (/^01632960[0-9]{3}$/);
		tnexp.push (/^07700900[0-9]{3}$/);
		tnexp.push (/^08081570[0-9]{3}$/);
		tnexp.push (/^09098790[0-9]{3}$/);
		tnexp.push (/^03069990[0-9]{3}$/);
		
		for (var i=0; i<tnexp.length; i++) {
		if ( tnexp[i].test(telnum) ) {
		  telNumberErrorNo = 5;
		  return false;}
		}
	  
	  // Finally check that the telephone number is appropriate.
	  exp = (/^(01|02|03|05|070|071|072|073|074|075|07624|077|078|079)[0-9]+$/);
		if (exp.test(telnum) != true) {
		 telNumberErrorNo = 5;
		 return false;
	  }
	  
	  // Telephone number seems to be valid - return the stripped telehone number  
	  return telnum;
}
//#############################################

// Left Function
function Left(str, n)
{
   if (n <= 0)
         return "";
   else if (n > String(str).length)
         return str;
   else
         return String(str).substring(0,n);
}
//#########################################
