var itemlength = new Array();var itemlength_counter = 0;var frmName = "";var usedErrorMsg = "";var V2counter = 0;var firstFocus = 0;var vsErrMsgID = "";var allAlert = "";var gAlertMethod = "alert_all";function Validator(frmname, alertMethod) {	this.formobj = document.forms[frmname];	frmName = this.formobj;	if(!this.formobj) {		alert("BUG: could not get Form object " + frmname);		return;	}	// see if an onsubmit was supplied in the form tag itself already	// if so, apply it to old_onsubmit variable	if(this.formobj.onsubmit) {		this.formobj.old_onsubmit = this.formobj.onsubmit;		this.formobj.onsubmit = null;	} else {		this.formobj.old_onsubmit = null;	}	gAlertMethod = alertMethod;		this.formobj.onsubmit = form_submit_handler;	this.addValidation = add_validation;	this.setOnAfterSubmitFunction = onAfterSubmitFunction;	this.clearAllValidations = clear_all_validations;	this.setOnBeforeSubmitFunction = onBeforeSubmitFunction;}function onAfterSubmitFunction(functionname) {	this.formobj.addnlvalidation = functionname;}function onBeforeSubmitFunction(functionname) {	this.formobj.addnlBeforeValidation = functionname;}function clear_all_validations() {	for(var itr=0; itr<this.formobj.elements.length; itr++) {		this.formobj.elements[itr].validationset = null;	}}function form_submit_handler() {	var allDivs = document.getElementsByTagName("div");	for (var i=0; i<allDivs.length; i++) {		var errMsgIDPos = allDivs[i].id.indexOf("ErrMsg");		if (errMsgIDPos != -1) {			removeDiv(allDivs[i].id);		}	}	if (this.addnlBeforeValidation) {		eval("var retBefore = " + this.addnlBeforeValidation + "()");		if (!retBefore) return retBefore;	}	itemlength_counter = 0;	V2counter = 0;	allAlert = "";	var vsInvalid = false;	alertedAll = true;	for(var itr=0; itr<this.elements.length; itr++) {		if(this.elements[itr].validationset && !this.elements[itr].validationset.validate()) {			firstFocus = itr;			vsInvalid = true;			alertedAll = false;		}	}	firstFocus = 0;	if (gAlertMethod=="alert_all_pretty") {		if (!alertedAll) {			if (document.getElementById("mDiv")) document.body.removeChild(mDiv);			var mDiv = document.body.appendChild(document.createElement("div"));			mDiv.className = "alertAllContainer";			mDiv.id = "mDiv"			mDiv.style.position = "absolute";						var mDivTitlebar = mDiv.appendChild(document.createElement("div"));			mDivTitlebar.className = "alertAllTitlebar";			mDivTitlebar.innerHTML = "Please correct the following errors";						mDiv.appendChild(document.createElement("p"));						var mDivMessages = mDiv.appendChild(document.createElement("div"));			mDivMessages.className = "mDivMessages";			mDivMessages.innerHTML = allAlert;			mDiv.appendChild(document.createElement("p"));			var mDivBtnOK = mDiv.appendChild(document.createElement("div"));			mDivBtnOK.className = "alertAllOKButton";			mDivBtnOK.innerHTML = "OK";			mDivBtnOK.onclick = function() {document.body.removeChild(mDiv)}			centerDiv("mDiv");			alertedAll = true;		}	}	if (gAlertMethod=="alert_all") {		if (!alertedAll) {			alert(allAlert);			alertedAll = true;		}	}	if (vsInvalid) {		return false;	}	if(this.addnlvalidation) {		str = " var ret = " + this.addnlvalidation + "()";		eval(str);		if(!ret) return ret;	}	return true;}function centerDiv(element) {    try {        element = document.getElementById(element);    } catch(e) {        return;    }    var my_width  = 0;    var my_height = 0;    if (typeof(window.innerWidth) == "number") {        my_width = window.innerWidth;        my_height = window.innerHeight;    } else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {        my_width = document.documentElement.clientWidth;        my_height = document.documentElement.clientHeight;    } else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {        my_width = document.body.clientWidth;        my_height = document.body.clientHeight;    }    element.style.position = "absolute";    element.style.zIndex   = 100000;    var scrollY = 0;    if (document.documentElement && document.documentElement.scrollTop) {        scrollY = document.documentElement.scrollTop;    } else if (document.body && document.body.scrollTop) {        scrollY = document.body.scrollTop;    } else if (window.pageYOffset) {        scrollY = window.pageYOffset;    } else if (window.scrollY) {        scrollY = window.scrollY;    }    var setX = (my_width - element.offsetWidth) / 2;    var setY = (my_height - element.offsetHeight) / 2 + scrollY;    setX = (setX < 0) ? 0 : setX;    setY = (setY < 0) ? 0 : setY;    element.style.left = setX + "px";    element.style.top = setY + "px";}function add_validation(itemname, descriptor, errstr) {	if(!this.formobj) {		alert("BUG: the form object is not set properly");		return;	}	var item_splitter = itemname.split(";");	var desc_splitter = descriptor.split(";");	for (i=0; i<item_splitter.length; i++) {		var itemobj = this.formobj[item_splitter[i]];		if(!itemobj) {			alert("BUG: Could not get the input object named: " + item_splitter[i]);			return;		}		if (descriptor=="radio_required" || descriptor=="radio_req") {			itemlength[itemlength_counter] = itemobj.length;			itemlength_counter++;			if(!itemobj[0].validationset) {				itemobj[0].validationset = new ValidationSet(itemobj[0]);			}			itemobj[0].validationset.add(descriptor, errstr);		} else {			for (j=0; j<desc_splitter.length; j++) {				if(!itemobj.validationset) {					itemobj.validationset = new ValidationSet(itemobj);				}				itemobj.validationset.add(desc_splitter[j], errstr);			}		}	}}function ValidationDesc(inputitem, desc, error) {	this.desc = desc;	this.error = error;	this.itemobj = inputitem;	this.validate = vdesc_validate;	}function createErrorMsgTag(pID, pItemObj, pUsedErrorMsg, pDesc) {	var oDiv = document.body.appendChild(document.createElement("div"));	var oDivInner = oDiv.appendChild(document.createElement("div"));	oDiv.id = pID;	if (pDesc == "radio_req") {		oDiv.className = "flagGraphicRadio";	} else if (pDesc == "check_req") {		oDiv.className = "flagGraphicCheck";	} else {		oDiv.className = "flagGraphic";	}	oDivInner.className = "flagGraphicInner";	oDiv.style.position = "absolute";	oDiv.style.zIndex = "10000";	oDivInner.style.position = "relative";	oDivInner.innerHTML = "<span style='position: relative; top:2px;'>" + pUsedErrorMsg + "</span>";	oDiv.style.width = (oDivInner.firstChild.offsetWidth + 30) + "px";	var mOffY = 0;	var mOffX = 0;	var mItemObj = pItemObj;	if (pDesc == "radio_req") {		// loop through the doc and find the last array of this radio in group		var allThisRadioGroup = document.getElementsByTagName("input");		//alert(allThisRadioGroup[0].name);		for (i=0; i<allThisRadioGroup.length; i++) {			if (allThisRadioGroup[i].name == pItemObj.name) {				var mObjText = allThisRadioGroup[i].nextSibling.nodeValue;				mObjText = mObjText.replace(/\t/g, "");				mObjText = mObjText.replace(/\n/g, "");				//alert(mObjText + "::" + mObjText.length);				//mOffX = parseInt(mObjText.length) * 8;				mItemObj = allThisRadioGroup[i];				//alert(parseInt(mItemObj.offsetWidth) + mOffX);			}		}		//mOffY = 15;	}	//alert(mItemObj.offsetWidth + "::" + pItemObj.offsetWidth);	setLyr(mItemObj, pID, parseInt(mItemObj.offsetWidth) + mOffX, mOffY);}var alertedAll = false;function vdesc_validate() {	var mv = document.getElementsByName(this.itemobj.name);	if(!V2validateData(this.desc, this.itemobj, this.error)) {		if (gAlertMethod=="alert_pretty") {			new createErrorMsgTag(this.itemobj.name + "ErrMsg", this.itemobj, usedErrorMsg, this.desc);			if (firstFocus==0) {				this.itemobj.focus();				ScrollToElement(this.itemobj);			}			//var vsTimeout = setTimeout("removeDiv('" + this.itemobj.name + "ErrMsg" + "')", 5000);		}		V2counter++;		return false;	}	return true;}function removeDiv(pID) {	var theDiv = document.getElementById(pID);	document.body.removeChild(theDiv);}function ScrollToElement(theElement) {	var selectedPosX = 0;	var selectedPosY = 0;	while(theElement != null) {		selectedPosX += theElement.offsetLeft;		selectedPosY += theElement.offsetTop;		theElement = theElement.offsetParent;	}	if (selectedPosY > 25) selectedPosY = selectedPosY - 25;	window.scrollTo(selectedPosX, selectedPosY);}function ValidationSet(inputitem) {	this.vSet = new Array();	this.add = add_validationdesc;	this.validate = vset_validate;	this.itemobj = inputitem;}function add_validationdesc(desc, error) {	this.vSet[this.vSet.length] = new ValidationDesc(this.itemobj,desc,error);}function vset_validate() {	for(var itr=0; itr<this.vSet.length; itr++) {		if(!this.vSet[itr].validate()) {			return false;		}	}	return true;}function validateEmailv2(email) {	// a very simple email validation checking. 	// you can add more complex email checking if it helps 	if(email.length<=0) {		return true;	}	var splitted = email.match("^(.+)@(.+)$");	if(splitted==null) return false;	if(splitted[1]!=null) {		var regexp_user = /^\"?[\w-_\.]*\"?$/;		if(splitted[1].match(regexp_user)==null) return false;	}	if(splitted[2]!=null) {		var regexp_domain = /^[\w-\.]*\.[A-Za-z]{2,4}$/;		if(splitted[2].match(regexp_domain)==null) {			var regexp_ip = /^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;			if(splitted[2].match(regexp_ip)==null) return false;		}		return true;	}	return false;}function changeLabel(startObj, pLabel, pColor) {	var done = 0;	var mChildNodeText;	var mChildNode;	var theNode = startObj.parentNode;	var cnPos;	while (done==0) {		for (var nLength=0; nLength<theNode.childNodes.length; nLength++) {			mChildNodeText = theNode.childNodes[nLength].innerHTML;			if (mChildNodeText==undefined || mChildNodeText==null || mChildNodeText=="") {			} else {				cnPos = mChildNodeText.indexOf(pLabel);				if (cnPos==0) {					mChildNode = theNode.childNodes[nLength];					done = 1;				}			}		}		theNode = theNode.parentNode;	}	mChildNode.style.color = pColor;}function V2validateData(strValidateStr, objValue, strError) {		var epos = strValidateStr.search("=");	var command  = "";	var cmdvalue = "";	var strErrorAlertAllPretty = strError;	if(epos >= 0) {		command  = strValidateStr.substring(0, epos);		cmdvalue = strValidateStr.substr(epos+1);	} else {		command = strValidateStr;	}	switch(command) {		case "req":		case "required": {			if(eval(objValue.value.length)==0) {				if(!strError || strError.length==0) {					var mv = document.getElementsByName(objValue.name);					if (mv[0].getAttribute("label")) {						strError = mv[0].getAttribute("label") + " is a required field.";					} else {						strError = objValue.name + " : Required Field";					}				}				switch (gAlertMethod) {					case "alert_single":						alert(strError);						return false;						break;					case "alert_pretty":						usedErrorMsg = strError;						break;					case "alert_all":						allAlert += strError + "\n";						break;					case "alert_all_pretty":						if(!strErrorAlertAllPretty || strErrorAlertAllPretty.length==0) {							if (mv[0].getAttribute("label")) {								strErrorAlertAllPretty = "<span class='fieldID'>" + mv[0].getAttribute("label") + "</span> is a required field.";							} else {								strErrorAlertAllPretty = "<span class='fieldID'>" + objValue.name + "</span> : Required Field";							}						}						allAlert += strErrorAlertAllPretty + "<br />";						break;				}				return false;			}			break;		}		case "compare":		case "comp": {			if(objValue.value!=eval("document." + frmName.name + "." + cmdvalue + ".value")) {				if(!strError || strError.length==0) {					var mv = document.getElementsByName(objValue.name);					if (mv[0].getAttribute("label")) {						//strError = mv[0].getAttribute("label") + "[s] do not match.";						strError = "Compared fields do not match.";					} else {						strError = "Compared fields do not match.";					}				}				switch (gAlertMethod) {					case "alert_single":						alert(strError);						return false;						break;					case "alert_pretty":						usedErrorMsg = strError;						break;					case "alert_all":						allAlert += strError + "\n";						break;					case "alert_all_pretty":						if(!strErrorAlertAllPretty || strErrorAlertAllPretty.length==0) {							if (mv[0].getAttribute("label")) {								strErrorAlertAllPretty = "Compared fields do not match.";							} else {								strErrorAlertAllPretty = "Compared fields do not match.";							}						}						allAlert += strErrorAlertAllPretty + "<br />";						break;				}				return false;			}			break;		}		case "maxlength":		case "maxlen": {			if(eval(objValue.value.length) > eval(cmdvalue)) {				if(!strError || strError.length==0) {					var mv = document.getElementsByName(objValue.name);					if (mv[0].getAttribute("label")) {						strError = mv[0].getAttribute("label") + " can only contain up to " + cmdvalue + " characters.";					} else {						strError = objValue.name + " : " + cmdvalue + " characters maximum";					}				}				switch (gAlertMethod) {					case "alert_single":						alert(strError + "\n[Current length = " + objValue.value.length + "]");						return false;						break;					case "alert_pretty":						usedErrorMsg = strError + "\n[Current length = " + objValue.value.length + "]";						break;					case "alert_all":						allAlert += strError + "\n";						break;					case "alert_all_pretty":						if(!strErrorAlertAllPretty || strErrorAlertAllPretty.length==0) {							if (mv[0].getAttribute("label")) {								strErrorAlertAllPretty = "<span class='fieldID'>" + mv[0].getAttribute("label") + "</span> can only contain up to " + cmdvalue + " characters.";							} else {								strErrorAlertAllPretty = "<span class='fieldID'>" + objValue.name + "</span> : " + cmdvalue + " characters maximum";							}						}						allAlert += strErrorAlertAllPretty + "<br />";						break;				}				return false;			}			break;		}		case "minlength":		case "minlen": {			if(eval(objValue.value.length) < eval(cmdvalue)) {				if(!strError || strError.length==0) {					var mv = document.getElementsByName(objValue.name);					if (mv[0].getAttribute("label")) {						strError = mv[0].getAttribute("label") + " must contain at least " + cmdvalue + " characters.";					} else {						strError = objValue.name + " : " + cmdvalue + " characters minimum";					}				}				switch (gAlertMethod) {					case "alert_single":						alert(strError + "\n[Current length = " + objValue.value.length + "]");						return false;						break;					case "alert_pretty":						usedErrorMsg = strError + "\n[Current length = " + objValue.value.length + "]";						break;					case "alert_all":						allAlert += strError + "\n";						break;					case "alert_all_pretty":						if(!strErrorAlertAllPretty || strErrorAlertAllPretty.length==0) {							if (mv[0].getAttribute("label")) {								strErrorAlertAllPretty = "<span class='fieldID'>" + mv[0].getAttribute("label") + "</span> must contain at least " + cmdvalue + " characters.";							} else {								strErrorAlertAllPretty = "<span class='fieldID'>" + objValue.name + "</span> : " + cmdvalue + " characters minimum";							}						}						allAlert += strErrorAlertAllPretty + "<br />";						break;				}				return false;			}			break;		}		case "alphanum":		case "alphanumeric": {			var charpos = objValue.value.search("[^A-Za-z0-9 ]");			if(objValue.value.length > 0 &&  charpos >= 0) {				if(!strError || strError.length==0) {					var mv = document.getElementsByName(objValue.name);					if (mv[0].getAttribute("label")) {						strError = mv[0].getAttribute("label") + " can only contain alpha-numberic characters.";					} else {						strError = objValue.name + ": Only alpha-numeric characters allowed ";					}				}				switch (gAlertMethod) {					case "alert_single":						alert(strError + "\n [Error character position " + eval(charpos+1) + "]");						return false;						break;					case "alert_pretty":						usedErrorMsg = strError + "\n [Error character position " + eval(charpos+1) + "]";						break;					case "alert_all":						allAlert += strError + "\n";						break;					case "alert_all_pretty":						if(!strErrorAlertAllPretty || strErrorAlertAllPretty.length==0) {							if (mv[0].getAttribute("label")) {								strErrorAlertAllPretty = "<span class='fieldID'>" + mv[0].getAttribute("label") + "</span> can only contain alpha-numberic characters.";							} else {								strErrorAlertAllPretty = "<span class='fieldID'>" + objValue.name + "</span>: Only alpha-numeric characters allowed ";							}						}						allAlert += strErrorAlertAllPretty + "<br />";						break;				}				return false;			}			break;		}		case "num":		case "numeric": {			var charpos = objValue.value.search("[^0-9]");			if(objValue.value.length > 0 &&  charpos >= 0) {				if(!strError || strError.length==0) {					var mv = document.getElementsByName(objValue.name);					if (mv[0].getAttribute("label")) {						strError = mv[0].getAttribute("label") + " can only contain numeric characters.";					} else {						strError = objValue.name + ": Only digits allowed ";					}				}				switch (gAlertMethod) {					case "alert_single":						alert(strError + "\n [Error character position " + eval(charpos+1) + "]");						return false;						break;					case "alert_pretty":						usedErrorMsg = strError + "\n [Error character position " + eval(charpos+1) + "]";						break;					case "alert_all":						allAlert += strError + "\n";						break;					case "alert_all_pretty":						if(!strErrorAlertAllPretty || strErrorAlertAllPretty.length==0) {							if (mv[0].getAttribute("label")) {								strErrorAlertAllPretty = "<span class='fieldID'>" + mv[0].getAttribute("label") + "</span> can only contain numeric characters.";							} else {								strErrorAlertAllPretty = "<span class='fieldID'>" + objValue.name + "</span>: Only digits allowed ";							}						}						allAlert += strErrorAlertAllPretty + "<br />";						break;				}				return false;			}			break;		}		case "numhyphen":		case "numerichyphen": {			var charpos = objValue.value.search("[^0-9\-]");			if(objValue.value.length > 0 &&  charpos >= 0) {				if(!strError || strError.length==0) {					var mv = document.getElementsByName(objValue.name);					if (mv[0].getAttribute("label")) {						strError = mv[0].getAttribute("label") + " can only contain numeric characters and hyphens.";					} else {						strError = objValue.name + ": Only digits allowed ";					}				}				switch (gAlertMethod) {					case "alert_single":						alert(strError + "\n [Error character position " + eval(charpos+1) + "]");						return false;						break;					case "alert_pretty":						usedErrorMsg = strError + "\n [Error character position " + eval(charpos+1) + "]";						break;					case "alert_all":						allAlert += strError + "\n";						break;					case "alert_all_pretty":						if(!strErrorAlertAllPretty || strErrorAlertAllPretty.length==0) {							if (mv[0].getAttribute("label")) {								strErrorAlertAllPretty = "<span class='fieldID'>" + mv[0].getAttribute("label") + "</span> can only contain numeric characters and hyphens.";							} else {								strErrorAlertAllPretty = "<span class='fieldID'>" + objValue.name + "</span>: Only digits allowed ";							}						}						allAlert += strErrorAlertAllPretty + "<br />";						break;				}				return false;			}			break;		}		case "alphabetic":		case "alpha": {			var charpos = objValue.value.search("[^A-Za-z]");			if(objValue.value.length > 0 && charpos >= 0) {				if(!strError || strError.length==0) {					var mv = document.getElementsByName(objValue.name);					if (mv[0].getAttribute("label")) {						strError = mv[0].getAttribute("label") + " can only contain alphabetic characters.";					} else {						strError = objValue.name+": Only alphabetic characters allowed ";					}				}				switch (gAlertMethod) {					case "alert_single":						alert(strError + "\n [Error character position " + eval(charpos+1) + "]");						return false;						break;					case "alert_pretty":						usedErrorMsg = strError + "\n [Error character position " + eval(charpos+1) + "]";						break;					case "alert_all":						allAlert += strError + "\n";						break;					case "alert_all_pretty":						if(!strErrorAlertAllPretty || strErrorAlertAllPretty.length==0) {							if (mv[0].getAttribute("label")) {								strErrorAlertAllPretty = "<span class='fieldID'>" + mv[0].getAttribute("label") + "</span> can only contain alphabetic characters.";							} else {								strErrorAlertAllPretty = "<span class='fieldID'>" + objValue.name+"</span>: Only alphabetic characters allowed ";							}						}						allAlert += strErrorAlertAllPretty + "<br />";						break;				}				return false;			}			break;		}		case "alnumhyphen": {			var charpos = objValue.value.search("[^A-Za-z0-9\-_ ]");			if(objValue.value.length > 0 &&  charpos >= 0) {				if(!strError || strError.length==0) {					var mv = document.getElementsByName(objValue.name);					if (mv[0].getAttribute("label")) {						strError = mv[0].getAttribute("label") + " can only contain the following characters A-Z,a-z,0-9,- and _ (or [space]).";					} else {						strError = objValue.name + ": characters allowed are A-Z,a-z,0-9,- and _";					}				}				switch (gAlertMethod) {					case "alert_single":						alert(strError + "\n [Error character position " + eval(charpos+1) + "]");						return false;						break;					case "alert_pretty":						usedErrorMsg = strError + "\n [Error character position " + eval(charpos+1) + "]";						break;					case "alert_all":						allAlert += strError + "\n";						break;					case "alert_all_pretty":						if(!strErrorAlertAllPretty || strErrorAlertAllPretty.length==0) {							if (mv[0].getAttribute("label")) {								strErrorAlertAllPretty = "<span class='fieldID'>" + mv[0].getAttribute("label") + "</span> can only contain the following characters A-Z,a-z,0-9,- and _ (or [space]).";							} else {								strErrorAlertAllPretty = "<span class='fieldID'>" + objValue.name + "</span>: characters allowed are A-Z,a-z,0-9,- and _";							}						}						allAlert += strErrorAlertAllPretty + "<br />";						break;				}				return false;			}			break;		}		case "email": {			if(!validateEmailv2(objValue.value)) {				if(!strError || strError.length==0) {					var mv = document.getElementsByName(objValue.name);					if (mv[0].getAttribute("label")) {						strError = mv[0].getAttribute("label") + " is not a valid email address.";					} else {						strError = objValue.name+": Enter a valid Email address";					}				}				switch (gAlertMethod) {					case "alert_single":						alert(strError);						return false;						break;					case "alert_pretty":						usedErrorMsg = strError;						break;					case "alert_all":						allAlert += strError + "\n";						break;					case "alert_all_pretty":						if(!strErrorAlertAllPretty || strErrorAlertAllPretty.length==0) {							if (mv[0].getAttribute("label")) {								strErrorAlertAllPretty = "<span class='fieldID'>" + mv[0].getAttribute("label") + "</span> is not a valid email address.";							} else {								strErrorAlertAllPretty = "<span class='fieldID'>" + objValue.name+"</span>: Enter a valid Email address";							}						}						allAlert += strErrorAlertAllPretty + "<br />";						break;				}				return false;			}			break;		}		case "lt":		case "lessthan": {			//if(isNaN(objValue.value)) {			//	alert(objValue.name + ": Should be a number");			//	return false;			//}						if(eval(objValue.value.length) >=  eval(cmdvalue)) {				//alert(eval(cmdvalue));				if(!strError || strError.length==0) {					var mv = document.getElementsByName(objValue.name);					if (mv[0].getAttribute("label")) {						strError = "The value for " + mv[0].getAttribute("label") + " should be less than " + cmdvalue + ".";					} else {						strError = objValue.name + " : value should be less than " + cmdvalue;					}				}				switch (gAlertMethod) {					case "alert_single":						alert(strError);						return false;						break;					case "alert_pretty":						usedErrorMsg = strError;						break;					case "alert_all":						allAlert += strError + "\n";						break;					case "alert_all_pretty":						if(!strErrorAlertAllPretty || strErrorAlertAllPretty.length==0) {							if (mv[0].getAttribute("label")) {								strErrorAlertAllPretty = "The value for " + "<span class='fieldID'>" + mv[0].getAttribute("label") + "</span> should be less than " + cmdvalue + ".";							} else {								strErrorAlertAllPretty = "<span class='fieldID'>" + objValue.name + "</span> : value should be less than " + cmdvalue;							}						}						allAlert += strErrorAlertAllPretty + "<br />";						break;				}				return false;			}			break;		}		case "gt":		case "greaterthan": {			if(isNaN(objValue.value)) {				alert(objValue.name + ": Should be a number");				return false;			}			if(eval(objValue.value) <=  eval(cmdvalue)) {				if(!strError || strError.length==0) {					var mv = document.getElementsByName(objValue.name);					if (mv[0].getAttribute("label")) {						strError = "The value for " + mv[0].getAttribute("label") + " should be greater than " + cmdvalue + ".";					} else {						strError = objValue.name + " : value should be greater than " + cmdvalue;					}				}				switch (gAlertMethod) {					case "alert_single":						alert(strError);						return false;						break;					case "alert_pretty":						usedErrorMsg = strError;						break;					case "alert_all":						allAlert += strError + "\n";						break;					case "alert_all_pretty":												if(!strErrorAlertAllPretty || strErrorAlertAllPretty.length==0) {							if (mv[0].getAttribute("label")) {								strErrorAlertAllPretty = "The value for " + "<span class='fieldID'>" + mv[0].getAttribute("label") + "</span> should be greater than " + cmdvalue + ".";							} else {								strErrorAlertAllPretty = "<span class='fieldID'>" + objValue.name + "</span> : value should be greater than " + cmdvalue;							}						}						allAlert += strErrorAlertAllPretty + "<br />";						break;				}				return false;			}			break;		}		case "regexp": {			if(objValue.value.length > 0) {				if(!objValue.value.match(cmdvalue)) {					if(!strError || strError.length==0) {						var mv = document.getElementsByName(objValue.name);						if (mv[0].getAttribute("label")) {							strError = mv[0].getAttribute("label") + " appears to have invalid characters.";						} else {							strError = objValue.name + ": Invalid characters found";						}					}					switch (gAlertMethod) {						case "alert_single":							alert(strError);							return false;							break;						case "alert_pretty":							usedErrorMsg = strError;							break;						case "alert_all":							allAlert += strError + "\n";							break;						case "alert_all_pretty":							if(!strErrorAlertAllPretty || strErrorAlertAllPretty.length==0) {								if (mv[0].getAttribute("label")) {									strErrorAlertAllPretty ="<span class='fieldID'>" +  mv[0].getAttribute("label") + "</span> appears to have invalid characters.";								} else {									strErrorAlertAllPretty = "<span class='fieldID'>" + objValue.name + "</span>: Invalid characters found";								}							}							allAlert += strErrorAlertAllPretty + "<br />";							break;					}					return false;				}			}			break;		}		case "dontselect": {			if(objValue.selectedIndex==null) {				alert("BUG: dontselect command for non-select Item");				return false;			}			if(objValue.selectedIndex==eval(cmdvalue)) {				if(!strError || strError.length==0) {					var mv = document.getElementsByName(objValue.name);					if (mv[0].getAttribute("label")) {						//strError = "Please select an option from " + mv[0].getAttribute("label") + " other than " + objValue[objValue.selectedIndex].text + ".";						strError = "Please select an option from " + mv[0].getAttribute("label") + ".";					} else {						strError = objValue.name + ": Please Select one option";					}				}				switch (gAlertMethod) {					case "alert_single":						alert(strError);						return false;						break;					case "alert_pretty":						usedErrorMsg = strError;						break;					case "alert_all":						allAlert += strError + "\n";						break;					case "alert_all_pretty":						if(!strErrorAlertAllPretty || strErrorAlertAllPretty.length==0) {							if (mv[0].getAttribute("label")) {							//strError = "Please select an option from " + mv[0].getAttribute("label") + " other than " + objValue[objValue.selectedIndex].text + ".";								strErrorAlertAllPretty = "Please select an option from " + "<span class='fieldID'>" + mv[0].getAttribute("label") + "</span>.";							} else {								strErrorAlertAllPretty = "<span class='fieldID'>" + objValue.name + "</span>: Please Select one option";							}						}						allAlert += strErrorAlertAllPretty + "<br />";						break;				}				return false;			}			break;		}		case "radio_req":		case "radio_required": {			var chosen = false;			for (i=0; i<itemlength[itemlength_counter]; i++) {				if (eval("document."+frmName.name+"." + objValue.name + "["+i+"].checked")) {					chosen = true;				}			}			itemlength_counter++;			if (!chosen) {				if(!strError || strError.length==0) {					var mv = document.getElementsByName(objValue.name);					if (mv[0].getAttribute("label")) {						strError = mv[0].getAttribute("label") + " is a required field.";					} else {						strError = objValue.name + " : Required Field";					}				}				switch (gAlertMethod) {					case "alert_single":						alert(strError);						return false;						break;					case "alert_pretty":						usedErrorMsg = strError;						break;					case "alert_all":						allAlert += strError + "\n";						break;					case "alert_all_pretty":						if(!strErrorAlertAllPretty || strErrorAlertAllPretty.length==0) {							if (mv[0].getAttribute("label")) {								strErrorAlertAllPretty = "<span class='fieldID'>" + mv[0].getAttribute("label") + "</span> is a required field.";							} else {								strErrorAlertAllPretty = "<span class='fieldID'>" + objValue.name + "</span> : Required Field";							}						}						allAlert += strErrorAlertAllPretty + "<br />";						break;				}				return false;			}			break;		}		case "check_req":		case "check_required": {			if(!objValue.checked) {				if(!strError || strError.length==0) {					var mv = document.getElementsByName(objValue.name);					if (mv[0].getAttribute("label")) {						strError = mv[0].getAttribute("label") + " is a required field.";					} else {						strError = objValue.name + " : Required Field";					}				}				switch (gAlertMethod) {					case "alert_single":						alert(strError);						return false;						break;					case "alert_pretty":						usedErrorMsg = strError;						break;					case "alert_all":						allAlert += strError + "\n";						break;					case "alert_all_pretty":						if(!strErrorAlertAllPretty || strErrorAlertAllPretty.length==0) {							if (mv[0].getAttribute("label")) {								strErrorAlertAllPretty = "<span class='fieldID'>" + mv[0].getAttribute("label") + "</span> is a required field.";							} else {								strErrorAlertAllPretty = "<span class='fieldID'>" + objValue.name + "</span> : Required Field";							}						}						allAlert += strErrorAlertAllPretty + "<br />";						break;				}				return false;			}			break;		}	}	return true;}function findPos(obj) {	var curleft = curtop = 0;	if (obj.offsetParent) {		curleft = obj.offsetLeft		curtop = obj.offsetTop		while (obj = obj.offsetParent) {			curleft += obj.offsetLeft			curtop += obj.offsetTop		}	}	return [curleft,curtop];}function setLyr(obj, lyr, offX, offY) {	var coors = findPos(obj);	var x = document.getElementById(lyr);	x.style.top = coors[1] + offY + 'px';	x.style.left = coors[0] + offX + 'px';}/////////////////////////////// NON-VALIDATOR FUNCTIONS ///////////////////////////////function applyParamToInput(param, pFormName, pInputName) {	var mForm = eval("document." + pFormName);	if (mForm == undefined || mForm == null) return;	var mInputName = eval("document." + pFormName + "." + pInputName);	if (mInputName == undefined || mInputName == null) return;	eval("document." + pFormName + "." + pInputName + ".value = '" + getParam(param) + "';");}function getParam(param) {	var q = document.location.search || document.location.hash;	if (param == null) { return q; }	if(q) {		var pairs = q.substring(1).split("&");		for (var i=0; i < pairs.length; i++) {			if (pairs[i].substring(0, pairs[i].indexOf("=")) == param) {				return pairs[i].substring((pairs[i].indexOf("=")+1));			}		}	}	return "";}function showFW(pElmnt) {	if (pElmnt == null) return;	document.getElementById(pElmnt).style.display = "block";}