function validateEmail(email_address) {
	if (/\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email_address)){
		return true;
	}
	return false;
}

function verifyContactForm() {
	var onErrorAlert		= true;
	var onErrorMessage	= false;
	var errorMessages		= new Array();
	var focused					= false;
	var formObj					= document.contactForm;

	if (formObj.Name.value == '') {
		errorMessages.push('Please enter your name');
		if(!focused){
			formObj.Name.focus();
			focused = true;
		}
	}

	if (!validateEmail(formObj.Email.value)) {
		errorMessages.push('Please enter a valid email address');
		if(!focused){
			formObj.Email.focus();
			focused = true;
		}
	}
	
	if (formObj.Enquiry.value == '') {
		errorMessages.push('Please enter your enquiry');
		if(!focused){
			formObj.Enquiry.focus();
			focused = true;
		}
	}

	if (formObj.h_formValidated.value != "true") {
		errorMessages.push('To prevent SPAM, we require you to manually enter your name');
		if(!focused){
			formObj.Name.focus();
			focused = true;
		}
	}

	if(errorMessages.length != 0){
		if(onErrorAlert){
				alert(errorMessages[0]);
		}
		if(onErrorMessage){
				oErrorDiv = document.getElementById("error_messages");
				oErrorDiv.innerHTML = "There was a problem with the information you supplied:<br />";
				for(var i=0; i<errorMessages.length; i++){
					oErrorDiv.innerHTML += "<li>" + errorMessages[i] + "</li>";
				}
				oErrorDiv.style.display = "block";
		}
		return false;
	} else {
		formObj.h_fromEmail.value = formObj.Email.value;
		return true;
	}
}

function verifyDealerForm() {
	var onErrorAlert		= true;
	var onErrorMessage	= false;
	var errorMessages		= new Array();
	var focused					= false;
	var formObj					= document.dealerForm;

	if (formObj.Name.value == '') {
		errorMessages.push('Please enter your name');
		if(!focused){
			formObj.Name.focus();
			focused = true;
		}
	}

	if (formObj.CompanyName.value == '') {
		errorMessages.push('Please enter your company name');
		if(!focused){
			formObj.CompanyName.focus();
			focused = true;
		}
	}

	if (!validateEmail(formObj.Email.value)) {
		errorMessages.push('Please enter a valid email address');
		if(!focused){
			formObj.Email.focus();
			focused = true;
		}
	}

	if (formObj.Address.value == '') {
		errorMessages.push('Please enter your address');
		if(!focused){
			formObj.Address.focus();
			focused = true;
		}
	}

	if (formObj.Country.value == '') {
		errorMessages.push('Please enter your country');
		if(!focused){
			formObj.Country.focus();
			focused = true;
		}
	}
	
	if (formObj.Enquiry.value == '') {
		errorMessages.push('Please enter your enquiry');
		if(!focused){
			formObj.Enquiry.focus();
			focused = true;
		}
	}

	if (formObj.h_formValidated.value != "true") {
		errorMessages.push('To prevent SPAM, we require you to manually enter your name');
		if(!focused){
			formObj.Name.focus();
			focused = true;
		}
	}

	if(errorMessages.length != 0){
		if(onErrorAlert){
				alert(errorMessages[0]);
		}
		if(onErrorMessage){
				oErrorDiv = document.getElementById("error_messages");
				oErrorDiv.innerHTML = "There was a problem with the information you supplied:<br />";
				for(var i=0; i<errorMessages.length; i++){
					oErrorDiv.innerHTML += "<li>" + errorMessages[i] + "</li>";
				}
				oErrorDiv.style.display = "block";
		}
		return false;
	} else {
		formObj.h_fromEmail.value = formObj.Email.value;
		return true;
	}
}


