
CCC.namespace("account.mgmt");CCC.account.mgmt=function(){var self=this;var ccc=CCC.util;var yu=YAHOO.util;var yw=YAHOO.widget;var localConfig={};var xmlProgram='/ajaxLogin';var loginDialog=null;var nextAction=null;function init(){}
function runNextAction(){var na=nextAction;nextAction=null;if(na){na();}}
function displayLoginMessage(resp){var messageRow=yu.Dom.get('lg_message');var reasonRow=yu.Dom.get('lg_reason');var message=yu.Dom.get('lgs_message');var reason=yu.Dom.get('lgs_reason');message.innerHTML="Please login";if(resp.getElementsByTagName('message')[0]){if(resp.getElementsByTagName('message')[0].firstChild){message.innerHTML=decodeURIComponent(resp.getElementsByTagName('message')[0].firstChild.data);}}
reason.innerHTML="";if(resp.getElementsByTagName('reason')[0]){if(resp.getElementsByTagName('reason')[0].firstChild){reason.innerHTML=decodeURIComponent(resp.getElementsByTagName('reason')[0].firstChild.data);}}
if(reason.innerHTML.length>0){try{reasonRow.style.display='table-row';}catch(e){reasonRow.style.display='block';}}}
function loggedIn(obj){var resp=obj.responseXML?obj.responseXML:obj.responseText;if(obj.argument.panel){ccc.html.destroy_wait_panel(obj.argument.panel);}
var error='';var dialog=null;if(obj.status!=200){if(obj.status===-1){error="Server not responding, ";}
error+=obj.statusText+" ("+obj.status+")";error+="<br /><br />Please try again in a moment.";}
if(error.length>0){obj.argument.self.showLoginDialog();dialog=ccc.html.create_simple_dialog_panel({body:error,icon:yw.SimpleDialog.ICON_WARN});return false;}
var rc=null;if(resp.getElementsByTagName('resultCode')[0]){if(resp.getElementsByTagName('resultCode')[0].firstChild){rc=parseInt(decodeURIComponent(resp.getElementsByTagName('resultCode')[0].firstChild.data),10);}}
var user=null;if(resp.getElementsByTagName('userId')[0]){if(resp.getElementsByTagName('userId')[0].firstChild){user=decodeURIComponent(resp.getElementsByTagName('userId')[0].firstChild.data);}}
if(user){yu.Dom.get('userId').innerHTML=user;}
if(rc!==1){displayLoginMessage(resp);obj.argument.self.showLoginDialog({userId:user});return false;}
if(obj.argument.passwordId){yu.Dom.get(obj.argument.passwordId).value='';}
runNextAction();}
return{begin:function(){init();},end:function(){},checkSession:function(resp,func){var rc,userId;var redirect=null;if(resp.getElementsByTagName('redirect')[0]){if(resp.getElementsByTagName('redirect')[0].firstChild){redirect=decodeURIComponent(resp.getElementsByTagName('redirect')[0].firstChild.data);}}
if(redirect){location.replace(redirect);return false;}
if(resp.getElementsByTagName('sessionResultCode')[0]){rc=null;if(resp.getElementsByTagName('sessionResultCode')[0].firstChild){rc=parseInt(resp.getElementsByTagName('sessionResultCode')[0].firstChild.data,10);}
userId=null;if(resp.getElementsByTagName('userId')[0]){if(resp.getElementsByTagName('userId')[0].firstChild){userId=decodeURIComponent(resp.getElementsByTagName('userId')[0].firstChild.data);}}
if(rc===0){displayLoginMessage(resp);if(func){nextAction=func;}
this.showLoginDialog({userId:userId});return true;}else if(rc<0){if(func){nextAction=func;}
this.loginScreen({userId:userId});return true;}}
return false;},login:function(uId,pId){var u=encodeURIComponent(yu.Dom.get(uId).value);var p=encodeURIComponent(yu.Dom.get(pId).value);loginDialog.hide();var panel=CCC.account.createWaitPanel();yu.Connect.asyncRequest("GET",xmlProgram+'?q=l&u='+u+'&p='+p+'&ts='+new Date().getTime(),{success:loggedIn,failure:loggedIn,timeout:30000,argument:{panel:panel,passwordId:pId,self:this}});},showLoginDialog:function(obj){obj=obj?obj:{};if(!loginDialog){loginDialog=new yw.Dialog("loginDialog",{fixedcenter:true,width:'325px',modal:true,draggable:true,visiable:true,postmethod:'none',close:false});yu.Dom.get('loginDialog').style.display='block';loginDialog.render();}
loginDialog.show();if(obj.userId){yu.Dom.get('loginUserId').innerHTML=obj.userId;yu.Dom.get('loginPassword').focus();}}};}();CCC.util.event.add_load_event(CCC.account.mgmt.begin);CCC.util.event.add_unload_event(CCC.account.mgmt.end);
