function initialize(){var n={center:{lat:-18.4611947,lng:133.4997168},disableDefaultUI:!0,zoom:5,zoomControl:!0,mapTypeControl:!0,mapTypeControlOptions:{position:google.maps.ControlPosition.LEFT_BOTTOM},scaleControl:!1,streetViewControl:!1,rotateControl:!1};window.map=new google.maps.Map(document.getElementById("map-canvas"),n);window.infowindow=new google.maps.InfoWindow;loadIncidents();loadWarnings();location.protocol=="https:"&&addCentreMapButton(window.map)}function loadIncidents(){var n=$("base").attr("href");$.getJSON(n+"json/ntfrsincidents.json",function(n){for(var c=n.title,f=n.lastupdated,u=n.incidents,i=0,e=u.length;i<e;i++){var t=u[i],o=getLatLngFromString(t.coordinate),s=getImage(t),h=getZIndex(t),r=new google.maps.Marker({title:t.eventtype,position:o,icon:s,category:t.category,status:t.status,zIndex:h,anchorPoint:new google.maps.Point(-1,-30)});allIncidents.push(r);r.info=getInfoWindowMessage(t);google.maps.event.addListener(r,"click",function(){window.infowindow.setContent(this.info);window.infowindow.open(map,this)})}filterIncidents();$("#lastupdate").text(moment(f).format("DD/MM/YYYY HH:mm:ss"))})}function loadWarnings(){var n=$("base").attr("href");$.getJSON(n+"json/warnings.json",function(t){for(var h=t.title,c=t.lastupdated,r=t.warnings,u=0,e=r.length;u<e;u++){var i=new google.maps.Data,f=r[u],o=f.area_code,s=n+"assets/layers/fire-districts/"+o+".json";i.loadGeoJson(s);i.setStyle({fillColor:getWarningColour(f.severity_code),fillOpacity:.5});i.info=getWarningInfoWindowMessage(f);i.addListener("click",function(n){window.infowindow.setContent(this.info);window.infowindow.setPosition(n.latLng);window.infowindow.open(map)});allWarnings.push(i)}toggleWarnings();r.length==0?$("#warningstoggle").hide():$("#warningstoggle").show()})}function getInfoWindowMessage(n){var r=encodeEntities(n.eventtype),u=encodeEntities(n.location),f=n.properties,i="<div class='infowindow'><div class='infoheader'><div class='infotype'>"+r+"<\/div><div class='infolocation'>"+u+"<\/div><div class='infonotified'>Notified: "+moment(n.datenotified).format("DD/MM/YYYY HH:mm:ss")+"<\/div>",t;return n.dateclosed!=null&&(i+="<div class='infoclosed'>Closed: "+moment(n.dateclosed).format("DD/MM/YYYY HH:mm:ss")+"<\/div>"),t="<dl>",$.each(f,function(n,i){(i==null||i=="")&&(i="---");t+=n=="Advice to the Public"?"<dt>"+n+"<\/dt><dd>"+i+"<\/dd>":"<dt>"+encodeEntities(n)+"<\/dt><dd>"+encodeEntities(i)+"<\/dd>"}),t+="<\/dl>",i+="<\/div>",i+=t,i+"<\/div>"}function getWarningInfoWindowMessage(n){var r=encodeEntities(n.warning_phenomena),i=encodeEntities(n.warning),u=encodeEntities(n.warning_for),f=encodeEntities(n.warning_areas),o=encodeEntities(n.severity_name),s=moment(n.datestart).format("DD/MM/YYYY HH:mm:ss"),h=moment(n.dateend).format("DD/MM/YYYY HH:mm:ss"),e=moment(n.datestart).format("DD/MM/YYYY"),t="<div class='warninginfowindow'>";return t+="<strong>"+r+" <\/strong>",t+=u+"<br/>",t+=f+"<br/>",i!==null&&i!==""&&(t+=i+"<br/>"),t+="Date: "+e,t+"<\/div>"}function getLatLngFromString(n){var t=n.split(",");return new google.maps.LatLng(parseFloat(t[0]),parseFloat(t[1]))}function getImage(n){var t="assets/images/",i=n.category,u=n.status,r;return r=u=="closed"?t+i+"-closed.png?v2":t+i+".png?v2",{url:r,size:new google.maps.Size(30,30),scaledSize:new google.maps.Size(30,30),origin:new google.maps.Point(0,0),anchor:new google.maps.Point(15,30)}}function getWarningColour(n){switch(n){case"CAT":return"Crimson";case"EXT":return"Red";case"SEV":return"Orange";case"STD":return"Yellow";case"MARG":return"Green";default:return"Red"}}function getZIndex(n){switch(n.status){case"active":switch(n.category){case"fire":return 5;case"roadcrash":return 4;default:return 3}default:return 0}}function filterIncidents(){var t=[],i=[],n;for($.each($("input[name='category']:checked"),function(){t.push($(this).val())}),$.each($("input[name='status']:checked"),function(){i.push($(this).val())}),n=0;n<allIncidents.length;n++)$.inArray(allIncidents[n].category,t)!=-1?$.inArray(allIncidents[n].status,i)!=-1?allIncidents[n].setMap(window.map):allIncidents[n].setMap(null):allIncidents[n].setMap(null)}function toggleWarnings(){for(var t=$("input[name='warnings']").is(":checked")?window.map:null,n=0;n<allWarnings.length;n++)allWarnings[n].setMap(t)}function forceRefresh(){for(var n=0;n<allIncidents.length;n++)allIncidents[n].setMap(null);for(allIncidents=[],n=0;n<allWarnings.length;n++)allWarnings[n].setMap(null);allWarnings=[];loadIncidents();loadWarnings()}function centreMap(){navigator.geolocation?navigator.geolocation.getCurrentPosition(getPosition,showError):alert("Geolocation is not supported by this browser.")}function getPosition(n){UserLatitude=n.coords.latitude;UserLongitude=n.coords.longitude;showPosition(UserLatitude,UserLongitude)}function showPosition(n,t){lat=n;lon=t;latlon=new google.maps.LatLng(lat,lon);window.map.setCenter(latlon);window.map.setZoom(12)}function showError(n){switch(n.code){case n.PERMISSION_DENIED:alert("User denied the request for Geolocation.");break;case n.POSITION_UNAVAILABLE:alert("Location information is unavailable.");break;case n.TIMEOUT:alert("The request to get user location timed out.");break;case n.UNKNOWN_ERROR:alert("An unknown error occurred.")}}function addCentreMapButton(n){var r=document.createElement("div"),t=document.createElement("button"),i;t.style.backgroundColor="#fff";t.style.border="none";t.style.outline="none";t.style.width="28px";t.style.height="28px";t.style.borderRadius="2px";t.style.boxShadow="0 1px 4px rgba(0,0,0,0.3)";t.style.cursor="pointer";t.style.marginRight="10px";t.style.padding="0px";t.title="Centre Map";r.appendChild(t);i=document.createElement("div");i.style.margin="5px";i.style.width="18px";i.style.height="18px";i.style.backgroundImage="url(assets/images/mylocation-sprite-1x.png)";i.style.backgroundSize="180px 18px";i.style.backgroundPosition="0px 0px";i.style.backgroundRepeat="no-repeat";t.appendChild(i);t.addEventListener("click",function(){centreMap()});n.controls[google.maps.ControlPosition.RIGHT_BOTTOM].push(r)}function encodeEntities(n){return n==null?null:n.replace(/&/g,"&amp;").replace(SURROGATE_PAIR_REGEXP,function(n){var t=n.charCodeAt(0),i=n.charCodeAt(1);return"&#"+((t-55296)*1024+(i-56320)+65536)+";"}).replace(NON_ALPHANUMERIC_REGEXP,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function isIE(){var n=window.navigator.userAgent,t=n.indexOf("MSIE "),i=n.indexOf("Trident/"),r=n.indexOf("Edge/");return t>-1||i>-1||r>-1?!0:!1}function toggleAutoRefresh(n){n.checked?autoRefreshIntervalId=setInterval(forceRefresh,3e5):clearInterval(autoRefreshIntervalId)}var allIncidents=[],allWarnings=[],SURROGATE_PAIR_REGEXP,NON_ALPHANUMERIC_REGEXP,autoRefreshIntervalId;isIE()&&$.ajaxSetup({cache:!1});google.maps.event.addDomListener(window,"load",initialize);google.maps.event.addDomListener(window,"resize",function(){var n=map.getCenter();google.maps.event.trigger(map,"resize");map.setCenter(n)});SURROGATE_PAIR_REGEXP=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;NON_ALPHANUMERIC_REGEXP=/([^\#-~| |!])/g;autoRefreshIntervalId=0