function validateFloatRange(form){var isValid=true;var focusField=null;var i=0;var fields=new Array();var oRange=eval("new "+jcv_retrieveFormName(form)+"_floatRange()");for(var x in oRange){if(!jcv_verifyArrayElement(x,oRange[x])){continue}var field=form[oRange[x][0]];if(!jcv_isFieldPresent(field)){continue}if((field.type=="hidden"||field.type=="text"||field.type=="textarea")&&(field.value.length>0)){var fMin=parseFloat(oRange[x][2]("min"));var fMax=parseFloat(oRange[x][2]("max"));var fValue=parseFloat(field.value);if(!(fValue>=fMin&&fValue<=fMax)){if(i==0){focusField=field}fields[i++]=oRange[x][1];isValid=false}}}if(fields.length>0){jcv_handleErrors(fields,focusField)}return isValid}function jcv_retrieveFormName(B){var A;if(B.getAttributeNode){if(B.getAttributeNode("id")&&B.getAttributeNode("id").value){A=B.getAttributeNode("id").value}else{A=B.getAttributeNode("name").value}}else{if(B.getAttribute){if(B.getAttribute("id")){A=B.getAttribute("id")}else{A=B.attributes.name}}else{if(B.id){A=B.id}else{A=B.name}}}return A}function jcv_handleErrors(C,B){if(B&&B!=null){var A=true;if(B.disabled||B.type=="hidden"){A=false}if(A&&B.style&&B.style.visibility&&B.style.visibility=="hidden"){A=false}if(A){B.focus()}}alert(C.join("\n"))}function jcv_verifyArrayElement(A,B){if(B&&B.length&&B.length==3){return true}else{return false}}function jcv_isFieldPresent(B){var A=true;if(B==null||(typeof B=="undefined")){A=false}else{if(B.disabled){A=false}}return A}function jcv_isAllDigits(B){B=B.toString();var A="0123456789";var C=0;if(B.substring(0,2)=="0x"){A="0123456789abcdefABCDEF";C=2}else{if(B.charAt(0)=="0"){A="01234567";C=1}else{if(B.charAt(0)=="-"){C=1}}}for(var D=C;D<B.length;D++){if(A.indexOf(B.substring(D,D+1))==-1){return false}}return true}function jcv_isDecimalDigits(B){B=B.toString();var A="0123456789";var C=0;if(B.charAt(0)=="-"){C=1}for(var D=C;D<B.length;D++){if(A.indexOf(B.substring(D,D+1))==-1){return false}}return true}function validateByte(form){var bValid=true;var focusField=null;var i=0;var fields=new Array();var oByte=eval("new "+jcv_retrieveFormName(form)+"_ByteValidations()");for(var x in oByte){if(!jcv_verifyArrayElement(x,oByte[x])){continue}var field=form[oByte[x][0]];if(!jcv_isFieldPresent(field)){continue}if((field.type=="hidden"||field.type=="text"||field.type=="textarea"||field.type=="select-one"||field.type=="radio")){var value="";if(field.type=="select-one"){var si=field.selectedIndex;if(si>=0){value=field.options[si].value}}else{value=field.value}if(value.length>0){if(!jcv_isDecimalDigits(value)){bValid=false;if(i==0){focusField=field}fields[i++]=oByte[x][1]}else{var iValue=parseInt(value,10);if(isNaN(iValue)||!(iValue>=-128&&iValue<=127)){if(i==0){focusField=field}fields[i++]=oByte[x][1];bValid=false}}}}}if(fields.length>0){jcv_handleErrors(fields,focusField)}return bValid}function validateMaxLength(form){var isValid=true;var focusField=null;var i=0;var fields=new Array();var oMaxLength=eval("new "+jcv_retrieveFormName(form)+"_maxlength()");for(var x in oMaxLength){if(!jcv_verifyArrayElement(x,oMaxLength[x])){continue}var field=form[oMaxLength[x][0]];if(!jcv_isFieldPresent(field)){continue}if((field.type=="hidden"||field.type=="text"||field.type=="password"||field.type=="textarea")){var lineEndLength=oMaxLength[x][2]("lineEndLength");var adjustAmount=0;if(lineEndLength){var rCount=0;var nCount=0;var crPos=0;while(crPos<field.value.length){var currChar=field.value.charAt(crPos);if(currChar=="\r"){rCount++}if(currChar=="\n"){nCount++}crPos++}var endLength=parseInt(lineEndLength);adjustAmount=(nCount*endLength)-(rCount+nCount)}var iMax=parseInt(oMaxLength[x][2]("maxlength"));if((field.value.length+adjustAmount)>iMax){if(i==0){focusField=field}fields[i++]=oMaxLength[x][1];isValid=false}}}if(fields.length>0){jcv_handleErrors(fields,focusField)}return isValid}function validateRequired(form){var isValid=true;var focusField=null;var i=0;var fields=new Array();var oRequired=eval("new "+jcv_retrieveFormName(form)+"_required()");for(var x in oRequired){if(!jcv_verifyArrayElement(x,oRequired[x])){continue}var field=form[oRequired[x][0]];if(!jcv_isFieldPresent(field)){fields[i++]=oRequired[x][1];isValid=false}else{if((field.type=="hidden"||field.type=="text"||field.type=="textarea"||field.type=="file"||field.type=="radio"||field.type=="checkbox"||field.type=="select-one"||field.type=="password")){var value="";if(field.type=="select-one"){var si=field.selectedIndex;if(si>=0){value=field.options[si].value}}else{if(field.type=="radio"||field.type=="checkbox"){if(field.checked){value=field.value}}else{value=field.value}}if(trim(value).length==0){if((i==0)&&(field.type!="hidden")){focusField=field}fields[i++]=oRequired[x][1];isValid=false}}else{if(field.type=="select-multiple"){var numOptions=field.options.length;lastSelected=-1;for(loop=numOptions-1;loop>=0;loop--){if(field.options[loop].selected){lastSelected=loop;value=field.options[loop].value;break}}if(lastSelected<0||trim(value).length==0){if(i==0){focusField=field}fields[i++]=oRequired[x][1];isValid=false}}else{if((field.length>0)&&(field[0].type=="radio"||field[0].type=="checkbox")){isChecked=-1;for(loop=0;loop<field.length;loop++){if(field[loop].checked){isChecked=loop;break}}if(isChecked<0){if(i==0){focusField=field[0]}fields[i++]=oRequired[x][1];isValid=false}}}}}}if(fields.length>0){jcv_handleErrors(fields,focusField)}return isValid}function trim(A){return A.replace(/^\s*/,"").replace(/\s*$/,"")}function validateInteger(form){var bValid=true;var focusField=null;var i=0;var fields=new Array();var oInteger=eval("new "+jcv_retrieveFormName(form)+"_IntegerValidations()");for(var x in oInteger){if(!jcv_verifyArrayElement(x,oInteger[x])){continue}var field=form[oInteger[x][0]];if(!jcv_isFieldPresent(field)){continue}if((field.type=="hidden"||field.type=="text"||field.type=="textarea"||field.type=="select-one"||field.type=="radio")){var value="";if(field.type=="select-one"){var si=field.selectedIndex;if(si>=0){value=field.options[si].value}}else{value=field.value}if(value.length>0){if(!jcv_isDecimalDigits(value)){bValid=false;if(i==0){focusField=field}fields[i++]=oInteger[x][1]}else{var iValue=parseInt(value,10);if(isNaN(iValue)||!(iValue>=-2147483648&&iValue<=2147483647)){if(i==0){focusField=field}fields[i++]=oInteger[x][1];bValid=false}}}}}if(fields.length>0){jcv_handleErrors(fields,focusField)}return bValid}function validateCreditCard(form){var bValid=true;var focusField=null;var i=0;var fields=new Array();var oCreditCard=eval("new "+jcv_retrieveFormName(form)+"_creditCard()");for(var x in oCreditCard){if(!jcv_verifyArrayElement(x,oCreditCard[x])){continue}var field=form[oCreditCard[x][0]];if(!jcv_isFieldPresent(field)){continue}if((field.type=="text"||field.type=="textarea")&&(field.value.length>0)){if(!jcv_luhnCheck(field.value)){if(i==0){focusField=field}fields[i++]=oCreditCard[x][1];bValid=false}}}if(fields.length>0){jcv_handleErrors(fields,focusField)}return bValid}function jcv_luhnCheck(E){if(jcv_isLuhnNum(E)){var A=E.length;var B=A&1;var C=0;for(var D=0;D<A;D++){var F=parseInt(E.charAt(D));if(!((D&1)^B)){F*=2;if(F>9){F-=9}}C+=F}if(C==0){return false}if(C%10==0){return true}}return false}function jcv_isLuhnNum(A){A=A.toString();if(A.length==0){return false}for(var B=0;B<A.length;B++){if((A.substring(B,B+1)<"0")||(A.substring(B,B+1)>"9")){return false}}return true}function validateDate(form){var bValid=true;var focusField=null;var i=0;var fields=new Array();var oDate=eval("new "+jcv_retrieveFormName(form)+"_DateValidations()");for(var x in oDate){if(!jcv_verifyArrayElement(x,oDate[x])){continue}var field=form[oDate[x][0]];if(!jcv_isFieldPresent(field)){continue}var value=field.value;var isStrict=true;var datePattern=oDate[x][2]("datePatternStrict");if(datePattern==null){datePattern=oDate[x][2]("datePattern");isStrict=false}if((field.type=="hidden"||field.type=="text"||field.type=="textarea")&&(value.length>0)&&(datePattern.length>0)){var MONTH="MM";var DAY="dd";var YEAR="yyyy";var orderMonth=datePattern.indexOf(MONTH);var orderDay=datePattern.indexOf(DAY);var orderYear=datePattern.indexOf(YEAR);if((orderDay<orderYear&&orderDay>orderMonth)){var iDelim1=orderMonth+MONTH.length;var iDelim2=orderDay+DAY.length;var delim1=datePattern.substring(iDelim1,iDelim1+1);var delim2=datePattern.substring(iDelim2,iDelim2+1);if(iDelim1==orderDay&&iDelim2==orderYear){dateRegexp=isStrict?new RegExp("^(\\d{2})(\\d{2})(\\d{4})$"):new RegExp("^(\\d{1,2})(\\d{1,2})(\\d{4})$")}else{if(iDelim1==orderDay){dateRegexp=isStrict?new RegExp("^(\\d{2})(\\d{2})["+delim2+"](\\d{4})$"):new RegExp("^(\\d{1,2})(\\d{1,2})["+delim2+"](\\d{4})$")}else{if(iDelim2==orderYear){dateRegexp=isStrict?new RegExp("^(\\d{2})["+delim1+"](\\d{2})(\\d{4})$"):new RegExp("^(\\d{1,2})["+delim1+"](\\d{1,2})(\\d{4})$")}else{dateRegexp=isStrict?new RegExp("^(\\d{2})["+delim1+"](\\d{2})["+delim2+"](\\d{4})$"):new RegExp("^(\\d{1,2})["+delim1+"](\\d{1,2})["+delim2+"](\\d{4})$")}}}var matched=dateRegexp.exec(value);if(matched!=null){if(!jcv_isValidDate(matched[2],matched[1],matched[3])){if(i==0){focusField=field}fields[i++]=oDate[x][1];bValid=false}}else{if(i==0){focusField=field}fields[i++]=oDate[x][1];bValid=false}}else{if((orderMonth<orderYear&&orderMonth>orderDay)){var iDelim1=orderDay+DAY.length;var iDelim2=orderMonth+MONTH.length;var delim1=datePattern.substring(iDelim1,iDelim1+1);var delim2=datePattern.substring(iDelim2,iDelim2+1);if(iDelim1==orderMonth&&iDelim2==orderYear){dateRegexp=isStrict?new RegExp("^(\\d{2})(\\d{2})(\\d{4})$"):new RegExp("^(\\d{1,2})(\\d{1,2})(\\d{4})$")}else{if(iDelim1==orderMonth){dateRegexp=isStrict?new RegExp("^(\\d{2})(\\d{2})["+delim2+"](\\d{4})$"):new RegExp("^(\\d{1,2})(\\d{1,2})["+delim2+"](\\d{4})$")}else{if(iDelim2==orderYear){dateRegexp=isStrict?new RegExp("^(\\d{2})["+delim1+"](\\d{2})(\\d{4})$"):new RegExp("^(\\d{1,2})["+delim1+"](\\d{1,2})(\\d{4})$")}else{dateRegexp=isStrict?new RegExp("^(\\d{2})["+delim1+"](\\d{2})["+delim2+"](\\d{4})$"):new RegExp("^(\\d{1,2})["+delim1+"](\\d{1,2})["+delim2+"](\\d{4})$")}}}var matched=dateRegexp.exec(value);if(matched!=null){if(!jcv_isValidDate(matched[1],matched[2],matched[3])){if(i==0){focusField=field}fields[i++]=oDate[x][1];bValid=false}}else{if(i==0){focusField=field}fields[i++]=oDate[x][1];bValid=false}}else{if((orderMonth>orderYear&&orderMonth<orderDay)){var iDelim1=orderYear+YEAR.length;var iDelim2=orderMonth+MONTH.length;var delim1=datePattern.substring(iDelim1,iDelim1+1);var delim2=datePattern.substring(iDelim2,iDelim2+1);if(iDelim1==orderMonth&&iDelim2==orderDay){dateRegexp=isStrict?new RegExp("^(\\d{4})(\\d{2})(\\d{2})$"):new RegExp("^(\\d{4})(\\d{1,2})(\\d{1,2})$")}else{if(iDelim1==orderMonth){dateRegexp=isStrict?new RegExp("^(\\d{4})(\\d{2})["+delim2+"](\\d{2})$"):new RegExp("^(\\d{4})(\\d{1,2})["+delim2+"](\\d{1,2})$")}else{if(iDelim2==orderDay){dateRegexp=isStrict?new RegExp("^(\\d{4})["+delim1+"](\\d{2})(\\d{2})$"):new RegExp("^(\\d{4})["+delim1+"](\\d{1,2})(\\d{1,2})$")}else{dateRegexp=isStrict?new RegExp("^(\\d{4})["+delim1+"](\\d{2})["+delim2+"](\\d{2})$"):new RegExp("^(\\d{4})["+delim1+"](\\d{1,2})["+delim2+"](\\d{1,2})$")}}}var matched=dateRegexp.exec(value);if(matched!=null){if(!jcv_isValidDate(matched[3],matched[2],matched[1])){if(i==0){focusField=field}fields[i++]=oDate[x][1];bValid=false}}else{if(i==0){focusField=field}fields[i++]=oDate[x][1];bValid=false}}else{if(i==0){focusField=field}fields[i++]=oDate[x][1];bValid=false}}}}}if(fields.length>0){jcv_handleErrors(fields,focusField)}return bValid}function jcv_isValidDate(B,D,C){if(D<1||D>12){return false}if(B<1||B>31){return false}if((D==4||D==6||D==9||D==11)&&(B==31)){return false}if(D==2){var A=(C%4==0&&(C%100!=0||C%400==0));if(B>29||(B==29&&!A)){return false}}return true}function validateIntRange(form){var isValid=true;var focusField=null;var i=0;var fields=new Array();var oRange=eval("new "+jcv_retrieveFormName(form)+"_intRange()");for(var x in oRange){if(!jcv_verifyArrayElement(x,oRange[x])){continue}var field=form[oRange[x][0]];if(jcv_isFieldPresent(field)){var value="";if(field.type=="hidden"||field.type=="text"||field.type=="textarea"||field.type=="radio"){value=field.value}if(field.type=="select-one"){var si=field.selectedIndex;if(si>=0){value=field.options[si].value}}if(value.length>0){var iMin=parseInt(oRange[x][2]("min"));var iMax=parseInt(oRange[x][2]("max"));var iValue=parseInt(value,10);if(!(iValue>=iMin&&iValue<=iMax)){if(i==0){focusField=field}fields[i++]=oRange[x][1];isValid=false}}}}if(fields.length>0){jcv_handleErrors(fields,focusField)}return isValid}function validateShort(form){var bValid=true;var focusField=null;var i=0;var fields=new Array();var oShort=eval("new "+jcv_retrieveFormName(form)+"_ShortValidations()");for(var x in oShort){if(!jcv_verifyArrayElement(x,oShort[x])){continue}var field=form[oShort[x][0]];if(!jcv_isFieldPresent(field)){continue}if((field.type=="hidden"||field.type=="text"||field.type=="textarea"||field.type=="select-one"||field.type=="radio")){var value="";if(field.type=="select-one"){var si=field.selectedIndex;if(si>=0){value=field.options[si].value}}else{value=field.value}if(value.length>0){if(!jcv_isDecimalDigits(value)){bValid=false;if(i==0){focusField=field}fields[i++]=oShort[x][1]}else{var iValue=parseInt(value,10);if(isNaN(iValue)||!(iValue>=-32768&&iValue<=32767)){if(i==0){focusField=field}fields[i++]=oShort[x][1];bValid=false}}}}}if(fields.length>0){jcv_handleErrors(fields,focusField)}return bValid}function validateFloat(form){var bValid=true;var focusField=null;var i=0;var fields=new Array();var oFloat=eval("new "+jcv_retrieveFormName(form)+"_FloatValidations()");for(var x in oFloat){if(!jcv_verifyArrayElement(x,oFloat[x])){continue}var field=form[oFloat[x][0]];if(!jcv_isFieldPresent(field)){continue}if((field.type=="hidden"||field.type=="text"||field.type=="textarea"||field.type=="select-one"||field.type=="radio")){var value="";if(field.type=="select-one"){var si=field.selectedIndex;if(si>=0){value=field.options[si].value}}else{value=field.value}if(value.length>0){var tempArray=value.split(".");var zeroIndex=0;var joinedString=tempArray.join("");while(joinedString.charAt(zeroIndex)=="0"){zeroIndex++}var noZeroString=joinedString.substring(zeroIndex,joinedString.length);if(!jcv_isAllDigits(noZeroString)||tempArray.length>2){bValid=false;if(i==0){focusField=field}fields[i++]=oFloat[x][1]}else{var iValue=parseFloat(value);if(isNaN(iValue)){if(i==0){focusField=field}fields[i++]=oFloat[x][1];bValid=false}}}}}if(fields.length>0){jcv_handleErrors(fields,focusField)}return bValid}function validateEmail(form){var bValid=true;var focusField=null;var i=0;var fields=new Array();var oEmail=eval("new "+jcv_retrieveFormName(form)+"_email()");for(var x in oEmail){if(!jcv_verifyArrayElement(x,oEmail[x])){continue}var field=form[oEmail[x][0]];if(!jcv_isFieldPresent(field)){continue}if((field.type=="hidden"||field.type=="text"||field.type=="textarea")&&(field.value.length>0)){if(!jcv_checkEmail(field.value)){if(i==0){focusField=field}fields[i++]=oEmail[x][1];bValid=false}}}if(fields.length>0){jcv_handleErrors(fields,focusField)}return bValid}function jcv_checkEmail(B){if(B.length==0){return true}var Q=0;var T=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;var P=/^(.+)@(.+)$/;var N='\\(\\)><@,;:\\\\\\"\\.\\[\\]';var I="[^\\s"+N+"]";var D='("[^"]*")';var O=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;var A=I+"+";var M="("+A+"|"+D+")";var J=new RegExp("^"+M+"(\\."+M+")*$");var F=new RegExp("^"+A+"(\\."+A+")*$");var C=B.match(P);if(C==null){return false}var R=C[1];var S=C[2];for(K=0;K<R.length;K++){if(R.charCodeAt(K)>127){return false}}for(K=0;K<S.length;K++){if(S.charCodeAt(K)>127){return false}}if(R.match(J)==null){return false}var H=S.match(O);if(H!=null){for(var K=1;K<=4;K++){if(H[K]>255){return false}}return true}var G=new RegExp("^"+A+"$");var E=S.split(".");var L=E.length;for(K=0;K<L;K++){if(E[K].search(G)==-1){return false}}if(Q&&E[E.length-1].length!=2&&E[E.length-1].search(T)==-1){return false}if(L<2){return false}return true}function validateMask(form){var isValid=true;var focusField=null;var i=0;var fields=new Array();var oMasked=eval("new "+jcv_retrieveFormName(form)+"_mask()");for(var x in oMasked){if(!jcv_verifyArrayElement(x,oMasked[x])){continue}var field=form[oMasked[x][0]];if(!jcv_isFieldPresent(field)){continue}if((field.type=="hidden"||field.type=="text"||field.type=="textarea"||field.type=="file")&&(field.value.length>0)){if(!jcv_matchPattern(field.value,oMasked[x][2]("mask"))){if(i==0){focusField=field}fields[i++]=oMasked[x][1];isValid=false}}}if(fields.length>0){jcv_handleErrors(fields,focusField)}return isValid}function jcv_matchPattern(B,A){return A.exec(B)}function validateMinLength(form){var isValid=true;var focusField=null;var i=0;var fields=new Array();var oMinLength=eval("new "+jcv_retrieveFormName(form)+"_minlength()");for(var x in oMinLength){if(!jcv_verifyArrayElement(x,oMinLength[x])){continue}var field=form[oMinLength[x][0]];if(!jcv_isFieldPresent(field)){continue}if((field.type=="hidden"||field.type=="text"||field.type=="password"||field.type=="textarea")){var lineEndLength=oMinLength[x][2]("lineEndLength");var adjustAmount=0;if(lineEndLength){var rCount=0;var nCount=0;var crPos=0;while(crPos<field.value.length){var currChar=field.value.charAt(crPos);if(currChar=="\r"){rCount++}if(currChar=="\n"){nCount++}crPos++}var endLength=parseInt(lineEndLength);adjustAmount=(nCount*endLength)-(rCount+nCount)}var iMin=parseInt(oMinLength[x][2]("minlength"));if((trim(field.value).length>0)&&((field.value.length+adjustAmount)<iMin)){if(i==0){focusField=field}fields[i++]=oMinLength[x][1];isValid=false}}}if(fields.length>0){jcv_handleErrors(fields,focusField)}return isValid};
