function validate_appform_start()
{
	// reset errors array
	var errors = new Array();
	
	if(!$('input[name=field8]:checked').val()) errors[0] = 'You must provide application type';
	
	// Check if there are errors and show
	if(errors.length > 0) {
		showAlert(errors); 
		return false;
	}else{
		return true;
	}
}

function validate_appform_a()
{
	// reset errors array
	var errors = new Array();
	// build validation
	if($('input[name=field1]').val() == "") errors[0] = 'You must provide your Title';
	if($('input[name=field2]').val() == "") errors[1] = 'You must provide your Surname';
	if($('input[name=field3]').val() == "") errors[2] = 'You must provide your Forename(s)';
	if($('input[name=field4]').val() == "" || $('input[name=field7]').val() == "") errors[3] = 'You must provide your Permanent Residential Address (including postcode)';
	if($('input[name=field12]').val() == "") errors[4] = 'You must provide your Nationality';
	if($('input[name=field13]').val() == "") errors[5] = 'You must provide your Maritial Status';
	if($('input[name=field14]').val() == "" || $('input[name=field15]').val() == "" || $('input[name=field16]').val() == "") errors[6] = 'You must provide your Date of Birth';
	if(!$('input[name=field21]:checked').val() ) errors[7] = 'You must provide your Gender';
	if($('input[name=field27]').val() == "") errors[8] = 'You must provide your Expected Retirement Age';
	
	var dob = $('input[name=field16]').val();
	var now = new Date().getFullYear();

	if(DateDiff(now, dob) >= 16) 
	{
		if($('input[name=field23]').val() == "" || $('input[name=field24]').val() == "" || $('input[name=field25]').val() == "" || $('input[name=field26]').val() == "") errors[9] = 'You must provide your NI Number';
	}
	
	if(!$('input[name=field30]:checked').val()) errors[10] = 'You must provide one Employment Status';
	
	if($('input[name=field30]:checked').val() == 'employed'){
		if($('input[name=field31]').val() == "") errors[11] = 'You must provide your Occupation';
		if($('input[name=field32]').val() == "") errors[12] = 'You must provide your Employers Name';
		if($('input[name=field33]').val() == "" || $('input[name=field36]').val() == "" ) errors[13] = 'You must provide your Address (including postcode)';
	}
	
	if($('input[name=field30]:checked').val() == 'other') {
		if(!$('input[name=field41]:checked').val()) errors[14] = 'You must select an occupation type';
	}
	// Check if there are errors and show
	if(errors.length > 0) {
		showAlert(errors); 
		return false;
	}else{
		return true;
	}
}

function validate_appform_b()
{
	// reset errors array
	var errors = new Array();
	
	// build validation
	//if($('input[name=field1]').val() == "" && $('input[name=field5]').val() == "" && $('input[name=field8]').val() == "" && $('input[name=field21]').val() == "") errors[0] = 'You must provide at least 1 type of contribution';
	
	if($('input[name=field5]').val() != "")
	{
		if(!$('input[name=field6]:checked').val()){
			errors[1] = 'You must provide contribution frequency';
		}
		if($('input[name=field2]').val() == "" && $('input[name=field3]').val() == "" && $('input[name=field4]').val() == ""){
			errors[2] = 'You must provide contribution start date';
		}
	}
	
	if($('input[name=field12]').val() != "")
	{
		if(!$('input[name=field13]:checked').val()){
			errors[3] = 'You must provide contribution frequency';
		}
		if($('input[name=field9]').val() == "" && $('input[name=field10]').val() == "" && $('input[name=field11]').val() == ""){
			errors[4] = 'You must provide contribution start date';
		}
		if($('input[name=field17]').val() == "" || $('input[name=field18]').val() == "" || $('input[name=field19]').val() == "" || $('input[name=field21]').val() == "" || $('input[name=field22]').val() == "" || $('input[name=field23]').val() == "") {
			errors[6] = 'You must provide your Employers Details';
		}
		if(!$('input[name=field15]:checked').val()) errors[5] = 'You must tell us if contributions are to be In Specie';
	}
	
	if($('input[name=field1]').val() != "" || $('input[name=field5]').val() != "" || $('input[name=field8]').val() != "" || $('input[name=field21]').val() != ""){
		if(!$('input[name=field15]:checked').val()) errors[5] = 'You must tell us if contributions are to be In Specie';
	}
	
	if($('input[name=field8]').val() != "" || $('input[name=field21]').val() != "")
	{
		if($('input[name=field17]').val() == "" || $('input[name=field18]').val() == "" || $('input[name=field19]').val() == "" || $('input[name=field21]').val() == "" || $('input[name=field22]').val() == "" || $('input[name=field23]').val() == "") {
			errors[6] = 'You must provide your Employers Details';
		}
	}
	
	// Check if there are errors and show
	if(errors.length > 0) {
		showAlert(errors); 
		return false;
	}else{
		return true;
	}
}

