function trim(theString){
   return theString.replace(/^\s*|\s*$/g,"");
}
function validateForm(){
	var fieldCheck;
	var formField;
	var comparisonFormField;
	var blnCheck;
	var errorMessage = "";
	var tBackgroundColor = "#efefef";
	var tBorderColor = "#f00";
	var theFocus;

	for (var key in validationFields) {
		fieldCheck = validationFields[key];
		formField = document.getElementById(fieldCheck["name"]);
		try{
			formField.style.backgroundColor = "";
			formField.style.borderColor = "";
		}catch(theError){
		}
	}
	for (var key in validationFields) {
		fieldCheck = validationFields[key];
		formField = document.getElementById(fieldCheck["name"]);
		if (fieldCheck["comparisonType"] != "type" && fieldCheck["comparisonType"] != "field") {
			if(fieldCheck["comparisonType"].length > 0 && fieldCheck["comparisonType"] != 'checked'){
				blnCheck = eval("trim(formField.value)." + fieldCheck["comparisonType"] + fieldCheck["comparisonOperator"] + fieldCheck["comparisonValue"]);
			}else{
				blnCheck = eval("trim(formField.value)" + fieldCheck["comparisonOperator"] + fieldCheck["comparisonValue"]);
			}
			if (!blnCheck) {
				if(errorMessage == ""){ theFocus = formField }
				errorMessage = errorMessage + "\n" + fieldCheck["errorMessage"];
				formField.style.backgroundColor = tBackgroundColor;
				formField.style.borderColor = tBorderColor;
			}
		} else {
			switch (fieldCheck["comparisonValue"]) {
				case "email":
					if (formField.value.length > 0 && !formField.value.match(/^([\w_\.\-])+\@(([\w\-])+\.)+([\w]{2,4})+$/)) {
						if(errorMessage == ""){ theFocus = formField }
						errorMessage = errorMessage + "\n" + fieldCheck["errorMessage"];
						formField.style.backgroundColor = tBackgroundColor;
						formField.style.borderColor = tBorderColor;
					}
					break;
			}
		}
	}

	if (errorMessage) {
		try{
			if(theFocus.type == 'text') {
				theFocus.focus();
			}
		}catch(theError){
		}
		alert(errorMessage);
		return(false);
	}else{
		return(true);
	}
}

validationFields = new Array();
