// JavaScript Document
function ini_alert(){alert("OK" + el_get('prefill').innerHTML);}
var theForm=document.getElementById('eq_lead');
function Calling_DIV(dispid,hide1,hide2,hide3,hide4,hide5,hide6) {
	document.getElementById(dispid).style.display='';
	document.getElementById(hide1).style.display='none';
	document.getElementById(hide2).style.display='none';
	document.getElementById(hide3).style.display='none';
	document.getElementById(hide4).style.display='none';
	document.getElementById(hide5).style.display='none';
	document.getElementById(hide6).style.display='none';
}
function panel_call(dispid,hide1,hide2){
	document.getElementById(dispid).style.display='block';
	document.getElementById(hide1).style.display='none';
	document.getElementById(hide2).style.display='none';	
}

function Step2() {
	var theForm=document.getElementById('li_lead');
	var err_state=false;var error_msg="";

if(checkiNumber("COVERAGE_AMOUNT") || el_fi('COVERAGE_AMOUNT') < 5000 || el_fi('COVERAGE_AMOUNT') > 5000000){
	error_msg="Amount of Cover should be between &pound;5000 and &pound;5000000<br>";
	err_state=true;
	el_get('COVERAGE_AMOUNT_err').innerHTML=error_msg;
	highlite(el_get('COVERAGE_AMOUNT'));
}else{el_get('COVERAGE_AMOUNT_err').innerHTML="";}

if(checkNumber("YEARS_DESIRED") || document.getElementById('YEARS_DESIRED').value < 2 || document.getElementById('YEARS_DESIRED').value > 75){
	error_msg="Period of Cover should be between 2 and 75 years<br>";
	err_state=true;
	el_get('YEARS_DESIRED_err').innerHTML=error_msg;
	highlite(el_get('YEARS_DESIRED'));
}else{el_get('YEARS_DESIRED_err').innerHTML="";}

	//var elem = document.getElementById(field);
	//document.getElementById('Calc_Err').style.display='block';
if(err_state){
	//error_msg="<h1>Please correct the items highlighted above</h1>"+error_msg;
		document.getElementById("Calc_Err").innerHTML="<h1>Please correct the items highlighted above</h1>";
	}else{
		//document.getElementById("Eq_Loan_Val").firstChild.nodeValue="You may be eligable for a loan of up to £"+Eq_Val+"";
		//document.getElementById("Eq_Loan_Val").innerHTML="Congratulations! You <u>are</u> be eligible for a loan of up to £"+Eq_Val+", <u>depending</u> on the provider you use";
		
		document.getElementById('LI_Form_Page1').style.display='none';
		document.getElementById('LI_Form_Page2').style.display='block';
		document.getElementById('Calc_Err').style.display='none';	
	}
}