function validate_appform_c()
{
	// reset errors array
	var errors = new Array();
	
	if($('input[name=field1]').val() == "" && $('input[name=field2]').val() == "" && $('input[name=field3]').val() == ""){
		errors[0] = 'You must select at least one type of funding from Part B or Part C'
	}
		
	// Check if there are errors and show
	if(errors.length > 0) {
		showAlert(errors); 
		return false;
	}else{
		return true;
	}
}

function validate_appform_f()
{
	// reset errors array
	var errors = new Array();
	
	if($('input[name=field2]').val() != ""){
		if($('input[name=field4]').val() == "" || $('input[name=field6]').val() == "") errors[0] = 'You must provide financial advisor address (including postcode)';
		if(!$('input[name=field10]:checked').val() && !$('input[name=field11]:checked').val()) errors[1] = 'You must answer authorisation question';
		if(!$('input[name=field12]:checked').val() && !$('input[name=field13]:checked').val()) errors[2] = 'You must answer fee question';
		
		if($('input[name=field12]:checked').val()){
			if($('input[name=field14]').val() == "" && $('input[name=field15]').val() == "") errors[3] = 'You must provide an initial fee value';
			if($('input[name=field16]').val() == "" && $('input[name=field17]').val() == "") errors[4] = 'You must provide an annual fee value';
		}
	}	
	
	// Check if there are errors and show
	if(errors.length > 0) {
		showAlert(errors); 
		return false;
	}else{
		return true;
	}
}

function validate_appform_h()
{
	// reset errors array
	var errors = new Array();
	
	if($('input[name=field1]').val() == "") errors[0] = 'You must provide guardian Title';
	if($('input[name=field3]').val() == "") errors[1] = 'You must provide guardian Forename(s)';
	if($('input[name=field2]').val() == "") errors[2] = 'You must provide guardian Surname';
	if($('input[name=field6]').val() == "") errors[3] = 'You must provide guardian Postcode';
	
	// Check if there are errors and show
	if(errors.length > 0) {
		showAlert(errors); 
		return false;
	}else{
		return true;
	}
}

function validate_transferin_a()
{
	// reset errors array
	var errors = new Array();
	
	if($('input[name=field2]').val() == "") errors[0] = 'You must provide your Title';
	if($('input[name=field3]').val() == "") errors[1] = 'You must provide your Surname';
	if($('input[name=field4]').val() == "") errors[2] = 'You must provide your Forename(s)';
	if($('input[name=field5]').val() == "" || $('input[name=field7]').val() == "") errors[3] = 'You must provide your Residential Address (including postcode)';
	
	// Check if there are errors and show
	if(errors.length > 0) {
		showAlert(errors); 
		return false;
	}else{
		return true;
	}
}

function validate_transferin_b(){
	// reset errors array
	var errors = new Array();
	
	if($('input[name=field1]').val() == "") errors[0] = 'You must provide name of Scheme';
	if($('input[name=field2]').val() == "") errors[1] = 'You must provide name of Trustee/Administrator';
	if($('input[name=field3]').val() == "" || $('input[name=field5]').val() == "") errors[2] = 'You must provide the address (including postcode)';
	if($('input[name=field8]').val() == "") errors[3] = 'You must provide your Plan/Policy Number';
	if($('input[name=field10]').val() == "") errors[4] = 'You must provide a value for Non Protected Rights';
	if($('input[name=field11]').val() == "") errors[5] = 'You must provide a value for Protected Rights';
	if(!$('input[name=field12]:checked').val()) errors[6] = 'You must tell us if Transfer In Specie';
	
	// Check if there are errors and show
	if(errors.length > 0) {
		showAlert(errors); 
		return false;
	}else{
		return true;
	}
}

