/***** JAVASCRIPT VALIDATION ****

Checks required fields (i.e. not empty) and email fields (a@b.c)
and displays alerts with the field names - so NAME YOUR FIELDS PROPERLY!

You can either call the function from an image A HREF or from a form ONSUBMIT.

To call the validateForm function via the ONSUBMIT METHOD:
	<FORM ONSUBMIT="return validateForm()">
			- and -
	function validateForm() {
		requiredFields = new Array("fieldName1","fieldName2",...);
		emailFields = new Array("fieldName3",...);
		if (checkRequired(requiredFields) && checkEmail(emailFields))
			return true;
		else
			return false;
	}
	
To call the validateForm function via the A HREF:
	<A HREF="javascript:validateForm();">
				- and -
	function validateForm() {
		requiredFields = new Array("fieldName1","fieldName2",...);
		emailFields = new Array("fieldName3",...);
		if (checkRequired(requiredFields) && checkEmail(emailFields))
			document.forms.formName.submit();
	}

if you have no email fields to validate just amend the if statement as follows:
	if (checkRequired(requiredFields))

at the moment this only really works with text fields, not select dropdowns or checkboxes

*******************************/

function checkRequired(fieldArray) {
	emptyFields = "";
	for (i = 0; i < fieldArray.length; i++) {
		fieldToCheck = fieldArray[i];
		fieldValue = document.forms['feedback'].elements[fieldToCheck].value;
		if (isEmpty(fieldValue)) {
			emptyFields = emptyFields + "\n" + fieldToCheck;
			document.forms['feedback'].elements[fieldToCheck].value = "Please complete"
		}
	}
	if (emptyFields == "") {
		return true;
	} else {
		alert("Please fill in all the required fields.");
		return false;
	}
}

function checkNotValue(field, valueNot) {
	var elField = document.forms['feedback'].elements[field];
	if (elField != null) {
		var fieldValue = elField.value;
		if (fieldValue == valueNot) {
			alert("Please fill in your item(s) of interest.");
			elField.focus();
			return false;
		}
	}
	return true;
}

function checkEmail(fieldArray) {
	emailFields = "";
	for (i = 0; i < fieldArray.length; i++) {
		fieldToCheck = fieldArray[i];
		fieldValue = document.forms['feedback'].elements[fieldToCheck].value;
		if (!isEmail(fieldValue)) {
			emailFields = emailFields + "\n" + fieldToCheck;
			document.forms['feedback'].elements[fieldToCheck].value = "Please enter your email address"
		}
	}
	if (emailFields == "") {
		return true;
	} else {
		alert("Please enter a valid email address.");
		return false;
	}
}

function isEmpty(string) {
	return (string == null || string.length == 0 || string == "Please complete");
}

function isEmail(string) {
	numAts = string.split("@").length-1;
	atPos = string.indexOf("@",1);
	dotPos = string.indexOf(".",atPos+2);
	if (numAts == 1 && atPos > 0 && dotPos > atPos && string.length-2 > dotPos)
		return true;
	else
		return false;
	// this is what we're checking for:
	// (1) only 1 @ char with at least 1 letter in front of it
	// (2) . after @ char with at least 1 letter between @ and .
	// (3) make sure there are at least 2 chars after the .
}