function verifyQuestionForm() {
	var onErrorAlert			= true;
	var onErrorMessage		= false;
	var errorMessages			= new Array();
	var focused						= false;
	var formObj						= document.questionForm;
	
	if (formObj.Name.value == '') {
		errorMessages.push('Please enter your name');
		if(!focused){
			formObj.Name.focus();
			focused = true;
		}
	}

	if (!validateEmail(formObj.Email.value)) {
		errorMessages.push('Please enter a valid email address');
		if(!focused){
			formObj.h_fromEmail.focus();
			focused = true;
		}
	}
	
	if (formObj.Question.value == '') {
		errorMessages.push('Please enter your question');
		if(!focused){
			formObj.Question.focus();
			focused = true;
		}
	}

	if (formObj.h_formValidated.value != "true") {
		errorMessages.push('To prevent SPAM, we require you to manually enter your name');
		if(!focused){
			formObj.Name.focus();
			focused = true;
		}
	}

	if(errorMessages.length != 0){
		if(onErrorAlert){
				alert(errorMessages[0]);
		}
		if(onErrorMessage){
				oErrorDiv = document.getElementById("error_messages");
				oErrorDiv.innerHTML = "There was a problem with the information you supplied:<br />";
				for(var i=0; i<errorMessages.length; i++){
					oErrorDiv.innerHTML += "<li>" + errorMessages[i] + "</li>";
				}
				oErrorDiv.style.display = "block";
		}
		return false;

	} else {
		formObj.h_fromEmail.value = formObj.Email.value;
		formObj.h_subject.value += window.parent.document.title;
		formObj.ProductTitle.value = window.parent.document.title;
		formObj.ProductUrl.value = window.parent.document.location;
		return true;
	}

}

function verifyReturnsForm() {
	var onErrorAlert		= true;
	var onErrorMessage	= false;
	var errorMessages		= new Array();
	var focused					= false;
	var formObj					= document.returnsForm;

	if (formObj.Name.value == '') {
		errorMessages.push('Please enter your name');
		if(!focused){
			formObj.Name.focus();
			focused = true;
		}
	}

	if (formObj.Address.value == '') {
		errorMessages.push('Please enter your address');
		if(!focused){
			formObj.Address.focus();
			focused = true;
		}
	}

	if (formObj.Postcode.value == '') {
		errorMessages.push('Please enter your postcode');
		if(!focused){
			formObj.Postcode.focus();
			focused = true;
		}
	}

	if (formObj.ContactNo.value == '') {
		errorMessages.push('Please enter your contact number');
		if(!focused){
			formObj.ContactNo.focus();
			focused = true;
		}
	}


	if (!validateEmail(formObj.Email.value)) {
		errorMessages.push('Please enter a valid email address');
		if(!focused){
			formObj.Email.focus();
			focused = true;
		}
	}

	if (!validateInteger(formObj.OrderNo.value)) {
		errorMessages.push('Please enter a valid order number');
		if(!focused){
			formObj.OrderNo.focus();
			focused = true;
		}
	}

	if (formObj.ConsignmentNo.value == '') {
		errorMessages.push('Please enter your consignment number');
		if(!focused){
			formObj.ConsignmentNo.focus();
			focused = true;
		}
	}

	if (!validateRadio("returnsForm", "ReadTermsAndConditions")) {
		errorMessages.push('Did you read FCW Terms & Conditions?');
		if(!focused){
			formObj.ReadTermsAndConditions[0].focus();
			focused = true;
		}
	}

	if (!validateRadio("returnsForm", "ReadConfirmationEmail")) {
		errorMessages.push('Did you read your order confirmation email?');
		if(!focused){
			formObj.ReadConfirmationEmail[0].focus();
			focused = true;
		}
	}

	if (formObj.TypeOfDamage.value == '') {
		errorMessages.push('Please explain type of damage');
		if(!focused){
			formObj.TypeOfDamage.focus();
			focused = true;
		}
	}

	if (!validateRadio("returnsForm", "SignForGoodsAsDamaged")) {
		errorMessages.push('Did you sign for the goods as Damaged?');
		if(!focused){
			formObj.SignForGoodsAsDamaged[0].focus();
			focused = true;
		}
	}

	if (!validateRadio("returnsForm", "RefuseDelivery")) {
		errorMessages.push('Did you refuse delivery?');
		if(!focused){
			formObj.RefuseDelivery[0].focus();
			focused = true;
		}
	}

	if (formObj.h_formValidated.value != "true") {
		errorMessages.push('To prevent SPAM, we require you to manually enter your name');
		if(!focused){
			formObj.Name.focus();
			focused = true;
		}
	}

	if(errorMessages.length != 0){
		if(onErrorAlert){
				alert(errorMessages[0]);
		}
		if(onErrorMessage){
				oErrorDiv = document.getElementById("error_messages");
				oErrorDiv.innerHTML = "There was a problem with the information you supplied:<br />";
				for(var i=0; i<errorMessages.length; i++){
					oErrorDiv.innerHTML += "<li>" + errorMessages[i] + "</li>";
				}
				oErrorDiv.style.display = "block";
		}
		return false;
	} else {
		formObj.h_fromEmail.value = formObj.Email.value;
		return true;
	}
}