function validate_transferin_c(){
	// reset errors array
	var errors = new Array();
	if(!$('input[name=field1]:checked').val() && !$('input[name=field2]:checked').val() && !$('input[name=field3]:checked').val()) errors[0] = 'You must provide one asset to be transferred';
	
	// Check if there are errors and show
	if(errors.length > 0) {
		showAlert(errors); 
		return false;
	}else{
		return true;
	}
}

function validate_transferin_d(){
	// reset errors array
	var errors = new Array();
	
	if(!$('input[name=field1]:checked').val() && !$('input[name=field2]:checked').val()) errors[0] = 'You must tell us which statement applies';
	
	// Check if there are errors and show
	if(errors.length > 0) {
		showAlert(errors); 
		return false;
	}else{
		return true;
	}
}

function validate_transferin_f(){
	// reset errors array
	var errors = new Array();
	
	if($('input[name=field2]').val() != "")
	{
		if($('input[name=field4]').val() == "" || $('input[name=field6]').val() == "") errors[0] = 'You must provide the address (including postcode)';
		if(!$('input[name=field9]:checked').val()) errors[1] = 'You must tell us if fee to be paid from @sipp trustee bank account';
		if($('input[name=field9]:checked').val()) {
			if($('input[name=field11]').val() == "" && $('input[name=field12]').val() == "") errors[2] = 'You must provide and amount';
		}
	}
	
	// Check if there are errors and show
	if(errors.length > 0) {
		showAlert(errors); 
		return false;
	}else{
		return true;
	}
}

function validate_additionalcont_a(){
	// reset errors array
	var errors = new Array();
	
	if($('input[name=field1]').val() == "") errors[0] = 'You must provide your @sipp member number';
	if($('input[name=field3]').val() == "") errors[1] = 'You must provide your Title';
	if($('input[name=field4]').val() == "") errors[2] = 'You must provide your Surname';
	if($('input[name=field5]').val() == "") errors[3] = 'You must provide your Forename';
	
	if(!$('input[name=field10]:checked').val()) errors[4] = 'You must provide your Marital Status';
	
	if(!$('input[name=field15]:checked').val()) errors[5] = 'You must provide your Employment Status';
	
	// Check if there are errors and show
	if(errors.length > 0) {
		showAlert(errors); 
		return false;
	}else{
		return true;
	}
}

function validate_additionalcont_b(){
	// reset errors array
	var errors = new Array();
	
	if($('input[name=field1]').val() == "" && $('input[name=field2]').val() == "" && $('input[name=field8]').val() == "" && $('input[name=field9]').val() == "") errors[0] = 'You must provide a contribution type';
	if($('input[name=field2]').val() != ""){
		if(!$('input[name=field3]:checked').val())  errors[1] = 'You must provide a contribution frequency';
		if($('input[name=field5]').val() == "" || $('input[name=field6]').val() == "" || $('input[name=field7]').val() == "")  errors[2] = 'You must provide a contribution start date';
	}
	if($('input[name=field9]').val() != ""){
		if(!$('input[name=field10]:checked').val())  errors[3] = 'You must provide a contribution frequency';
		if($('input[name=field12]').val() == "" || $('input[name=field13]').val() == "" || $('input[name=field14]').val() == "")  errors[4] = 'You must provide a contribution start date';
	}
	if(!$('input[name=field15]:checked').val()) errors[5] = 'You must tell us if the above are in-specie';
	
	if($('input[name=field8]').val() != "" || $('input[name=field9]').val() != ""){
		if(!$('input[name=field16]:checked').val()) errors[6] = 'You must tell us if we should correspond with your employer';
	}
		
	// Check if there are errors and show
	if(errors.length > 0) {
		showAlert(errors); 
		return false;
	}else{
		return true;
	}
}

