function checkUKTelephone (telephoneNumber) {

  // 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]{10,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;
  }
  
  // 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;
}
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";
  
function checkForm() {
	var err=0;

	if (document.getElementById('x_ResidentialStatus').value==0) {
		if (err==0) {
			document.getElementById('x_ResidentialStatus').focus();
		}
		document.getElementById('x_ResidentialStatus').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_PurposeofLoan').value==0) {
		if (err==0) {
			document.getElementById('x_PurposeofLoan').focus();
		}
		document.getElementById('x_PurposeofLoan').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_LoanAmount').value==0) {
		if (err==0) {
			document.getElementById('x_LoanAmount').focus();
		}
		document.getElementById('x_LoanAmount').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_C1Status').value==0) {
		if (err==0) {
			document.getElementById('x_C1Status').focus();
		}
		document.getElementById('x_C1Status').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_C1Forename').value==0) {
		if (err==0) {
			document.getElementById('x_C1Forename').focus();
		}
		document.getElementById('x_C1Forename').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_C1Surname').value==0) {
		if (err==0) {
			document.getElementById('x_C1Surname').focus();
		}
		document.getElementById('x_C1Surname').style.backgroundColor='#ffa5a5';
		err=1;
	}
	
	
	if (document.getElementById('x_C1EmployerTimeYears').value==0) {
		if (err==0) {
			document.getElementById('x_C1EmployerTimeYears').focus();
		}
		document.getElementById('x_C1EmployerTimeYears').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_C1EmployerTimeMonths').value==0) {
		if (err==0) {
			document.getElementById('x_C1EmployerTimeMonths').focus();
		}
		document.getElementById('x_C1EmployerTimeMonths').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('Date_of_Birth_Day').value==0) {
		if (err==0) {
			document.getElementById('Date_of_Birth_Day').focus();
		}
		document.getElementById('Date_of_Birth_Day').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('Date_of_Birth_Month').value==0) {
		if (err==0) {
			document.getElementById('Date_of_Birth_Month').focus();
		}
		document.getElementById('Date_of_Birth_Month').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('Date_of_Birth_Year').value==0) {
		if (err==0) {
			document.getElementById('Date_of_Birth_Year').focus();
		}
		document.getElementById('Date_of_Birth_Year').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_C1Occupation').value==0) {
		if (err==0) {
			document.getElementById('x_C1Occupation').focus();
		}
		document.getElementById('x_C1Occupation').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_C1AnnualIncome').value==0) {
		if (err==0) {
			document.getElementById('x_C1AnnualIncome').focus();
		}
		document.getElementById('x_C1AnnualIncome').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_C1Street').value==0) {
		if (err==0) {
			document.getElementById('x_C1Street').focus();
		}
		document.getElementById('x_C1Street').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_C1Town').value==0) {
		if (err==0) {
			document.getElementById('x_C1Town').focus();
		}
		document.getElementById('x_C1Town').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_C1Postcode').value==0) {
		if (err==0) {
			document.getElementById('x_C1Postcode').focus();
		}
		document.getElementById('x_C1Postcode').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_C1Email').value==0) {
		if (err==0) {
			document.getElementById('x_C1Email').focus();
		}
		document.getElementById('x_C1Email').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (!checkUKTelephone(document.getElementById('x_C1HomeTel').value)) {
		if (err==0) {
			document.getElementById('x_C1HomeTel').focus();
		}
		document.getElementById('x_C1HomeTel').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_C1MobilePhoneNo').value==0) {
		if (err==0) {
			document.getElementById('x_C1MobilePhoneNo').focus();
		}
		document.getElementById('x_C1MobilePhoneNo').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_contacttime').value==0) {
		if (err==0) {
			document.getElementById('x_contacttime').focus();
		}
		document.getElementById('x_contacttime').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_contactday').value==0) {
		if (err==0) {
			document.getElementById('x_contactday').focus();
		}
		document.getElementById('x_contactday').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_PropertyValue').value==0) {
		if (err==0) {
			document.getElementById('x_PropertyValue').focus();
		}
		document.getElementById('x_PropertyValue').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_MortgageBalance').value==0) {
		if (err==0) {
			document.getElementById('x_MortgageBalance').focus();
		}
		document.getElementById('x_MortgageBalance').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_PurchasePrice').value==0) {
		if (err==0) {
			document.getElementById('x_PurchasePrice').focus();
		}
		document.getElementById('x_PurchasePrice').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_MonthlyPayment').value==0) {
		if (err==0) {
			document.getElementById('x_MonthlyPayment').focus();
		}
		document.getElementById('x_MonthlyPayment').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_PurchaseDay').value==0) {
		if (err==0) {
			document.getElementById('x_PurchaseDay').focus();
		}
		document.getElementById('x_PurchaseDay').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_PurchaseMonth').value==0) {
		if (err==0) {
			document.getElementById('x_PurchaseMonth').focus();
		}
		document.getElementById('x_PurchaseMonth').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_PurchaseYear').value==0) {
		if (err==0) {
			document.getElementById('x_PurchaseYear').focus();
		}
		document.getElementById('x_PurchaseYear').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_PropertyType').value==0) {
		if (err==0) {
			document.getElementById('x_PropertyType').focus();
		}
		document.getElementById('x_PropertyType').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_MortgageType').value==0) {
		if (err==0) {
			document.getElementById('x_MortgageType').focus();
		}
		document.getElementById('x_MortgageType').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_Bedrooms').value==0) {
		if (err==0) {
			document.getElementById('x_Bedrooms').focus();
		}
		document.getElementById('x_Bedrooms').style.backgroundColor='#ffa5a5';
		err=1;
	}
	if (document.getElementById('x_MortgageCompany').value==0) {
		if (err==0) {
			document.getElementById('x_MortgageCompany').focus();
		}
		document.getElementById('x_MortgageCompany').style.backgroundColor='#ffa5a5';
		err=1;
	}

	if (validatePMaidenName==1) {
			if (document.getElementById('x_C1MaidenName').value==0) {
				if (err==0) {
					document.getElementById('x_C1MaidenName').focus();
				}
				document.getElementById('x_C1MaidenName').style.backgroundColor='#ffa5a5';
				err=1;
			}
		}
	if (document.getElementById('x_C1Status').value=="Married" || document.getElementById('x_C1Status').value=="Living with partner") {
	
		if (document.getElementById('x_C2Forename').value==0) {
			if (err==0) {
				document.getElementById('x_C2Forename').focus();
			}
			document.getElementById('x_C2Forename').style.backgroundColor='#ffa5a5';
			err=1;
		}
	
	
		if (document.getElementById('x_C2Surname').value==0) {
			if (err==0) {
				document.getElementById('x_C2Surname').focus();
			}
			document.getElementById('x_C2Surname').style.backgroundColor='#ffa5a5';
			err=1;
		}
	
	
		if (document.getElementById('Partner_DOB_Day').value==0) {
			if (err==0) {
				document.getElementById('Partner_DOB_Day').focus();
			}
			document.getElementById('Partner_DOB_Day').style.backgroundColor='#ffa5a5';
			err=1;
		}
		if (document.getElementById('Partner_DOB_Month').value==0) {
			if (err==0) {
				document.getElementById('Partner_DOB_Month').focus();
			}
			document.getElementById('Partner_DOB_Month').style.backgroundColor='#ffa5a5';
			err=1;
		}
		if (document.getElementById('Partner_DOB_Year').value==0) {
			if (err==0) {
				document.getElementById('Partner_DOB_Year').focus();
			}
			document.getElementById('Partner_DOB_Year').style.backgroundColor='#ffa5a5';
			err=1;
		}
		
		
		if (!checkUKTelephone(document.getElementById('x_C2DayTel').value)) {
			if (err==0) {
				document.getElementById('x_C2DayTel').focus();
			}
			document.getElementById('x_C2DayTel').style.backgroundColor='#ffa5a5';
			err=1;
		}
	
	
		if (document.getElementById('x_C2AnnualIncome').value==0) {
			if (err==0) {
				document.getElementById('x_C2AnnualIncome').focus();
			}
			document.getElementById('x_C2AnnualIncome').style.backgroundColor='#ffa5a5';
			err=1;
		}
	
	
		if (document.getElementById('x_C2EmployerTimeYears').value==0) {
			if (err==0) {
				document.getElementById('x_C2EmployerTimeYears').focus();
			}
			document.getElementById('x_C2EmployerTimeYears').style.backgroundColor='#ffa5a5';
			err=1;
		}
	
		

		if (validateMaidenName==1) {
			if (document.getElementById('x_C2MaidenName').value==0) {
				if (err==0) {
					document.getElementById('x_C2MaidenName').focus();
				}
				document.getElementById('x_C2MaidenName').style.backgroundColor='#ffa5a5';
				err=1;
			}
		}
		
		
	}
	
	
	if (document.getElementById('x_arrears').value=="Yes") {
		if (document.getElementById('x_CurrentArrears').value==0) {
			if (err==0) {
				document.getElementById('x_CurrentArrears').focus();
			}
			document.getElementById('x_CurrentArrears').style.backgroundColor='#ffa5a5';
			err=1;
		}
		if (document.getElementById('x_HighestArrears').value==0) {
			if (err==0) {
				document.getElementById('x_HighestArrears').focus();
			}
			document.getElementById('x_HighestArrears').style.backgroundColor='#ffa5a5';
			err=1;
		}
	}
	
	if (err==0) {
	document.getElementById('x_C1DOB').value = document.getElementById('Date_of_Birth_Day').value+'/'+document.getElementById('Date_of_Birth_Month').value+'/'+document.getElementById('Date_of_Birth_Year').value;
	document.getElementById('x_C2DOB').value = document.getElementById('Partner_DOB_Day').value+'/'+document.getElementById('Partner_DOB_Month').value+'/'+document.getElementById('Partner_DOB_Year').value;
	document.getElementById('x_PurchaseDate').value = document.getElementById('x_PurchaseDay').value+'/'+document.getElementById('x_PurchaseMonth').value+'/'+document.getElementById('x_PurchaseYear').value;
	document.getElementById('x_MortgageAmount').value = document.getElementById('x_MortgageBalance').value;
	document.getElementById('x_C2Status').value = document.getElementById('x_C1Status').value;
	
		return true;
	} else {
		alert("Please complete all highlighted fields to receive the most accurate quote. Also, please ensure a valid UK telephone number is provided");
		return false;
	}
}

function checkFieldBack(fieldObj) {
	if (fieldObj.value!=0) {
		fieldObj.style.backgroundColor='#FFFFFF';
	}
}

var validateMaidenName=0;
var validatePMaidenName=0;
function checkMrs(value) {
	switch (value) {
		case "Mrs":
			document.getElementById('msrInfo').style.display='inline';
			validateMaidenName=1;
		break;
		case "Ms":
			document.getElementById('msrInfo').style.display='inline';
			validateMaidenName=1;
		break;
		default:
			document.getElementById('msrInfo').style.display='none';
			validateMaidenName=0;
	}
}
function checkPMrs(value) {
	switch (value) {
		case "Mrs":
			document.getElementById('MmsrInfo').style.display='inline';
			validatePMaidenName=1;
		break;
		case "Ms":
			document.getElementById('MmsrInfo').style.display='inline';
			validatePMaidenName=1;
		break;
		default:
			document.getElementById('MmsrInfo').style.display='none';
			validatePMaidenName=0;
	}
}
function arraysChanged(arrVal) {
	if (arrVal=="Yes") {
		document.getElementById('arrears').style.display = 'block';
	} else {
		document.getElementById('arrears').style.display = 'none';
	}
}

// JavaScript Document