function Step3() {
	var theForm=document.getElementById('li_lead');
	var err_state=false;var error_msg="";
	var valid_Name=/^\D{2,25}$/; 
	var DOB=build_dob('y');document.getElementById('DOB').value=DOB;
	if(document.getElementById('WHO_IS_COVER_FOR2').checked){DOB=build_dob('p');document.getElementById('PARTNER_DOB').value=DOB;}
	//var elem = document.getElementById(field);
	//document.getElementById('Calc_Err').style.display='block';


	var app_name=trimInput(el_get("FNAME").value)
if(!valid_Name.test(app_name)){el_get('FNAME_err').innerHTML="Please Enter Your First Name";err_state=true;highlite(el_get('FNAME'));}else{el_get('FNAME_err').innerHTML="";}
var app_lname=trimInput(el_get("LNAME").value)
if(!valid_Name.test(app_lname)){el_get('LNAME_err').innerHTML="Please Enter Your Surname";err_state=true;highlite(el_get('LNAME'));}else{el_get('LNAME_err').innerHTML="";}
	if(radio_error('SMOKING_STATUS1') && radio_error('SMOKING_STATUS2')){el_get('SMOKING_STATUS_err').innerHTML="Please tell us if you smoke";err_state=true;highlite(el_get('SMOKING_STATUS_field'));}else{el_get('SMOKING_STATUS_err').innerHTML="";lowlite(el_get('SMOKING_STATUS_field'));}

	if(radio_error('WHO_IS_COVER_FOR1') && radio_error('WHO_IS_COVER_FOR2')){el_get('WHO_IS_COVER_FOR_err').innerHTML="Please tell us who the cover is for";err_state=true;highlite(el_get('WHO_IS_COVER_FOR_field'));}else{el_get('WHO_IS_COVER_FOR_err').innerHTML="";}
	if(radio_error('GENDER_UK1') && radio_error('GENDER_UK2')){el_get('GENDER_UK_err').innerHTML="Please tell us your gender";err_state=true;highlite(el_get('GENDER_UK_field'));}else{el_get('GENDER_UK_err').innerHTML="";}
	
	var DOBerr=false;var DOBday=el_get('yDOBDay'); var DOBmon=el_get('yDOBMonth');var DOByear=el_get('yDOBYear');
	if(DOBday.value==""){DOBerr=true;highlite(DOBday);}else{lowlite(DOBday);}
	if(DOBmon.value==""){DOBerr=true;highlite(DOBmon);}else{lowlite(DOBmon);}
	if(DOByear.value==""){DOBerr=true;highlite(DOByear);}else{lowlite(DOByear);}
	if(DOBerr){el_get('DOB_err').innerHTML="Please enter your Date of Birth";err_state=true;}else{el_get('DOB_err').innerHTML="";}

if(document.getElementById('WHO_IS_COVER_FOR2').checked){
			var app_name=trimInput(el_get("PARTNER_FNAME").value)
			if(!valid_Name.test(app_name)){el_get('PARTNER_FNAME_err').innerHTML="Please Enter Your Partners First Name";err_state=true;highlite(el_get('PARTNER_FNAME'));}else{el_get('PARTNER_FNAME_err').innerHTML="";}
			var app_lname=trimInput(el_get("PARTNER_LNAME").value)
			if(!valid_Name.test(app_lname)){el_get('PARTNER_LNAME_err').innerHTML="Please Enter Your Partners Surname";err_state=true;highlite(el_get('PARTNER_LNAME'));}else{el_get('PARTNER_LNAME_err').innerHTML="";}
			if(radio_error('PARTNER_SMOKING_STATUS1') && radio_error('PARTNER_SMOKING_STATUS2')){el_get('PARTNER_SMOKING_STATUS_err').innerHTML="Please tell us if your Partner smokes";err_state=true;highlite(el_get('PARTNER_SMOKING_STATUS_field'));}else{el_get('PARTNER_SMOKING_STATUS_err').innerHTML="";lowlite(el_get('PARTNER_SMOKING_STATUS_field'));}

			if(radio_error('PARTNER_GENDER_UK1') && radio_error('PARTNER_GENDER_UK2')){el_get('PARTNER_GENDER_UK_err').innerHTML="Please tell us your Partners gender";err_state=true;highlite(el_get('PARTNER_GENDER_UK_field'));}else{el_get('PARTNER_GENDER_UK_err').innerHTML="";}
	
			var DOBerr=false;var DOBday=el_get('pDOBDay'); var DOBmon=el_get('pDOBMonth');var DOByear=el_get('pDOBYear');
			if(DOBday.value==""){DOBerr=true;highlite(DOBday);}else{lowlite(DOBday);}
			if(DOBmon.value==""){DOBerr=true;highlite(DOBmon);}else{lowlite(DOBmon);}
			if(DOByear.value==""){DOBerr=true;highlite(DOByear);}else{lowlite(DOByear);}
			if(DOBerr){el_get('PARTNER_DOB_err').innerHTML="Please enter your Partners Date of Birth";err_state=true;}else{el_get('PARTNER_DOB_err').innerHTML="";}
}



if(err_state){
	/*error_msg="<h1>Please correct the following</h1>"+error_msg;*/
		document.getElementById("Personal_Err").innerHTML="<h1>Please correct the items highlighted above</h1>";
	}else{

		document.getElementById('LI_Form_Page2').style.display='none';
		document.getElementById('LI_Form_Page3').style.display='block';
		document.getElementById('Personal_Err').style.display='none';	
	}
}