function validate_additionalcont_c(){
	// reset errors array
	var errors = new Array();
	
	if($('input[name=field1]').val() == "") errors[0] = 'You must provide employers name';
	if($('input[name=field2]').val() == "") errors[1] = 'You must provide employers nature of business';
	if($('input[name=field3]').val() == "" || $('input[name=field5]').val() == "") errors[2] = 'You must provide employers address (including postcode)';
	if($('input[name=field6]').val() == "") errors[3] = 'You must provide employers contact name';
	if($('input[name=field7]').val() == "") errors[4] = 'You must provide employers telephone';
	
	// Check if there are errors and show
	if(errors.length > 0) {
		showAlert(errors); 
		return false;
	}else{
		return true;
	}
}

function validate_additionalcont_e(){
	// reset errors array
	var errors = new Array();
	
	if(
		$('input[name=field1]').val() == "" && 
		$('input[name=field2]').val() == "" &&
		$('input[name=field3]').val() == "" &&
		$('input[name=field4]').val() == "" &&
		$('input[name=field5]').val() == "" &&
		$('input[name=field6]').val() == "" &&
		$('input[name=field7]').val() == "" &&
		$('input[name=field8]').val() == "" &&
		$('input[name=field9]').val() == "" &&
		$('input[name=field10]').val() == "" &&
		$('input[name=field11]').val() == "" &&
		$('input[name=field12]').val() == "" &&
		$('input[name=field13]').val() == "" &&
		$('input[name=field14]').val() == "" &&
		$('input[name=field15]').val() == "" &&
		$('input[name=field16]').val() == "" &&
		$('input[name=field17]').val() == "" &&
		$('input[name=field18]').val() == "" &&
		$('input[name=field19]').val() == "" &&
		$('input[name=field20]').val() == "" &&
		$('input[name=field21]').val() == "" &&
		$('input[name=field22]').val() == "" &&
		$('input[name=field23]').val() == "" &&
		$('input[name=field24]').val() == "" &&
		$('input[name=field25]').val() == "" &&
		$('input[name=field26]').val() == ""
		
		){
			errors[0] = 'You must provide list of assets';
	}
	
	// Check if there are errors and show
	if(errors.length > 0) {
		showAlert(errors); 
		return false;
	}else{
		return true;
	}
}



function validate_additionalcont_f(){
	// reset errors array
	var errors = new Array();
	
	
	
	if($('input[name=field2]').val() != ""){
		if($('input[name=field4]').val() == "" || $('input[name=field6]').val() == "") errors[0] = 'You must provide financial advisor address (including postcode)';
		if(!$('input[name=field9]:checked').val()) errors[1] = 'You must answer fee question';
		
		if($('input[name=field9]:checked').val() == "yes"){
			if($('input[name=field11]').val() == "" && $('input[name=field12]').val() == "") errors[2] = 'You must provide an initial fee value';
		}
	}
	
	
		
	// Check if there are errors and show
	if(errors.length > 0) {
		showAlert(errors); 
		return false;
	}else{
		return true;
	}
}

function validate_benefit_payment_b(){
	// reset errors array
	var errors = new Array();
	
	if($('input[name=field1]').val() == "") errors[0] = 'You must provide your @sipp member number';
	if($('input[name=field2]').val() == "") errors[1] = 'You must provide your Title';
	if($('input[name=field3]').val() == "") errors[2] = 'You must provide your Surname';
	if($('input[name=field4]').val() == "") errors[3] = 'You must provide your Forename';
	if($('input[name=field5]').val() == "" || $('input[name=field7]').val() == "") errors[4] = 'You must provide your Address (including postcode)';
	if($('input[name=field9]').val() == "" || $('input[name=field10]').val() == "" || $('input[name=field11]').val() == "") errors[5] = 'You must provide your Date of Birth';
	
	
	// Check if there are errors and show
	if(errors.length > 0) {
		showAlert(errors); 
		return false;
	}else{
		return true;
	}
}

