function checkContactForm()
{
	var error = "Please correct the following items and try again...\n\n";
	var isError = false;
	var form = document.contactform;
	if( form.contact_name.value.length < 1 )
	{
		error += " - Contact name is required\n";
		isError = true;
	}
	if( form.telephone_number.value.length < 1 )
	{
		error += " - Telephone number is required\n";
		isError = true;
	}
	if( !validateEmailAddress( form.email_address.value ) )
	{
		error += " - A valid email address is required\n";
		isError = true;
	}
	if( form.message.value.length < 1 )
	{
		error += " - Message is required\n";
		isError = true;
	}
	
	if( isError )
	{
		alert( error );
		return false;
	}
	
	return true;
}

function checkTaxiForm( form )
{
	var errorMessage = "";

	if( form.firstname.value.length < 1 )
	{
		errorMessage += " - First name is required\n";
	}
	if( form.lastname.value.length < 1 )
	{
		errorMessage += " - Last name is required\n";
	}
	if( form.address1.value.length < 1 )
	{
		errorMessage += " - Address is required\n";
	}
	if( form.city.value.length < 1 )
	{
		errorMessage += " - City is required\n";
	}
	if( form.postcode.value.length < 5 )
	{
		errorMessage += " - Postcode is required\n";
	}
	if( !validateEmailAddress( form.email.value ) )
	{
		errorMessage += " - A valid email address is required\n";
	}
	if( form.telephone.value.length < 5 )
	{
		errorMessage += " - Telephone number is required\n";
	}
	if( form.caboffice.value.length < 1 )
	{
		errorMessage += " - Cab office is required\n";
	}
	if( form.plating.value.length < 1 )
	{
		errorMessage += " - Plating number is required\n";
	}
	if( errorMessage != "" )
	{
		errorMessage = "Please correct the following items and try again...\n\n" + errorMessage;
		alert( errorMessage );
		return false;
	}
	return true;
}

function checkBACForm( form )
{
	var errorMessage = "";

	if( form.firstname.value.length < 1 )
	{
		errorMessage += " - First name is required\n";
	}
	if( form.lastname.value.length < 1 )
	{
		errorMessage += " - Last name is required\n";
	}
	if( form.address1.value.length < 1 )
	{
		errorMessage += " - Address is required\n";
	}
	if( form.city.value.length < 1 )
	{
		errorMessage += " - City is required\n";
	}
	if( form.postcode.value.length < 5 )
	{
		errorMessage += " - Postcode is required\n";
	}
	if( !validateEmailAddress( form.email.value ) )
	{
		errorMessage += " - A valid email address is required\n";
	}
	if( form.telephone.value.length < 5 )
	{
		errorMessage += " - Telephone number is required\n";
	}
	if( form.bedrooms.value.length < 1 )
	{
		errorMessage += " - Number of bedrooms is required\n";
	}
	if( form.built.value.length < 1 )
	{
		errorMessage += " - Year Built is required\n";
	}
	if( form.contentscoverrequired.value.length < 1 )
	{
		errorMessage += " - Contents Cover Required is required\n";
	}
	if( errorMessage != "" )
	{
		errorMessage = "Please correct the following items and try again...\n\n" + errorMessage;
		alert( errorMessage );
		return false;
	}
	return true;
}

function checkMortgageProtectionForm( form )
{
	var errorMessage = "";

	if( form.firstname.value.length < 1 )
	{
		errorMessage += " - First Applicant First name is required\n";
	}
	if( form.lastname.value.length < 1 )
	{
		errorMessage += " - First Applicant Last name is required\n";
	}
	if( form.firstoccupation.value.length < 1 )
	{
		errorMessage += " - First Applicant Occupation is required\n";
	}
	if( !validateEmailAddress( form.email.value ) )
	{
		errorMessage += " - A valid email address is required\n";
	}
	if( form.telephone.value.length < 5 )
	{
		errorMessage += " - Telephone number is required\n";
	}	
	if( form.address1.value.length < 1 )
	{
		errorMessage += " - Address is required\n";
	}
	if( form.city.value.length < 1 )
	{
		errorMessage += " - City is required\n";
	}
	if( form.postcode.value.length < 5 )
	{
		errorMessage += " - Postcode is required\n";
	}
	if( form.payment.value.length < 1 )
	{
		errorMessage += " - Monthly Mortgage/Rent is required\n";
	}
	if( form.otherpayment.value.length < 1 )
	{
		errorMessage += " - Other Monthly Payments is required\n";
	}
	if( errorMessage != "" )
	{
		errorMessage = "Please correct the following items and try again...\n\n" + errorMessage;
		alert( errorMessage );
		return false;
	}
	return true;
}


