function UserProfile(){this.serviceUrl="/x-user.ashx";this.standardViews="view=agent|user";this.initialised=false;this.onReady=null;this.onUpdate=null;this.context=null;this.ts=function(){return Number(new Date())};this.init=function(){var A=this;$.ajax({url:A.serviceUrl+"?"+this.standardViews,cache:false,dataType:"json",success:function(B){A.context=B;A.initialised=true;if(typeof (A.onReady)=="function"){A.onReady()}},error:function(){A.context=null;A.initialised=false;if(typeof (A.onReady)=="function"){A.onReady()}}})};this.isInRole=function(C){if(this.initialised&&this.context){var B=this.context.agent.profile.roles;if(B){for(var A=0;A<B.length;A++){if(B[A]==C){return true}}}}return false};this.appendRolesToUrl=function(A){if(this.context!=null&&A!=null){var C=this.context.agent.profile.roles;if(C&&C.length>0){if(A.indexOf("?")==-1){A+="?"}else{A+="&"}A+="target=";for(var B=0;B<C.length;B++){if(B>0){A+=","}A+=C[B]}}}return A};this.updateSetting=function(A,B){this.updateSettings([{name:A,value:B}])};this.updateSettings=function(A){var D=this;var B="";for(var C=0;C<A.length;C++){B+=A[C].name+"="+A[C].value+";"}$.post(D.serviceUrl+"?"+this.standardViews,{action:"set",data:B},function(E){D.context=E;D.initialised=true;if(typeof (D.onUpdate)=="function"){D.onUpdate()}},"json")};this.getRedirect=function(A,B){return this.serviceUrl+"?redirect="+A+"&condition="+encodeURIComponent(B)};this.profileStoreTime=30;this.ajaxEnabled=function(){var A=stateManager.readCookie("ajax");if(A==null){stateManager.createCookie("ajax","true",this.profileStoreTime);return true}else{if(A=="true"){return true}else{return false}}};this.onAjaxPreferenceChange=null;this.enableAjax=function(){stateManager.createCookie("ajax","true",this.profileStoreTime);if(typeof (this.onAjaxPreferenceChange)=="function"){this.onAjaxPreferenceChange(true)}};this.disableAjax=function(){stateManager.createCookie("ajax","false",this.profileStoreTime);if(typeof (this.onAjaxPreferenceChange)=="function"){this.onAjaxPreferenceChange(true)}}};