function validate_benefit_payment_c(){
	// reset errors array
	var errors = new Array();
	
	if(!$('input[name=field1]:checked').val()) errors[0] = 'You must provide one income option';
	if(!$('input[name=field4]:checked').val()) {
		if($('input[name=field5]').val() == "" || $('input[name=field6]').val() == "" || $('input[name=field7]').val() == "") errors[1] = 'You must provide a start date';
	}
		
	// Check if there are errors and show
	if(errors.length > 0) {
		showAlert(errors); 
		return false;
	}else{
		return true;
	}
}

function validate_benefit_payment_d(){
	// reset errors array
	var errors = new Array();
	
	if(!$('input[name=field1]:checked').val()) errors[1] = 'You must tell us if this is the first time you have elected to take benefits';
	
	if($('input[name=field1]:checked').val() == '2'){
		if(!$('input[name=field15]:checked').val()) errors[2] = 'You must tell us if you recieved benefits prior to 6 April 2006';
	}
	
	// If First question is YES
	if($('input[name=field1]:checked').val() == '1')
	{
		if($('input[name=field15]:checked').val() == '1')
		{
			// 2nd Question is YES
			if(
				$('input[name=field17]').val() == "" && 
				$('input[name=field18]').val() == "" &&
				$('input[name=field19]').val() == "" &&
				$('input[name=field20]').val() == "" &&
				$('input[name=field21]').val() == "" &&
				$('input[name=field22]').val() == "" &&
				$('input[name=field23]').val() == "" &&
				$('input[name=field24]').val() == "" &&
				$('input[name=field25]').val() == ""){
					errors[3] = 'You must provide details';
			}
		}
		if($('input[name=field15]:checked').val() == '2'){
			// 2nd Question is NO
		}
	}
	
	// If First question is NO
	if($('input[name=field1]:checked').val() == '2')
	{
		if($('input[name=field15]:checked').val() == '2')
		{
			// 2nd Question is NO
			if(
				$('input[name=field3]').val() == "" && 
				$('input[name=field4]').val() == "" &&
				$('input[name=field5]').val() == "" &&
				$('input[name=field6]').val() == "" &&
				$('input[name=field7]').val() == "" &&
				$('input[name=field8]').val() == "" &&
				$('input[name=field9]').val() == "" &&
				$('input[name=field10]').val() == "" &&
				$('input[name=field11]').val() == "" &&
				$('input[name=field12]').val() == "" &&
				$('input[name=field13]').val() == "" &&
				$('input[name=field14]').val() == ""){
					errors[4] = 'You must provide details';
			}
		}
		if($('input[name=field15]:checked').val() == '1'){
			// 2nd Question is YES
			if(
				$('input[name=field3]').val() == "" && 
				$('input[name=field4]').val() == "" &&
				$('input[name=field5]').val() == "" &&
				$('input[name=field6]').val() == "" &&
				$('input[name=field7]').val() == "" &&
				$('input[name=field8]').val() == "" &&
				$('input[name=field9]').val() == "" &&
				$('input[name=field10]').val() == "" &&
				$('input[name=field11]').val() == "" &&
				$('input[name=field12]').val() == "" &&
				$('input[name=field13]').val() == "" &&
				$('input[name=field14]').val() == ""){
					errors[5] = 'You must provide details';
			}
			if(
				$('input[name=field17]').val() == "" && 
				$('input[name=field18]').val() == "" &&
				$('input[name=field19]').val() == "" &&
				$('input[name=field20]').val() == "" &&
				$('input[name=field21]').val() == "" &&
				$('input[name=field22]').val() == "" &&
				$('input[name=field23]').val() == "" &&
				$('input[name=field24]').val() == "" &&
				$('input[name=field25]').val() == ""){
					errors[6] = 'You must provide details';
			}
		}
	}
	
		
	// Check if there are errors and show
	if(errors.length > 0) {
		showAlert(errors); 
		return false;
	}else{
		return true;
	}
}

function validate_benefit_payment_e(){
	// reset errors array
	var errors = new Array();
	
	if(!$('input[name=field1]:checked').val()) errors[0] = 'You must tell us if you have registered for enhanced/primary protection';
	// Check if there are errors and show
	if(errors.length > 0) {
		showAlert(errors); 
		return false;
	}else{
		return true;
	}
}

