// Storm Report Map 
function loadMarkers(k){var g=document.getElementById("map");om=new OverlayMessage(g);om.Set('<b>Loading Storm Reports...</b><br><img src="images/loading.gif" alt="loading"/>');map.clearOverlays();var j=document.getElementById("daterange").value;var h=getUTCTime();var f=getUTCDate();if(j=="Select Date..."||j==""){utcshortdate=f.substring(2);ShowPolylines(utcshortdate,h)}else{var c=j.substring(2);ShowPolylines(c,h)}var i=getLongDate();if(i==j){ShowRadar();ShowWarnings();if(!useRadar){hideRadar()}else{showRadar()}if(!useWarnings){hideWarnings()}else{showWarnings()}}if(!useOutlook){setTimeout("hideConvectiveOutlook();",1250)}var d,e=[];hailcount=0;windcount=0;torncount=0;totalcount=0;var a=new GLatLngBounds();var b=k;GDownloadUrl(b,function(t){var u=GXml.parse(t);var r=u.documentElement.getElementsByTagName("marker");var y,A,v,m,t,w,o,n,z,q=[];for(var s=0;s<r.length;s++){z=new GLatLng(parseFloat(r[s].getAttribute("lat")),parseFloat(r[s].getAttribute("lng")));icon=r[s].getAttribute("icon");A=r[s].getAttribute("address");v=r[s].getAttribute("county");m=r[s].getAttribute("state");t=r[s].getAttribute("data");w=r[s].getAttribute("comments");o=r[s].getAttribute("date");n=r[s].getAttribute("time");y=r[s].getAttribute("timestamp");q.push(createMarker(z,icon,A,v,m,t,w,o,n,s));if(icon=="WIND"){windcount++}else{if(icon=="HAIL"){hailcount++}else{torncount++}}a.extend(z)}if(y){var l=new Date(y*1000);var p=l.toDateString()+" "+l.toTimeString();update_date=p.split(" GMT");p=update_date[0]+" CDT"}else{var l=new Date();var p=l.toDateString()+" "+l.toTimeString();update_date=p.split(" GMT");p=update_date[0]+" CDT"}myCluster=new ClusterMarker(map,{markers:q});myCluster.refresh();if(!useCluster){myCluster.clusteringEnabled=!myCluster.clusteringEnabled;myCluster.refresh(true)}totalcount=hailcount+windcount+torncount;document.getElementById("counts").innerHTML="<b>Tornadoes: </b>"+torncount+"&nbsp;&nbsp;&nbsp;<b>Wind: </b>"+windcount+"&nbsp;&nbsp;&nbsp;<b>Hail: </b>"+hailcount;document.getElementById("totals").innerHTML="<b>Total Reports: </b>"+totalcount;document.getElementById("update").innerHTML="<b>Last update: </b>"+p;if(!useMapInter){if(totalcount>0){map.setZoom(map.getBoundsZoomLevel(a));map.setCenter(a.getCenter())}}om.Clear();if(useMapInter==2){mapHome()}})}function clearMarkers(){map.clearOverlays()}function mapHome(){var c=new GIcon();c.image="images/house.png";c.iconSize=new GSize(35,35);c.shadow="images/houseshadow.png";c.shadowSize=new GSize(52,35);c.iconAnchor=new GPoint(17,35);var a=new GLatLng(homelat,homelng);var b=new GMarker(a,c);map.addOverlay(b)}function createMarker(o,m,n,k,a,h,l,e,d,c){if(m=="WIND"){bgcolor="#7add7a";wind=h.substring(0,3);wind=(wind.replace(/^\s+|\s+$/g,""));if(wind=="UNK"){wind=""}var j={width:30,height:30,primaryColor:"#7add7a",label:wind.toString(),labelSize:0,labelColor:"#FFFFFF",shape:"circle"};var m=MapIconMaker.createFlatIcon(j)}else{if(m=="TORNADO"){bgcolor="#e60000";var f={width:30,height:30,primaryColor:"#e60000",labelColor:"#FFFFFF",shape:"circle"};var m=MapIconMaker.createFlatIcon(f)}else{bgcolor="#344edb";if(h<1){h=h.substring(1,4)}h=h+'"';var b={width:30,height:30,primaryColor:"#344edb",label:h.toString(),labelSize:0,labelColor:"#FFFFFF",shape:"circle"};var m=MapIconMaker.createFlatIcon(b)}}var i='<table style="width:200px;background-color:#FFFFFF;font-family:Calibri,Verdana;"><tr><td colspan=2 style="background-color:'+bgcolor+';color:#FFFFFF;text-align:center"><span style="font-size:12pt;font-weight:bold">'+h+'</span></td></tr><tr><td style="vertical-align:top;font-size:9pt;font-family:Arial;display:block;">Comments:</td><td style="font-size:9pt;font-weight:bold">'+l+'</td></tr><tr><td style="vertical-align:top;font-size:9pt;font-family:Arial;display:block;">Address:</td><td style="font-size:9pt;font-weight:bold">'+n+'</td></tr><tr><td style="font-size:9pt;font-family:Arial;display:block;">&nbsp;</td><td style="font-size:9pt;font-weight:bold">'+k+", "+a+'</td></tr><tr><td style="font-size:9pt;font-family:Arial;display:block;">Reported: </td><td style="font-size:9pt;font-weight:bold">'+e+" "+d+'</td></tr><tr><td style="font-size:9pt;font-family:Arial;display:block;">Location: </td><td style="font-size:9pt;font-weight:bold">'+o+"</td></tr></table>";var g=new GMarker(o,m);GEvent.addListener(g,"click",function(){g.openInfoWindowHtml(i)});return g}function BuildDownloadLink(e){hideRadar();hideWarnings();a=document.getElementById("daterange").value;daterange_result=a.split(" - ");var c=formatDate(new Date(getDateFromFormat(daterange_result[0],"yyyyMMdd")),"EE, MMM d, y");document.getElementById("dates").innerHTML="Showing Reports for "+c;var a=e.daterange.value;var b=e.showtypes.value;var d="xml.php?daterange="+a+" - "+a;d+="&showtypes="+b;myCluster.removeMarkers();loadMarkers(d)}function advBuildDownloadLink(j){hideRadar();hideWarnings();b=document.getElementById("daterange2").value;daterange_result=b.split(" - ");var c=formatDate(new Date(getDateFromFormat(daterange_result[0],"yyyyMMdd")),"MMM d, y");var a=formatDate(new Date(getDateFromFormat(daterange_result[1],"yyyyMMdd")),"MMM d, y");var d=new Array();var k=document.forms.grabdate_form2.elements.states;document.getElementById("dates").innerHTML="Showing Reports between "+c+" and "+a;while(k.selectedIndex!=-1){if(k.selectedIndex!=0){d.push(k.options[k.selectedIndex].value)}k.options[k.selectedIndex].selected=false}var h="";for(var e=0;e<d.length;e++){if(e+1==d.length){h+=d[e]}else{h+=d[e]+"-"}}alert(h);var b=j.daterange2.value;var f=j.showtypes2.value;var g="xml.php?daterange="+daterange_result[0]+" - "+daterange_result[0];g+="&showtypes="+f;g+="&states="+h;myCluster.removeMarkers();alert(g);loadMarkers(g)}function ShowPolylines(c,a){TSTMPolylineCount=0;SLGTPolylineCount=0;MDTPolylineCount=0;HIGHPolylineCount=0;TSTMencodedPolyline_Array=[];SLGTencodedPolyline_Array=[];MDTencodedPolyline_Array=[];HIGHencodedPolyline_Array=[];var b="polylines.php?date="+c+"&time="+a;GDownloadUrl(b,function(g){var d=GXml.parse(g);var f=d.documentElement.getElementsByTagName("polyline");for(var e=0;e<f.length;e++){OutlookType=f[e].getAttribute("OutlookType");OutlookCategory=f[e].getAttribute("OutlookCategory");OutlookPercent=f[e].getAttribute("OutlookPercent");LatandLong=f[e].getAttribute("LatandLong");Levels=f[e].getAttribute("Levels");PolylineLevels=LevelsCalc("B",Levels);if(OutlookType=="CATEGORICAL"){if(OutlookCategory=="TSTM"){TSTMencodedPolyline_Array[TSTMPolylineCount]=new GPolyline.fromEncoded({color:"#B47F00",weight:8,points:LatandLong,levels:PolylineLevels,zoomFactor:32,numLevels:4});map.addOverlay(TSTMencodedPolyline_Array[TSTMPolylineCount]);TSTMPolylineCount++}else{if(OutlookCategory=="SLGT"){SLGTencodedPolyline_Array[SLGTPolylineCount]=new GPolyline.fromEncoded({color:"#008b00",weight:8,points:LatandLong,levels:PolylineLevels,zoomFactor:32,numLevels:4});map.addOverlay(SLGTencodedPolyline_Array[SLGTPolylineCount]);SLGTPolylineCount++}else{if(OutlookCategory=="MDT"){MDTencodedPolyline_Array[MDTPolylineCount]=new GPolyline.fromEncoded({color:"#FF0000",weight:6,points:LatandLong,levels:PolylineLevels,zoomFactor:32,numLevels:4});map.addOverlay(MDTencodedPolyline_Array[MDTPolylineCount]);MDTPolylineCount++}else{if(OutlookCategory=="HIGH"){HIGHencodedPolyline_Array[HIGHPolylineCount]=new GPolyline.fromEncoded({color:"#ff17ff",weight:4,points:LatandLong,levels:PolylineLevels,zoomFactor:32,numLevels:4});map.addOverlay(HIGHencodedPolyline_Array[HIGHPolylineCount]);HIGHPolylineCount++}else{}}}}}}})}function LevelsCalc(d,a){var c=[];for(var b=0;(1<<b)<=a;b++){if((1<<b)&a){c.push(d)}d+=d}return c.join("")}function ShowWarnings(){var a=new GTileLayer(new GCopyrightCollection(""),1,17);a.getTileUrl=function(g,j){var b=new GPoint(g.x*256,(g.y+1)*256);var i=new GPoint((g.x+1)*256,g.y*256);var h=G_NORMAL_MAP.getProjection().fromPixelToLatLng(b,j);var d=G_NORMAL_MAP.getProjection().fromPixelToLatLng(i,j);var c=new Date();var f=c.getTime();var e="http://mesonet.agron.iastate.edu/cgi-bin/wms/us/wwa.cgi?";e+="&request=GetMap&service=WMS&version=1.1.1&layers=warnings_p&styles=";e+="&format=image/gif&bgcolor=0x333333&transparent=true&srs=EPSG:4326";e+="&bbox="+h.x+","+h.y+","+d.x+","+d.y;e+="&width=256&height=256";return e};a.getOpacity=function(){return 0.5};a.isPng=function(){return false};warningoverlay=new GTileLayerOverlay(a);map.addOverlay(warningoverlay);warningsShown=true}function ShowRadar(){var a=new GTileLayer(new GCopyrightCollection(""),1,17);a.getTileUrl=function(g,j){var b=new GPoint(g.x*256,(g.y+1)*256);var i=new GPoint((g.x+1)*256,g.y*256);var h=G_NORMAL_MAP.getProjection().fromPixelToLatLng(b,j);var d=G_NORMAL_MAP.getProjection().fromPixelToLatLng(i,j);var c=new Date();var f=c.getTime();var e="http://mesonet.agron.iastate.edu/cgi-bin/wms/nexrad/n0r.cgi?";e+="&request=GetMap&service=WMS&version=1.1.1&layers=nexrad-n0r&styles=";e+="&format=image/gif&bgcolor=0x333333&transparent=true&srs=EPSG:4326";e+="&bbox="+h.x+","+h.y+","+d.x+","+d.y;e+="&width=400&height=400&reaspect=false&cachetime="+f;bbox=h.x+" "+h.y+" "+d.x+" "+d.y;return e};a.getOpacity=function(){return 0.5};a.isPng=function(){return false};radaroverlay=new GTileLayerOverlay(a);map.addOverlay(radaroverlay);radarShown=true}function getUTCTime(){now=new Date();var a=now.getUTCHours();var b=now.getUTCMinutes();if(a<10){a="0"+a}if(b<10){b="0"+b}utctime=a+""+b;return utctime}function getUTCDate(){now=new Date();var a=now.getUTCFullYear();var b=a;var c=now.getUTCMonth()+1;if(c<10){c="0"+c}var d=now.getUTCDate();if(d<10){d="0"+d}utcfulldate=a+""+c+""+d;return utcfulldate}function getLongDate(){tDate=new Date();var a=tDate.getDate();if(a<10){a="0"+a}var c=tDate.getMonth()+1;if(c<10){c="0"+c}var b=tDate.getFullYear();yyyymmdd=b+""+c+""+a;return yyyymmdd}function getShortDate(){tDate=new Date();var a=tDate.getDate();if(a<10){a="0"+a}var c=tDate.getMonth()+1;if(c<10){c="0"+c}var b=tDate.getYear()-100;yymmdd="0"+b+""+c+""+a;return yymmdd}function getCurrentTime(){tDate=new Date();localtime=tDate.getTime();localOffset=tDate.getTimezoneOffset()*60000;utc=localtime+localOffset;offset=-5;tCentral=utc+(3600000*offset);nd=new Date(tCentral);var a=nd.getHours();var b=nd.getMinutes();if(a<10){a="0"+a}if(b<10){b="0"+b}centraltime=a+""+b;return centraltime}function showRadar(){if(radaroverlay.isHidden()){radaroverlay.show()}}function hideRadar(){if(!radaroverlay.isHidden()){radaroverlay.hide()}}function refreshRadar(){if(radarShown){map.removeOverlay(radaroverlay);map.addOverlay(radaroverlay)}}function showWarnings(){if(warningoverlay.isHidden()){warningoverlay.show()}}function hideWarnings(){if(!warningoverlay.isHidden()){warningoverlay.hide()}}function refreshWarnings(){if(warningsShown){map.removeOverlay(warningoverlay);map.addOverlay(warningoverlay)}}function showConvectiveOutlook(){for(var a=0;a<TSTMPolylineCount;a++){map.addOverlay(TSTMencodedPolyline_Array[a])}for(var a=0;a<SLGTPolylineCount;a++){map.addOverlay(SLGTencodedPolyline_Array[a])}for(var a=0;a<MDTPolylineCount;a++){map.addOverlay(MDTencodedPolyline_Array[a])}for(var a=0;a<HIGHPolylineCount;a++){map.addOverlay(HIGHencodedPolyline_Array[a])}}function hideConvectiveOutlook(){for(var a=0;a<TSTMPolylineCount;a++){map.removeOverlay(TSTMencodedPolyline_Array[a])}for(var b=0;b<SLGTPolylineCount;b++){map.removeOverlay(SLGTencodedPolyline_Array[b])}for(var c=0;c<MDTPolylineCount;c++){map.removeOverlay(MDTencodedPolyline_Array[c])}for(var d=0;d<HIGHPolylineCount;d++){map.removeOverlay(HIGHencodedPolyline_Array[d])}}function toggleClustering(){if(useCluster){useCluster=0;myCluster.clusteringEnabled=!myCluster.clusteringEnabled;myCluster.refresh(true)}else{useCluster=1;myCluster.clusteringEnabled=!myCluster.clusteringEnabled;myCluster.refresh(true)}}function numberFormat(b){b+="";x=b.split(".");x1=x[0];x2=x.length>1?"."+x[1]:"";var a=/(\d+)(\d{3})/;while(a.test(x1)){x1=x1.replace(a,"$1,$2")}return x1+x2};