var lastErrorField = null;

function validateTextField (formField, formFieldTitle) {
	
	if (formField.value=="") {
		alert ('Please note that "'+formFieldTitle+'" is a required field\n');
		lastErrorField = formField;
		formField.className = "error";
		formField.focus ();
		return false;
	}
	
	return true;
}

function validateEmailAddress (formField, formFieldTitle) {
//	var formFieldValue=formField.value;
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test (formField.value)) {
		return true;
	} else {
		lastErrorField = formField;
		formField.className = "error";
		formField.focus ();
		if (formField.value=="") {
			alert ('Please note that "'+formFieldTitle+'" is a required field\n');
		} else {
			alert ('Your "'+formFieldTitle+'" does not appear to be formatted properly. Make sure it confirms to the following format: name@domain-name\n');
		}
		
		return false;
	}
}

function matchFields (formField1, formField2) {
	if (formField1.value != formField2.value) {
		lastErrorField = formField2;
		formField2.className = "error";
		formField2.focus ();
		alert ("The second eMail address you have provided [" + formField2.value + "] does not match your first entry [" + formField1.value + "].  Please examine the values you have provided and correct the one in error.");
		return false;
	}
	return true;
}

function validateContactForm (theForm) {
	
	var status = true;  // Default to success
	
	if (lastErrorField != null) lastErrorField.className = "";  // Reset formatting for last error field

	if (!validateTextField (theForm.customerName, 'Name')) {
		status = false;
	} else if (!validateEmailAddress (theForm.email, 'eMail Address')) {
		status = false;
	} else if (!validateEmailAddress (theForm.emailConfirm, 'eMail Address')) {
		status = false;
	} else if (!matchFields (theForm.email, theForm.emailConfirm)) {
		status = false;
	} else if (!validateTextField (theForm.phoneNumber, 'Phone')) {
		status = false;
	}
	
	return status;
}