jQuery.fn.validation=function(_1){
_1=_1||{};
_1.type=_1.type||"alphasInt";
_1.add=_1.add||"";
_1.empty=_1.empty||"si";
_1.ctrl=_1.ctrl||"si";
_1.onError=typeof _1.onError=="function"?_1.onError:function(){
};
_1.onDone=typeof _1.onDone=="function"?_1.onDone:function(){
};
this.keypress(function(e){
key=getKeyCode(e);
_1.OBJ=this;
if(_1.ctrl=="si"){
if((e.ctrlKey&&key==97)||(e.ctrlKey&&key==65)){
return true;
}
if((e.ctrlKey&&key==120)||(e.ctrlKey&&key==88)){
return true;
}
if((e.ctrlKey&&key==99)||(e.ctrlKey&&key==67)){
return true;
}
if((e.ctrlKey&&key==122)||(e.ctrlKey&&key==90)){
return true;
}
if((e.ctrlKey&&key==118)||(e.ctrlKey&&key==86)||(e.shiftKey&&key==45)){
return true;
}
}else{
if((e.ctrlKey&&key==97)||(e.ctrlKey&&key==65)){
return false;
}
if((e.ctrlKey&&key==120)||(e.ctrlKey&&key==88)){
return false;
}
if((e.ctrlKey&&key==99)||(e.ctrlKey&&key==67)){
return false;
}
if((e.ctrlKey&&key==122)||(e.ctrlKey&&key==90)){
return false;
}
if((e.ctrlKey&&key==118)||(e.ctrlKey&&key==86)||(e.shiftKey&&key==45)){
return false;
}
}
if(key==undefined){
return true;
}
return validateChar(key);
});
this.blur(function(){
if(_1.empty=="no"&&this.value.length==0){
_1.onError.apply(this);
return false;
}
valid=1;
for(j=0;j<this.value.length;j++){
if(validateChar(this.value.charCodeAt(j))!=true){
valid=0;
}
}
if(_1.type=="mail"&&this.value.length>0){
valid=checkEmail(this.value);
}
if(valid==0){
_1.onError.apply(this);
}else{
_1.onDone.apply(this);
}
});
function validateChar(_3){
if(_3==8||_3==13){
return true;
}
if(_1.add!=""&&keyAdd(_3,_1.add)){
return true;
}
if(_1.type=="int"){
return keyN(_3);
}else{
if(_1.type=="lower"){
return keyL(_3);
}else{
if(_1.type=="lowers"){
return (keyL(_3)||keyAdd(_3,"\u0102\u02db\u0102\xa0\u0102\u0105\u0102\xa8\u0102\xa9\u0102\xac"));
}else{
if(_1.type=="upper"){
return keyU(_3);
}else{
if(_1.type=="uppers"){
return (keyU(_3)||keyAdd(_3,"\u0102\u02db\u0102\xa0\u0102\u0105\u0102\xa8\u0102\xa9\u0102\xac"));
}else{
if(_1.type=="alpha"){
return (keyL(_3)||keyU(_3));
}else{
if(_1.type=="alphas"){
return (keyL(_3)||keyU(_3)||keyAdd(_3,"\u0102\u02db\u0102\xa0\u0102\u0105\u0102\xa8\u0102\xa9\u0102\xac"));
}else{
if(_1.type=="lowerInt"){
return (keyL(_3)||keyN(_3));
}else{
if(_1.type=="lowersInt"){
return (keyL(_3)||keyN(_3)||keyAdd(_3,"\u0102\u02db\u0102\xa0\u0102\u0105\u0102\xa8\u0102\xa9\u0102\xac"));
}else{
if(_1.type=="upperInt"){
return (keyU(_3)||keyN(_3));
}else{
if(_1.type=="uppersInt"){
return (keyU(_3)||keyN(_3)||keyAdd(_3,"\u0102\u02db\u0102\xa0\u0102\u0105\u0102\xa8\u0102\xa9\u0102\xac"));
}else{
if(_1.type=="alphaInt"){
return (keyL(_3)||keyU(_3)||keyN(_3));
}else{
if(_1.type=="alphasInt"){
return (keyL(_3)||keyU(_3)||keyN(_3)||keyAdd(_3,"\u0102\u02db\u0102\xa0\u0102\u0105\u0102\xa8\u0102\xa9\u0102\xac"));
}else{
if(_1.type=="nick"){
return (keyL(_3)||keyU(_3)||keyN(_3)||keyAdd(_3,"-_ .@"));
}else{
if(_1.type=="mail"){
return keyMail(_3);
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
function getKeyCode(e){
if(window.event){
return e.keyCode;
}else{
if(e.which){
return e.which;
}
}
}
function keyAdd(_5,_6){
for(i=0;i<_6.length;i++){
if(_5==_6.charCodeAt(i)){
return true;
}
}
return false;
}
function keyN(k){
return (k>=48&&k<=57);
}
function keyU(k){
return (k>=65&&k<=90);
}
function keyL(k){
return (k>=97&&k<=122);
}
function keyMail(k){
if(keyL(k)||keyU(k)||keyN(k)||keyAdd(k,"-_.@")){
if((k==46||k==45||k==95||k==64)&&_1.OBJ.value.length==0){
return false;
}
if(keyN(k)&&_1.OBJ.value.length==0){
return false;
}
if((k==46||k==45||k==95||k==64)&&_1.OBJ.value[_1.OBJ.value.length-1]=="."){
return false;
}
cb=_1.OBJ.value[_1.OBJ.value.length-1];
if((k==46||k==64)&&(cb=="-"||cb=="_"||cb=="@"||cb==".")){
return false;
}
if(k==64&&_1.OBJ.value.length<3){
return false;
}
if(_1.OBJ.value.indexOf("@")!=-1){
if(k==64){
return false;
}
offSet=_1.OBJ.value.length-_1.OBJ.value.indexOf("@");
if((k==46||k==45||k==95)&&offSet==1){
return false;
}
if(k==46&&offSet<4){
return false;
}
}
}else{
return false;
}
}
function db(s){
$("#test").html($("#test").html()+"<br>"+s+" - "+String.fromCharCode(s));
}
function db1(s){
$("#test").html($("#test").html()+"<br>"+s);
}
function checkEmail(_d){
if(/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/.test(_d)){
return true;
}else{
return false;
}
}
};

