var FormResources = new Object;FormResources.name_error = "Name is required.";FormResources.address_error = "Address is required.";FormResources.email_error = "Email is required.";FormResources.email_invalid_error = "Email must be well formed.";FormResources.message_error = "Message is required.";var requiredFields = new Array();var firstRun = true;function validateForm (formObject) {  if(firstRun==false)setRequiredFields(true);  errorFields = new Array();  var elemValue, elemName, FormResource, elemType, errorText, tempEmail;  var requiredField = false;  var errors = new Array();  for (x=0; x<formObject.length; x++) { 	  	  this.formElement = formObject.elements[x];	  requiredField = (this.formElement.className == 'required');	  		if(requiredField){		  errorText = "";		  elemName = this.formElement.getAttribute('name');		  elemType = (this.formElement.getAttribute('type'))? this.formElement.getAttribute('type') : this.formElement.type;		  elemValue =	this.formElement.value;						if(elemName == 'email'){				if (!isNotEmpty(elemValue)) errorText = FormResources['email_error'];				if (!errorText && isNotEmpty(elemValue) && !checkEmail(elemValue)) errorText = FormResources['email_invalid_error'];						} else if ((elemName == 'message') && elemType == 'textarea' && !isNotEmpty(elemValue)) {			  errorText = FormResources['message_error'];						} else if (!errorText && elemName == 'name' && elemType == 'text' && !isNotEmpty(elemValue)){			  errorText = FormResources['name_error'];			}			if(firstRun){			requiredFields.push(this.formElement);			}			if(errorText){        errorFields.push(this.formElement);			  errors.push(errorText);			}		}	}// end for loop  firstRun = false;	setRequiredFields(false);	if (errors.length>0) {      	  if(isDOM('errors'))if(!isDOM('errorsList'))getElem('errors').innerHTML='<ul id="errorsList"></ul>';	  if(isDOM('errorsList'))getElem('errorsList').innerHTML = '';	  	  var errorHTML = "";	  for (errorIndex=0; errorIndex < errors.length; errorIndex++) { 	    errorHTML += "<li>&nbsp;"+ errors[errorIndex] +"</li>";	  }	  if(isDOM('errorsList'))getElem('errorsList').innerHTML = errorHTML;	  return false;  } else {	 if(isDOM('errors'))getElem('errors').innerHTML='';  return true;   /// needs to be true for submit  }	}function setRequiredFields (rfoe) {  if(rfoe){	for (x=0; x<requiredFields.length; x++) { 	  if (requiredFields[x].getAttribute('name')=="agree" && BrowserDetect.browser != 'Explorer') {        document.getElementById('agree_div').className = "required";	  } else {		requiredFields[x].className = "required";	  }	}  }else{	for (x=0; x<requiredFields.length; x++) { 	  if (requiredFields[x].getAttribute('name')=="agree" && BrowserDetect.browser != 'Explorer') {        document.getElementById('agree_div').className = "";	  } else {	    requiredFields[x].className = "";	  }	}	for (x=0; x<errorFields.length; x++) { 	  if (errorFields[x].getAttribute('name')=="agree" && BrowserDetect.browser != 'Explorer') {        document.getElementById('agree_div').className = "required";	  } else {	    errorFields[x].className = "required";	  }	}	   }}var gotDOM = false;function isDOM(elemOrIdString){	elemOrIdString = (typeof elemOrIdString == 'string') ? elemOrIdString : elemOrIdString.id;	gotDOM = (document.getElementById(elemOrIdString))? true: false;	return gotDOM;}function isNotEmpty (elemValueString) {	return /\S+/.test(elemValueString);}function isNotChecked (checkedElem) {	return !checkedElem.checked;}function isNotSelected (selectElem) {	var isNotSelected = (selectElem.options[selectElem.selectedIndex].getAttribute('value'))? false : true;	return isNotSelected;}function checkEmail (email) {	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;	return filter.test(email);}function getElem() {  	if(arguments.length > 1)var g_elements = new Array();		var g_element;		for (i = 0; i < arguments.length; i++) {			g_element = (typeof arguments[i] == 'string') ? document.getElementById(arguments[i]) : arguments[i];			if (arguments.length == 1) return g_element;			g_elements.push(g_element);		}	return g_elements;}
