/**
 * jQuery EasyUI 1.3.1
 * 
 * Licensed under the GPL terms
 * To use it on other terms please contact us
 *
 * Copyright(c) 2009-2012 stworthy [ stworthy@gmail.com ] 
 * 
 */
(function($){
function _1(_2){
$(_2).addClass("validatebox-text");
};
function _3(_4){
var _5=$.data(_4,"validatebox");
_5.validating=false;
var _6=_5.tip;
if(_6){
_6.remove();
}
$(_4).unbind();
$(_4).remove();
};
function _7(_8){
var _9=$(_8);
var _a=$.data(_8,"validatebox");
_9.unbind(".validatebox").bind("focus.validatebox",function(){
_a.validating=true;
_a.value=undefined;
(function(){
if(_a.validating){
if(_a.value!=_9.val()){
_a.value=_9.val();
_13(_8);
}else{
_10(_8);
}
setTimeout(arguments.callee,200);
}
})();
}).bind("blur.validatebox",function(){
_a.validating=false;
_b(_8);
}).bind("mouseenter.validatebox",function(){
if(_9.hasClass("validatebox-invalid")){
_c(_8);
}
}).bind("mouseleave.validatebox",function(){
if(!_a.validating){
_b(_8);
}
});
};
function _c(_d){
var _e=$.data(_d,"validatebox").message;
var _f=$.data(_d,"validatebox").tip;
if(!_f){
_f=$("<div class=\"validatebox-tip\">"+"<span class=\"validatebox-tip-content\">"+"</span>"+"<span class=\"validatebox-tip-pointer\">"+"</span>"+"</div>").appendTo("body");
$.data(_d,"validatebox").tip=_f;
}
_f.find(".validatebox-tip-content").html(_e);
_10(_d);
};
function _10(_11){
var box=$(_11);
var tip=$.data(_11,"validatebox").tip;
if(tip){
tip.css({display:"block",left:box.offset().left+box.outerWidth(),top:box.offset().top});
}
};
function _b(_12){
var tip=$.data(_12,"validatebox").tip;
if(tip){
tip.remove();
$.data(_12,"validatebox").tip=null;
}
};
function _13(_14){
var _15=$.data(_14,"validatebox");
var _16=$.data(_14,"validatebox").options;
var tip=$.data(_14,"validatebox").tip;
var box=$(_14);
var _17=box.val();
function _18(msg){
$.data(_14,"validatebox").message=msg;
};
if(_16.required){
if(_17==""){
box.addClass("validatebox-invalid");
_18(_16.missingMessage);
if(_15.validating){
_c(_14);
}
return false;
}
}
if(_16.validType){
var _19=/([a-zA-Z_]+)(.*)/.exec(_16.validType);
var _1a=_16.rules[_19[1]];
if(_17&&_1a){
var _1b=eval(_19[2]);
if(!_1a["validator"](_17,_1b)){
box.addClass("validatebox-invalid");
var _1c=_1a["message"];
if(_1b){
for(var i=0;i<_1b.length;i++){
_1c=_1c.replace(new RegExp("\\{"+i+"\\}","g"),_1b[i]);
}
}
_18(_16.invalidMessage||_1c);
if(_15.validating){
_c(_14);
}
return false;
}
}
}
box.removeClass("validatebox-invalid");
_b(_14);
return true;
};
$.fn.validatebox=function(_1d,_1e){
if(typeof _1d=="string"){
return $.fn.validatebox.methods[_1d](this,_1e);
}
_1d=_1d||{};
return this.each(function(){
var _1f=$.data(this,"validatebox");
if(_1f){
$.extend(_1f.options,_1d);
}else{
_1(this);
$.data(this,"validatebox",{options:$.extend({},$.fn.validatebox.defaults,$.fn.validatebox.parseOptions(this),_1d)});
}
_7(this);
});
};
$.fn.validatebox.methods={destroy:function(jq){
return jq.each(function(){
_3(this);
});
},validate:function(jq){
return jq.each(function(){
_13(this);
});
},isValid:function(jq){
return _13(jq[0]);
}};
$.fn.validatebox.parseOptions=function(_20){
var t=$(_20);
return $.extend({},$.parser.parseOptions(_20,["validType","missingMessage","invalidMessage"]),{required:(t.attr("required")?true:undefined)});
};
$.fn.validatebox.defaults={required:false,validType:null,missingMessage:"This field is required.",invalidMessage:null,rules:{email:{validator:function(_21){
return /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(_21);
},message:"Please enter a valid email address."},url:{validator:function(_22){
return /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(_22);
},message:"Please enter a valid URL."},length:{validator:function(_23,_24){
var len=$.trim(_23).length;
return len>=_24[0]&&len<=_24[1];
},message:"Please enter a value between {0} and {1}."},remote:{validator:function(_25,_26){
var _27={};
_27[_26[1]]=_25;
var _28=$.ajax({url:_26[0],dataType:"json",data:_27,async:false,cache:false,type:"post"}).responseText;
return _28=="true";
},message:"Please fix this field."}}};
})(jQuery);

