var LoginModule=function(a,b){this.main=Ext.get("loginmod-"+a);this.form=Ext.get("loginmod-"+a+"-form");this.error=Ext.get("loginmod-"+a+"-error");this.username=Ext.get("loginmod-"+a+"-email");this.password=Ext.get("loginmod-"+a+"-pass");this.form.on("submit",this.onSubmit,this);this.login=Ext.get("loginmod-"+a+"-submit");this.recover=Ext.get("loginmod-"+a+"-recover");this.texts=b;this.recover.on("click",this.onForgotPassword,this);this.username.on("keydown",this.onKeydown,this);this.password.on("keydown",this.onKeydown,this)};LoginModule.prototype={tt:function(a){return this.texts[a]},onKeydown:function(a){if(a.getKey()==13){a.stopEvent();this.onSubmit()}this.hideError.call(this)},onSubmit:function(a){if(a){a.stopEvent()}if(this.username.dom.value.length==0||this.password.dom.value.length==0){this.displayError(this.tt("empty_fields"));return false}this.addLoading();Ext.Ajax.request({url:"/users/login",scope:this,params:{ext:"true","data[User][username]":this.username.dom.value,"data[User][password]":this.password.dom.value,"data[User][remember]":"on"},success:function(b,c){var d=Ext.util.JSON.decode(b.responseText);if(d.success){window.location.reload()}else{this.form.loading=false;this.resetSubmitBtn();this.displayError(this.tt("invalid_login"))}}})},onForgotPassword:function(){if(this.username.dom.value.length==0){this.displayError(this.tt("email_is_empty"));return false}this.recover.dom.value="";this.recover.addClass("loading");Ext.Ajax.request({url:"/profile/changePasswordSendUrl",scope:this,params:{email:this.username.dom.value},success:function(a,b){this.recover.removeClass("loading");this.recover.dom.value="Forgot password ?";var c=Ext.util.JSON.decode(a.responseText);if(c.success){this.afterForgotPasswordSuccess()}else{this.displayError(c.errorInfo)}}})},afterForgotPasswordSuccess:function(){if(!this.forgotPwdTpl){this.forgotPwdTpl=new Ext.Template('<div class="forgot-pwd-success">{text}</div>')}this.forgotPwdTpl.overwrite(this.main.dom,{text:this.tt("forgot_pwd_success_msg").replace("{email}",this.username.dom.value)})},addLoading:function(){this.login.dom.value="";this.login.addClass("loading")},displayError:function(a){this.error.update(a);this.error.animate({opacity:{to:1,from:0},height:{to:15,from:3}},0.5,function(){new Ext.util.DelayedTask(function(){this.error.animate({opacity:{to:0,from:1},height:{to:3,from:15}},0.5)},this).delay(2000)}.createDelegate(this));this.errorDisplayed=true},hideError:function(){if(!this.errorDisplayed){return}this.errorDisplayed=false},resetSubmitBtn:function(){this.login.removeClass("loading");this.login.dom.value=this.tt("submit_button")}};
