function IFactorEventHistoryHandler(A){this.stormCenter=A;this.dataMonitor=null;this.regionsList=new Array();this.selectedEventHistoryData=null;this.managerInfo=null;this.dataInfo=null}IFactorEventHistoryHandler.Regions=null;IFactorEventHistoryHandler.prototype.initialiseEventHistory=function(B){this.dataMonitor=B;if(IFactorEventHistoryHandler.Regions!=null&&IFactorEventHistoryHandler.Regions.length!=0){for(var A=0;A<IFactorEventHistoryHandler.Regions.length;A++){this.regionsList.push(IFactorEventHistoryHandler.Regions[A])}}else{this.regionsList.push(["",""])}};IFactorEventHistoryHandler.prototype.getRegions=function(){return this.regionsList};IFactorEventHistoryHandler.prototype.insertInOrder=function(F,B,H,A){if(A==null){A=1}var E=false;var G=F.length;for(var D=0;D<G;D++){arrayElementI=F[D];if(arrayElementI[H]==null){continue}if(A==1&&arrayElementI[H]<B[H]){continue}if(A==-1&&arrayElementI[H]>B[H]){continue}for(var C=G;C>D;C--){F[C]=F[C-1]}F[D]=B;E=true;break}if(!E){F.push(B)}};IFactorEventHistoryHandler.prototype.getEventHistoryManagerInfo=function(F){var B;var E=new Array();B={id:null,name:null,info:null,start_date_time:null,end_date_time:null,interval:[null,null],region:F};this.insertInOrder(E,B,"start_date_time");var G=this.getEventHistoryManagerXML(F);if(G!=null){var A=G.getElementsByTagName("event");for(var D=0;D<A.length;D++){var C=A[D];B=new Object();B.id=iFactor.common.getValueForChildNamed(C,"id");B.name=iFactor.common.getValueForChildNamed(C,"name");B.info=iFactor.common.getValueForChildNamed(C,"info");B.start_date_time=iFactor.common.stringDBFormatToDate(iFactor.common.getValueForChildNamed(C,"start_date_time"));B.end_date_time=iFactor.common.stringDBFormatToDate(iFactor.common.getValueForChildNamed(C,"end_date_time"));B.interval=[B.start_date_time,B.end_date_time];B.region=iFactor.common.getValueForChildNamed(C,"region");this.insertInOrder(E,B,"start_date_time")}}this.managerInfo=E;return E};IFactorEventHistoryHandler.prototype.getEventHistoryDataInfo=function(H){var I=new Object();var N=this.getEventHistoryDataXML(H);if(N!=null){var E=N.getElementsByTagName("event");for(var G=0;G<E.length;G++){var C=E[G];var A=iFactor.common.getValueForChildNamed(C,"id");var D=this.getEventObjectDefinition(A);if(D==null){continue}var M=new Array();var L;var L={directory:null,generation_start:null,generation_end:null,interval_start:null,interval_end:null,interval:[null,null]};this.insertInOrder(M,L,"generation_start");var J=iFactor.common.getXMLChildNamed(C,"generations");if(J!=null){var K=iFactor.common.getXMLChildrenNamed(J,"generation");for(var F=0;F<K.length;F++){var B=K[F];L=new Object();L.directory=iFactor.common.getValueForChildNamed(B,"directory");L.generation_start=iFactor.common.stringDBFormatToDate(iFactor.common.getValueForChildNamed(B,"generation_start"));L.generation_end=iFactor.common.stringDBFormatToDate(iFactor.common.getValueForChildNamed(B,"generation_end"));L.interval_start=null;L.interval_end=null;L.interval=[null,null];this.insertInOrder(M,L,"generation_start")}}for(var F=0;F<M.length;F++){L=M[F];L.interval_start=L.generation_start;if(L.directory==null){L.interval_end=null}else{if(F<(M.length-1)){L.interval_end=M[F+1].generation_start}else{L.interval_end=D.end_date_time}}L.interval=[L.interval_start,L.interval_end]}I[A]=M}}for(var G=0;G<this.managerInfo.length;G++){var A=this.managerInfo[G].id;if(I[A]==null){var M=new Array();var L={directory:null,generation_start:null,generation_end:null,interval_start:null,interval_end:null,interval:[null,null]};this.insertInOrder(M,L,"generation_start");I[A]=M}}this.dataInfo=I;return I};IFactorEventHistoryHandler.prototype.getEventObjectDefinition=function(C){for(var B=0;B<this.managerInfo.length;B++){var A=this.managerInfo[B];if(A.id==C){return A}}return null};IFactorEventHistoryHandler.prototype.getEventHistoryManagerXML=function(A){var C=this.getEventHistoryManagerFilePath(A);var B=this.getSynchronousXML(C);return B};IFactorEventHistoryHandler.prototype.getEventHistoryDataXML=function(A){var C=this.getEventHistoryDataFilePath(A);var B=this.getSynchronousXML(C);return B};IFactorEventHistoryHandler.prototype.getEventHistoryManagerFilePath=function(B){var A="event_history_manager"+B+".xml";if(iFactor.common.config.event_history_manager_path!=""){A=iFactor.common.config.event_history_manager_path+"/"+A}A=iFactor.common.config.data_directory+"/"+A;return A};IFactorEventHistoryHandler.prototype.getEventHistoryDataFilePath=function(A){var B="event_history_data"+A+".xml";if(iFactor.common.config.event_history_data_path!=""){B=iFactor.common.config.event_history_data_path+"/"+B}B=iFactor.common.config.data_directory+"/"+B;return B};IFactorEventHistoryHandler.prototype.getSynchronousXML=function(D){var C=null;var A=D;A=A+iFactor.common.uniqueRequestTag(true);A=A.fixUrlSeparator();var B=iFactor.common.createXMLRequest();B.open("GET",A,false);B.send(null);if((B.readyState==4)&&(B.status!=404)){C=B.responseXML}return C};
