jmaki.namespace("jmaki.widgets.moa.moaloginwidget");jmaki.widgets.moa.moaloginwidget.Widget=function(wargs){var _widget=this;var uuid="#"+wargs.uuid;var publish="/moa/moaloginwidget";var subscribe=["/moa/moaloginwidget"];var tasks=["/authenticate","/doLogout","/doClose"];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=[];doSubscribe(subscribe+tasks[0],_widget.authenticate);doSubscribe(subscribe+tasks[1],_widget.doLogout);doSubscribe(subscribe+tasks[2],_widget.doClose);};var doSubscribe=function(topic,handler){var i=jmaki.subscribe(topic,handler);_widget.subs.push(i);};var init=function(){initSubscribe();};this.postLoad=function(){init();doInitialize();};var doInitialize=function(){$("#lnkClose").live("click",function(){_widget.resetForm();$((uuid)+"_external_content").dialog("close");});$("#j_username").live("keydown",function(){_widget.setMessage("");});$("#j_password").live("keydown",function(){_widget.setMessage("");});$("#btnSubmit").live("click",function(){_widget.doSubmit();});};this.resetForm=function(){_widget.setMessage("");_widget.resetFormFieldUsername();_widget.resetFormFieldPassword();};this.resetFormFieldUsername=function(){$("#j_username").val("");};this.resetFormFieldPassword=function(){$("#j_password").val("");};this.hide=function(){$("#login_popup").hide();};this.setMessage=function(message){$(".authenticated_message").html(message);};this.doLogout=function(e,c){_widget.dologoutSubmit();};this.doClose=function(e,c){_widget.resetForm();$((uuid)+"_external_content").dialog("close");};this.authenticate=function(e,c){$((uuid)+"_external_content").dialog({height:254,width:403,autoOpen:false,bgiframe:true,modal:true,closeOnEscape:true,resizable:false,title:"Member Log In",close:function(){_widget.resetForm();}});$((uuid)+"_external_content").dialog("open");if(navigator.userAgent.indexOf("Firefox")!=-1){$(".ui-widget-overlay").css("z-index","1000");}$("#j_username").focus();};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()},callback:function(request){if(request==null||request.responseText==null||request.responseText==""){updateSessionUser(null);_widget.doClose();}else{_widget.setMessage(request.responseText);_widget.resetFormFieldPassword();}},onerror:function(message){}});}};this.dologoutSubmit=function(){jmaki.doAjax({url:contextRoot+"j_spring_security_logout",method:"POST",content:{},callback:function(request){updateSessionUser(null);_widget.setMessage("");},onerror:function(message){_widget.setMessage(message);}});};this.validate=function(){var inpUsn=$("#j_username").val();var inpPwd=$("#j_password").val();if(inpUsn==null||inpUsn==""||inpPwd==null||inpPwd==""){_widget.setMessage("Invalid User Name or Password.");return false;}return true;};};
