// Form validation function that contains all the javascript validation for the fields in the default form (form.cfm)
// Returns an object (err) that contains error messages for each field that threw an error
// Requires: validation.js
// Created: 3-Jan-2007

/*
 * Returns a object with the requested id.
 * @param (String) the id of the element wanted.
 * @return (HTMLElement) object with the requested id.
 */
var $;
if (document.getElementById){
    $ = function(name) {return document.getElementById(name);}; //W3C
}
else if (document.all){
    $ = function(name) {return document.all[name];}; // IE 4
}
else if (document.layers){
    $ = function(name) {return document.layers[name];}; // NN4
}

// FUNCTION TO RUN ACTUAL VALIDATION CODE TO VALIDATE FORM
function guestBookValidation(form) {
	var err = new Object();
   
	// name
	if(trimWhiteSpace(form.name.value).length <= 0)
		err.name = "Please enter your name"; 
	 
	// email
	if(trimWhiteSpace(form.email.value) == "")
		err.email = "Please enter your email address";
	else if (!isValidEmailStrict(trimWhiteSpace(form.email.value)))
		err.email = "Please enter a valid email address";
			
	return err;
}

// FUNCTION TO CALL FORM VALIDATION FUNCTION AND DISPLAY APPROPRIATE ERROR MESSAGES
function guestbookErrorHandling(frm){
	// set up error object
	var objErr = new Object();
	objErr = guestBookValidation(frm);
	// determine if error object contains any properties
	var i = 0;
	for (var key in objErr)
		i = i + 1;
	// errors detected - used javascript to display messages where appropriate
	if (i > 0){
		// errGeneral
		$("errGeneral").innerHTML = "<p id='errgen'>There were errors detected in your form. Please see the details below to fix these errors, then try again.</p>"
		
		// name
		if(objErr.name)
			$("errName").innerHTML = "<p id='errormsg'>" + objErr.name + "</p>";
		else
			$("errName").innerHTML = "";
		
		// email
		if(objErr.email)
			$("errEmail2").innerHTML = "<p id='errormsg'>" + objErr.email + "</p>";
		else
			$("errEmail2").innerHTML = "";
		
		//window.location.hash = 'topForm';
		return false;
	}
	
	// no errors detected - submit form for server side validation
	else{
		$("errGeneral").innerHTML = "";
		$("errName").innerHTML = "";
		$("errEmail2").innerHTML = "";
		
		return true;
	}
}