function verifyMailingList() {
	var onErrorAlert		= true;
	var onErrorMessage	= false;
	var errorMessages		= new Array();
	var focused					= false;
	var formObj					= document.mailingForm;

	if (formObj.Name.value == '') {
		errorMessages.push('Please enter your name');
		if(!focused){
			formObj.Name.focus();
			focused = true;
		}
	}

	if (formObj.emailAddress.value == '') {
		errorMessages.push('Please enter your email address');
		if(!focused){
			formObj.emailAddress.focus();
			focused = true;
		}
	}

	if (formObj.h_formValidated.value != "true") {
		errorMessages.push('To prevent SPAM, we require you to manually enter your email address');
		if(!focused){
			formObj.emailAddress.focus();
			focused = true;
		}
	}

	if(errorMessages.length != 0){
		if(onErrorAlert){
				alert(errorMessages[0]);
		}
		if(onErrorMessage){
				oErrorDiv = document.getElementById("error_messages");
				oErrorDiv.innerHTML = "There was a problem with the information you supplied:<br />";
				for(var i=0; i<errorMessages.length; i++){
					oErrorDiv.innerHTML += "<li>" + errorMessages[i] + "</li>";
				}
				oErrorDiv.style.display = "block";
		}
		return false;
	} else {
		return true;
	}
}

function verifyMailingListRemove() {
	var onErrorAlert		= true;
	var onErrorMessage	= false;
	var errorMessages		= new Array();
	var focused					= false;
	var formObj					= document.mailingRemoveForm;

	if (formObj.email.value == '') {
		errorMessages.push('Please enter the email address you wish to remove');
		if(!focused){
			formObj.email.focus();
			focused = true;
		}
	}

	if (formObj.h_formValidated.value != "true") {
		errorMessages.push('To prevent SPAM, we require you to manually enter your email address');
		if(!focused){
			formObj.email.focus();
			focused = true;
		}
	}

	if(errorMessages.length != 0){
		if(onErrorAlert){
				alert(errorMessages[0]);
		}

		return false;
	} else {
		if (confirm("Are you sure you wish to be removed from the mailing list?")) {
			return true;
		} else {
			return false;
		}
	}
}

function verifyClaimLoginForm() {
	var onErrorAlert		= true;
	var onErrorMessage		= false;
	var errorMessages		= new Array();
	var focused				= false;
	var formObj				= document.claimLoginForm;

	if (formObj.consignmentNo.value == '') {
		errorMessages.push('Please enter a consignment no.');
		if(!focused){
			formObj.consignmentNo.focus();
			focused = true;
		}
	}
	
	if (formObj.emailAddress.value == '') {
		errorMessages.push('Please enter an email address');
		if(!focused){
			formObj.emailAddress.focus();
			focused = true;
		}
	}

	if(errorMessages.length != 0){
		if(onErrorAlert){
				alert(errorMessages[0]);
		}

		return false;
	} else {
		return true;
	}
}

function validateInteger(theNumber) {
	if (!theNumber.toString().match(/^[0-9]+$/)) {
		return false;
	} else {
		return true;
	}
}

function validateNumber(theNumber) {
	if (!theNumber.toString().match(/^[-]?\d*\.?\d*$/)) {
		return false;
	} else {
		return true;
	}
}
