// Test to see if a field (string value) has only spaces, tabs and returns
function checkempty(val) {
	for (var i=0; i < val.length; i++) {
		var vchar = val.charAt(i);
		if ((vchar != " ") && (vchar != "\n") && (vchar != "\t")) { 
			return true; 
		}
	}
	return false;
}// End checkempty


// Validate a form with required fields and an email field  
function validateform(theform) 
{

	var error_num = -1; // possible error messages
	var error_message = new Array; // possible error messages
	var required_fields = theform.required.value.split(";"); // create array of required fields
	var email_field = "Email";
	
	error_message[0] = "It looks like you forgot to fill in your email address, which is required.";
	error_message[1] = "Email address is incorrect.";

	var error_required = false; // error 0, keep testing until proven true
	var error_url_atsign = true; // error 1, keep testing until proven false
	var error_url_period = true; // error 1, keep testing until proven false
	var error_field_name = "";
	
	
// check required fields
	for (var i=0; i < required_fields.length; i++) {
		var element_name = required_fields[i];
		var fvalue = theform.elements[element_name].value;
		if (!checkempty(fvalue)) { 
			error_required = true;
			error_field_name = element_name;
			break;
		}
	}

	if (error_required) { 
		error_num = 0; 
	} else { 
// check email address
		fvalue = theform.elements[email_field].value;
		for (var i=0; i < fvalue.length; i++) {
			var vchar = fvalue.charAt(i);
			if (vchar == "@") { error_url_atsign = false; }
			if (vchar == ".") { error_url_period = false; }
		}
		if ((error_url_atsign) || (error_url_period) || (fvalue.length < 5)) {
			error_num = 1;
		}
	}
	
	//write message
	if (error_num != -1) 
	{
		if (error_num == 0)
		{
			alert("It looks like you forgot to fill in your " + error_field_name + ", which is required.");
			theform.elements[element_name].focus();
		}
		else
			alert(error_message[error_num]);	
		
		return (false);	
	} 
	else 
	{
		return (true);	
	}

} // End validateform()




