rpc={s:[],timeout:30000,i:0,call:function(qStr,rtn,rqrLog,dlg){var n='rpc'+this.i++,s=this.s[n]={name:n,msg:qStr,vector:rtn,image:new Image,cnt:0,log:rqrLog||false,status:0,start:0,dlg:dlg};s.image.onload=function(){rpc.rtn(this)};s.image.name=n;this.mon()},_snd:function(n){n.status=0;n.cnt++;if(!advise.fire('rpcsnd',n))n.image.src='Routines/Rpc.asp?'+n.msg+'&_d='+(n.start=Now().getTime())},rtn:function(o){var s=rpc.s[o.name];if(!s)return;rpc.s[o.name]=null;s.response=Cookie('r');Cookie('r','');if((s.status=o.height)==3)return typeof(relog)=='function'?relog():self.location='login.asp';if(!advise.fire('rpcrtn',s)&&s.vector!=null)s.vector(s)},mon:function(){var i,s=rpc.s;for(i in s){if(s[i]!=null){if(s[i].cnt==0)return rpc._snd(s[i]);if(Now().getTime()-s[i].start>rpc.timeout){advise.fire('rpcmon',s[i]);s[i]=null;alert('Unable to transmit information. Try again.')}}}}}
setInterval('rpc.mon()',1000)