function form_submit(){
var theForm=document.getElementById('li_lead');
var con_err_state=false;var con_error_msg="";
var valid_address=/^([a-zA-Z0-9 _-]+){2,25}$/;	var valid_Name=/^\D{2,25}$/;
/*
if (checkPostCode(theForm.POSTCODE.value)){
		theForm.POSTCODE.value=checkPostCode(theForm.POSTCODE.value);	
	}else{
		//field = theForm.POSTCODE;
		highlite(el_get('POSTCODE'));
		con_err_state=true;
		el_get('POSTCODE_err').innerHTML="Postcode must have valid UK format (please do not use - , etc)";
	}
*/
var UkPhoneNumberErrorMessages = ["Please enter Telephone No. without country code or +", "Telephone No. should be 10 or 11 digits", "Telephone No. should start with a zero", "06 / 070 Telephone Nos. not accepted", "Please enter home, work or mobile Telephone No.","Telephone No. should contain numbers only"];
	errorcode=UkPhoneNumber(document.getElementById("PRI_PHONE").value);
if(errorcode!=-1){
		highlite(el_get('PRI_PHONE'));
		con_err_state=true;
		el_get('PRI_PHONE_err').innerHTML=UkPhoneNumberErrorMessages[errorcode];
	}else{el_get('PRI_PHONE_err').innerHTML="";lowlite(el_get('PRI_PHONE'));}	

	errorcode=UkPhoneNumber(document.getElementById("SEC_PHONE").value);
if(errorcode!=-1){
		highlite(el_get('SEC_PHONE'));
		con_err_state=true;
		el_get('SEC_PHONE_err').innerHTML=UkPhoneNumberErrorMessages[errorcode];
	}else{el_get('SEC_PHONE_err').innerHTML="";lowlite(el_get('SEC_PHONE'));}

var app_email=el_get('EMAIL').value;
app_email=trimInput(app_email);
//if(app_email.length!=0){
		if(!isValidEmail(app_email)){
			highlite(el_get('EMAIL'));
			con_err_state=true;
			el_get('EMAIL_err').innerHTML="Please correct email format (eg you@email.com)";
			}else{el_get('EMAIL_err').innerHTML="";lowlite(el_get('EMAIL'));}

	var app_add=trimInput(el_get("ADDRESS1").value)
if(!valid_address.test(app_add)){el_get('ADDRESS1_err').innerHTML="Please Enter the First Line of your Address";con_err_state=true;highlite(el_get('ADDRESS1'));}else{el_get('ADDRESS1_err').innerHTML="";}

	var app_town=trimInput(el_get("CITY").value)
if(!valid_Name.test(app_town)){el_get('CITY_err').innerHTML="Please enter your Town/City";con_err_state=true;highlite(el_get('CITY'));}else{el_get('CITY_err').innerHTML="";}



	p_code=trim_input('POSTCODE');
	var p_code=stripInput(p_code,'-');
		
if (checkPostCode(p_code)){
		el_get('POSTCODE').value=checkPostCode(p_code);el_get('POSTCODE_err').innerHTML="";
	}else{
		highlite(el_get('POSTCODE'));
		con_err_state=true;
		el_get('POSTCODE_err').innerHTML="Postcode must have valid UK format";
	}






	
	if(con_err_state){
//	con_error_msg="<h1>Please correct the highlighted boxes as advised below</h1>"+con_error_msg;
		document.getElementById("Contact_Err").innerHTML="<h1>Please correct the items highlighted above</h1>";
	}else{
		theForm.submit();	
		}
}

function Show_Partner(){

if(document.getElementById('WHO_IS_COVER_FOR2').checked){
		document.getElementById('Partner_Details').style.display='block';
	}else{
		document.getElementById('Partner_Details').style.display='none';
	}
		for(i = 0 ; i < arguments.length ; i++){
			if(arguments[i]!=undefined){clear_fld_errs(arguments[i]);}
		}

}

function Show_(id){
	document.getElementById(id).style.display='block';
}

function start_form(){
var field=document.getElementById('COVERAGE_TYPE');
field.focus();
field.style.background="#CCFF00";	
}

function highlite(field){
field.style.background="#FFB3B3";
}

function lowlite(field){
field.style.background="#FFFFFF";
}
function el_fi(ID)
{   tVal=el_get(ID).value;
	return parseInt( tVal.replace(/[^0-9]*/g, ""), 10 );
}
function checkNumber(field){
var elem = document.getElementById(field);
var alpha = /\w/;
if ((isNaN(elem.value)) || (!alpha.test(elem.value))){
	return true;
		}else{
	return false;
		}
}
function checkiNumber(field){
var val = el_fi(field);
var alpha = /\w/;
if ((isNaN(val)) || (!alpha.test(val))){
	return true;
		}else{
	return false;
		}
}

