function FireLayer(){}FireLayer.prototype.initialize=function(C,B,D,A){this.map_=C;this.name_=B;this.sidebarPrefix_=D;this.options_=A||{};this.layer_=new Fire(this.map_,this.name_,this.sidebarPrefix_,this.options_);this.streets_=this.options_.streets||null;this.disabled_=false;GEvent.bind(this.layer_,"loadstart",this,function(){GEvent.trigger(this,"loadstart")});GEvent.bind(this.layer_,"loadend",this,function(){GEvent.trigger(this,"loadend")});GEvent.bind(this.layer_,"loaderror",this,function(E){GEvent.trigger(this,"loaderror",E)});GEvent.bind(this.layer_,"settingschanged",this,function(){GEvent.trigger(this,"settingschanged")})};FireLayer.prototype.toggle=function(A){if(A){this.disabled_=false;this.layer_.active_=true;this.layer_.disabled_=false;this.layer_.createTabs();this.map_.addOverlay(this.layer_);this.layer_.rememberToggleState(true);this.layer_.redrawOnMoveEnd();if(this.streets_){this.streets_.attachTo(this.name_)}this.layer_.toggle(A)}else{this.disabled_=true;this.layer_.toggle(A);if(this.streets_){this.streets_.detachFrom(this.name_)}this.layer_.rememberToggleState(false);this.map_.removeOverlay(this.layer_)}};FireLayer.prototype.toQueryString=function(){return this.layer_.toQueryString()};FireLayer.prototype.toPrefsObject=function(){return this.layer_.toPrefsObject()};Fire.prototype=new WUI_ImageLayer();function Fire(C,B,D,A){this.map_=C;this.name_=B;this.sidebarPrefix_=D;this.options_=A||{};this.clkListeners_=[];this.disabled_=false;this.active_=false;this.fireSatLoading_=false;this.smokeLoading_=false;this.requestedFireSat_=false;this.requestedSmoke_=false;this.smokeError_=false;this.fireError_=false;this.markers_=[];this.listeners_=[];this.clickClosures_=[];this.smoke_;this.smokePolygons_=[];this.centroids=[];this.perimClosure=[];this.perimListener=[];this.displayAreaTab=this.options_.displayAreaTab||null;this.debug_=this.options_.debug||0;this.iconserve_=this.options_.iconserve||"icons";this.icondomain_=this.options_.icondomain||"wxug.com";this.smokeTab_=null;this.fireTab_=null;this.dayoffset=0;this.curDate=0;this.hrListener=null;this.dayToString(this.getCurrentDay());this.anchors=$(this.sidebarPrefix_+"_anchors");this.anchors_sat=$(this.sidebarPrefix_+"_anchors_sat");this.anchors_perim=$(this.sidebarPrefix_+"_anchors_perim")}Fire.prototype.copy=function(){if(this.debug_==1){GLog.write("Fire::copy")}return new Fire(this.map_,this.name_,this.sidebarPrefix_,this.options)};Fire.prototype.toggle=function(A){if(A){this.fireSatLoading_=false;this.smokeLoading_=false;this.requestedFireSat_=false;this.requestedSmoke_=false;this.smokeError_=false;this.fireError_=false;this.mapInfowindowopenListener_=GEvent.bind(this.map_,"infowindowopen",this,function(){this.disabled_=true});this.mapInfowindowcloseListener_=GEvent.bind(this.map_,"infowindowclose",this,function(){this.disabled_=false});if(this.displayAreaTab){this.displayAreaTab.addCallback(this.toggleDisplayTab.bind(this))}if(this.enabledFirePerim()){this.requestPerim()}else{this.hideImage()}this.toggleModeOptions();this.mapMovedListener_=GEvent.bind(this.map_,"moveend",this,function(){if(this.disabled_){this.disabled_=false}else{this.requestData();this.drawFirePerim()}});this.resetDayOffsetListener=this.resetDayOffset.periodical(10*60*1000,this)}else{GEvent.removeListener(this.mapMovedListener_);GEvent.removeListener(this.mapInfowindowcloseListener_);GEvent.removeListener(this.mapInfowindowopenListener_);this.removeOverlays();this.removeSmoke();this.removePerim();if(this.displayAreaTab){this.displayAreaTab.removeCallback();this.displayAreaTab.empty()}this.disabled_=true;this.active_=false;$clear(this.resetDayOffsetListener)}};Fire.prototype.requestData=function(){if(this.disabled_){return }if(this.fireSatLoading_){this.requestedFireSat_=true;return }this.fireSatLoading_=true;this.requestedFireSat_=false;GEvent.trigger(this,"loadstart");var A=this.map_.getBounds();var D=A.getNorthEast();var C=A.getSouthWest();var G=D.lat();var F=C.lat();var L=D.lng();var K=C.lng();while(K>L){K-=360}var E=this.getFireDate();var H=this.getSatelliteMode();if(this.enabledFireSatellite()){var B="/cgi-bin/fire_fetchsat?gridsize=10&mode="+H+"&minlat="+F+"&maxlat="+G+"&minlon="+K+"&maxlon="+L+"&date="+E;if(this.debug_>0){GLog.write(B)}var I=this.handleFireSatellite.bind(this);var J=new Json.Remote(B,{method:"get",onComplete:I,onFailure:function(){GEvent.trigger(this,"loaderror","Failed to load Fire Satellite data file: "+B);this.fireSatLoading_=false}.bind(this)});J.send(null)}else{this.removeOverlays();this.fireSatLoading_=false;GEvent.trigger(this,"loadend")}};Fire.prototype.requestPerim=function(){if(this.disabled_){return }var A="/stationmaps/gmap_fire.asp";if(this.debug_>0){GLog.write(A)}GEvent.trigger(this,"loadstart");var B=GEvent.callback(this,this.handlePerim);GDownloadUrl(A,B)};Fire.prototype.getURL=function(){if(!this.enabledFirePerim()||this.getOpacity()==0){return""}var O=this.map_.getSize();var E=O.width;var N=O.height;var B=Math.floor(E*this.extraImageLoadFactor_);var P=Math.floor(N*this.extraImageLoadFactor_);var M=Math.floor((B-E)/2);var L=Math.floor((P-N)/2);var H=this.map_.fromContainerPixelToLatLng(new GPoint(0-M,0-L));var D=this.map_.fromContainerPixelToLatLng(new GPoint(E+M,N+L));var G=H.lat();var K=D.lng();var F=D.lat();var I=H.lng();while(I>K){I-=360}var A="http://wumaps.wunderground.com/cgi-bin/mapgen?theme=fire&stdout=1&size="+B+"x"+P+"&minlat="+F+"&minlon="+I+"&maxlat="+G+"&maxlon="+K+"&proj=automerc&format=gif&alpha=1";var C=new Date();var J=C.getUTCDate();A+="&rand="+J;return A};Fire.prototype.requestSmoke=function(){if(this.debug_==1){GLog.write("Fire::requestSmoke()")}if(this.disabled_){return }if(this.smokeLoading_){this.requestedSmoke_=true;return }if(this.debug_==1){GLog.write("Fire::requestSmoke() -- Preparing request")}this.smokeLoading_=true;this.requestedSmoke_=false;GEvent.trigger(this,"loadstart");if(this.debug_==1){GLog.write("Fire::enabledSmokeOverlay() == true")}var B=GEvent.callback(this,this.handleSmoke);var A="/stationmaps/gmap_smoke.asp?date="+this.getFireDate().replace(/-/g,"");if(this.debug_>0){GLog.write(A)}GDownloadUrl(A,B)};Fire.prototype.requestToggleSmoke=function(){if(this.debug_==1){GLog.write("Fire::requestToggleSmoke()")}if(this.disabled_){return }if(this.smokeLoading_){this.requestedSmoke_=true;return }this.smokeLoading_=true;this.requestedSmoke_=false;GEvent.trigger(this,"loadstart");if(this.enabledSmokeOverlay()){var B=GEvent.callback(this,this.handleToggleSmoke);var A="/stationmaps/gmap_smoke.asp?date="+this.getFireDate().replace(/-/g,"");if(this.debug_>0){GLog.write(A)}GDownloadUrl(A,B)}else{this.removeSmoke();this.smokeLoading_=false;GEvent.trigger(this,"loadend")}};Fire.prototype.enabledSmokeOverlay=function(){try{return $(this.sidebarPrefix_+"_smk").checked?true:false}catch(A){return false}};Fire.prototype.enabledFireSatellite=function(){if(this.debug_==1){GLog.write("Fire::enabledFireSatellite()")}try{return $(this.sidebarPrefix_+"_sat").checked?true:false}catch(A){return false}};Fire.prototype.enabledFirePerim=function(){if(this.debug_==1){GLog.write("Fire::enabledFirePerim()")}try{return $(this.sidebarPrefix_+"_perim").checked?true:false}catch(A){return false}};Fire.prototype.toggleModeOptions=function(){var A=$(this.sidebarPrefix_+"_sat_mode");if(A){if(this.enabledFireSatellite()){A.removeClass("none")}else{A.addClass("none")}}};Fire.prototype.getSatelliteMode=function(){try{var B=document.getElementsByName(this.sidebarPrefix_+"_mode");if(B[0].checked){return"0"}else{if(B[1].checked){return"1"}else{return"0"}}}catch(A){return"0"}};Fire.prototype.getFireDate=function(){return $(this.sidebarPrefix_+"_day_value").innerHTML};Fire.prototype.getCurrentDay=function(){try{return parseInt($(this.sidebarPrefix_+"_day").value,10)}catch(A){return 7}};Fire.prototype.getMinHour=function(){try{return parseInt($(this.sidebarPrefix_+"_hr_vmin").value,10)}catch(A){return 0}};Fire.prototype.getMaxHour=function(){try{return parseInt($(this.sidebarPrefix_+"_hr_vmax").value,10)}catch(A){return 24}};Fire.prototype.toQueryString=function(){var A=this.name_;var B=this.enabledFireSatellite()?1:0;var C=this.enabledSmokeOverlay()?1:0;var D=this.enabledFirePerim()?1:0;var I=$(this.sidebarPrefix_+"_day").value;var G=this.getMinHour();var F=this.getMaxHour();var J=this.getOpacity();var E=this.getSatelliteMode();var H=A+".sat="+B+"&"+A+".smk="+C+"&"+A+".day="+D+"&"+A+".day="+I+"&"+A+".hrmin="+G+"&"+A+".hrmax="+F+"&"+A+".opa="+J+"&"+A+".mode="+E;if(this.debug_==1){GLog.write(H)}return H};Fire.prototype.toPrefsObject=function(){var A={};var B=this.name_.toUpperCase();A[B+"SAT"]=this.enabledFireSatellite()?1:0;A[B+"SMK"]=this.enabledSmokeOverlay()?1:0;A[B+"PERIM"]=this.enabledFirePerim()?1:0;A[B+"DAY"]=$(this.sidebarPrefix_+"_day").value;A[B+"HRMIN"]=this.getMinHour();A[B+"HRMAX"]=this.getMaxHour();A[B+"OPA"]=this.getOpacity();A[B+"MODE"]=this.getSatelliteMode();return A};Fire.prototype.handleSmoke=function(responseText,status){if(this.debug_==1){GLog.write("Fire::handleSmoke()")}if(responseText==null||status<0){this.smokeLoading_=false;GEvent.trigger(this,"loaderror","Request Timed Out (status code: "+status+")");return }else{if(status<200||status>=300){this.smokeLoading_=false;GEvent.trigger(this,"loaderror","Request Failed (status code: "+status+")");return }}var data=null;try{data=eval("("+responseText+")")}catch(e){this.smokeLoading_=false;GEvent.trigger(this,"loaderror","Failed to evaluate JSON response");return }if(!data.SHAPEFILE){this.dayoffset-=1;if(this.dayoffset<-2){GEvent.trigger(this,"loaderror","Current data unavailable");return }var day=parseInt($(this.sidebarPrefix_+"_day").value);this.dayToString(day);this.requestedSmoke_=false;this.smokeLoading_=false;this.requestSmoke()}else{this.smoke_=data;this.requestData();if(this.enabledSmokeOverlay()){this.drawSmoke();if(this.requestedSmoke_){this.requestedSmoke_=false;this.smokeLoading_=false;this.requestSmoke()}}else{this.removeSmoke()}this.smokeLoading_=false;GEvent.trigger(this,"loadend")}};Fire.prototype.handleToggleSmoke=function(responseText,status){if(responseText==null||status<0){this.smokeLoading_=false;GEvent.trigger(this,"loaderror","Request Timed Out (status code: "+status+")");return }else{if(status<200||status>=300){this.smokeLoading_=false;GEvent.trigger(this,"loaderror","Request Failed (status code: "+status+")");return }}var data=null;try{data=eval("("+responseText+")")}catch(e){this.smokeLoading_=false;GEvent.trigger(this,"loaderror","Failed to evaluate JSON response");return }if(!data.SHAPEFILE){this.dayoffset-=1;if(this.dayoffset<-2){GEvent.trigger(this,"loaderror","Current data unavailable");return }var day=parseInt($(this.sidebarPrefix_+"_day").value);this.dayToString(day);this.requestedSmoke_=false;this.smokeLoading_=false;this.requestSmoke()}else{this.smoke_=data;this.drawSmoke();if(this.requestedSmoke_){this.requestedSmoke_=false;this.smokeLoading_=false;this.requestSmoke()}this.smokeLoading_=false;GEvent.trigger(this,"loadend")}};Fire.prototype.handleFireSatellite=function(A){if(!A){this.fireSatLoading_=false;GEvent.trigger(this,"loaderror","Request Failed (null response)");return }if(A.FIRESAT){if(this.getSatelliteMode()=="0"){this.drawFireSatellite(A.FIRESAT)}else{this.drawGlobal(A.FIRESAT)}}else{GEvent.trigger(this,"loaderror","Unexpected response structure: fire node must be 'FIRESAT'")}if(this.requestedFireSat_){this.requestedFireSat_=false;this.fireSatLoading_=false;this.requestData()}this.fireSatLoading_=false;GEvent.trigger(this,"loadend")};Fire.prototype.handlePerim=function(responseText,status){if(responseText==null||status<0){GEvent.trigger(this,"loaderror","Request Timed Out (status code: "+status+")");return }else{if(status<200||status>=300){GEvent.trigger(this,"loaderror","Request Failed (status code: "+status+")");return }}var data=null;try{data=eval("("+responseText+")")}catch(e){GEvent.trigger(this,"loaderror","Failed to evaluate JSON response");return }if(data.SHAPEFILE){this.perimData=data.SHAPEFILE;this.drawFirePerim()}else{GEvent.trigger(this,"loaderror","Unexpected resonse structure: first node must be 'SHAPEFILE'")}GEvent.trigger(this,"loadend")};Fire.prototype.createTabs=function(){if(this.displayAreaTab){if(this.anchors_sat){this.anchors_sat.removeEvents()}if(this.anchors_perim){this.anchors_perim.removeEvents()}this.displayAreaTab.empty();if(this.anchors){this.anchors.removeClass("none")}var A=new Element("p",{"class":"taC b",id:this.sidebarPrefix_+"_sat_title"});A.setHTML("Fire Satellite");this.fireSatData=new Element("div");var B=new Element("p",{"class":"taC b",id:this.sidebarPrefix_+"_perim_title"});B.setHTML("Fire Perimeters");this.firePerimData=new Element("div");this.displayAreaTab.writeDom(A);this.displayAreaTab.writeDom(this.fireSatData);this.displayAreaTab.writeDom(B);this.displayAreaTab.writeDom(this.firePerimData);if(!this.scroller){this.scroller=new Fx.Scroll($("mapDisplayAreaScrolling"),{wait:false,duration:2000,transition:Fx.Transitions.Quad.easeInOut})}if(this.anchors_sat){this.anchors_sat.addEvent("click",function(C){if(C){C=new Event(C).stop()}this.anchors_sat.addClass("b");if(this.anchors_perim){this.anchors_perim.removeClass("b")}this.scroller.toElement(A)}.bindAsEventListener(this))}if(this.anchors_perim){this.anchors_perim.addEvent("click",function(C){if(C){C=new Event(C).stop()}this.anchors_perim.addClass("b");if(this.anchors_sat){this.anchors_sat.removeClass("b")}this.scroller.toElement(B)}.bindAsEventListener(this))}}};Fire.prototype.toggleDisplayTab=function(A){if(A){if(this.anchors){this.anchors.removeClass("none")}}else{if(this.anchors){this.anchors.addClass("none")}}};Fire.prototype.drawSmoke=function(){this.removeSmoke();var W=this.smoke_;if(W==null){return }var M=this.getMinHour();var O=this.getMaxHour();var K=0;for(var P in W.SHAPEFILE.POLYGON){try{var V=W.SHAPEFILE.POLYGON[P];var U=parseInt(V.VERTICIES);var I=parseInt(V.Density);var G=parseInt(V.Start);var D=parseInt(V.End);G/=100;D/=100;if(D<G){D+=24}if((G<M||G>O)&&(D<M||D>O)){continue}var S=parseFloat(V.Area);var A=[];var Q=0;for(var B in V.node_1){if(Q==U){break}var R=V.node_1[B];var H=parseFloat(R.LAT);var E=parseFloat(R.LON);A.push(new GLatLng(H,E));Q++}var L="#000000";var C="0";var F="#000000";var N=(I/100)*2;var J=new GPolygon(A,L,2,C,F,N,{clickable:false});this.smokePolygons_.push(J);this.map_.addOverlay(J);K++}catch(T){this.smokeLoading_=false;GEvent.trigger(this,"loaderror","Error drawing Smoke Polygons ("+T+")");return }}};Fire.prototype.drawFirePerim=function(){this.removePerim();if($(this.sidebarPrefix_+"_opacity").value==0||!this.enabledFirePerim()){return }if(this.displayAreaTab){this.firePerimData.empty();var Y=new Element("table",{"class":"dataTable",cellspacing:"0",cellpadding:"0",events:{click:function(d){sortColumn(d)}}});this.firePerimData.adopt(Y);var A;var V=new Element("thead");V.injectInside(Y);var O=new Element("tr");var M=new Element("td",{"class":"sortH",title:"Sort by Acres"});var L=new Element("td",{"class":"sortH",title:"Sort by Name",id:this.sidebarPrefix_+"_TabPName"});var I=new Element("td",{"class":"sortH",title:"Sort by Agency"});O.adopt(M).adopt(L).adopt(I);M.setProperty("type","Number");M.setHTML("<span>Acres</span>");L.setHTML("<span>Complex Name</span>");I.setHTML("<span>Agency</span>");O.injectInside(V);A=new Element("tbody");A.injectInside(Y)}var E=this.perimData;var U=0;for(var T in E.POINT){try{var S=E.POINT[T];var c=S.FIRE_NAME;var Q=parseFloat(S.ACRES);var N=S.AGENCY;var a=S.DATE;if(Q<100){continue}var H=parseFloat(S.node_1.node_0.LAT);var G=parseFloat(S.node_1.node_0.LON);var P=new GLatLng(H,G);if(!this.map_.getBounds().containsLatLng(P)){continue}var R="http://"+this.iconserve_+"."+this.icondomain_+"/graphics/wu2/";var X=new GIcon();X.image=R+"active_fire.png";X.shadow=R+"active_fire-shadow.png";X.iconSize=new GSize(28,26);X.shadowSize=new GSize(42,26);X.iconAnchor=new GPoint(14,11);X.infoWindowAnchor=new GPoint(14,14);var K=new GMarker(P,{icon:X,title:c});this.centroids.push(K);this.map_.addOverlay(this.centroids[U]);var J=GEvent.callbackArgs(this,this.onPerimClick,this.centroids[U],c,Q,N,a,U,P);this.perimClosure.push(J);var Z=GEvent.addListener(this.centroids[U],"click",this.perimClosure[U]);this.perimListener.push(Z);if(this.displayAreaTab){var B=new Element("tr");var F=new Element("td");var D=new Element("td");var C=new Element("td");B.adopt(F).adopt(D).adopt(C);F.setHTML("<span>"+Q+"</span>");D.setHTML("<span>"+c+"</span>");C.setHTML("<span>"+N+"</span>");B.addClass("rowW");B.addEvents({mouseover:function(e,d){this.addClass("rowY").removeClass("rowW")},mouseout:function(e,d){this.addClass("rowW").removeClass("rowY")},click:function(d){var e=this.perimClosure[d];e()}.bind(this,[U])});B.injectInside(A)}U++}catch(W){GLog.write(W)}}var b=new Object();b.target=document.getElementById(this.sidebarPrefix_+"_TabPName");b.srcElevent=document.getElementById(this.sidebarPrefix_+"_TabPName");sortColumn(b)};Fire.prototype.drawGlobal=function(P){this.removeOverlays();if(this.displayAreaTab){this.fireSatData.empty();var Z=new Element("table",{"class":"dataTable",cellspacing:"0",cellpadding:"0",events:{click:function(e){sortColumn(e)}}});this.fireSatData.adopt(Z);var B;var W=new Element("thead");W.injectInside(Z);var R=new Element("tr");var N=new Element("td",{"class":"sortH",title:"Sort by Satellite",id:this.sidebarPrefix_+"_TabName"});var M=new Element("td",{"class":"sortH",title:"Sort by Latitude"});var L=new Element("td",{"class":"sortH",title:"Sort by Longitude"});R.adopt(N).adopt(M).adopt(L);M.setProperty("type","Number");L.setProperty("type","Number");N.setHTML("<span>Nearest City</span>");M.setHTML("<span>Latitude</span>");L.setHTML("<span>Longitude</span>");R.injectInside(W);B=new Element("tbody");B.injectInside(Z)}var V=0;for(var Q in P){try{var S="http://"+this.iconserve_+"."+this.icondomain_+"/graphics/wu2/";var c=P[Q];var K=parseFloat(c.lat);var I=parseFloat(c.lon);var d=parseFloat(c.brightness);var a=c.date;var J=parseInt(c.confidence);var H=c.satellite;var U=c.city;var f="Fire detected by "+H;var T=new GLatLng(K,I);var Y=new GIcon();Y.image=S+"fire.png";Y.shadow=S+"shadow-fire.png";Y.iconSize=new GSize(32,32);Y.shadowSize=new GSize(49,32);Y.iconAnchor=new GPoint(16,30);Y.infoWindowAnchor=new GPoint(16,14);this.markers_[V]=new GMarker(T,{icon:Y,title:f});this.map_.addOverlay(this.markers_[V]);this.clickClosures_[V]=GEvent.callbackArgs(this,this.onGlobalSatClick,this.markers_[V],K,I,d,a,J,H,U);var D=GEvent.addListener(this.markers_[V],"click",this.clickClosures_[V]);this.listeners_.push(D);var O=GEvent.addListener(this.markers_[V],"mouseover",GEvent.callbackArgs(this,this.fireOver,V));var A=GEvent.addListener(this.markers_[V],"mouseout",GEvent.callbackArgs(this,this.fireOut,V));this.listeners_.push(O);this.listeners_.push(A);if(this.displayAreaTab){var C=new Element("tr",{id:this.sidebarPrefix_+"_sat_"+V});var G=new Element("td");var F=new Element("td");var E=new Element("td");C.adopt(G).adopt(F).adopt(E);G.setHTML("<span>"+U+"</span>");F.setHTML("<span>"+K.toFixed(3)+"</span>");E.setHTML("<span>"+I.toFixed(3)+"</span>");C.addClass("rowW");C.addEvents({mouseover:function(g,e){this.addClass("rowY").removeClass("rowW")},mouseout:function(g,e){this.addClass("rowW").removeClass("rowY")},click:function(e){var g=this.clickClosures_[e];g()}.bind(this,[V]),mouseover:function(e){this.fireOver(e)}.bind(this,[V]),mouseout:function(e){this.fireOut(e)}.bind(this,[V])});C.injectInside(B)}V++}catch(X){this.fireSatLoading_=false;GEvent.trigger(this,"loaderror","Error drawing Smoke Fire Satellite ("+X+")");return }}var b=new Object();b.target=document.getElementById(this.sidebarPrefix_+"_TabName");b.srcElevent=document.getElementById(this.sidebarPrefix_+"_TabName");sortColumn(b)};Fire.prototype.drawFireSatellite=function(Q){this.removeOverlays();if(this.displayAreaTab){this.fireSatData.empty();var b=new Element("table",{"class":"dataTable",cellspacing:"0",cellpadding:"0",events:{click:function(e){sortColumn(e)}}});this.fireSatData.adopt(b);var B;var Y=new Element("thead");Y.injectInside(b);var S=new Element("tr");var N=new Element("td",{"class":"sortH",title:"Sort by Satellite",id:this.sidebarPrefix_+"_TabName"});var M=new Element("td",{"class":"sortH",title:"Sort by Latitude"});var L=new Element("td",{"class":"sortH",title:"Sort by Longitude"});S.adopt(N).adopt(M).adopt(L);M.setProperty("type","Number");L.setProperty("type","Number");N.setHTML("<span>Nearest City</span>");M.setHTML("<span>Latitude</span>");L.setHTML("<span>Longitude</span>");S.injectInside(Y);B=new Element("tbody");B.injectInside(b)}var W=0;for(var R in Q){try{var T="http://"+this.iconserve_+"."+this.icondomain_+"/graphics/wu2/";var f=Q[R];var K=parseFloat(f.lat);var I=parseFloat(f.lon);var c=f.date;var H=f.satellite;var P=f.method;var J=parseInt(f.ecosys);var X=parseInt(f.prelim);var V=f.city;var g="Fire detected by "+H;var U=new GLatLng(K,I);var a=new GIcon();a.image=T+"fire.png";a.shadow=T+"shadow-fire.png";a.iconSize=new GSize(32,32);a.shadowSize=new GSize(49,32);a.iconAnchor=new GPoint(16,30);a.infoWindowAnchor=new GPoint(16,14);this.markers_[W]=new GMarker(U,{icon:a,title:g});this.map_.addOverlay(this.markers_[W]);this.clickClosures_[W]=GEvent.callbackArgs(this,this.onFireSatClick,this.markers_[W],K,I,c,H,P,J,X,V);var D=GEvent.addListener(this.markers_[W],"click",this.clickClosures_[W]);this.listeners_.push(D);var O=GEvent.addListener(this.markers_[W],"mouseover",GEvent.callbackArgs(this,this.fireOver,W));var A=GEvent.addListener(this.markers_[W],"mouseout",GEvent.callbackArgs(this,this.fireOut,W));this.listeners_.push(O);this.listeners_.push(A);if(this.displayAreaTab){var C=new Element("tr",{id:this.sidebarPrefix_+"_sat_"+W});var G=new Element("td");var F=new Element("td");var E=new Element("td");C.adopt(G).adopt(F).adopt(E);G.setHTML("<span>"+V+"</span>");F.setHTML("<span>"+K.toFixed(2)+"</span>");E.setHTML("<span>"+I.toFixed(2)+"</span>");C.addClass("rowW");C.addEvents({mouseover:function(h,e){this.addClass("rowY").removeClass("rowW")},mouseout:function(h,e){this.addClass("rowW").removeClass("rowY")},click:function(e){var h=this.clickClosures_[e];h()}.bind(this,[W]),mouseover:function(e){this.fireOver(e)}.bind(this,[W]),mouseout:function(e){this.fireOut(e)}.bind(this,[W])});C.injectInside(B)}W++}catch(Z){this.fireSatLoading_=false;GEvent.trigger(this,"loaderror","Error drawing Smoke Fire Satellite ("+Z+")");return }}var d=new Object();d.target=document.getElementById(this.sidebarPrefix_+"_TabName");d.srcElevent=document.getElementById(this.sidebarPrefix_+"_TabName");sortColumn(d)};Fire.prototype.onGlobalSatClick=function(F,H,A,J,D,G,C,E){var I="<div>";I+="<div><b>Detected Near: </b><i>"+E+"</i></div><br/>";I+="<b>Latitude:</b> "+H;I+="<br/><b>Longitude:</b> "+A;I+="<br/><b>Date:</b> "+D+" UTC";I+="<br/><b>Satellite:</b> "+C;I+="<br/><b>Brightness:</b> "+J+" K";I+="<br/><b>Confidence:</b> "+G+"%";I+="</div>";var B=new GInfoWindowTab(D,I);F.openInfoWindowTabsHtml([B])};Fire.prototype.onFireSatClick=function(F,H,A,D,C,G,I,K,E){var J="<div>";J+="<div><b>Detected Near: </b><i>"+E+"</i></div><br/>";J+="<b>Latitude:</b> "+H;J+="<br/><b>Longitude:</b> "+A;J+="<br/><b>Date:</b> "+D+" UTC";J+="<br/><b>Satellite:</b> "+C;J+="<br/><b>Method:</b> "+G;J+="<br/><b>Ecosystem ID:</b> "+I;if(K=="1"){J+="<br/><br/><i>Preliminary data only -  Not verified</i>"}J+="</div>";var B=new GInfoWindowTab(D,J);F.openInfoWindowTabsHtml([B])};Fire.prototype.zoomToPoint=function(B,C,A){if(A){A.closeInfoWindow()}this.map_.setCenter(B,C)};Fire.prototype.onPerimClick=function(G,A,E,J,D,F,I){var B=this.sidebarPrefix_+"_perim_clk_"+F;var H="<div><b>Active Fire Perimeter</b><br/>";H+="<b>Fire Name: </b><i>"+A+"</i><br/><b>Acres:</b> "+numberFormat(E.toFixed(2))+"<br/><br/><b>Date Updated: </b>"+D+"<br/><b>Agency: </b>"+J+'<br/><br/><i><a id="'+B+'" href="" onclick="">Zoom in for detailed fire perimeter</a></i></div>';var C=new GInfoWindowTab(A,H);G.openInfoWindowTabsHtml([C]);$(B).addEvent("click",function(M,L,K){M=new Event(M).stop();this.zoomToPoint(L,12,K)}.bindAsEventListener(this,[I,G]))};Fire.prototype.createInfoTab=function(C,D,A){var B="";if(C){B+=C}if(D){B+=D}if(A){B+=A}return new GInfoWindowTab("Info",B)};Fire.prototype.onSmokeOver=function(A){A.setFillStyle({color:"#FFFFFF"})};Fire.prototype.onSmokeOut=function(A){A.setFillStyle({color:"#000000"})};Fire.prototype.fireOver=function(A){$(this.sidebarPrefix_+"_sat_"+A).addClass("rowY").removeClass("rowW")};Fire.prototype.fireOut=function(A){$(this.sidebarPrefix_+"_sat_"+A).addClass("rowW").removeClass("rowY")};Fire.prototype.removeOverlays=function(){while(this.markers_.length>0){this.map_.removeOverlay(this.markers_.pop())}while(this.clickClosures_.length>0){this.clickClosures_.pop()}while(this.listeners_.length>0){GEvent.removeListener(this.listeners_.pop())}this.markers_=[];this.clickClosures_=[];this.listeners_=[]};Fire.prototype.removeSmoke=function(){if(this.debug_==1){GLog.write("Fire::removeSmoke()")}while(this.smokePolygons_.length>0){this.map_.removeOverlay(this.smokePolygons_.pop())}this.smokePolygons_=[]};Fire.prototype.removePerim=function(){while(this.centroids.length>0){this.map_.removeOverlay(this.centroids.pop())}while(this.perimClosure.length>0){this.perimClosure.pop()}while(this.perimListener.length>0){GEvent.removeListener(this.perimListener.pop())}this.centroids=[];this.perimClosure=[];this.perimListener=[]};Fire.prototype.addSidebarListeners=function(){if(this.debug_==1){GLog.write("Fire::addSidebarListeners()")}try{var F=GEvent.bindDom($(this.sidebarPrefix_+"_sat"),"change",this,function(){GEvent.trigger(this,"settingschanged");this.requestData();this.toggleModeOptions()});this.clkListeners_.push(F)}catch(I){}try{var P=GEvent.bindDom($(this.sidebarPrefix_+"_smk"),"change",this,function(){GEvent.trigger(this,"settingschanged");this.requestToggleSmoke()});this.clkListeners_.push(P)}catch(I){}try{var G=GEvent.bindDom($(this.sidebarPrefix_+"_perim"),"change",this,function(){GEvent.trigger(this,"settingschanged");this.drawFirePerim();if(!this.enabledFirePerim()){this.hideImage()}else{this.redrawOnMoveEnd()}});this.clkListeners_.push(G)}catch(I){}try{var C=document.getElementsByName(this.sidebarPrefix_+"_mode");for(var H=0;H<C.length;H++){var K=GEvent.bindDom(C[H],"click",this,function(){GEvent.trigger(this,"settingschanged");this.requestData()});this.clkListeners_.push(K)}}catch(I){}try{if(!this.dayListener){var E=$(this.sidebarPrefix_+"_day_slider");var D=$(this.sidebarPrefix_+"_day_knob");var N=parseInt($(this.sidebarPrefix_+"_day_max").value,10);var L=this.getCurrentDay();this.dayListener=new Slider(E,D,{steps:N,onChange:function(Q){this.dayToString(Q)}.bind(this),onComplete:function(Q){var Q=parseInt(Q,10);$(this.sidebarPrefix_+"_day").value=Q;if(this.active_==true){GEvent.trigger(this,"settingschanged");this.requestSmoke()}}.bind(this)}).set(L)}else{this.requestSmoke()}}catch(I){}try{if(!this.hrListener){var B=$(this.sidebarPrefix_+"_hr_slider");var A=$(this.sidebarPrefix_+"_hr_knob_min");var M=parseInt($(this.sidebarPrefix_+"_hr_max").value,10);var J=this.getMinHour();var O=this.getMaxHour();this.hrListener=new Slider2(B,A,{start:0,end:M,onChange:function(Q){this.hourToString(Q.minpos,Q.maxpos)}.bind(this),onComplete:function(R){var Q=parseInt(R.maxpos,10);$(this.sidebarPrefix_+"_hr_vmin").value=R.minpos;$(this.sidebarPrefix_+"_hr_vmax").value=R.maxpos;if(this.active_==true){GEvent.trigger(this,"settingschanged");if(this.enabledSmokeOverlay()){this.drawSmoke()}}}.bind(this)},$(this.sidebarPrefix_+"_hr_knob_max")).setMin(J).setMax(O)}}catch(I){}};Fire.prototype.hourToString=function(G,E){var M=new Date();var L=new Date();var C=this.curDate;var D=M.getTimezoneOffset()/60;M.setTime(C+((G-D-1)*60*60*1000));L.setTime(C+((E-D-1)*60*60*1000));var B=zeroPad(M.getDate(),2);var N=zeroPad(M.getMonth()+1,2);var J=M.getFullYear();var H=zeroPad(M.getHours()+1,2);var A=zeroPad(L.getDate(),2);var K=zeroPad(L.getMonth()+1,2);var I=L.getFullYear();var F=zeroPad(L.getHours()+1,2);$(this.sidebarPrefix_+"_hr_value").setHTML(J+"-"+N+"-"+B+" "+H+":00 Local Time<br/>"+I+"-"+K+"-"+A+" "+F+":00 Local Time")};Fire.prototype.dayToString=function(B){var F=new Date();F.setHours(0);F.setMinutes(0);var D=F.getTime();var A=parseInt($(this.sidebarPrefix_+"_day_max").value);F.setTime(D+(B-A+this.dayoffset)*24*60*60*1000);var C=F.getUTCFullYear();var E=zeroPad(F.getUTCMonth()+1,2);B=zeroPad(F.getUTCDate(),2);this.curDate=F.getTime();this.hourToString(this.getMinHour(),this.getMaxHour());$(this.sidebarPrefix_+"_day_value").setHTML(C+"-"+E+"-"+B)};Fire.prototype.removeSidebarListeners=function(){while(this.clkListeners_.length>0){GEvent.removeListener(this.clkListeners_.pop())}this.clkListeners_=[]};Fire.prototype.resetDayOffset=function(){this.dayoffset=0;this.dayToString(this.getCurrentDay());this.requestSmoke()};Fire.prototype.opacityComplete=function(A){try{if(this.perimData){if(A==0){this.removePerim()}else{if(this.centroids.length==0){this.drawFirePerim()}}}}catch(B){GLog.write(B)}};