var predefinedReq={not_empty:"^(.*)+$",email:"^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$",password:"^(?=.*\d)(?=.*[a-zA-Z])(?!.*[W_\x7B-\xFF]).{6,15}$"};var validation=new Class({predefined:{testReq:function(a,b){if(predefinedReq[b]){return(a.value.test(predefinedReq[b]))}else{return(a.value.test(b))}},isConfirm:function(a,b){return(a.value==$(b.secObject).value)},not_equal:function(a,b){return(a.value!=b)},length:function(a,c){var b=a.value;if(c.min==null){if(b.length<c.min){return false}else{return true}}else{if(c.max==null){if(b.length>c.max){return false}else{return true}}else{if(b.length<c.min||b.length>c.max){return false}else{return true}}}},isUnique:function(a,c){var b=a.value;a.removeClass("invalid");a.removeClass("require");a.removeClass("valid");a.addClass("wait");new Request.JSON({url:"/pages/isUnique/"+c.model+"/"+c.field+"/"+b,onComplete:function(d){if(d["return"]==true){a.removeClass("invalid");a.removeClass("require");a.removeClass("wait");a.addClass("valid")}else{a.removeClass("valid");a.removeClass("require");a.removeClass("wait");a.addClass("invalid")}}}).send();return null},isChecked:function(a,b){return a.checked}},val:{},valideForm:function(b){var a=$(b);not_valid_el=a.getElements(".invalid, .require");if(not_valid_el.length==0){return true}else{errors=[];not_valid_el.each(function(c){errors[errors.length]=c.err_message["type_"+c.valid_error]});return errors}},define:function(b,a){if(!this.val[b]){this.val[b]={}}$extend(this.val[b],a)},show:function(){alert(JSON.encode(this.val))},generate:function(id_form,edit){if(edit==true){className="valid"}else{className="require"}$each(this.val[id_form],function(items,id){node=$(id);if(node){node.err_message=[];start_valid=false;$each(items,function(item,fnc){if(start_valid==false){start_valid=fnc}node.err_message["type_"+fnc]=item.err_message});if(node.nodeName=="INPUT"&&(node.getProperty("type")=="text"||node.getProperty("type")=="password")){event_="keyup"}else{if(node.nodeName=="INPUT"&&node.getProperty("type")=="checkbox"){event_="click"}else{if(node.nodeName=="INPUT"&&node.getProperty("type")=="hidden"){event_="zmena"}else{if(node.nodeName=="SELECT"){event_="change"}else{if(node.nodeName=="TEXTAREA"){event_="keyup"}}}}}node.addEvent(event_,(function(e){target=new Event(e).target;for(fnc in items){parameters=items[fnc]["condition"];fnc_string=fnc;fnc=eval(this.predefined[fnc]);func_return=fnc(target,parameters);if(func_return==true){target.removeClass("invalid");target.removeClass("require");target.addClass("valid")}else{if(func_return==false){target.removeClass("valid");target.removeClass("require");target.addClass("invalid");target.valid_error=fnc_string;break}else{target.removeClass("valid");target.removeClass("require");target.removeClass("invalid")}}}}).bind(this)).addClass(className);node.valid_error=start_valid}},this)}});validation=new validation();
