fValidate.prototype.blank=function(){
if(this.typeMismatch("text")){
return;
}
if(this.isBlank()){
this.throwError([this.elem.fName]);
}
};
fValidate.prototype.number=function(_1,lb,ub){
if(this.typeMismatch("text")){
return;
}
var _4=(_1==0)?parseInt(this.elem.value,10):parseFloat(this.elem.value);
lb=this.setArg(lb,0);
ub=this.setArg(ub,Number.infinity);
if(lb>ub){
this.devError([lb,ub,this.elem.name]);
return;
}
var _5=Boolean(isNaN(_4)||_4!=this.elem.value);
if(!_5){
switch(true){
case (lb!=false&&ub!=false):
_5=!Boolean(lb<=_4&&_4<=ub);
break;
case (lb!=false):
_5=Boolean(_4<lb);
break;
case (ub!=false):
_5=Boolean(_4>ub);
break;
}
}
if(_5){
this.throwError([this.elem.fName]);
return;
}
this.elemPass=true;
};
fValidate.prototype.numeric=function(_6){
if(this.typeMismatch("text")){
return;
}
_6=this.setArg(_6,"*");
var _7=new RegExp((_6=="*")?"^\\d+$":"^\\d{"+parseInt(_6,10)+"}\\d*$");
if(!_7.test(this.elem.value)){
if(_6=="*"){
this.throwError([this.elem.fName]);
}else{
this.throwError([_6,this.elem.fName],1);
}
}
};
fValidate.prototype.length=function(_8,_9){
if(this.typeMismatch("text")){
return;
}
var _a=this.elem.value.length;
_8=Math.abs(_8);
_9=Math.abs(this.setArg(_9,Number.infinity));
if(_8>_9){
this.devError([_8,_9,this.elem.name]);
return;
}
if(_8>parseInt(_a,10)){
this.throwError([this.elem.fName,_8]);
}
if(_a>_9){
this.throwError([this.elem.fName,_9,_a],1);
}
};
fValidate.prototype.alnum=function(_b,_c,_d,_e,_f){
if(this.typeMismatch("text")){
return;
}
_c=this.setArg(_c,"a");
_d=(_d=="true"||_d=="1");
_e=(_e=="true"||_e=="1");
var _10="",_11=["None","Any","No","No","Any"];
if(_b!="*"){
_b=parseInt(_b,10);
_11[0]=_b;
}else{
_b=0;
}
switch(_c.toUpperCase()){
case "U":
_10+="A-Z";
_11[1]="UPPER";
break;
case "L":
_10+="a-z";
_11[1]="lower";
break;
case "C":
_10+="A-Z][a-z";
_11[1]="Intial capital";
_b--;
break;
default:
_10+="a-zA-Z";
break;
}
if(_d==true){
_10+="0-9";
_11[2]="Yes";
}
if(_e==true){
_10+=" ";
_11[3]="Yes";
}
if(_f=="any"){
_11[4]="Any";
}else{
if(_f=="none"){
_11[4]="None";
}else{
_f=_f.replace(/pipe/g,"|");
_10+=_f;
_11[4]=_f;
}
}
var _12=(_b!="*")?"{"+_b+",}":"+";
var _13=(_f=="any")?new RegExp("^(["+_10+"]|[^a-zA-Z0-9\\s])"+_12+"$"):new RegExp("^["+_10+"]"+_12+"$");
if(!_13.test(this.elem.value)){
this.throwError([this.elem.value,this.elem.fName,_11[0],_11[1],_11[2],_11[3],_11[4]]);
}
};
fValidate.prototype.equalto=function(_14){
if(this.typeMismatch("text")){
return;
}
if(typeof _14=="undefined"){
this.paramError("oName");
}
var _15=this.form.elements[_14];
if(this.elem.value!=_15.value){
this.throwError([this.elem.fName,_15.fName]);
}
};
fValidate.prototype.ssn=function(){
if(this.typeMismatch("text")){
return;
}
if(!(/^\d{3}\-\d{2}\-\d{4}$/.test(this.elem.value))){
this.throwError();
}
};
fValidate.prototype.select=function(){
if(this.typeMismatch("s1")){
return;
}
if(this.elem.selectedIndex==0){
this.throwError([this.elem.fName]);
}
};
fValidate.prototype.selectm=function(_16,_17){
if(this.typeMismatch("sm")){
return;
}
if(typeof _16=="undefined"){
this.paramError("minS");
}
if(_17==999||_17=="*"||typeof _17=="undefined"||_17>this.elem.length){
_17=this.elem.length;
}
var _18=0;
for(var opt,i=0;(opt=this.elem.options[i]);i++){
if(opt.selected){
_18++;
}
}
if(_18<_16||_18>_17){
this.throwError([_16,_17,this.elem.fName,_18]);
}
};
fValidate.prototype.selecti=function(_1b){
if(this.typeMismatch("s1")){
return;
}
if(typeof _1b=="undefined"){
this.paramError("indexes");
return;
}
_1b=_1b.split(",");
var _1c=true;
for(var i=0;i<_1b.length;i++){
if(this.elem.options[_1b[i]].selected){
_1c=false;
break;
}
}
if(!_1c){
this.throwError([this.elem.fName]);
}
};
fValidate.prototype.cazip=function(){
var _1e=this.elem;
if(this.typeMismatch("text")){
return;
}
_1e.value=_1e.value.toUpperCase();
if(!(/^[A-Z][0-9][A-Z] [0-9][A-Z][0-9]$/.test(_1e.value))){
this.throwError();
}
};
fValidate.prototype.capost=fValidate.prototype.cazip;
fValidate.prototype.ukpost=function(){
var _1f=this.elem;
if(this.typeMismatch("text")){
return;
}
_1f.value=_1f.value.toUpperCase();
if(!(/^[A-Z]{1,2}\d[\dA-Z] ?\d[A-Z]{2}$/.test(_1f.value))){
this.throwError();
}
};
fValidate.prototype.germanpost=function(){
var _20=this.elem;
if(this.typeMismatch("text")){
return;
}
_20.value=_20.value.toUpperCase();
if(!(/^(?:CH\-)\d{4}$/.test(_20.value))){
this.throwError();
}
};
fValidate.prototype.swisspost=function(){
var _21=this.elem;
if(this.typeMismatch("text")){
return;
}
_21.value=_21.value.toUpperCase();
if(!(/^(?:D\-)\d{5}$/.test(this.elem.value))){
this.throwError();
}
};
fValidate.prototype.email=function(_22){
if(this.typeMismatch("text")){
return;
}
if(typeof _22=="undefined"){
_22=0;
}
var _23=[/.+@.+\..+$/i,/^\w.+@\w.+\.[a-z]+$/i,/^\w[-_a-z~.]+@\w[-_a-z~.]+\.[a-z]{2}[a-z]*$/i,/^\w[\w\d]+(\.[\w\d]+)*@\w[\w\d]+(\.[\w\d]+)*\.[a-z]{2,7}$/i];
if(!_23[_22].test(this.elem.value)){
this.throwError();
}
};
fValidate.prototype.url=function(_24,_25,_26){
if(this.typeMismatch("text")){
return;
}
this.setArg(_24,"http");
var _27="^(?:("+_24.replace(/\,/g,"|")+")\\:\\/\\/)";
var end=(Boolean(_26)==true)?"(\\?.*)?$":"$";
if(Boolean(_25)==true){
_27+="?";
}
var _29=new RegExp(_27+"([\\w\\d-]+\\.?)+"+end);
if(!_29.test(this.elem.value)){
this.throwError([this.elem.fName]);
}
};
fValidate.prototype.ip=function(_2a,_2b){
if(this.typeMismatch("text")){
return;
}
_2a=this.setArg(_2a,0);
_2b=this.setArg(_2b,99999);
if(!(/^\d{1,3}(\.\d{1,3}){3}(:\d+)?$/.test(this.elem.value))){
this.throwError();
}else{
var _2c,i=0,_2e=this.elem.value.split(/[.:]/);
while(_2c=_2e[i++]){
if(i==5){
if(_2c<_2a||_2c>_2b){
this.throwError([_2c,_2a,_2b],1);
}
}else{
if(_2c<0||_2c>255){
this.throwError();
}
}
}
}
};
fValidate.prototype.decimal=function(_2f,_30){
if(this.typeMismatch("text")){
return;
}
var _31="",_32=this.elem;
if(_2f!="*"){
_2f=parseInt(_2f,10);
}
if(_30!="*"){
_30=parseInt(_30,10);
}
if(_2f==0){
_31="^\\.[0-9]{"+_30+"}$";
}else{
if(_2f=="*"){
_31="^[0-9]*\\.[0-9]{"+_30+"}$";
}else{
if(_30=="*"){
_31="^[0-9]{"+_2f+"}\\.[0-9]+$";
}else{
_31="^[0-9]{"+_2f+"}\\.[0-9]{"+_30+"}$";
}
}
}
_31=new RegExp(_31);
if(!_31.test(_32.value)){
this.throwError([_32.value,_32.fName]);
}
};
fValidate.prototype.decimalr=function(_33,_34,_35,_36){
if(this.typeMismatch("text")){
return;
}
_33=(_33=="*")?0:parseInt(_33,10);
_34=(_34=="*")?"":parseInt(_34,10);
_35=(_35=="*")?0:parseInt(_35,10);
_36=(_36=="*")?"":parseInt(_36,10);
var _37="^[0-9]{"+_33+","+_34+"}\\.[0-9]{"+_35+","+_36+"}$";
var _38=new RegExp(_37);
if(!_38.test(this.elem.value)){
this.throwError([this.elem.fName]);
}
return true;
};
fValidate.prototype.zip=function(sep){
if(this.typeMismatch("text")){
return;
}
sep=this.setArg(sep,"- ");
var _3a=new RegExp("^[0-9]{5}(|["+sep.toPattern()+"][0-9]{4})?$");
if(!_3a.test(this.elem.value)){
this.throwError();
}
};
fValidate.prototype.phone=function(_3b){
if(this.typeMismatch("text")){
return;
}
_3b=this.setArg(_3b,0);
var _3c=[/^(\(?\d\d\d\)?)?[ -]?\d\d\d[ -]?\d\d\d\d$/,/^(\(\d\d\d\) )?\d\d\d[ -]\d\d\d\d$/];
if(!_3c[_3b].test(this.elem.value)){
if(_3b==1){
this.throwError();
}else{
this.throwError([],1);
}
}
};
fValidate.prototype.date=function(_3d,_3e,_3f,_40){
if(this.typeMismatch("text")){
return;
}
if(typeof _3d=="undefined"){
this.paramError("formatStr");
return;
}
_3e=this.setArg(_3e,"/");
var _41=[this.elem.fName,_3d.replace(/\//g,_3e)];
var _42=_3d.split("/");
var _43=this.elem.value.split(_3e);
var _44=new Object();
for(var i=0;i<_42.length;i++){
switch(_42[i].charAt(0).toLowerCase()){
case "m":
_44.months=i;
break;
case "d":
_44.days=i;
break;
case "y":
_44.years=i;
break;
}
}
var _46=new Date(_43[_44.years],_43[_44.months]-1,_43[_44.days]);
if(isNaN(_46)||_46.getDate()!=_43[_44.days]||_46.getMonth()!=_43[_44.months]-1||_46.getFullYear().toString().length!=_3d.match(/y/g).length){
this.throwError(_41);
return;
}
var _47=this.form.elements[_40];
if(typeof _47!="undefined"){
_40=_47.validDate||_47.value;
}
var _48=(_40=="today")?new Date():new Date(_40);
_48.setHours(0);
_48.setMinutes(0);
_48.setSeconds(0);
_48.setMilliseconds(0);
var _49=_48.getTime()-_46.getTime();
var _4a=false;
switch(parseInt(_3f)){
case 1:
_4a=Boolean(_49>0);
_41=1;
break;
case 2:
_4a=Boolean((_49+86400000)>0);
_41=2;
break;
case 3:
_4a=Boolean(_49<0);
_41=3;
break;
case 4:
_4a=Boolean((_49-86400000)<0);
_41=4;
break;
default:
_4a=true;
}
if(!_4a){
this.throwError([_40],_41);
}
this.elem.validDate=_46.toString();
};
fValidate.prototype.money=function(ds,grp,dml){
if(this.typeMismatch("text")){
return;
}
ds=(ds==" ")?false:ds.toPattern();
grp=(grp==" ")?false:grp.toPattern();
dml=(dml==" ")?false:dml.toPattern();
var _4e,_4f;
switch(true){
case Boolean(ds&&grp&&dml):
_4f="^"+ds+"(?:(?:[0-9]{1,3}"+grp+")(?:[0-9]{3}"+grp+")*[0-9]{3}|[0-9]{1,3})("+dml+"[0-9]{2})$";
_4e=ds+"XX"+grp+"XXX"+dml+"XX";
break;
case Boolean(ds&&grp&&!dml):
_4f="^"+ds+"(?:(?:[0-9]{1,3}"+grp+")(?:[0-9]{3}"+grp+")*[0-9]{3}|[0-9]{1,3})$";
_4e=""+ds+"XX"+grp+"XXX";
break;
case Boolean(ds&&!grp&&dml):
_4f="^"+ds+"[0-9]*(\\.[0-9]{2})$";
_4e=""+ds+"XXXXX"+dml+"XX";
break;
case Boolean(!ds&&grp&&dml):
_4f="^(?:(?:[0-9]{1,3}"+grp+")(?:[0-9]{3}"+grp+")*[0-9]{3}|[0-9]{1,3})("+dml+"[0-9]{2})?$";
_4e="XX"+grp+"XXX"+dml+"XX";
break;
case Boolean(ds&&!grp&&!dml):
_4f="^"+ds+"[0-9]*$";
_4e=""+ds+"XXXXX";
break;
case Boolean(!ds&&grp&&!dml):
_4f="^(?:(?:[0-9]{1,3}"+grp+")(?:[0-9]{3}"+grp+")*[0-9]{3}|[0-9]{1,3})$";
_4e="XX"+grp+"XXX";
break;
case Boolean(!ds&&!grp&&dml):
_4f="^[0-9]*("+dml+"[0-9]{2})$";
_4e="XXXXX"+dml+"XX";
break;
case Boolean(!ds&&!grp&&!dml):
_4f="^.?(?:(?:[0-9]{1,3}.?)(?:[0-9]{3}.?)*[0-9]{3}|[0-9]{1,3})(.[0-9]{2})?$";
_4e="[?]XX[?]XXX[?XX]";
}
var _50=new RegExp(_4f);
if(!_50.test(this.elem.value)){
this.throwError([this.elem.fName,_4e.replace(/\\/g,"")]);
}
};
fValidate.prototype.checkbox=function(_51,_52){
if(this.typeMismatch("cb")){
return;
}
if(typeof _51=="undefined"){
this.paramError("minC");
return;
}
if(this.elem==this.form.elements[this.elem.name]&&!this.elem.checked){
this.throwError([this.elem.fName]);
}else{
this.elem=this.form.elements[this.elem.name];
var len=this.elem.length;
var _54=0;
if(_52==999||_52=="*"||typeof _52=="undefined"||_52>this.elem.length){
_52==len;
}
var i=len;
while(i-->0){
if(this.elem[i].checked){
_54++;
}
}
if(_54<_51||_54>_52){
this.throwError([_51,_52,this.elem[0].fName,_54]);
}
}
};
fValidate.prototype.radio=function(){
if(this.typeMismatch("rg")){
return;
}
if(this.elem==this.form.elements[this.elem.name]&&!this.elem.checked){
this.throwError([this.elem.fName]);
}else{
this.elem=this.form.elements[this.elem.name];
for(var i=0;i<this.elem.length;i++){
if(this.elem.item(i).checked){
return;
}
}
this.throwError([this.elem[0].fName]);
}
};
fValidate.prototype.eitheror=function(){
if(this.typeMismatch("hidden")){
return;
}
if(typeof arguments[0]=="undefined"){
this.paramError("delim");
return;
}
if(typeof arguments[1]=="undefined"){
this.paramError("fields");
return;
}
var arg,i=0,_59=new Array(),_5a,_5b=0,_5c=arguments[1].split(arguments[0]);
this.elem.fields=new Array();
while(arg=_5c[i++]){
_5a=this.form.elements[arg];
_59.push(_5a.fName);
this.elem.fields.push(_5a);
if(!this.isBlank(arg)){
_5b++;
}
}
if(_5b!=1){
this.throwError([_59.join("\n\t-")]);
}
};
fValidate.prototype.atleast=function(){
if(this.typeMismatch("hidden")){
return;
}
if(typeof arguments[0]==undefined){
this.paramError("qty");
return;
}
if(typeof arguments[1]==undefined){
this.paramError("delim");
return;
}
if(typeof arguments[2]==undefined){
this.paramError("fields");
return;
}
var arg,i=0,_5f=new Array(),_60,_61=0,_62=arguments[2].split(arguments[1]);
this.elem.fields=new Array();
while(arg=_62[i++]){
_60=this.form.elements[arg];
_5f.push(_60.fName);
this.elem.fields.push(_60);
if(!this.isBlank(arg)){
_61++;
}
}
if(_61<arguments[0]){
this.throwError([arguments[0],_5f.join("\n\t-"),_61]);
}
};
fValidate.prototype.allornone=function(){
if(this.typeMismatch("hidden")){
return;
}
if(typeof arguments[0]=="undefined"){
this.paramError("delim");
return;
}
if(typeof arguments[1]=="undefined"){
this.paramError("fields");
return;
}
var arg,i=0,_65=new Array(),_66,_67=0,_68=arguments[1].split(arguments[0]);
this.elem.fields=new Array();
while(arg=_68[i++]){
_66=this.form.elements[arg];
_65.push(_66.fName);
this.elem.fields.push(_66);
if(!this.isBlank(arg)){
_67++;
}
}
if(_67>0&&_67<_68.length){
this.throwError([_65.join("\n\t-"),_67]);
}
};
fValidate.prototype.comparison=function(_69,_6a,_6b){
if(this.typeMismatch("hidden")){
return;
}
var _6c=this.form.elements[_69],_6d=this.form.elements[_6b],_6e=this.getValue(_6c),_6f=this.getValue(_6d);
i18n=this.i18n.comparison;
i=-1;
var _70=[[">",i18n.gt],["<",i18n.lt],[">=",i18n.gte],["<=",i18n.lte],["==",i18n.eq],["!=",i18n.neq]];
while(_70[++i][0]!=_6a){
}
this.elem.fields=[_6c,_6d];
if(!eval(_6e+_6a+_6f)){
this.throwError([_6c.fName,_70[i][1],_6d.fName]);
}
};
fValidate.prototype.file=function(_71,_72){
if(this.typeMismatch("file")){
return;
}
if(typeof _71=="undefined"){
this.paramError("extensions");
return;
}
_72=Boolean(_72)?"":"i";
var _73=new RegExp("^.+\\.("+_71.replace(/,/g,"|")+")$",_72);
if(!_73.test(this.elem.value)){
this.throwError([_71.replace(/,/g,"\n")]);
}
};
fValidate.prototype.custom=function(_74,_75){
if(this.typeMismatch("text")){
return;
}
_74=(_74)?_74.replace(/[^gim]/ig):"";
var _76=new RegExp(this.elem.getAttribute(this.config.pattern),_74);
if(!_76.test(this.elem.value)){
this.throwError([this.elem.fName]);
}
};
fValidate.prototype.cc=function(){
if(this.typeMismatch("text")){
return;
}
var _77=this.form.elements[this.config.ccType];
if(!_77){
this.devError("noCCType");
return;
}
var _78=_77.options[_77.selectedIndex].value.toUpperCase();
var _79={"VISA":/^4\d{12}(\d{3})?$/,"MC":/^5[1-5]\d{14}$/,"DISC":/^6011\d{12}$/,"AMEX":/^3[4|7]\d{13}$/,"DINERS":/^3[0|6|8]\d{12}$/,"ENROUTE":/^2[014|149]\d{11}$/,"JCB":/^3[088|096|112|158|337|528]\d{12}$/,"SWITCH":/^(49030[2-9]|49033[5-9]|49110[1-2]|4911(7[4-9]|8[1-2])|4936[0-9]{2}|564182|6333[0-4][0-9]|6759[0-9]{2})\d{10}(\d{2,3})?$/,"DELTA":/^4(1373[3-7]|462[0-9]{2}|5397[8|9]|54313|5443[2-5]|54742|567(2[5-9]|3[0-9]|4[0-5])|658[3-7][0-9]|659(0[1-9]|[1-4][0-9]|50)|844[09|10]|909[6-7][0-9]|9218[1|2]|98824)\d{10}$/,"SOLO":/^(6334[5-9][0-9]|6767[0-9]{2})\d{10}(\d{2,3})?$/};
if(_77.validated==false&&this.groupError==true){
return;
}
if(typeof _79[_78]=="undefined"&&_77.validated==false&&this.groupError==false){
this.devError([_78]);
return;
}
this.elem.value=this.elem.value.replace(/[^\d]/g,"");
if(!_79[_78].test(this.elem.value)||!this.elem.value.luhn()){
this.throwError([this.elem.fName]);
}
};
String.prototype.luhn=function(){
var i=this.length;
var _7b="",_7c;
while(_7c=this.charAt(--i)){
_7b+=(i%2==0)?_7c*2:_7c;
}
_7b=eval(_7b.split("").join("+"));
return (_7b%10==0);
};
fValidate.prototype.ccDate=function(_7d,_7e){
if(this.typeMismatch("s1")){
return;
}
_7e=parseInt(this.getValue(this.form.elements[_7e]),10)+2000;
_7d=parseInt(this.getValue(this.form.elements[_7d]),10);
var _7f=new Date();
var _80=new Date(_7e,_7d);
if(_80<_7f){
alert(["Card Expired",_7f,_80].join("\n"));
}
};

