(function(f){f.fn.formCheck=function(i,j){return this.each(function(){var l=f(this);if(this.tagName.toLowerCase()!="form"){return}if(i){if(!this.objFormCheck){var k=new f.formCheck(this,j);k.initCheck();this.objFormCheck=k;l.attr("formcheck",true)}}else{if(this.objFormCheck){this.objFormCheck.delCheck();this.objFormCheck=null;l.removeAttr("formcheck")}}})};f.formCheck=function(i,r){var l={onShowError:b};var p=i;var k=f.extend({},l,r);var j=false,m=true;this.initCheck=function(){var s=f(p);if(k.confirm){s.attr("confirm",k.confirm)}if(k.remotecheck){s.attr("remotecheck",k.remotecheck)}if(k.rules){f.each(k.rules,function(u,t){var w=f("#"+u);if(t.limit){w.attr("limit",t.limit)}if(t.check){w.attr("check",t.check)}if(t.warning){w.attr("warning",t.warning)}if(t.ok){w.attr("ok",t.ok)}if(t.blurcheck){w.attr("blurcheck",t.blurcheck)}})}k.remotecheck=s.attr("remotecheck");s.submit(q);s.find("[limit]").keypress(h);s.find("[blurcheck]").blur(n)};this.delCheck=function(){var s=f(p);s.unbind("submit",q).removeAttr("remotecheck").removeAttr("confirm");s.find("[limit]").unbind("keypress",h).removeAttr("limit");s.find("[blurcheck]").unbind("blur",n).removeAttr("blurcheck");s.find("[check],[warning],[ok]").removeAttr("check").removeAttr("warning").removeAttr("ok")};function n(){if(!j){o(this)}}function q(){var w=true;j=true;m=true;var u=p.elements;for(var t=0;t<u.length;t++){if(a(u[t])){continue}var v=o(u[t]);if(!v.ok){w=false}if(!v.next){j=false;return false}}j=false;m=true;if(!w){return false}var s=p.getAttribute("confirm");if(s){if(!confirm(s)){return false}}if(k.onSuccess){return k.onSuccess(p)}}function o(x){var u=x.getAttribute("check"),t,v;if(u){var A=x.getAttribute("warning");if(!A){A=""}var s=A.split("||");var C=c(x);var y=x.id;var z=u.split("||");for(var w=0;w<z.length;w++){u=z[w];if(u){if(u=="#EmptySkip"){if(!e(1,"[^\\s]+",C)){return{next:true,ok:true}}continue}var t=false;A=s[w];if(u.substr(0,2)=="f:"){t=e(2,u.substr(2),C)}else{if(u.substr(0,2)=="a:"){if(k.onBeforeRemote){k.onBeforeRemote(y)}t=g(k.remotecheck,u.substr(2),C)}else{if(aExp[u]){if(!A){A=aMessage[u]}u=aExp[u]}t=e(1,u,C)}}if(!t){if(!A){A=defMessage}if(k.onShowError){v=k.onShowError(y,A)}if(j&&m){m=false;d(x)}return{next:v,ok:false}}}}var B=x.getAttribute("ok");if(B&&k.onShowOk){k.onShowOk(y,B)}}return{next:true,ok:true}}};function e(m,j,n){var l=false;switch(m){case 1:var k=new RegExp(j,"i");l=k.test(n);break;case 2:var i;n=n.replace(/\"/g,'\\"').replace(/\r?\n/g,"\\r\\n");if(j.indexOf("(")!=-1){i=j.replace(/\$v/g,'"'+n+'"')}else{i=j+'("'+n+'")'}l=eval(i);break}return l}function g(l,j,m){var k=true;if(l){var i=f.ajax({type:"GET",url:l,data:{ac:j,v:m},async:false});if(i.status==200){i=eval("("+i.responseText+")");k=i.success}}return k}function h(l){var k=l.which;if(k==8||k==9||k==13||k==46||(k>=37&&k<=40)){return true}var i=this.getAttribute("limit");var j=new RegExp(i,"gi");return j.test(String.fromCharCode(k))}function b(j,i){alert(i);return false}function c(j){var l=j.type;switch(l){case"text":case"hidden":case"password":case"file":case"textarea":return j.value;case"checkbox":case"radio":return i(j);case"select-one":case"select-multiple":return k(j)}function i(n){var p="";var o=document.getElementsByName(n.name);for(var m=0;m<o.length;m++){if(o[m].checked){p+="0"}}return p}function k(n){var o="";for(var m=0;m<n.options.length;m++){if(n.options[m].selected&&n.options[m].value!=""){o+="0"}}return o}}function d(j){f(j).focus();switch(j.type){case"checkbox":case"radio":var i=document.getElementsByName(j.name);i[0].focus()}}function a(k){if(k.type=="radio"||k.type=="checkbox"){var l=document.getElementsByName(k.name);for(var j=0;j<l.length;j++){if(l[j].disabled==false){return false}}return true}else{return k.disabled}}f(function(){f("form[formcheck]").formCheck(true)})})(jQuery);
