function validateFloatRange(form){var isValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");oRange=eval("new "+formName.value+"_floatRange()");for(x in oRange){var field=form[oRange[x][0]];if((field.type=="hidden"||field.type=="text"||field.type=="textarea")&&(field.value.length>0)&&field.disabled==false){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){focusField.focus();alert(fields.join("\n"))}return isValid}function validateByte(form){var bValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");oByte=eval("new "+formName.value+"_ByteValidations()");for(x in oByte){var field=form[oByte[x][0]];if((field.type=="hidden"||field.type=="text"||field.type=="textarea"||field.type=="select-one"||field.type=="radio")&&field.disabled==false){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(!isAllDigits(value)){bValid=false;if(i==0){focusField=field}fields[i++]=oByte[x][1]}else{var iValue=parseInt(value);if(isNaN(iValue)||!(iValue>=-128&&iValue<=127)){if(i==0){focusField=field}fields[i++]=oByte[x][1];bValid=false}}}}}if(fields.length>0){focusField.focus();alert(fields.join("\n"))}return bValid}function validateMaxLength(form){var isValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");oMaxLength=eval("new "+formName.value+"_maxlength()");for(x in oMaxLength){var field=form[oMaxLength[x][0]];if((field.type=="hidden"||field.type=="text"||field.type=="password"||field.type=="textarea")&&field.disabled==false){var iMax=parseInt(oMaxLength[x][2]("maxlength"));if(field.value.length>iMax){if(i==0){focusField=field}fields[i++]=oMaxLength[x][1];isValid=false}}}if(fields.length>0){focusField.focus();alert(fields.join("\n"))}return isValid}function validateRequired(form){var isValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");if(!formName){formName=form.getAttributeNode("id")}oRequired=eval("new "+formName.value+"_required()");for(x in oRequired){var field=form[oRequired[x][0]];if((field.type=="hidden"||field.type=="text"||field.type=="textarea"||field.type=="file"||field.type=="checkbox"||field.type=="select-one"||field.type=="password")&&field.disabled==false){var value="";if(field.type=="select-one"){var si=field.selectedIndex;if(si>=0){value=field.options[si].value}}else{if(field.type=="checkbox"){if(field.checked){value=field.value}}else{value=field.value}}if(trim(value).length==0){if(i==0){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){focusField.focus();alert(fields.join("\n"))}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 formName=form.getAttributeNode("name");oInteger=eval("new "+formName.value+"_IntegerValidations()");for(x in oInteger){var field=form[oInteger[x][0]];if((field.type=="hidden"||field.type=="text"||field.type=="textarea"||field.type=="select-one"||field.type=="radio")&&field.disabled==false){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(!isAllDigits(value)){bValid=false;if(i==0){focusField=field}fields[i++]=oInteger[x][1]}else{var iValue=parseInt(value);if(isNaN(iValue)||!(iValue>=-2147483648&&iValue<=2147483647)){if(i==0){focusField=field}fields[i++]=oInteger[x][1];bValid=false}}}}}if(fields.length>0){focusField.focus();alert(fields.join("\n"))}return bValid}function 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 validateDate(form){var bValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");oDate=eval("new "+formName.value+"_DateValidations()");for(x in oDate){var field=form[oDate[x][0]];var value=field.value;var datePattern=oDate[x][2]("datePatternStrict");if(datePattern==null){datePattern=oDate[x][2]("datePattern")}if((field.type=="hidden"||field.type=="text"||field.type=="textarea")&&(value.length>0)&&(datePattern.length>0)&&field.disabled==false){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=new RegExp("^(\\d{2})(\\d{2})(\\d{4})$")}else{if(iDelim1==orderDay){dateRegexp=new RegExp("^(\\d{2})(\\d{2})["+delim2+"](\\d{4})$")}else{if(iDelim2==orderYear){dateRegexp=new RegExp("^(\\d{2})["+delim1+"](\\d{2})(\\d{4})$")}else{dateRegexp=new RegExp("^(\\d{2})["+delim1+"](\\d{2})["+delim2+"](\\d{4})$")}}}var matched=dateRegexp.exec(value);if(matched!=null){if(!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=new RegExp("^(\\d{2})(\\d{2})(\\d{4})$")}else{if(iDelim1==orderMonth){dateRegexp=new RegExp("^(\\d{2})(\\d{2})["+delim2+"](\\d{4})$")}else{if(iDelim2==orderYear){dateRegexp=new RegExp("^(\\d{2})["+delim1+"](\\d{2})(\\d{4})$")}else{dateRegexp=new RegExp("^(\\d{2})["+delim1+"](\\d{2})["+delim2+"](\\d{4})$")}}}var matched=dateRegexp.exec(value);if(matched!=null){if(!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=new RegExp("^(\\d{4})(\\d{2})(\\d{2})$")}else{if(iDelim1==orderMonth){dateRegexp=new RegExp("^(\\d{4})(\\d{2})["+delim2+"](\\d{2})$")}else{if(iDelim2==orderDay){dateRegexp=new RegExp("^(\\d{4})["+delim1+"](\\d{2})(\\d{2})$")}else{dateRegexp=new RegExp("^(\\d{4})["+delim1+"](\\d{2})["+delim2+"](\\d{2})$")}}}var matched=dateRegexp.exec(value);if(matched!=null){if(!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){focusField.focus();alert(fields.join("\n"))}return bValid}function 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 validateCreditCard(form){var bValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");oCreditCard=eval("new "+formName.value+"_creditCard()");for(x in oCreditCard){if((form[oCreditCard[x][0]].type=="text"||form[oCreditCard[x][0]].type=="textarea")&&(form[oCreditCard[x][0]].value.length>0)&&form[oCreditCard[x][0]].disabled==false){if(!luhnCheck(form[oCreditCard[x][0]].value)){if(i==0){focusField=form[oCreditCard[x][0]]}fields[i++]=oCreditCard[x][1];bValid=false}}}if(fields.length>0){focusField.focus();alert(fields.join("\n"))}return bValid}function luhnCheck(e){if(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 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 validateIntRange(form){var isValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");oRange=eval("new "+formName.value+"_intRange()");for(x in oRange){var field=form[oRange[x][0]];if(field.disabled==false){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);if(!(iValue>=iMin&&iValue<=iMax)){if(i==0){focusField=field}fields[i++]=oRange[x][1];isValid=false}}}}if(fields.length>0){focusField.focus();alert(fields.join("\n"))}return isValid}function validateShort(form){var bValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");oShort=eval("new "+formName.value+"_ShortValidations()");for(x in oShort){var field=form[oShort[x][0]];if((field.type=="hidden"||field.type=="text"||field.type=="textarea"||field.type=="select-one"||field.type=="radio")&&field.disabled==false){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(!isAllDigits(value)){bValid=false;if(i==0){focusField=field}fields[i++]=oShort[x][1]}else{var iValue=parseInt(value);if(isNaN(iValue)||!(iValue>=-32768&&iValue<=32767)){if(i==0){focusField=field}fields[i++]=oShort[x][1];bValid=false}}}}}if(fields.length>0){focusField.focus();alert(fields.join("\n"))}return bValid}function validateFloat(form){var bValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");oFloat=eval("new "+formName.value+"_FloatValidations()");for(x in oFloat){var field=form[oFloat[x][0]];if((field.type=="hidden"||field.type=="text"||field.type=="textarea"||field.type=="select-one"||field.type=="radio")&&field.disabled==false){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(!isAllDigits(noZeroString)){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){focusField.focus();alert(fields.join("\n"))}return bValid}function validateEmail(form){var bValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");oEmail=eval("new "+formName.value+"_email()");for(x in oEmail){var field=form[oEmail[x][0]];if((field.type=="hidden"||field.type=="text"||field.type=="textarea")&&(field.value.length>0)&&field.disabled==false){if(!checkEmail(field.value)){if(i==0){focusField=field}fields[i++]=oEmail[x][1];bValid=false}}}if(fields.length>0){focusField.focus();alert(fields.join("\n"))}return bValid}function checkEmail(b){if(b.length==0){return true}var r=/^(.+)@(.+)$/;var p='\\(\\)<>@,;:\\\\\\"\\.\\[\\]';var k="[^\\s"+p+"]";var d='("[^"]*")';var q=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/;var a=k+"+";var o="("+a+"|"+d+")";var l=new RegExp("^"+o+"(\\."+o+")*$");var f=new RegExp("^"+a+"(\\."+a+")*$");var c=b.match(r);if(c==null){return false}var s=c[1];var t=c[2];if(s.match(l)==null){return false}var j=t.match(q);if(j!=null){for(var m=1;m<=4;m++){if(j[m]>255){return false}}return true}var g=t.match(f);if(g==null){return false}var h=new RegExp(a,"g");var e=t.match(h);var n=e.length;if((e[e.length-1].length<2)||(e[e.length-1].length>3)){return false}if(n<2){return false}return true}function validateMask(form){var isValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");if(!formName){formName=form.getAttributeNode("id")}oMasked=eval("new "+formName.value+"_mask()");for(x in oMasked){var field=form[oMasked[x][0]];if((field.type=="hidden"||field.type=="text"||field.type=="textarea"||field.type=="file")&&(field.value.length>0)&&field.disabled==false){if(!matchPattern(field.value,oMasked[x][2]("mask"))){if(i==0){focusField=field}fields[i++]=oMasked[x][1];isValid=false}}}if(fields.length>0){focusField.focus();alert(fields.join("\n"))}return isValid}function matchPattern(b,a){return a.exec(b)}function validateMinLength(form){var isValid=true;var focusField=null;var i=0;var fields=new Array();var formName=form.getAttributeNode("name");oMinLength=eval("new "+formName.value+"_minlength()");for(x in oMinLength){var field=form[oMinLength[x][0]];if((field.type=="hidden"||field.type=="text"||field.type=="password"||field.type=="textarea")&&field.disabled==false){var iMin=parseInt(oMinLength[x][2]("minlength"));if((trim(field.value).length>0)&&(field.value.length<iMin)){if(i==0){focusField=field}fields[i++]=oMinLength[x][1];isValid=false}}}if(fields.length>0){focusField.focus();alert(fields.join("\n"))}return isValid};