(function(d,f,b){var g=null,j=null,i=true;var e={tit:"提示信息",w:{"*":"不能为空!","*6-16":"请填写6到16位任意字符!","n":"请填写数字!","n6-16":"请填写6到16位数字!","s":"不能输入特殊字符!","s6-18":"请填写6到18位字符!","p":"请填写邮政编码!","m":"请填写手机号码!","e":"邮箱地址格式不对!","url":"请填写网址!"},def:"请填写正确信息!",undef:"datatype未定义!",reck:"两次输入的内容不一致!",r:"通过信息验证!",c:"正在检测信息…",s:"请{填写|选择}{0|信息}!",v:"所填信息没有经过验证,请稍后…",p:"正在提交数据…"};d.tipmsg=e;var a=function(l,n,k){var n=d.extend({},a.defaults,n);n.datatype&&d.extend(a.util.datatype,n.datatype);var m=this;m.tipmsg={w:{}};m.forms=l;m.objects=[];if(k===true){return false}l.each(function(){if(this.validform_inited=="inited"){return true}this.validform_inited="inited";var p=this;p.settings=d.extend({},n);var o=d(p);p.validform_status="normal";o.data("tipmsg",m.tipmsg);o.delegate("[datatype]","blur",function(){var q=arguments[1];a.util.check.call(this,o,q)});o.delegate(":text","keypress",function(q){if(q.keycode==13&&o.find(":submit").length==0){o.submit()}});a.util.enhance.call(o,p.settings.tiptype,p.settings.useplugin,p.settings.tipsweep);p.settings.btnsubmit&&o.find(p.settings.btnsubmit).bind("click",function(){o.trigger("submit");return false});o.submit(function(){var q=a.util.submitform.call(o,p.settings);q===b&&(q=true);return q});o.find("[type='reset']").add(o.find(p.settings.btnreset)).bind("click",function(){a.util.resetform.call(o)})});if(n.tiptype==1||(n.tiptype==2||n.tiptype==3)&&n.ajaxpost){c()}};a.defaults={tiptype:1,tipsweep:false,showallerror:false,postonce:false,ajaxpost:false};a.util={datatype:{"*":/[\w\w]+/,"*6-16":/^[\w\w]{6,16}$/,n:/^\d+$/,"n6-16":/^\d{6,16}$/,s:/^[\u4e00-\u9fa5\uf900-\ufa2d\w\.\s]+$/,"s6-18":/^[\u4e00-\u9fa5\uf900-\ufa2d\w\.\s]{6,18}$/,p:/^[0-9]{6}$/,m:/^13[0-9]{9}$|14[0-9]{9}|15[0-9]{9}$|16[0-9]{9}$|17[0-9]{9}$|18[0-9]{9}$|19[0-9]{9}$/,e:/^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,url:/^(\w+:\/\/)?\w+(\.\w+)+.*$/},tostring:object.prototype.tostring,isempty:function(k){return k===""||k===d.trim(this.attr("tip"))},getvalue:function(m){var l,k=this;if(m.is(":radio")){l=k.find(":radio[name='"+m.attr("name")+"']:checked").val();l=l===b?"":l}else{if(m.is(":checkbox")){l="";k.find(":checkbox[name='"+m.attr("name")+"']:checked").each(function(){l+=d(this).val()+","});l=l===b?"":l}else{l=m.val()}}l=d.trim(l);return a.util.isempty.call(m,l)?"":l},enhance:function(l,m,n,k){var o=this;o.find("[datatype]").each(function(){if(l==2){if(d(this).parent().next().find(".validform_checktip").length==0){d(this).parent().next().append("");d(this).siblings(".validform_checktip").remove()}}else{if(l==3||l==4){if(d(this).siblings(".validform_checktip").length==0){d(this).parent().append("");d(this).parent().next().find(".validform_checktip").remove()}}}});o.find("input[recheck]").each(function(){if(this.validform_inited=="inited"){return true}this.validform_inited="inited";var q=d(this);var p=o.find("input[name='"+d(this).attr("recheck")+"']");p.bind("keyup",function(){if(p.val()==q.val()&&p.val()!=""){if(p.attr("tip")){if(p.attr("tip")==p.val()){return false}}q.trigger("blur")}}).bind("blur",function(){if(p.val()!=q.val()&&q.val()!=""){if(q.attr("tip")){if(q.attr("tip")==q.val()){return false}}q.trigger("blur")}})});o.find("[tip]").each(function(){if(this.validform_inited=="inited"){return true}this.validform_inited="inited";var q=d(this).attr("tip");var p=d(this).attr("altercss");d(this).focus(function(){if(d(this).val()==q){d(this).val("");if(p){d(this).removeclass(p)}}}).blur(function(){if(d.trim(d(this).val())===""){d(this).val(q);if(p){d(this).addclass(p)}}})});o.find(":checkbox[datatype],:radio[datatype]").each(function(){if(this.validform_inited=="inited"){return true}this.validform_inited="inited";var q=d(this);var p=q.attr("name");o.find("[name='"+p+"']").filter(":checkbox,:radio").bind("click",function(){settimeout(function(){q.trigger("blur")},0)})});o.find("select[datatype][multiple]").bind("click",function(){var p=d(this);settimeout(function(){p.trigger("blur")},0)});a.util.useplugin.call(o,m,l,n,k)},useplugin:function(o,l,n,r){var s=this,o=o||{};if(s.find("input[plugin='swfupload']").length&&typeof(swfuploadhandler)!="undefined"){var k={custom_settings:{form:s,showmsg:function(v,t,u){a.util.showmsg.call(s,v,l,{obj:s.find("input[plugin='swfupload']"),type:t,sweep:n})}}};k=d.extend(true,{},o.swfupload,k);s.find("input[plugin='swfupload']").each(function(t){if(this.validform_inited=="inited"){return true}this.validform_inited="inited";d(this).val("");swfuploadhandler.init(k,t)})}if(s.find("input[plugin='datepicker']").length&&d.fn.datepicker){o.datepicker=o.datepicker||{};if(o.datepicker.format){date.format=o.datepicker.format;delete o.datepicker.format}if(o.datepicker.firstdayofweek){date.firstdayofweek=o.datepicker.firstdayofweek;delete o.datepicker.firstdayofweek}s.find("input[plugin='datepicker']").each(function(t){if(this.validform_inited=="inited"){return true}this.validform_inited="inited";o.datepicker.callback&&d(this).bind("dateselected",function(){var u=new date(d.event._dpcache[this._dpid].getselected()[0]).asstring(date.format);o.datepicker.callback(u,this)});d(this).datepicker(o.datepicker)})}if(s.find("input[plugin*='passwordstrength']").length&&d.fn.passwordstrength){o.passwordstrength=o.passwordstrength||{};o.passwordstrength.showmsg=function(u,v,t){a.util.showmsg.call(s,v,l,{obj:u,type:t,sweep:n})};s.find("input[plugin='passwordstrength']").each(function(t){if(this.validform_inited=="inited"){return true}this.validform_inited="inited";d(this).passwordstrength(o.passwordstrength)})}if(r!="addrule"&&o.jqtransform&&d.fn.jqtransselect){if(s[0].jqtransselected=="true"){return}s[0].jqtransselected="true";var m=function(t){var u=d(".jqtransformselectwrapper ul:visible");u.each(function(){var v=d(this).parents(".jqtransformselectwrapper:first").find("select").get(0);if(!(t&&v.olabel&&v.olabel.get(0)==t.get(0))){d(this).hide()}})};var p=function(t){if(d(t.target).parents(".jqtransformselectwrapper").length===0){m(d(t.target))}};var q=function(){d(document).mousedown(p)};if(o.jqtransform.selector){s.find(o.jqtransform.selector).filter('input:submit, input:reset, input[type="button"]').jqtransinputbutton();s.find(o.jqtransform.selector).filter("input:text, input:password").jqtransinputtext();s.find(o.jqtransform.selector).filter("input:checkbox").jqtranscheckbox();s.find(o.jqtransform.selector).filter("input:radio").jqtransradio();s.find(o.jqtransform.selector).filter("textarea").jqtranstextarea();if(s.find(o.jqtransform.selector).filter("select").length>0){s.find(o.jqtransform.selector).filter("select").jqtransselect();q()}}else{s.jqtransform()}s.find(".jqtransformselectwrapper").find("li a").click(function(){d(this).parents(".jqtransformselectwrapper").find("select").trigger("blur")})}},getnullmsg:function(o){var n=this;var m=/[\u4e00-\u9fa5\uf900-\ufa2da-za-z\s]+/g;var k;var l=o[0].settings.label||".validform_label";l=n.siblings(l).eq(0).text()||n.siblings().find(l).eq(0).text()||n.parent().siblings(l).eq(0).text()||n.parent().siblings().find(l).eq(0).text();l=l.replace(/\s(?![a-za-z])/g,"").match(m);l=l?l.join(""):[""];m=/\{(.+)\|(.+)\}/;k=o.data("tipmsg").s||e.s;if(l!=""){k=k.replace(/\{0\|(.+)\}/,l);if(n.attr("recheck")){k=k.replace(/\{(.+)\}/,"");n.attr("nullmsg",k);return k}}else{k=n.is(":checkbox,:radio,select")?k.replace(/\{0\|(.+)\}/,""):k.replace(/\{0\|(.+)\}/,"$1")}k=n.is(":checkbox,:radio,select")?k.replace(m,"$2"):k.replace(m,"$1");n.attr("nullmsg",k);return k},geterrormsg:function(s,n,u){var o=/^(.+?)((\d+)-(\d+))?$/,m=/^(.+?)(\d+)-(\d+)$/,l=/(.*?)\d+(.+?)\d+(.*)/,q=n.match(o),t,r;if(u=="recheck"){r=s.data("tipmsg").reck||e.reck;return r}var p=d.extend({},e.w,s.data("tipmsg").w);if(q[0]in p){return s.data("tipmsg").w[q[0]]||e.w[q[0]]}for(var k in p){if(k.indexof(q[1])!=-1&&m.test(k)){r=(s.data("tipmsg").w[k]||e.w[k]).replace(l,"$1"+q[3]+"$2"+q[4]+"$3");s.data("tipmsg").w[q[0]]=r;return r}}return s.data("tipmsg").def||e.def},_regcheck:function(t,n,u,a){var a=a,y=null,v=false,o=/\/.+\//g,k=/^(.+?)(\d+)-(\d+)$/,l=3;if(o.test(t)){var s=t.match(o)[0].slice(1,-1);var r=t.replace(o,"");var q=regexp(s,r);v=q.test(n)}else{if(a.util.tostring.call(a.util.datatype[t])=="[object function]"){v=a.util.datatype[t](n,u,a,a.util.datatype);if(v===true||v===b){v=true}else{y=v;v=false}}else{if(!(t in a.util.datatype)){var m=t.match(k),z;if(!m){v=false;y=a.data("tipmsg").undef||e.undef}else{for(var b in a.util.datatype){z=b.match(k);if(!z){continue}if(m[1]===z[1]){var w=a.util.datatype[b].tostring(),r=w.match(/\/[mgi]*/g)[1].replace("/",""),x=new regexp("\\{"+z[2]+","+z[3]+"\\}","g");w=w.replace(/\/[mgi]*/g,"/").replace(x,"{"+m[2]+","+m[3]+"}").replace(/^\//,"").replace(/\/$/,"");a.util.datatype[t]=new regexp(w,r);break}}}}if(a.util.tostring.call(a.util.datatype[t])=="[object regexp]"){v=a.util.datatype[t].test(n)}}}if(v){l=2;y=u.attr("sucmsg")||a.data("tipmsg").r||e.r;if(u.attr("recheck")){var p=a.find("input[name='"+u.attr("recheck")+"']:first");if(n!=p.val()){v=false;l=3;y=u.attr("errormsg")||a.util.geterrormsg.call(u,a,t,"recheck")}}}else{y=y||u.attr("errormsg")||a.util.geterrormsg.call(u,a,t);if(a.util.isempty.call(u,n)){y=u.attr("nullmsg")||a.util.getnullmsg.call(u,a)}}return{passed:v,type:l,info:y}},regcheck:function(n,s,m){var t=this,k=null,l=false,r=3;if(m.attr("ignore")==="ignore"&&a.util.isempty.call(m,s)){if(m.data("cked")){k=""}return{passed:true,type:4,info:k}}m.data("cked","cked");var u=a.util.parsedatatype(n);var q;for(var p=0;p=k.forms.length){return null}if(!(l in k.objects)){k.objects[l]=new a(d(k.forms[l]).get(),{},true)}return k.objects[l]},resetstatus:function(){var k=this;d(k.forms).each(function(){this.validform_status="normal"});return this},setstatus:function(k){var l=this;d(l.forms).each(function(){this.validform_status=k||"posting"});return this},getstatus:function(){var l=this;var k=d(l.forms)[0].validform_status;return k},ignore:function(k){var l=this;var k=k||"[datatype]";d(l.forms).find(k).each(function(){d(this).data("dataignore","dataignore").removeclass("validform_error")});return this},unignore:function(k){var l=this;var k=k||"[datatype]";d(l.forms).find(k).each(function(){d(this).removedata("dataignore")});return this},addrule:function(n){var m=this;var n=n||[];for(var l=0;l0?k:0);n.css({left:l}).animate({top:k},{duration:m,queue:false})}function c(){if(d("#validform_msg").length!==0){return false}j=d('
'+e.tit+'χ
').appendto("body");j.find("a.validform_close").click(function(){j.hide();i=true;if(g){g.focus().addclass("validform_error")}return false}).focus(function(){this.blur()});d(window).bind("scroll resize",function(){!i&&h(j,400)})}d.showmsg=function(k){c();a.util.showmsg.call(f,k,1,{})};d.hidemsg=function(){j.hide();i=true}})(jquery,window);