function UkPhoneNumber(field_val)
{
	// Get the phone number as a string from the text box
	var telephoneNumber = field_val;
	
	// Don't allow country codes to be included (assumes a leading "+")
	if ( telephoneNumber.match(/^\+.+$/) )
	{
		return 0;
	}

	if (telephoneNumber.match(/^\+?[0-9 ()-]+[0-9]$/) == null )
	{
		return 5;
	}

	// Remove everything but numeric digits from the telephone number to help validation
	telephoneNumber = telephoneNumber.replace(/[^0-9]*([0-9]*)/g, "$1");

	// Now check that it is 10 or 11 digits long
	if( telephoneNumber.match(/^[0-9]{10,11}$/) == null )
	{
		return 1;
	}

	// Now check that the first digit is 0
	if ( telephoneNumber.match(/^0[0-9]{9,10}$/) == null )
	{
		return 2;
	}

	// Finally check that the telephone number is appropriate.
	if ( telephoneNumber.match(/^(06|070)[0-9]+$/) )
	{
		return 3;
	}

	// Check that the telephone number is appropriate.
	if (telephoneNumber.match(/^(01|02|03|05|07|08)[0-9]+$/) == null )
	{
		return 4;
	}

	// Check for too many repeating digits
	if (telephoneNumber.match(/^\d*(\d)\1{7}\d*$/) )
	{
		return 4;
	}
	if (telephoneNumber.match(/^\+?[0-9 ()-]+[0-9]$/) == null )
	{
		return 4;
	}
	if (telephoneNumber== '01234567890' || telephoneNumber== '0123456789')
	{
		return 4;
	}	
	return -1;
}


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);

  // Load up the string to check
  var postCode = toCheck;

  // Assume we're not going to find a valid postcode
  var validPC = 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
      validPC = 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 (validPC) {return postCode;} else return false;
}
function trimInput(sStr)
{
//return str.replace(/^\s*|\s*$/,"");

while (sStr.substring(0,1) == ' ')
{
sStr = sStr.substring(1, sStr.length);
}
while (sStr.substring(sStr.length-1, sStr.length) == ' ')
{
sStr = sStr.substring(0,sStr.length-1);
}
return sStr;
}

function build_dob(id){
var dobday=id + 'DOBDay';var dobmonth=id + 'DOBMonth';var dobyear=id + 'DOBYear';
var DOB=document.getElementById(dobday).value + '/' + document.getElementById(dobmonth).value + '/' + document.getElementById(dobyear).value;
return DOB;
}
function split_dob(id){
var dob_array=new Array()
dob_array=id.split("/");
alert(dob_array[0]);
alert(dob_array[1]);
alert(dob_array[2]);
return dob_array;


}
function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function trim_input(el){
input_val=trim(el_get(el).value);el_get(el).value=input_val;
return input_val;
 }
 function el_get(el){
	el=document.getElementById(el);
	return el;
}

function radio_error(id){
	if(el_get(id).checked){r_err=false;}else{r_err=true;}return r_err;}



