var undef;var isFocusSet;var internalRules;function performCheck(formName,strRules,alertType){isFocusSet=false;var rules=makeRules(strRules);internalRules=makeRules(strRules);this.f=document.forms[formName];if(!this.f){debug("DEBUG: could not find form object "+formName);return null}var errors=new Array();var ix=0;if(rules.length){for(var i=0;i<rules.length;i++){var aRule=rules[i];if(aRule!=null){highlight(getField(f,aRule.el),inputclassnormal)}}}else{if(rules!=null){highlight(getField(f,rules.el),inputclassnormal)}}if(rules.length){for(var i=0;i<rules.length;i++){var aRule=rules[i];var anErr=null;if(aRule==null){}else{if(aRule.ruleType=="pre-condition"||aRule.ruleType=="post-condition"||aRule.ruleType=="andor-operator"){}else{if(aRule.ruleName=="implies"){pre=aRule.el;post=aRule.comparisonValue;var oldClassName=getField(f,rules[pre].el).className;if(checkRule(f,rules[pre])==null&&checkRule(f,rules[post])!=null){anErr=deleteInline(aRule.alertMsg)+"__inline__"+rules[post].el}else{if(checkRule(f,rules[pre])!=null){getField(f,rules[pre].el).className=oldClassName}}}else{anErr=checkRule(f,aRule)}}}if(anErr!=null){errors[ix]=anErr;ix++}}}else{var myRule=rules;err=checkRule(f,myRule);if(err!=null){errors[0]=err}}return displayAlert(errors,alertType)}function checkKeyPress(ev,obj,strRules){var keyCode=null;if(getBrowser()=="msie"){keyCode=window.event.keyCode}else{if(getBrowser()=="netscape"||getBrowser()=="firefox"){keyCode=ev.which}}var rules=makeRules(strRules);var keyAllowed=true;if(rules.length){for(var i=0;i<rules.length;i++){var aRule=rules[i];if(aRule.ruleName=="keypress"&&aRule.el==obj.name){keyAllowed=isKeyAllowed(keyCode,aRule.comparisonValue);break}}}else{var aRule=rules;if(aRule.ruleName=="keypress"&&aRule.el==obj.name){keyAllowed=isKeyAllowed(keyCode,aRule.comparisonValue)}}if(!keyAllowed){if(getBrowser()=="msie"){window.event.keyCode=0}else{if(getBrowser()=="netscape"||getBrowser()=="firefox"){ev.preventDefault();ev.stopPropagation();ev.returnValue=false}}}return false}function displayAlert(messages,alertType){var retval=null;clearAllInlineSpans();if(alertType=="classic"){retval=displayClassic(messages)}else{if(alertType=="innerHtml"){retval=displayInnerHtml(messages)}else{if(alertType=="inline"){retval=displayInline(messages)}else{if(alertType=="jsVar"){retval=displayJsVar(messages)}else{debug("DEBUG: alert type "+alertType+" not supported")}}}}return retval}function displayClassic(messages){var str="";if(messages!=null&&messages.length>0){if(strTrim(HEADER_MSG).length>0){str+=HEADER_MSG+"\n\n"}for(var i=0;i<messages.length;i++){str+=" "+deleteInline(messages[i])+"\n"}if(strTrim(FOOTER_MSG).length>0){str+="\n"+FOOTER_MSG}alert(str);return false}else{return true}}function displayInnerHtml(messages){if(messages!=null&&messages.length>0){var str="";if(strTrim(HEADER_MSG).length>0){str+=HEADER_MSG}str+="<ul>";for(var i=0;i<messages.length;i++){str+="<li>"+deleteInline(messages[i])+"</li>"}str+="</ul>";if(strTrim(FOOTER_MSG).length>0){str+=FOOTER_MSG}document.getElementById(errorsdiv).innerHTML=str;document.getElementById(errorsdiv).className=innererror;document.getElementById(errorsdiv).style.display="block";return false}else{document.getElementById(errorsdiv).innerHTML="";document.getElementById(errorsdiv).className="";document.getElementById(errorsdiv).style.display="none";return true}}function displayInline(messages){if(messages!=null&&messages.length>0){var genericErrors=new Array();var genericErrIndex=0;for(var i=0;i<messages.length;i++){var elName=messages[i].substring(messages[i].indexOf("__inline__")+10);if(document.getElementById(errorsdiv+"_"+elName)){document.getElementById(errorsdiv+"_"+elName).innerHTML=deleteInline(messages[i]);document.getElementById(errorsdiv+"_"+elName).className=innererror;document.getElementById(errorsdiv+"_"+elName).style.display=""}else{genericErrors[genericErrIndex]=messages[i];genericErrIndex++}}if(genericErrIndex>0){displayInnerHtml(genericErrors)}return false}else{return true}}function clearAllInlineSpans(){var allDivs=document.getElementsByTagName("span");for(var j=0;j<allDivs.length;j++){var idName=allDivs[j].id;if(idName.indexOf(errorsdiv+"_")==0){document.getElementById(idName).innerHTML="";document.getElementById(idName).className="";document.getElementById(idName).style.display="none"}}}function displayJsVar(messages){document.getElementById(errorsdiv).className="";document.getElementById(errorsdiv).style.display="none";if(messages!=null&&messages.length>0){for(var i=0;i<messages.length;i++){messages[i]=deleteInline(messages[i])}var str="";str+="<script>var jsErrors;<\/script>";document.getElementById(errorsdiv).innerHTML=str;jsErrors=messages;return false}else{document.getElementById(errorsdiv).innerHTML="<script>var jsErrors;<\/script>";return true}}function rule(el,ruleName,comparisonValue,alertMsg,ruleType){if(!checkArguments(arguments)){return false}tmp=el.split(":");nameDisplayed="";if(tmp.length==2){nameDisplayed=tmp[1];el=tmp[0]}this.el=el;this.nameDisplayed=nameDisplayed;this.ruleName=ruleName;this.comparisonValue=comparisonValue;this.ruleType=ruleType;if(alertMsg==undef||alertMsg==null){this.alertMsg=getDefaultMessage(el,nameDisplayed,ruleName,comparisonValue)+"__inline__"+this.el}else{this.alertMsg=alertMsg+"__inline__"+this.el}}function checkRule(f,myRule){retVal=null;if(myRule!=null){if(myRule.ruleName=="custom"){var customFunction=" retVal = "+myRule.el;eval(customFunction)}else{if(myRule.ruleName=="and"){var op_1=myRule.el;var op_next=myRule.comparisonValue;if(checkRule(f,internalRules[op_1])!=null){retVal=myRule.alertMsg;if(myRule.ruleType=="pre-condition"||myRule.ruleType=="andor-operator"){}}else{var op_k=op_next.split("-");for(var k=0;k<op_k.length;k++){if(checkRule(f,internalRules[op_k[k]])!=null){retVal=myRule.alertMsg;if(myRule.ruleType=="pre-condition"||myRule.ruleType=="andor-operator"){}break}}}}else{if(myRule.ruleName=="or"){var op_1=myRule.el;var op_next=myRule.comparisonValue;var success=false;if(checkRule(f,internalRules[op_1])==null){success=true}else{if(myRule.ruleType=="pre-condition"||myRule.ruleType=="andor-operator"){}var op_k=op_next.split("-");for(var k=0;k<op_k.length;k++){if(checkRule(f,internalRules[op_k[k]])==null){success=true;break}else{if(myRule.ruleType=="pre-condition"||myRule.ruleType=="andor-operator"){}}}}if(success){highlight(getField(f,internalRules[op_1].el),inputclassnormal);var op_k=op_next.split("-");for(var k=0;k<op_k.length;k++){highlight(getField(f,internalRules[op_k[k]].el),inputclassnormal)}}else{retVal=myRule.alertMsg}}else{el=getField(f,myRule.el);if(el==null){debug("DEBUG: could not find element "+myRule.el);return null}var err=null;if(el.type){if(el.type=="hidden"||el.type=="text"||el.type=="password"||el.type=="textarea"){err=checkText(el,myRule)}else{if(el.type=="checkbox"){err=checkCheckbox(el,myRule)}else{if(el.type=="select-one"){err=checkSelOne(el,myRule)}else{if(el.type=="select-multiple"){err=checkSelMul(el,myRule)}else{if(el.type=="radio"){err=checkRadio(el,myRule)}else{debug("DEBUG: type "+el.type+" not supported")}}}}}}else{err=checkRadio(el,myRule)}retVal=err}}}}return retVal}function checkArguments(args){if(args.length<4){debug("DEBUG: rule requires four arguments at least");return false}else{if(args[0]==null||args[1]==null){debug("DEBUG: el and ruleName are required");return false}}return true}function checkRadio(el,myRule){var err=null;if(myRule.ruleName=="required"){var radios=el;var found=false;if(isNaN(radios.length)&&radios.checked){found=true}else{for(var j=0;j<radios.length;j++){if(radios[j].checked){found=true;break}}}if(!found){highlight(el,inputclasserror);err=myRule.alertMsg}}else{if(myRule.ruleName=="equal"){var radios=el;var found=false;if(isNaN(radios.length)&&radios.checked){if(radios.value==myRule.comparisonValue){found=true}}else{for(var j=0;j<radios.length;j++){if(radios[j].checked){if(radios[j].value==myRule.comparisonValue){found=true;break}}}}if(!found){err=myRule.alertMsg}}else{if(myRule.ruleName=="notequal"){var radios=el;var found=false;if(isNaN(radios.length)&&radios.checked){if(radios.value!=myRule.comparisonValue){found=true}}else{for(var j=0;j<radios.length;j++){if(radios[j].checked){if(radios[j].value!=myRule.comparisonValue){found=true;break}}}}if(!found){err=myRule.alertMsg}}else{debug("DEBUG: rule "+myRule.ruleName+" not supported for radio")}}}return err}function checkText(el,myRule){err=null;if(trimenabled){el.value=strTrim(el.value)}if(myRule.ruleName=="required"){if(el.value==null||el.value==""){highlight(el,inputclasserror);err=myRule.alertMsg}}else{if(myRule.ruleName=="equal"){err=checkEqual(el,myRule)}else{if(myRule.ruleName=="notequal"){err=checkNotEqual(el,myRule)}else{if(myRule.ruleName=="numeric"){reg=new RegExp("^[0-9]*$");if(!reg.test(el.value)){highlight(el,inputclasserror);err=myRule.alertMsg}}else{if(myRule.ruleName=="alphabetic"){reg=new RegExp(alphabetic_regex);if(!reg.test(el.value)){highlight(el,inputclasserror);err=myRule.alertMsg}}else{if(myRule.ruleName=="alphanumeric"){reg=new RegExp(alphanumeric_regex);if(!reg.test(el.value)){highlight(el,inputclasserror);err=myRule.alertMsg}}else{if(myRule.ruleName=="alnumhyphen"){reg=new RegExp(alnumhyphen_regex);if(!reg.test(el.value)){highlight(el,inputclasserror);err=myRule.alertMsg}}else{if(myRule.ruleName=="alnumhyphenat"){reg=new RegExp(alnumhyphenat_regex);if(!reg.test(el.value)){highlight(el,inputclasserror);err=myRule.alertMsg}}else{if(myRule.ruleName=="alphaspace"){reg=new RegExp(alphaspace_regex);if(!reg.test(el.value)){highlight(el,inputclasserror);err=myRule.alertMsg}}else{if(myRule.ruleName=="email"){reg=new RegExp(email_regex);if(!reg.test(el.value)){highlight(el,inputclasserror);err=myRule.alertMsg}}else{if(myRule.ruleName=="maxlength"){if(isNaN(myRule.comparisonValue)){debug("DEBUG: comparisonValue for rule "+myRule.ruleName+" not a number")}else{if(el.value.length>myRule.comparisonValue){highlight(el,inputclasserror);err=myRule.alertMsg}}}else{if(myRule.ruleName=="minlength"){if(isNaN(myRule.comparisonValue)){debug("DEBUG: comparisonValue for rule "+myRule.ruleName+" not a number")}else{if(el.value.length<myRule.comparisonValue){highlight(el,inputclasserror);err=myRule.alertMsg}}}else{if(myRule.ruleName=="numrange"){reg=new RegExp("^[-+]{0,1}[0-9]*[.]{0,1}[0-9]*$");if(!reg.test(unformatNumber(el.value))){highlight(el,inputclasserror);err=myRule.alertMsg}else{regRange=new RegExp("^[0-9]+-[0-9]+$");if(!regRange.test(myRule.comparisonValue)){debug("DEBUG: comparisonValue for rule "+myRule.ruleName+" not in format number1-number2")}else{rangeVal=myRule.comparisonValue.split("-");if(eval(unformatNumber(el.value))<eval(rangeVal[0])||eval(unformatNumber(el.value))>eval(rangeVal[1])){highlight(el,inputclasserror);err=myRule.alertMsg}}}}else{if(myRule.ruleName=="regexp"){reg=new RegExp(myRule.comparisonValue);if(!reg.test(el.value)){highlight(el,inputclasserror);err=myRule.alertMsg}}else{if(myRule.ruleName=="integer"){err=checkInteger(el,myRule)}else{if(myRule.ruleName=="double"){err=checkDouble(el,myRule)}else{if(myRule.ruleName=="date"){err=checkDate(el,myRule)}else{if(myRule.ruleName=="date_lt"){err=checkDateLessThan(el,myRule,false)}else{if(myRule.ruleName=="date_le"){err=checkDateLessThan(el,myRule,true)}else{if(myRule.ruleName=="keypress"){}else{if(myRule.ruleName=="empty"){if(el.value!=null&&el.value!=""){highlight(el,inputclasserror);err=myRule.alertMsg}}else{debug("DEBUG: rule "+myRule.ruleName+" not supported for "+el.type)}}}}}}}}}}}}}}}}}}}}}return err}function checkInteger(el,myRule){reg=new RegExp("^[-+]{0,1}[0-9]*$");if(!reg.test(el.value)){highlight(el,inputclasserror);return myRule.alertMsg}}function checkDouble(el,myRule){var sep=DECIMAL_SEP;reg=new RegExp("^[-+]{0,1}[0-9]*["+sep+"]{0,1}[0-9]*$");if(!reg.test(el.value)){highlight(el,inputclasserror);return myRule.alertMsg}}function checkDate(el,myRule){error=null;if(el.value!=""){var dateFormat=DATE_FORMAT;ddReg=new RegExp("dd");MMReg=new RegExp("MM");yyyyReg=new RegExp("yyyy");if(!ddReg.test(dateFormat)||!MMReg.test(dateFormat)||!yyyyReg.test(dateFormat)){debug("DEBUG: locale format "+dateFormat+" not supported")}else{ddStart=dateFormat.indexOf("dd");MMStart=dateFormat.indexOf("MM");yyyyStart=dateFormat.indexOf("yyyy")}strReg=dateFormat.replace("dd","[0-9]{2}").replace("MM","[0-9]{2}").replace("yyyy","[0-9]{4}");reg=new RegExp("^"+strReg+"$");if(!reg.test(el.value)){highlight(el,inputclasserror);error=myRule.alertMsg}else{dd=el.value.substring(ddStart,ddStart+2);MM=el.value.substring(MMStart,MMStart+2);yyyy=el.value.substring(yyyyStart,yyyyStart+4);if(!checkddMMyyyy(dd,MM,yyyy)){highlight(el,inputclasserror);error=myRule.alertMsg}}}return error}function checkDateLessThan(el,myRule,isEqualAllowed){error=null;var isDate=checkDate(el,myRule)==null?true:false;if(isDate&&el.value!=""){var dateFormat=DATE_FORMAT;ddStart=dateFormat.indexOf("dd");MMStart=dateFormat.indexOf("MM");yyyyStart=dateFormat.indexOf("yyyy");dd=el.value.substring(ddStart,ddStart+2);MM=el.value.substring(MMStart,MMStart+2);yyyy=el.value.substring(yyyyStart,yyyyStart+4);myDate=""+yyyy+MM+dd;strReg=dateFormat.replace("dd","[0-9]{2}").replace("MM","[0-9]{2}").replace("yyyy","[0-9]{4}");reg=new RegExp("^"+strReg+"$");var isMeta=myRule.comparisonValue.indexOf("$")==0?true:false;var comparisonDate="";if(isMeta){toSplit=myRule.comparisonValue.substr(1);tmp=toSplit.split(":");if(tmp.length==2){comparisonDate=this.getField(f,tmp[0]).value}else{comparisonDate=this.getField(f,myRule.comparisonValue.substr(1)).value}}else{comparisonDate=myRule.comparisonValue}if(!reg.test(comparisonDate)){highlight(el,inputclasserror);error=myRule.alertMsg}else{cdd=comparisonDate.substring(ddStart,ddStart+2);cMM=comparisonDate.substring(MMStart,MMStart+2);cyyyy=comparisonDate.substring(yyyyStart,yyyyStart+4);cDate=""+cyyyy+cMM+cdd;if(isEqualAllowed){if(!checkddMMyyyy(cdd,cMM,cyyyy)||myDate>cDate){highlight(el,inputclasserror);error=myRule.alertMsg}}else{if(!checkddMMyyyy(cdd,cMM,cyyyy)||myDate>=cDate){highlight(el,inputclasserror);error=myRule.alertMsg}}}}else{if(el.value!=""){highlight(el,inputclasserror);error=myRule.alertMsg}}return error}function checkEqual(el,myRule){error=null;var isMeta=myRule.comparisonValue.indexOf("$")==0?true:false;var comparisonVal="";if(isMeta){toSplit=myRule.comparisonValue.substr(1);tmp=toSplit.split(":");if(tmp.length==2){comparisonVal=this.getField(f,tmp[0]).value}else{comparisonVal=this.getField(f,myRule.comparisonValue.substr(1)).value}}else{comparisonVal=myRule.comparisonValue}if(el.value!=comparisonVal){highlight(el,inputclasserror);error=myRule.alertMsg}return error}function checkNotEqual(el,myRule){error=null;var isMeta=myRule.comparisonValue.indexOf("$")==0?true:false;var comparisonVal="";if(isMeta){toSplit=myRule.comparisonValue.substr(1);tmp=toSplit.split(":");if(tmp.length==2){comparisonVal=this.getField(f,tmp[0]).value}else{comparisonVal=this.getField(f,myRule.comparisonValue.substr(1)).value}}else{comparisonVal=myRule.comparisonValue}if(el.value==comparisonVal){highlight(el,inputclasserror);error=myRule.alertMsg}return error}function checkddMMyyyy(dd,MM,yyyy){retVal=true;if((dd<1)||(dd>31)||(MM<1)||(MM>12)||(dd==31&&(MM==2||MM==4||MM==6||MM==9||MM==11))||(dd>29&&MM==2)||(dd==29&&(MM==2)&&((yyyy%4>0)||(yyyy%4==0&&yyyy%100==0&&yyyy%400>0)))){retVal=false}return retVal}function checkCheckbox(el,myRule){if(myRule.ruleName=="required"){if(!el.checked){highlight(el,inputclasserror);return myRule.alertMsg}}else{if(myRule.ruleName=="equal"){if(!el.checked||el.value!=myRule.comparisonValue){highlight(el,inputclasserror);return myRule.alertMsg}}else{if(myRule.ruleName=="notequal"){if(el.checked&&el.value==myRule.comparisonValue){highlight(el,inputclasserror);return myRule.alertMsg}}else{debug("DEBUG: rule "+myRule.ruleName+" not supported for "+el.type)}}}}function checkSelOne(el,myRule){if(myRule.ruleName=="required"){var found=false;var inx=el.selectedIndex;if(inx>=0&&el.options[inx].value){found=true}if(!found){highlight(el,inputclasserror);return myRule.alertMsg}}else{if(myRule.ruleName=="equal"){var found=false;var inx=el.selectedIndex;if(inx>=0&&el.options[inx].value==myRule.comparisonValue){found=true}if(!found){highlight(el,inputclasserror);return myRule.alertMsg}}else{if(myRule.ruleName=="notequal"){var found=false;var inx=el.selectedIndex;if(inx>=0&&el.options[inx].value!=myRule.comparisonValue){found=true}if(!found){highlight(el,inputclasserror);return myRule.alertMsg}}else{debug("DEBUG: rule "+myRule.ruleName+" not supported for "+el.type)}}}}function checkSelMul(el,myRule){if(myRule.ruleName=="required"){var found=false;opts=el.options;for(var i=0;i<opts.length;i++){if(opts[i].selected&&opts[i].value){found=true;break}}if(!found){highlight(el,inputclasserror);return myRule.alertMsg}}else{if(myRule.ruleName=="equal"){var found=false;opts=el.options;for(var i=0;i<opts.length;i++){if(opts[i].selected&&opts[i].value==myRule.comparisonValue){found=true;break}}if(!found){highlight(el,inputclasserror);return myRule.alertMsg}}else{if(myRule.ruleName=="notequal"){var found=false;opts=el.options;for(var i=0;i<opts.length;i++){if(opts[i].selected&&opts[i].value!=myRule.comparisonValue){found=true;break}}if(!found){highlight(el,inputclasserror);return myRule.alertMsg}}else{debug("DEBUG: rule "+myRule.ruleName+" not supported for "+el.type)}}}}function debug(msg){if(debugmode){alert(msg)}}function strTrim(str){return str.replace(/^\s+/,"").replace(/\s+$/,"")}function makeRules(strRules){var rules=new Array();if(strRules.length){for(var i=0;i<strRules.length;i++){rules[i]=splitRule(strRules[i])}}else{rules[0]=splitRule(strRules)}return rules}function splitRule(strRule){var retval=null;if(strRule!=undef){params=strRule.split(RULE_SEP);switch(params.length){case 2:retval=new rule(params[0],params[1],null,null,null);break;case 3:if(threeParamRule(params[1])){retval=new rule(params[0],params[1],params[2],null,null)}else{if(params[2]=="pre-condition"||params[2]=="post-condition"||params[2]=="andor-operator"){retval=new rule(params[0],params[1],null,"foo",params[2])}else{retval=new rule(params[0],params[1],null,params[2],null)}}break;case 4:if(threeParamRule(params[1])&&(params[3]=="pre-condition"||params[3]=="post-condition"||params[3]=="andor-operator")){retval=new rule(params[0],params[1],params[2],"foo",params[3])}else{retval=new rule(params[0],params[1],params[2],params[3],null)}break;default:debug("DEBUG: wrong definition of rule")}}return retval}function threeParamRule(ruleName){return(ruleName=="equal"||ruleName=="notequal"||ruleName=="minlength"||ruleName=="maxlength"||ruleName=="date_lt"||ruleName=="date_le"||ruleName=="implies"||ruleName=="regexp"||ruleName=="numrange"||ruleName=="keypress"||ruleName=="and"||ruleName=="or")?true:false}function highlight(el,clazz){if(!isFocusSet&&clazz==inputclasserror){if((!el.type)&&(el.length>0)&&(el.item(0).type=="radio")){el.item(0).focus()}else{el.focus()}isFocusSet=true}if(el!=undef&&inputhighlight){if(multipleclassname){highlightMultipleClassName(el,clazz)}else{el.className=clazz}}}function highlightMultipleClassName(el,clazz){re=new RegExp("(^|\\s)("+inputclassnormal+"|"+inputclasserror+")($|\\s)");el.className=strTrim(((typeof el.className!="undefined")?el.className.replace(re,""):"")+" "+clazz)}function getDefaultMessage(el,nameDisplayed,ruleName,comparisonValue){if(nameDisplayed.length==0){nameDisplayed=el}var msg=DEFAULT_MSG;if(ruleName=="required"){msg=REQUIRED_MSG.replace("{1}",nameDisplayed)}else{if(ruleName=="minlength"){msg=MINLENGTH_MSG.replace("{1}",nameDisplayed).replace("{2}",comparisonValue)}else{if(ruleName=="maxlength"){msg=MAXLENGTH_MSG.replace("{1}",nameDisplayed).replace("{2}",comparisonValue)}else{if(ruleName=="numrange"){msg=NUMRANGE_MSG.replace("{1}",nameDisplayed).replace("{2}",comparisonValue)}else{if(ruleName=="date"){msg=DATE_MSG.replace("{1}",nameDisplayed)}else{if(ruleName=="numeric"){msg=NUMERIC_MSG.replace("{1}",nameDisplayed)}else{if(ruleName=="integer"){msg=INTEGER_MSG.replace("{1}",nameDisplayed)}else{if(ruleName=="double"){msg=DOUBLE_MSG.replace("{1}",nameDisplayed)}else{if(ruleName=="equal"){msg=EQUAL_MSG.replace("{1}",nameDisplayed).replace("{2}",getComparisonDisplayed(comparisonValue))}else{if(ruleName=="notequal"){msg=NOTEQUAL_MSG.replace("{1}",nameDisplayed).replace("{2}",getComparisonDisplayed(comparisonValue))}else{if(ruleName=="alphabetic"){msg=ALPHABETIC_MSG.replace("{1}",nameDisplayed)}else{if(ruleName=="alphanumeric"){msg=ALPHANUMERIC_MSG.replace("{1}",nameDisplayed)}else{if(ruleName=="alnumhyphen"){msg=ALNUMHYPHEN_MSG.replace("{1}",nameDisplayed)}else{if(ruleName=="alnumhyphenat"){msg=ALNUMHYPHENAT_MSG.replace("{1}",nameDisplayed)}else{if(ruleName=="alphaspace"){msg=ALPHASPACE_MSG.replace("{1}",nameDisplayed)}else{if(ruleName=="email"){msg=EMAIL_MSG.replace("{1}",nameDisplayed)}else{if(ruleName=="regexp"){msg=REGEXP_MSG.replace("{1}",nameDisplayed).replace("{2}",comparisonValue)}else{if(ruleName=="date_lt"){msg=DATE_LT_MSG.replace("{1}",nameDisplayed).replace("{2}",getComparisonDisplayed(comparisonValue))}else{if(ruleName=="date_le"){msg=DATE_LE_MSG.replace("{1}",nameDisplayed).replace("{2}",getComparisonDisplayed(comparisonValue))}else{if(ruleName=="empty"){msg=EMPTY_MSG.replace("{1}",nameDisplayed)}}}}}}}}}}}}}}}}}}}}return msg}function getComparisonDisplayed(comparisonValue){comparisonDisplayed=comparisonValue;if(comparisonValue.substring(0,1)=="$"){comparisonValue=comparisonValue.substring(1,comparisonValue.length);tmp=comparisonValue.split(":");if(tmp.length==2){comparisonDisplayed=tmp[1]}else{comparisonDisplayed=comparisonValue}}return comparisonDisplayed}function getBrowser(){brs=navigator.userAgent.toLowerCase();var retval;if(brs.search(/msie\s(\d+(\.?\d)*)/)!=-1){retval="msie"}else{if(brs.search(/netscape[\/\s](\d+([\.-]\d)*)/)!=-1){retval="netscape"}else{if(brs.search(/firefox[\/\s](\d+([\.-]\d)*)/)!=-1){retval="firefox"}else{retval="unknown"}}}return retval}function isKeyAllowed(keyCode,charsAllowed){retval=false;var aCharCode;if(keyCode==8){retval=true}else{for(var i=0;i<charsAllowed.length;i++){aCharCode=charsAllowed.charCodeAt(i);if(aCharCode==keyCode){retval=true;break}}}return retval}function getField(formObj,fieldName){var retval=null;if(formObj.elements[fieldName]){retval=formObj.elements[fieldName]}else{if(document.getElementById(fieldName)){retval=document.getElementById(fieldName)}}return retval}function unformatNumber(viewValue){var retval=viewValue.replace(THOUSAND_SEP,"");retval=retval.replace(DECIMAL_SEP,".");return retval}function deleteInline(msg){if(msg.indexOf("__inline__")==-1){return msg}else{return msg.substring(0,msg.indexOf("__inline__"))}};
