﻿
Ext.namespace("Credit360");Ext.namespace("Jayrock");Credit360.Page=function(){if(Jayrock.Rpc){var spinnerDisabled=false;var created=false;var createSpinner=function(){Ext.DomHelper.append(Ext.getBody(),{tag:"div",id:"spinner",style:"display:none",children:[{tag:"img",src:"/fp/shared/images/fetching.gif",width:16,height:16}]});created=true;};Jayrock.Rpc.on("showspinner",function(){if(spinnerDisabled){return;}
if(!created){createSpinner();}
Ext.get("spinner").show(true);});Jayrock.Rpc.on("hidespinner",function(){if(created){Ext.get("spinner").hide(true);}});}
var m_hideTimer=null;var m_messageElement=null;var m_messagingBusy=false;var m_messageQueue=[];var m_minimumMessageDisplayMilliseconds=1000;function displayMessage(){if(m_messagingBusy||!m_messageQueue.length){return;}
if(!m_messageElement){m_messageElement=Ext.DomHelper.append(Ext.getBody(),{tag:"div",id:"message"},true);if(!Ext.isIE6){m_messageElement.setStyle("position","fixed");}
m_messageElement.hide();Ext.getDoc().on("mousedown",function(){if(!m_messagingBusy){this.hideMessage();}},this);}
m_messageElement.update(m_messageQueue[0].text).alignTo(document,"t-t");m_messageElement.slideIn("t",{callback:function(){showNextMessage.defer(m_minimumMessageDisplayMilliseconds,this);},scope:this});m_messagingBusy=true;}
function showNextMessage(){m_messagingBusy=false;if(m_messageQueue.length>1){m_messageQueue.shift();displayMessage.call(this);}
else if(m_messageQueue.length==1){var hideAfter=m_messageQueue[0].hideAfter;m_messageQueue.shift();if(hideAfter==0){this.hideMessage();}
else if(hideAfter>0){if(m_hideTimer!==null){clearTimeout(m_hideTimer);}
m_hideTimer=this.hideMessage.defer(hideAfter,this);}}}
function clearMessage(){if(m_messageElement){m_messageElement.ghost("t",{block:true,remove:false,useDisplay:true,scope:this,callback:function(){m_messageElement.hide();showNextMessage.call(this);}});m_messagingBusy=true;}}
return{showMessage:function(text,hideAfter){if(!text){return;}
m_messageQueue.push({text:text,hideAfter:hideAfter?Math.max(0,hideAfter-m_minimumMessageDisplayMilliseconds):-1});displayMessage.call(this);},hideMessage:function(){if(m_messageQueue.length||!m_messageElement.isVisible()){return;}
if(m_hideTimer!==null){clearTimeout(m_hideTimer);m_hideTimer=null;}
clearMessage.call(this);},disableSpinner:function(){spinnerDisabled=true;},jsonErrorHandler:function(error,isClient){if(isClient){Credit360.Page.showMessage(error);}else{alert(error);}}};}();