function pre_fill(sFill_str){
	var GETDATA = new Array();
	var sNVPairs = sFill_str.split("&");
    for (var i = 0; i < sNVPairs.length; i++){
    	var sNV = sNVPairs[i].split("=");
        var sName = sNV[0];
        var sValue = sNV[1];
		GETDATA[sName] = sValue;
			//if(el_get(sName) && el_get(sName).type=="text"){el_get(sName).value=sValue;}
				var err_list="We are sorry but errors have been returned";
				err_list+="\n\Please review the form for the following:-\n\ ";
				if(sName=='LP_errors'){//alert(sValue);var test1=get_errs('GENDER_UK');alert("Returned: " + test1);
					var err_array=new Array();
					err_array=sValue.split("Name:-");
					el_get("Calc_Err").innerHTML="Please Accept Our Apologies<br> Your enquiry has returned errors<br>Please review the form and modify the highlighted entries";
					for(var e = 0; e < err_array.length; e++){			
						if(err_array[e]!=""){
							//alert("err HERE: " + err_array[e]);
							err_list+="\n\ " + get_errs(err_array[e]);
							el_get(err_array[e] + "_err").innerHTML=get_errs(err_array[e]);
							}}alert(err_list);}
		
		if(el_get(sName)){
			

			
			switch(el_get(sName).type)
			{
				case 'text':
  				el_get(sName).value=sValue;
				break;    
	
				case 'select-one':
					//if(sName=="DOB"){var dobPairs=el_get('DOB')}
					for(var o = 0; o < el_get(sName).options.length; o++){
						//alert(el_get(sName).options[o].value + ":" + sValue);
						if(el_get(sName).options[o].value==sValue){el_get(sName).options[o].selected=true;}
						}
				break;
				
				case 'radio':
  				if(sName=='SMOKING_STATUS'){if(sValue=='YES'){el_get('SMOKING_STATUS1').checked='true'}else{el_get('SMOKING_STATUS2').checked='true'}}
				if(sName=='WHO_IS_COVER_FOR'){if(sValue=='YOU'){el_get('WHO_IS_COVER_FOR1').checked='true'}else{el_get('WHO_IS_COVER_FOR2').checked='true'}}
				if(sName=='GENDER_UK'){if(sValue=='MALE'){el_get('GENDER_UK1').checked='true'}else{el_get('GENDER_UK2').checked='true'}}
				if(sName=='PARTNER_SMOKING_STATUS'){if(sValue=='YES'){el_get('PARTNER_SMOKING_STATUS1').checked='true'}else{el_get('PARTNER_SMOKING_STATUS2').checked='true'}}
				if(sName=='PARTNER_GENDER_UK'){if(sValue=='MALE'){el_get('PARTNER_GENDER_UK1').checked='true'}else{el_get('PARTNER_GENDER_UK2').checked='true'}}
				
				break;
				}
		}
	}

if(el_get('WHO_IS_COVER_FOR2').checked){Show_Partner();}

}
function get_errs(id){
err_messages= new Array();
err_messages['COVERAGE_TYPE']="Please check the Type of Cover";
err_messages['COVERAGE_AMOUNT']="Please check the Amount of Coverage required";
err_messages['YEARS_DESIRED']="Please check the Period of Coverage";
err_messages['PREMIUM_TYPE']="Please check the Premium Type";
err_messages['SMOKING_STATUS']="Please check if you Smoke";
err_messages['WHO_IS_COVER_FOR']="Please check Who The Cover Is For";
err_messages['DOB']="Please check your Date of Birth";
err_messages['GENDER_UK']="Please check your Gender";
err_messages['SEC_PHONE']="Please check the Alternative Phone Number";
err_messages['EMAIL']="Please check your Email Address";
err_messages['PARTNER_FNAME']="Please check your Partners First Name";
err_messages['PARTNER_LNAME']="Please check your Partners Surname";
err_messages['PARTNER_SMOKING_STATUS']="Please check if your Partners Smokes";
err_messages['PARTNER_DOB']="Please check your Partners Date of Birth";
err_messages['PARTNER_GENDER_UK']="Please check your Partners Gender";
err_messages['FNAME']="Please check your First Name";
err_messages['LNAME']="Please check your Surname";
err_messages['PRI_PHONE']="Please check your Phone Number";
err_messages['ADDRESS1']="Please check the First Line of Your Address";
err_messages['CITY']="Please check your Town/City";
err_messages['POSTCODE']="Please check your Postcode";


return err_messages[id];
}

function clear_fld_errs(){
	for(i = 0 ; i < arguments.length ; i++){
		if(arguments[i]!=undefined){fld=arguments[0].name+"_field";
		err_el=arguments[0].name+"_err";
		el_get(err_el).innerHTML="";
		lowlite(el_get(fld));}
		}
	}

function clear_errs(){
	for(i = 0 ; i < arguments.length ; i++){
		if(arguments[i]!=undefined){
		fld=arguments[0].name;
		err_el=arguments[0].name+"_err";
		el_get(err_el).innerHTML="";
		lowlite(el_get(fld));}
		}
	}


function stripInput(Str,sStr){
	sStr=eval("/"+sStr+"/gi");
	Str=Str.replace(sStr, "");
	//tmpStr=tmpStr.replace(/-/gi, "");
	return Str;
	}

function isValidEmail(strEmail) {
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
	if (strEmail.length < 5) { return false; }
	if (!strEmail.match(re)) { return false; }
	return true;
}