user=new function(){var login='speedTrack-User';var userid=null;var loggedin=false;var rated=[];var admin=false;var doLoginX=function(log,id,adminstatus){login=log;userid=id;if(adminstatus||adminstatus=="true"){admin=true;}else{admin=false;}
loggedin=true;Ext.getDom('userLoginName').innerHTML='Hallo '+login+'!';toggleUserlinks();updateTracks();store.reload();};var doLogoutX=function(){Ext.Ajax.request({url:'./STLogoutServlet',scope:this,success:function(){login=null;loggedin=false;admin=false;Ext.getDom('userLoginName').innerHTML='';toggleUserlinks();updateTracks();delete(store.baseParams.userid);store.load({params:{start:0,limit:storePageSize}});}});}
var toggleUserlinks=function(){if(loggedin){Ext.get('userlinks_1').hide();Ext.get('userlinks_2').show();}else{Ext.get('userlinks_1').show();Ext.get('userlinks_2').hide();}};var requestUserstatusX=function(){Ext.Ajax.request({url:'./STLoginServlet',params:{action:'userstatus'},scope:this,success:function(responseObject){var response=Ext.util.JSON.decode(responseObject.responseText);if(response.success){if(!user.isLoggedIn()){doLoginX(response.login,response.userid,response.isAdmin);}}else{toggleUserlinks();updateTracks();}}});};var saveRateStatus=function(trackid){rated[trackid]=true;};return{isLoggedIn:function(){return loggedin;},getUserId:function(){return userid;},getLogin:function(){return login;},requestUserstatus:requestUserstatusX,doLogin:doLoginX,doLogout:doLogoutX,rateTrack:function(trackid){saveRateStatus(trackid);},getRateStatus:function(trackid){return rated[trackid];},isAdmin:function(){return admin;}}}