// JavaScript Document

function gotoEmail(formPrefix)
{

	if ( validateEmailForm(formPrefix) ) {
		//submit form
		var form = document.forms[formPrefix + "Form"];
		form.action = "email.asp";
		form.submit();
	}
}

function validateEmailForm(formPrefix)
{
	//Must start as true because we are testing for a logical AND which should be turned off at any error
	var valid_form = true;
	
	//check for DOM support
	if (!(document.getElementsByTagName && document.createElement)) {
		alert ("This browser does not support code validation.  Please use a newer browser.");
		valid_form = false;		
	}
	//we have the proper DOM support, so check for errors
	else {
		//get form fields and initialize other variables
		var fieldSuffix = [];
		fieldSuffix[0] = 'Name';
		fieldSuffix[1] = 'EMail';										 
		var objField;
		var fieldID;
		var err_msg = '';		
		
	for(var i = 0; i < fieldSuffix.length; i++) {
			//get the input tag
			fieldID = formPrefix + fieldSuffix[i];
			objField = document.getElementById(fieldID);
															
			//validate the current field
			switch( fieldSuffix[i] ){
				case "Name":
					err_msg = validateName(objField.value);
					break;
				case "EMail":
					err_msg = validateEmail(objField.value);
					break;
				default:
					err_msg = "";
			}

			//if field is not valid, write a new error message
			if (err_msg != "") {
				valid_form = false;
				//alert("Error in " + fieldSuffix[i]);
				writeError(objField, err_msg);
			}
			//else, field is valid, so clear the error element
			else {
				//alert("Error in " + fieldSuffix[i]);
				clearError(objField);
			}			
		}/**/

	} //end DOM else
	
	return valid_form;
}


function writeError(objField, err_msg)
{
	//create error id string and grab element
	var err_id = objField.id + "_Note";
	var err_p = document.getElementById(err_id);
	
	//check if the error element exists - THIS SHOULD ALWAYS BE TRUE
	if (err_p != null) {
		//update the given text node
		err_p.firstChild.nodeValue = err_msg;
		//assign the classes
		if(!objField.className.match(/error/)){
			objField.className += ' error';
		}
		if(!err_p.className.match(/error/)){
			err_p.className += ' error';
		}		
	}	
}


function clearError(objField)
{
	//create error id string and grab element
	var err_id = objField.id + "_Note";
	var err_p = document.getElementById(err_id);

	//if error element was found (and it should be) clear out field's error class 
	if (err_p != null) {
		err_p.className = err_p.className.replace(/error/, "");
		err_p.firstChild.nodeValue = "required";
		objField.className = objField.className.replace(/error/, "");		
	}
}

function validateName(value)
{
	if(value.length == 0 || value == null){
		return ("Please enter your name");
	}
	else {
		return "";
	}
}


function validateEmail(value)
{
	if (!value.match(/^[a-zA-Z0-9]([-.\w]*[a-zA-Z0-9_+])*@([a-zA-Z0-9][-.\w]*[a-zA-Z0-9]\.)+[a-zA-Z]{2,9}$/)){
		return ("Please enter your email address");
	}
	else {
		return "";
	}
}