(function(f){var e=[];var i=[];var a=[];var h=[];var d={};var b=xe.createApp("Validator",{init:function(){var o=/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)*$/;this.cast("ADD_RULE",["email",o]);this.cast("ADD_RULE",["email_address",o]);var r=/^[a-z]+[\w-]*[a-z0-9_]+$/i;this.cast("ADD_RULE",["userid",r]);this.cast("ADD_RULE",["user_id",r]);var q=/^(https?|ftp|mms):\/\/[0-9a-z-]+(\.[_0-9a-z-\/\~]+)+(:[0-9]{2,4})*$/;this.cast("ADD_RULE",["url",q]);this.cast("ADD_RULE",["homepage",q]);var m=/^[???-???]*$/;this.cast("ADD_RULE",["korean",m]);var n=/^[???-???0-9]*$/;this.cast("ADD_RULE",["korean_number",n]);var k=/^[a-z]*$/i;this.cast("ADD_RULE",["alpha",k]);var l=/^[a-z][a-z0-9_]*$/i;this.cast("ADD_RULE",["alpha_number",l]);var p=/^[0-9]*$/;this.cast("ADD_RULE",["number",p])},run:function(n){var l="";if(n._filter){l=n._filter.value}var m=[n,l];var k=this.cast("VALIDATE",m);if(typeof k=="undefined"){k=false}return k},API_ONREADY:function(){var k=this;f("form").each(function(){if(this.onsubmit){this["xe:onsubmit"]=this.onsubmit;this.onsubmit=null}}).submit(function(){var n=this["xe:onsubmit"];var m=f.isFunction(n);var l=m?n.apply(this):k.run(this);return l})},API_VALIDATE:function(m,p){var l=this,k=true,o=p[0],n=null,q=null;if(o.elements._filter){n=o.elements._filter.value}if(!n){return true}if(f.isFunction(h[n])){q=h[n]}n=f.extend({},a[n.toLowerCase()]||{},d);f.each(n,function(r){var y=o.elements[r];if(!y){return true}var t=f(y),x=f.trim(c(t));var v=parseInt(this.minlength)||0;var s=parseInt(this.maxlength)||0;var w=(this.rule||"").split(",");if(this.required&&!x){return(k=(!!l.cast("ALERT",[o,r,"isnull"])&&false))}if(!this.required&&!x){return(k=true)}if((v&&x.length<v)||(s&&x.length>s)){return(k=(!!l.cast("ALERT",[o,r,"outofrange",v,s])&&false))}if(this.equalto){var u=c(f(o.elements[this.equalto]));if(u!=x){return(k=(!!l.cast("ALERT",[o,r,"equalto"])&&false))}}f.each(w,function(){var z=l.cast("APPLY_RULE",[this,x]);if(!z){l.cast("ALERT",[o,r,"invalid_"+this]);return(k=false)}});if(!k){return false}});if(!k){return false}if(f.isFunction(q)){return q(o)}return true},API_ADD_RULE:function(l,m){var k=m[0].toLowerCase();i[k]=m[1]},API_DEL_RULE:function(l,m){var k=m[0].toLowerCase();delete i[k]},API_GET_RULE:function(l,m){var k=m[0].toLowerCase();if(i[k]){return i[k]}else{return null}},API_ADD_FILTER:function(l,n){var k=n[0].toLowerCase();var m=n[1];a[k]=m},API_DEL_FILTER:function(l,m){var k=m[0].toLowerCase();delete a[k]},API_GET_FILTER:function(l,m){var k=m[0].toLowerCase();if(a[k]){return a[k]}else{return null}},API_ADD_EXTRA_FIELD:function(l,m){var k=m[0].toLowerCase();var n=m[1];d[k]=n},API_GET_EXTRA_FIELD:function(l,m){var k=m[0].toLowerCase();return d[k]},API_DEL_EXTRA_FIELD:function(l,m){var k=m[0].toLowerCase();delete d[k]},API_APPLY_RULE:function(l,n){var k=n[0].toLowerCase();var m=n[1];if(typeof(i[k])=="undefined"){return true}if(f.isFunction(i[k])){return i[k](m)}if(i[k] instanceof RegExp){return i[k].test(m)}return true},API_ALERT:function(r,p){var k=p[0];var q=p[1];var o=p[2];var l=p[3];var n=p[4];var s=this.cast("GET_MESSAGE",[q]);var m=this.cast("GET_MESSAGE",[o]);if(m!=o){m=(m.indexOf("%s")<0)?(s+m):(m.replace("%s",s))}if(l||n){m+="("+(l||"")+"~"+(n||"")+")"}this.cast("SHOW_ALERT",[m]);f(k.elements[q]).focus()},API_SHOW_ALERT:function(k,l){alert(l[0])},API_ADD_MESSAGE:function(l,n){var k=n[0];var m=n[1];e[k]=m},API_GET_MESSAGE:function(l,m){var k=m[0];return e[k]||k},API_ADD_CALLBACK:function(l,n){var k=n[0];var m=n[1];h[k]=m},API_REMOVE_CALLBACK:function(l,m){var k=m[0];delete h[k]}});var j=new b;xe.registerApp(j);var g=xe.createPlugin("editor_stub",{API_BEFORE_VALIDATE:function(l,o){var m=o[0];var k=m.getAttribute("editor_sequence");if(k){try{editorRelKeys[k].content.value=editorRelKeys[k].func(k)||""}catch(n){}}}});j.registerPlugin(new g);function c(k){var l=[];if(k.is(":radio")){return k.filter(":checked").val()}else{if(k.is(":checkbox")){k.filter(":checked").each(function(){l.push(this.value)});return l.join("|@|")}else{return k.val()}}}})(jQuery);function filterAlertMessage(e){var d=e.error;var f=e.message;var b=e.act;var a=e.redirect_url;var c=location.href;if(typeof(f)!="undefined"&&f&&f!="success"){alert(f)}if(typeof(b)!="undefined"&&b){c=current_url.setQuery("act",b)}else{if(typeof(a)!="undefined"&&a){c=a}}if(c==location.href){c=c.replace(/#(.*)$/,"")}location.href=c}function procFilter(b,a){a(b);return false};
