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;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]=AUseCapture;if(AObjectFor.attachEvent)AObjectFor.attachEvent(AEvent,LEventFun);else AObjectFor.addEventListener(AEvent.slice(2),LEventFun,AUseCapture);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.readyStateChange=cAJAX__readyStateChange;this.readyStateChangeInternal=cAJAX__readyStateChangeInternal;this.get=cAJAX__get;this.post=cAJAX__post;this.send=cAJAX__send;this.transport=HTTPTransportCreate();}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';}if(LStatus==200)EventRaise(this.onComplete,[this.transport]);else{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_warnings='warnings';self.responseTN_onLoadScript='onloadScript';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.scriptSRCsProcess=cAJAX_Loader__scriptSRCsProcess;self.errorsProcess=cAJAX_Loader__errorsProcess;self.warningsProcess=cAJAX_Loader__warningsProcess;self.get=cAJAX_Loader__get;self.post=cAJAX_Loader__post;return self;}function cAJAX_Loader__elementLoad(ATransport,AResponse){this.responseParse(ATransport,AResponse);if(AResponse.scriptSRCs)this.scriptSRCsProcess(AResponse.scriptSRCs);if(AResponse.errors)this.errorsProcess(AResponse.errors);if(AResponse.warnings)this.warningsProcess(AResponse.warnings);}function cAJAX_Loader__errorsProcess(AErrors){alert(AErrors);}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={};this.elementLoad(ATransport.responseText,LResponse);EventRaise(AContext.onLoadComplete,[LResponse,AContext.context]);if(typeof(LResponse.onContentLoad)=='function')LResponse.onContentLoad();}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);var LonLoadScriptStr=this.responsePartGet(ATransport,this.responseTN_onLoadScript,false);if(LonLoadScriptStr)AResponse.onContentLoad=function(){eval(LonLoadScriptStr);};AResponse.scriptSRCs=[];var LRE=new RegExp('<script.*>','ig');var LreSRC=new RegExp('src=".*"','i');var LAttr;var i=0;while((LAttr=LRE.exec(ATransport))!=null){var LSRC=ATransport.slice(LAttr.index,LAttr.lastIndex).match(LreSRC);if(LSRC){LSRC=LSRC[0];AResponse.scriptSRCs[AResponse.scriptSRCs.length]=LSRC.slice(5,LSRC.length-1);}}AResponse.errors=this.responsePartGet(ATransport,this.responseTN_errors,false);AResponse.warnings=this.responsePartGet(ATransport,this.responseTN_warnings,true);}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__scriptSRCsProcess(AScriptSRCs){if(AScriptSRCs.length>0){var LHEAD=document.getElementsByTagName('HEAD')[0];var LScriptElements=document.getElementsByTagName('SCRIPT');var LSRCs=[];var LScripts=[];for(var i=0;i<LScriptElements.length;i++){var LElement=LScriptElements[i];if(LElement.src!='')LSRCs[LSRCs.length]=LElement.src;else if(LElement.innerHTML!='')LScripts[LScripts.length]=LElement.innerHTML;}for(var i=0;i<AScriptSRCs.length;i++){var LSRC=AScriptSRCs[i];if(LSRCs.indexOf(LSRC)>=0)continue;var LElement=document.createElement('SCRIPT');LElement.src=LSRC;LHEAD.appendChild(LElement);}}}function cAJAX_Loader__warningsProcess(AWarnings){var LElement=document.createElement('div');LElement.innerHTML=AWarnings;document.body.insertBefore(LElement,document.body.childNodes[0]);}