function validate_benefit_payment_f()
{
	// reset errors array
	var errors = new Array();
	
	if(!$('input[name=field1]:checked').val()) errors[0] = 'You must tell us if the commencement lump sum is to be paid by @sipp';
	if($('input[name=field1]:checked').val() == '1'){
		if(!$('input[name=field3]:checked').val() && $('input[name=field4]').val() == "") errors[1] = 'You must tell us the amount of PCLS you wish to take';
	}
	if($('input[name=field5]').val() == '') errors[2] = 'You must tell us the insurance company';
	if($('input[name=field6]').val() == '' || $('input[name=field9]').val() == '') errors[3] = 'You must tell us the insurance company address (including postcode)';
	// Check if there are errors and show
	if(errors.length > 0) {
		showAlert(errors); 
		return false;
	}else{
		return true;
	}
}

function validate_benefit_payment_g(){
	// reset errors array
	var errors = new Array();
	if(!$('input[name=field1]:checked').val() && $('input[name=field2]').val() == "") errors[0] = 'You must tell us the commencement sum';
	if(!$('input[name=field3]:checked').val()) errors[1] = 'You must tell us how you wish your PCLS paid';
	if(!$('input[name=field6]:checked').val() && !$('input[name=field7]:checked').val() && $('input[name=field8]').val() == "" && $('input[name=field9]').val() == "") errors[2] = 'You must tell us the Gross Annual Income you wish to take';
	if(!$('input[name=field7]:checked').val()){
		if(!$('input[name=field10]:checked').val()) errors[3] = 'You must select how your income is to be paid – in arrears or in advance';
		if(!$('input[name=field12]:checked').val()) errors[4] = 'You must tell us the frequency of payment';
	}
	
	
	// Only choose one
	if($('input[name=field6]:checked').val()) {
		if(
			$('input[name=field7]:checked').val() ||
			$('input[name=field8]').val() != '' ||
			$('input[name=field9]').val() != ''){
				errors[5] = 'Please select only one option for your Gross Annual Income'
			}
	}
	
	if($('input[name=field7]:checked').val()) {
		if(
			$('input[name=field6]:checked').val() ||
			$('input[name=field8]').val() != '' ||
			$('input[name=field9]').val() != ''){
				errors[5] = 'Please select only one option for your Gross Annual Income'
			}
	}
	
	if($('input[name=field8]').val() != '') {
		if(
			$('input[name=field6]:checked').val() ||
			$('input[name=field7]:checked').val() ||
			$('input[name=field9]').val() != ''){
				errors[5] = 'Please select only one option for your Gross Annual Income'
			}
	}
	
	if($('input[name=field9]').val() != '') {
		if(
			$('input[name=field6]:checked').val() ||
			$('input[name=field7]:checked').val() ||
			$('input[name=field8]').val() != ''){
				errors[5] = 'Please select only one option for your Gross Annual Income'
			}
	}
	
	
	// Check if there are errors and show
	if(errors.length > 0) {
		showAlert(errors); 
		return false;
	}else{
		return true;
	}
	
}

function validate_benefit_payment_i(){
	// reset errors array
	var errors = new Array();
	
	if($('input[name=field1]').val() == "") errors[0] = 'You must provide account name';
	if($('input[name=field2]').val() == "" && $('input[name=field3]').val() == "") errors[1] = 'You must provide account number/building society ref';
	if($('input[name=field4]').val() == "" || $('input[name=field5]').val() == "" || $('input[name=field6]').val() == "") errors[2] = 'You must provide sort code';
	if($('input[name=field7]').val() == "" || $('input[name=field11]').val() == "") errors[3] = 'You must provide bank/building society address (including postcode)';
	// Check if there are errors and show
	if(errors.length > 0) {
		showAlert(errors); 
		return false;
	}else{
		return true;
	}
}

function showAlert( errors )
{
	var str = '';
	var error;
	
	str = "Please correct the following error(s):\n";
	for ( error in errors ){
		str += " - "+errors[error]+"\n";
	}
	alert(str);
}

function DateDiff(date1, date2)
{
	var difference = date1 - date2;
	
	return difference;
}
