function nFormValid(c){this.fields=c} nFormValid.prototype={verify:function(){var c=[];for(var a in this.fields){var b=a.indexOf("[]",0);curNameMod=b!=-1?a.substring(0,b)+"\\[\\]":a;b=$("input[name="+curNameMod+"],select[name="+a+"],textarea[name="+a+"]");if(b.length==0)c.push([a,b,false]);else{if(b.length>1)b=b[1].type=="radio"?$("input[name="+a+"]:checked"):$("input[name="+a+"]:checked").length>0?$("input[name="+a+"]:checked"):$("input[name="+a+"]:first");var d=b.attr("type")=="checkbox"?b.attr("checked"):b.val();this.testField(this.fields[a], d)?c.push([a,b,true]):c.push([a,b,false])}}if(c.length>0)return c;return true},testField:function(c,a){if(typeof a=="undefined")return false;var b="",d="";if((pos=c.indexOf("/",0))!=-1){d=c.substr(pos+1,c.length);c=c.substr(0,pos)}for(var e=0,f=0;e<=a.length;){a.charAt(e)==" "&&++f;++e}if(f==a.length)a="";switch(c){case "func":fieldOk=eval(d)?true:false;break;case "length":c=0;e=d;if((pos=d.indexOf("-",0))!=-1){c=d.substr(0,pos)-1;e=d.substr(pos+1,d.length)}fieldOk=d.length>0?a.length>c&&a.length<= e:a.length>e;break;case "num":fieldOk=d.length>0?!isNaN(a)&&a.length>0&&a.length<=d:!isNaN(a)&&a.length>0;break;case "checked":fieldOk=a===true;break;case "alpha":b=d.length>0?"^[^\\s0-9]{1,"+d+"}$":"^[^\\s0-9]{1,}$";break;case "alphanum":b=d.length>0?"^.{1,"+d+"}$":"^.{1,}$";break;case "email":b="^(.+)@([^();:,<>]+.[a-zA-Z]{2,4})";break;case "url":b="^(http://).+";break;default:b=c;break}if(b!="")fieldOk=(new RegExp(b,"gi")).test(a);return fieldOk}};