<!--
var lvFields = Array();
var errormessageString = "Invalid entry.";
var errormessageNumber = "Invalid number entered.";
var errormessageBoolean = "Invalid entry.";
var errormessageEmail = "Invalid e-mail address.";
var errormessageRadio = "Please make a selection.";
var fieldDescription = new Array();
var lvSpamField;

//	Field validation object.
//	field => Which field should be validated.
//	type => Type of validation required ('s'tring, 'n'umeric, 'b'oolean, 'e'mail).
//	param1 => 1st validation parameter.
//	param2 => 2nd validation parameter.
function validationField(){
	if(!arguments[0]){
		return false;
	}
	this.field = arguments[0];
	this.type = (arguments[1]) ? arguments[1] : "s";
	this.param1 = (arguments[2]) ? arguments[2] : null;
	this.param2 = (arguments[3]) ? arguments[3] : null;
	return true;
}

function validateEmail(pvStr){
		return pvStr.match(/\b[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}\b/gi);
	}

function validateBoolean(pvBoolean, pvCompare){
	lvCompare = (pvCompare) ? true : false;
	if((pvBoolean && lvCompare) || (!pvBoolean && !lvCompare)){
		return true;
	}else{
		return false;
	}
}

function validateString(pvString, pvMinChars, pvMaxChars){
	if(pvMinChars != null && pvString.length < pvMinChars){
		return false;
	}else if(pvMaxChars != null && pvString.length > pvMaxChars){
		return false;
	}
	return true;
}

function validateNumeric(pvNumber, pvMin, pvMax){
	if(isNaN(parseFloat(pvNumber))){
		return false;
	}
	if(pvMin != null && pvNumber < pvMin){
		return false;
	}
	if(pvMax != null && pvNumber > pvMax){
		return false;
	}
	return true;
}
	
function validateForm(){
	var lvFieldObj;
	for(var lvLoop=0;lvLoop<lvFields.length;lvLoop++){
		lvFieldObj = lvFields[lvLoop];
		var filedDesc = (fieldDescription[lvFieldObj.field.id]) ? fieldDescription[lvFieldObj.field.id] : lvFieldObj.field.id;
		switch(lvFields[lvLoop].type){
			case "s":	if(!validateString(lvFieldObj.field.value,lvFieldObj.param1,lvFieldObj.param2)){
							alert(errormessageString + "\n\n" + filedDesc + " : " + lvFieldObj.field.value);
							lvFieldObj.field.focus();
							return false;
						}
						break;
			case "n":	if(!validateNumeric(lvFieldObj.field.value,lvFieldObj.param1,lvFieldObj.param2)){
							alert(errormessageNumber + "\n\n" + filedDesc + " : " + lvFieldObj.field.value);
							lvFieldObj.field.focus();
							return false;
						}
						break;
			case "b":	if(!validateBoolean(lvFieldObj.field.checked,lvFieldObj.param1)){
							alert(errormessageBoolean + "\n\n" + filedDesc + " : " + lvFields[lvLoop].field.value);
							lvFieldObj.field.focus();
							return false;
						}
						break;
			case "e":	if(!validateEmail(lvFieldObj.field.value)){
							alert(errormessageEmail + "\n\n" + filedDesc + " : " + lvFieldObj.field.value);
							lvFieldObj.field.focus();
							return false;
						}
						break;
			case "r":	var lvValid = false;
						for(var lvLoop = 0;lvLoop < lvFieldObj.field.length;lvLoop++){
							if(lvFieldObj.field[lvLoop].checked){
								lvValid = true;
							}
						}
						if(!lvValid){
							var filedDesc = (fieldDescription[lvFieldObj.field[0].name]) ? fieldDescription[lvFieldObj.field[0].name] : lvFieldObj.field[0].name;
							alert(filedDesc + " : " + errormessageRadio);
							return false;
						}
		}
	}
	if(lvSpamField){
		lvSpamField.value = "false";
	}
	return true;
}
//-->