jmaki.namespace("jmaki.widgets.moa.moaHomeloginwidget");jmaki.widgets.moa.moaHomeloginwidget.Widget=function(wargs){var _widget=this;var uuid="#"+wargs.uuid;var publish="/moa/moaHomeloginwidget";var subscribe=["/moa/moaHomeloginwidget"];var tasks=["/authenticate"];if(wargs.publish){publish=wargs.publish;}if(wargs.subscribe){if(typeof wargs.subscribe=="string"){subscribe=[];subscribe.push(wargs.subscribe);}else{subscribe=wargs.subscribe;}}var initSubscribe=function(){_widget.subs=[];for(var task=0;task<tasks.length;task++){doSubscribe(subscribe+tasks[task],_widget.authenticate);}};var doSubscribe=function(topic,handler){var i=jmaki.subscribe(topic,handler);_widget.subs.push(i);};var init=function(){initSubscribe();};this.postLoad=function(){init();doInitialize();$(uuid).hide();};var doInitialize=function(){$("#clickMe").click(function(){_widget.resetForm();$("#textBox").toggle("slide",0,"slow");});$("#clickMeD").click(function(){_widget.resetForm();if($(this).hasClass("arrow")){$(this).removeClass("arrow");}else{$(this).addClass("arrow");}if($("#textBox").is(":visible")){$("#textBox").hide();}else{$("#textBox").show();}});$("#close").click(function(){$("#textBox").toggle("slide",0,"slow");});$("#error_Message").hide();$("#btnSubmit").live("click",function(){_widget.doSubmit();});$("form").submit(function(){_widget.doSubmit();return false;});$("#logout").live("click",function(){_widget.dologoutSubmit();});$("#j_username").live("keydown",function(){_widget.setErrorMessage("");});$("#j_password").live("keydown",function(){_widget.setErrorMessage("");});};this.resetForm=function(){_widget.setErrorMessage("");_widget.resetFormFieldUsername();_widget.resetFormFieldPassword();};this.resetFormFieldUsername=function(){$("#j_username").val("");};this.resetFormFieldPassword=function(){$("#j_password").val("");};this.setErrorMessage=function(message){if(message==""){$("#error_Message").hide();}else{$("#error_Message").show();}$("#error_Message").html(message);};this.setMessage=function(message){$("#authenticated_message").html(message);};this.authenticate=function(e,c){if(isLoggedIn()){$("#textBox").hide();$("#login_link").hide();$("#logout_link").show();renderscreenname();}else{$("#login_link").show();$("#logout_link").hide();}$(uuid).show();};this.doSubmit=function(){if(_widget.validate()){jmaki.doAjax({url:contextRoot+"j_spring_security_check",method:"POST",content:{j_username:$("#j_username").val(),j_password:$("#j_password").val(),_spring_security_remember_me:$("#_spring_security_remember_me").val(),moa_from:"moa"},callback:function(request){if(request==null||request.responseText==null||request.responseText==""){updateSessionUser(renderscreenname);_widget.setMessage("");_widget.setErrorMessage("");}else{var msg=request.responseText;if("url:"==msg.substr(0,4)){location.href=msg.substring(4,msg.length);}else{_widget.setErrorMessage("Invalid User Name or Password.");_widget.resetFormFieldPassword();}}},onerror:function(message){_widget.setErrorMessage(message);}});}};var count=0;var renderscreenname=function(){if(_user==null){if(count==0){updateSessionUser(renderscreenname);}else{}count++;}else{_widget.doUpdates();}};this.doUpdates=function(){if(_user!=null){_widget.resetForm();$("#textBox").hide();$("#login_link").hide();$("#logout_link").show();if(_user.fullName!=null){_widget.setMessage("Hi "+_user.fullName);}if(1==_user.roleId){$(".admin_btn_container").css({display:"none"});}else{$(".admin_btn_container").css({display:"block"});}}else{$(".admin_btn_container").css({display:"none"});}};this.dologoutSubmit=function(){jmaki.doAjax({url:contextRoot+"j_spring_security_logout",method:"POST",content:{},callback:function(request){_user=null;$("#textBox").show();$("#login_link").show();$("#logout_link").hide();updateSessionUser(null);_widget.setMessage("");_widget.setErrorMessage("");count=0;},onerror:function(message){}});};this.validate=function(){var inpUsn=$("#j_username").val();var inpPwd=$("#j_password").val();if(inpUsn==null||inpUsn==""||inpPwd==null||inpPwd==""){_widget.setErrorMessage("Invalid User Name or Password.");return false;}return true;};function handleEnter(field,event){var keyCode=event.keyCode?event.keyCode:event.which?event.which:event.charCode;if(keyCode==13){return false;}}};