function checkResidentialMortgageForm( form )
{
	var errorMessage = "";

	if( form.firstname.value.length < 1 )
	{
		errorMessage += " - First Applicant First name is required\n";
	}
	if( form.lastname.value.length < 1 )
	{
		errorMessage += " - First Applicant Last name is required\n";
	}
	if( !validateEmailAddress( form.email.value ) )
	{
		errorMessage += " - A valid email address is required\n";
	}
	if( form.telephone.value.length < 5 )
	{
		errorMessage += " - Telephone number is required\n";
	}	
	if( form.address1.value.length < 1 )
	{
		errorMessage += " - Address is required\n";
	}
	if( form.city.value.length < 1 )
	{
		errorMessage += " - City is required\n";
	}
	if( form.postcode.value.length < 5 )
	{
		errorMessage += " - Postcode is required\n";
	}
	if( form.firstoccupation.value.length < 1 )
	{
		errorMessage += " - First Application Occupation is required\n";
	}
	if( form.firstoccupationyears.value.length < 1 )
	{
		errorMessage += " - First Application Years with Current Employer is required\n";
	}
	if( form.firstbasic.value.length < 1 )
	{
		errorMessage += " - First Application Basic Salary is required\n";
	}
	if( form.purchaseprice.value.length < 1 )
	{
		errorMessage += " - Purchase Price/Valuation is required\n";
	}
	if( form.borrowing.value.length < 1 )
	{
		errorMessage += " - Borrowing Required is required\n";
	}
	if( form.borrowingterm.value.length < 1 )
	{
		errorMessage += " - Borrowing Term is required\n";
	}
	if( errorMessage != "" )
	{
		errorMessage = "Please correct the following items and try again...\n\n" + errorMessage;
		alert( errorMessage );
		return false;
	}
	return true;
}

function checkLifeCoverForm( form )
{
	var errorMessage = "";

	if( form.firstname.value.length < 1 )
	{
		errorMessage += " - First Applicant First name is required\n";
	}
	if( form.lastname.value.length < 1 )
	{
		errorMessage += " - First Applicant Last name is required\n";
	}
	if( form.firstnationality.value.length < 1 )
	{
		errorMessage += " - First Applicant Nationality is required\n";
	}
	if( !validateEmailAddress( form.email.value ) )
	{
		errorMessage += " - A valid email address is required\n";
	}
	if( form.telephone.value.length < 5 )
	{
		errorMessage += " - Telephone number is required\n";
	}	
	if( form.address1.value.length < 1 )
	{
		errorMessage += " - Address is required\n";
	}
	if( form.city.value.length < 1 )
	{
		errorMessage += " - City is required\n";
	}
	if( form.postcode.value.length < 5 )
	{
		errorMessage += " - Postcode is required\n";
	}
	if( form.sumassured.value.length < 1 )
	{
		errorMessage += " - Sum Assured or Monthly Payment is required\n";
	}
	if( form.term.value.length < 1 )
	{
		errorMessage += " - Term is required\n";
	}
	if( errorMessage != "" )
	{
		errorMessage = "Please correct the following items and try again...\n\n" + errorMessage;
		alert( errorMessage );
		return false;
	}
	return true;
}

function checkCommercialInsuranceForm( form )
{
	var errorMessage = "";

	if( form.businessname.value.length < 1 )
	{
		errorMessage += " - Business Name is required\n";
	}
	if( form.businessnature.value.length < 1 )
	{
		errorMessage += " - Business Nature is required\n";
	}
	if( form.address1.value.length < 1 )
	{
		errorMessage += " - Address is required\n";
	}
	if( form.city.value.length < 1 )
	{
		errorMessage += " - City is required\n";
	}
	if( form.postcode.value.length < 5 )
	{
		errorMessage += " - Postcode is required\n";
	}
	if( form.telephone.value.length < 5 )
	{
		errorMessage += " - Telephone number is required\n";
	}
	if( form.yearsinbusiness.value.length < 1 )
	{
		errorMessage += " - Years in Business is required\n";
	}

	if( form.firstname.value.length < 1 )
	{
		errorMessage += " - First name is required\n";
	}
	if( form.lastname.value.length < 1 )
	{
		errorMessage += " - Last name is required\n";
	}
	if( !validateEmailAddress( form.email.value ) )
	{
		errorMessage += " - A valid email address is required\n";
	}

	if( form.security.value.length < 1 )
	{
		errorMessage += " - Door & Window Security type is required\n";
	}
	if( form.wall.value.length < 1 )
	{
		errorMessage += " - Wall Construction is required\n";
	}
	if( form.roof.value.length < 1 )
	{
		errorMessage += " - Roof Construction is required\n";
	}
	if( form.built.value.length < 1 )
	{
		errorMessage += " - Year Built is required\n";
	}
	if( errorMessage != "" )
	{
		errorMessage = "Please correct the following items and try again...\n\n" + errorMessage;
		alert( errorMessage );
		return false;
	}
	return true;
}

function validateEmailAddress( value )
{
	if( /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test( value ) )
	{
		return true;
	}
	else
	{
		return false;
	}
}

function calculateBenefit()
{
	form = document.mortgageProtectionForm;
	if( checkForFloatValue( form.payment.value ) )
	{
		if( checkForFloatValue( form.otherpayment.value ) )
		{
			form.benefit.value = parseFloat( form.payment.value ) + parseFloat( form.otherpayment.value );
		}
		else if( form.otherpayment.value.length > 0 )
		{
			alert( "Other Monthly Payments must be a number to the nearest Pound, eg. 500" );
		}
	}
	else
	{
		alert( "Monthly Mortage/Rent must be a number to the nearest Pound, eg. 400" );
	}
}

function checkForFloatValue( value )
{
	var numerics = "0123456789";
	
	// check a value is actually present
	if( value.length < 1 )
	{
		return false;
	}
	else
	{
		for( i=0; i<value.length; i++ )
		{
			current = value.charAt( i );
			if( numerics.indexOf( current ) == -1 )
			{
				return false;
			}
		}
		return true;
	}
}