if(typeof(ORI)=='undefined')var ORI=new cORI();function cORI(){this.eventCallers=[];this.eventFunctions=[];this.eventNames=[];this.eventObjects=[];this.eventUseCapture=[];this.objects=[];this.indexNext=0;this.indexesPool=[];this.indexesPoolCount=0;this.indexAllocate=cORI_indexAllocate;this.indexRelease=cORI_indexRelease;this.objectRecord=cORI_objectRecord;this.objectRemove=cORI_objectRemove;}function cORI_indexAllocate(){if(this.indexesPoolCount==0)return this.indexNext++;else return this.indexesPool[--this.indexesPoolCount];}function cORI_indexRelease(AIndex){this.indexesPool[this.indexesPoolCount++]=AIndex;}function cORI_objectRecord(AObject){var LIndex=this.indexAllocate();this.objects[LIndex]=AObject;return LIndex;}function cORI_objectRemove(AIndex){if(AIndex==-1||AIndex==null)return;this.objects[AIndex]=null;this.indexRelease(AIndex);}var EventCount=0;function EventAttach(AEvent,AObjectFor,ACaller,AMethodName,AUseCapture){var LEventID=ORI.indexAllocate();var LEventFun;var LUseCapture=AUseCapture?true:false;LEventFun=eval('_ = function (AEvent) {var EC = ORI.eventCallers['+LEventID+']; if (AEvent) EC.event = AEvent; else EC.event = window.event; return EC.'+AMethodName+'();}');ORI.eventCallers[LEventID]=ACaller;ORI.eventFunctions[LEventID]=LEventFun;ORI.eventNames[LEventID]=AEvent;ORI.eventObjects[LEventID]=AObjectFor;ORI.eventUseCapture[LEventID]=LUseCapture;if(AObjectFor.attachEvent)AObjectFor.attachEvent(AEvent,LEventFun);else AObjectFor.addEventListener(AEvent.slice(2),LEventFun,LUseCapture);EventCount++;return LEventID;}function EventDetach(AEventID){if(AEventID==-1||AEventID==null)return;EventCount--;if(ORI.eventObjects[AEventID]){if(ORI.eventObjects[AEventID].detachEvent)ORI.eventObjects[AEventID].detachEvent(ORI.eventNames[AEventID],ORI.eventFunctions[AEventID]);else ORI.eventObjects[AEventID].removeEventListener(ORI.eventNames[AEventID].slice(2),ORI.eventFunctions[AEventID],ORI.eventUseCapture[AEventID]);ORI.eventCallers[AEventID]=null;ORI.eventFunctions[AEventID]=null;ORI.eventNames[AEventID]=null;ORI.eventObjects[AEventID]=null;ORI.eventUseCapture[AEventID]=null;}ORI.indexRelease(AEventID);}function HTTPTransportCreate(){try{return new XMLHttpRequest();}catch(E){try{return new ActiveXObject('Msxml2.XMLHTTP');}catch(E){try{return new ActiveXObject('Microsoft.XMLHTTP');}catch(E){var LErrorMessage='Could not find available HTTP transport';if(Gecko)alert(LErrorMessage);throw new Error(LErrorMessage);}}}}function cAJAX(AAsynchronous){this.version='1.0';this.asynchronous=AAsynchronous;this.handleReadyStateChangeException=true;this.onError=[];this.onComplete=[];this.doOnComplete=cAJAX_doOnComplete;this.readyStateChange=cAJAX_readyStateChange;this.readyStateChangeInternal=cAJAX_readyStateChangeInternal;this.get=cAJAX_get;this.post=cAJAX_post;this.send=cAJAX_send;this.transport=HTTPTransportCreate();}function cAJAX_doOnComplete(){EventRaise(this.onComplete,[this.transport]);if(this.commonOnComplete)this.commonOnComplete();}function cAJAX_get(AURL){return this.send(null,AURL,'GET');}function cAJAX_post(AData,AURL){return this.send(AData,AURL,'POST');}function cAJAX_send(AData,AURL,AMethod,AAsynchronous){var LAsync=(AAsynchronous==null?this.asynchronous:AAsynchronous);this.transport.onreadystatechange=function(){};try{this.transport.abort();}catch(E){}this.onErrorSaved=this.onError;if(LAsync){this.oriID=ORI.objectRecord(this);this.transport.onreadystatechange=eval('_=function(){ORI.objects['+this.oriID+'].readyStateChange()}');}this.transport.open(AMethod,AURL,LAsync);if((AMethod=='POST')&&AData){this.transport.setRequestHeader("Content-type","application/x-www-form-urlencoded");this.transport.setRequestHeader("Content-length",AData.length);}this.transport.send(AData);if(LAsync)return;return this.transport;}function cAJAX_readyStateChange(){if(this.handleReadyStateChangeException&&Gecko)try{this.readyStateChangeInternal();}catch(E){alert(E.message);}else this.readyStateChangeInternal();}function cAJAX_readyStateChangeInternal(){if(this.transport.readyState!=4)return;ORI.objectRemove(this.oriID);this.oriID=null;this.transport.onreadystatechange=function(){};var LStatus,LErrorMessage='Failed to receive response from server';try{LStatus=this.transport.status;}catch(E){LStatus='Unknown';}switch(LStatus){case 0:break;case 200:this.doOnComplete();break;default:if(!EventRaise(this.onErrorSaved,[LErrorMessage+' ('+LStatus+')']))alert(LErrorMessage+' ('+LStatus+')');}}function cAJAX_Loader(){var self=new cAJAX(true);self.cAJAX_Loader_get__I=self.get;self.cAJAX_Loader_post__I=self.post;self.responseTN_contentHTML='contentHTML';self.responseTN_errors='errors';self.responseTN_scriptSRC='scriptSRC';self.responseTN_scriptPlain='scriptPlain';self.responseTN_styleSRC='styleSRC';self.responseTN_onLoadScript='onloadScript';self.responseTN_warnings='warnings';self.responseTN_custom=[];self.elementLoad=cAJAX_Loader__elementLoad;self.init=cAJAX_Loader__init;self.onCompleteInternal=cAJAX_Loader__onCompleteInternal;self.responseParse=cAJAX_Loader__responseParse;self.responsePartGet=cAJAX_Loader__responsePartGet;self.scriptsSRCProcess=cAJAX_Loader__scriptsSRCProcess;self.stylesSRCProcess=cAJAX_Loader__stylesSRCProcess;self.errorsProcess=cAJAX_Loader__errorsProcess;self.warningsProcess=cAJAX_Loader__warningsProcess;self.get=cAJAX_Loader__get;self.post=cAJAX_Loader__post;this.onResponseError=null;return self;}function cAJAX_Loader__elementLoad(ATransport,AResponse){this.responseParse(ATransport,AResponse);this.scriptsSRCProcess(AResponse);this.stylesSRCProcess(AResponse);if(AResponse.errors)this.errorsProcess(AResponse);if(AResponse.warnings)this.warningsProcess(AResponse.warnings);}function cAJAX_Loader__errorsProcess(AResponse){if(this.onResponseError)EventRaise(this.onResponseError,[AResponse]);else alert(AResponse.errors);}function cAJAX_Loader__get(AURL,AOnLoadComplete,AContext){this.init(AOnLoadComplete,AContext);this.cAJAX_Loader_get__I(AURL);}function cAJAX_Loader__init(AOnLoadComplete,AContext){if(!AOnLoadComplete)alert('"onLoadComplete" is not defined');this.onComplete=[this,'onCompleteInternal',{onLoadComplete:AOnLoadComplete,context:AContext}];}function cAJAX_Loader__onCompleteInternal(ATransport,AContext){var LResponse=new cAJAX_Response();this.elementLoad(ATransport.responseText,LResponse);EventRaise(AContext.onLoadComplete,[LResponse,AContext.context]);LResponse.scriptsEval(50);}function cAJAX_Loader__post(AData,AURL,AOnLoadComplete,AContext){this.init(AOnLoadComplete,AContext);this.cAJAX_Loader_post__I(AData,AURL);}function cAJAX_Loader__responseParse(ATransport,AResponse){try{AResponse.contentHTML=this.responsePartGet(ATransport,this.responseTN_contentHTML,false);AResponse.errors=this.responsePartGet(ATransport,this.responseTN_errors,false);AResponse.warnings=this.responsePartGet(ATransport,this.responseTN_warnings,true);for(var i=0;i<this.responseTN_custom.length;i++)eval('AResponse.'+this.responseTN_custom[i]+' = \''+this.responsePartGet(ATransport,this.responseTN_custom[i],true).toJSString()+'\';');var LContentOnLoad=this.responsePartGet(ATransport,this.responseTN_onLoadScript,false);if(LContentOnLoad)AResponse.contentOnLoad=function(){setTimeout('eval(\''+LContentOnLoad.toJSString()+'\')',10);};AResponse.stylesSRC=this.responsePartGet(ATransport,this.responseTN_styleSRC,true);AResponse.scriptsSRC=[];AResponse.scriptsPlain=[this.responsePartGet(ATransport,this.responseTN_scriptPlain,true)];var LAttr,LRE=new RegExp('\<script[ \t\n]+(?:.*?src=(?:[\'|\"])?([^\>\'\"]*))?[^\>]*\>','ig');while((LAttr=LRE.exec(ATransport))!=null){var LSRC=LAttr[1];if(LSRC)AResponse.scriptsSRC.push(LSRC);else AResponse.scriptsPlain.push(ATransport.slice(LAttr.index+LAttr[0].length,ATransport.indexOf('</script>',LAttr.index)));}}catch(e){alert(e);}}function cAJAX_Loader__responsePartGet(ATransport,ATagName,AIsOptional){function CheckRaiseError_TagNotFound(AIsEndTag){if(!AIsOptional)throw('Invalid response text: missing tag <'+(AIsEndTag?'/':'')+ATagName+'>');}var LPartStart=ATransport.indexOf('<'+ATagName+'>');var LPartEnd=ATransport.indexOf('</'+ATagName+'>');var LResult='';if(LPartStart==-1)CheckRaiseError_TagNotFound(false);else if(LPartEnd==-1)CheckRaiseError_TagNotFound(true);else LResult=ATransport.substring(LPartStart+ATagName.length+2,LPartEnd);return LResult;}function cAJAX_Loader__scriptsSRCProcess(AResponse){if(!(AResponse.scriptsSRC&&AResponse.scriptsSRC.length>0))return;var LSRCs=[],LScripts=[],LHEAD=document.getElementsByTagName('HEAD')[0],LScriptElements=document.getElementsByTagName('SCRIPT');for(var i=0;i<LScriptElements.length;i++){var LElement=LScriptElements[i];if(LElement.src!='')LSRCs.push(LElement.src);else if(LElement.innerHTML!='')LScripts.push(LElement.innerHTML);}for(var i=0;i<AResponse.scriptsSRC.length;i++){var LSRC=AResponse.scriptsSRC[i];if(LSRCs.indexOf(LSRC)>=0)continue;if(!AResponse.oriID)AResponse.oriID=ORI.objectRecord(AResponse);AResponse.scriptsLoading.push(LSRC);var LElement=document.createElement('SCRIPT');if(MSIE)LElement.onreadystatechange=eval('_=function(){if (this.readyState == \'loaded\' || this.readyState == \'complete\')ORI.objects['+AResponse.oriID+'].scriptOnLoad(\''+LSRC+'\')}');else LElement.onload=eval('_=function(){ORI.objects['+AResponse.oriID+'].scriptOnLoad(\''+LSRC+'\')}');LElement.type='text/javascript';LElement.src=LSRC;LHEAD.appendChild(LElement);}}function cAJAX_Loader__stylesSRCProcess(AResponse){if(!AResponse.stylesSRC)return;var LDiv=document.createElement('DIV');var LHead=window.document.getElementsByTagName('HEAD')[0];LHead.appendChild(LDiv);LDiv.innerHTML=AResponse.stylesSRC;}function cAJAX_Loader__warningsProcess(AWarnings){var LElement=document.createElement('div');LElement.innerHTML=AWarnings;document.body.insertBefore(LElement,document.body.childNodes[0]);}function cAJAX_Response(){this.scriptsLoading=[];this.scriptOnLoad=cAJAX_Response__scriptOnLoad;this.scriptsEval=cAJAX_Response__scriptsEval;}function cAJAX_Response__scriptOnLoad(AScriptSRC){for(var i=0;i<this.scriptsLoading.length;i++)if(this.scriptsLoading[i]==AScriptSRC)return this.scriptsLoading.splice(i,1);}function cAJAX_Response__scriptsEval(ARetryCount){if(ARetryCount>0&&this.scriptsLoading.length>0){window.setTimeout('ORI.objects['+this.oriID+'].scriptsEval('+(--ARetryCount)+')',100);return;};if(this.scriptsPlain&&this.scriptsPlain.length>0)window.setTimeout(this.scriptsPlain.join('\n'),0);if(typeof(this.contentOnLoad)=='function')this.contentOnLoad();if(this.oriID){ORI.objectRemove(this.oriID);this.oriID=null;}}
