var formValidate=new Class({Implements:[Events],initialize:function(a,b){this.srcPath=b+"img/";this.path=b;a=$$(a);a.each(this.checkfields,this);},checkfields:function(a){if(a.className.test("check")){new Element("img",{id:"val-"+a.name,src:this.srcPath+"valid-false.gif","class":"valid"}).inject(a,"after");}a.addEvent("blur",function(b){switch(a.id){case"email":this.valEmail(a);break;case"username":this.checkUsername(a);break;case"firstname":case"lastname":this.valAn(a);break;}}.bind(this));},checkUsername:function(a){if(a.value.length<3){this.validateFalse(a);$("error").set("html","Der Benutzername muss zwischen <strong>3</strong> und <strong>20</strong> Zeichen lang sein!");}else{if(a.value.test(/^([-\w]+)$/)){notAllowed=["administrator","admin","mod","sex","moderator","siteadmin"];if(notAllowed.contains(a.value.toLowerCase())){this.validateFalse(a);$("error").set("html","Der Benutzername <strong>"+a.value+"</strong> ist nicht erlaubt!");}else{new Request({data:"user="+a.value,method:"post",url:this.path+"inc/ajax/checkuser.php",onSuccess:function(b){if(b==1){this.validateFalse(a);$("error").set("html","Der Benutzername <strong>"+a.value+"</strong> ist leider schon vergeben!");}else{$("error").set("html");this.validateTrue(a);}}.bind(this)}).send();}}else{$("error").set("html");this.validateFalse(a);}}},valAn:function(a){if(a.value==""){this.validateFalse(a);}else{this.validateTrue(a);}},valEmail:function(a){if(a.value.test(/^[\w_\-]+(\.[\w_\-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.[a-z]{2,4}[ ]*$/i)){new Request({data:"email="+a.value,method:"post",url:this.path+"inc/ajax/checkmail.php",onSuccess:function(b){if(b==1){this.validateFalse(a);$("error").set("html","Diese E-Mail Adresse wird schon von einem anderen Benutzer verwendet!");}else{$("error").set("html");this.validateTrue(a);}}.bind(this)}).send();}else{this.validateFalse(a);}},validateTrue:function(a){var b=$("val-"+a.id);a.set("styles",{"padding-left":23,width:205});b.set("styles",{display:"block"});b.set("src",this.srcPath+"valid-true.gif");},validateFalse:function(a,c){var b=$("val-"+a.id);a.set("styles",{"padding-left":23,width:205,background:"#fff"});b.set("styles",{display:"block"});b.set("src",this.srcPath+"valid-false.gif");},checkFormFields:function(a){erfields=[];$$(a).each(function(c){var b=this.searchAndReplace($("val-"+c.id).getProperty("src"),this.srcPath);if($("val-"+c.id).get("src")!=this.srcPath+"valid-false.gif"){if(erfields.indexOf(c.id)==1){erfields.erase(c.id);}}else{erfields.push(c.id);this.validateFalse(c);}}.bind(this));if(erfields.length==0){if($("age").get("checked")==false){alert("Bestätige noch, dass du 18. Lebensjahr vollendet hast!");}else{if(this.request){alert("Das Registrierungsformular wurde schon versandt, bitte warten!");}else{$("formRegister").set("send",{method:"post",url:this.path+"inc/ajax/register.php",onRequest:function(){this.request=true;this.loader=new Element("img",{src:"img/ajax-loader-admin.gif",height:16,width:16,id:"loader","class":"regloader"}).inject($("btnSubmit"),"after");}.bind(this),onFailure:function(){this.request=false;this.loader.destroy();alert("Es ist ein Fehler aufgetreten!");}.bind(this),onComplete:function(b){this.request=false;this.loader.destroy();$("formRegister").empty().set("html",b);}.bind(this)}).send();}}}else{$("error").set("html","Überprüfe bitte die <strong>markierten</strong> Felder!");}},clearFields:function(){$$(".check").each(function(a){var b=$("val-"+a.id);a.value="";a.set("styles",{"padding-left":3,width:225});b.set("styles",{display:"none"});b.set("src","");}.bind(this));},searchAndReplace:function(d,c){var b=c.length;var a=d.indexOf(c,0);while(a>=0){d=d.substring(0,a)+d.substring(a+b);a=d.indexOf(c,a);}return d;}});
