// 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


// FUNCTION TO RUN ACTUAL VALIDATION CODE TO VALIDATE FORM
function formValidation(form) {
	var err = new Object();
   
	// url
	if(trimWhiteSpace(form.url.value) == "")
		err.url = "Please enter your website's URL";
	// 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 formErrorHandling(frm){
	// set up error object
	var objErr = new Object();
	objErr = formValidation(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
		document.getElementById("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>"
		// url
		if(objErr.url)
			document.getElementById("errURL").innerHTML = "<p id='errormsg'>" + objErr.url + "</p>";
		else
			document.getElementById("errURL").innerHTML = "";
		// email
		if(objErr.email)
			document.getElementById("errEmail").innerHTML = "<p id='errormsg'>" + objErr.email + "</p>";
		else
			document.getElementById("errEmail").innerHTML = "";
		
		window.location.hash = 'topForm';
		return false;
	}
	
	// no errors detected - submit form for server side validation
	else{
		document.getElementById("errGeneral").innerHTML = "";
		document.getElementById("errURL").innerHTML = "";
		document.getElementById("errEmail").innerHTML = "";
		return true;
	}
}