if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("gam")); map.setCenter(new GLatLng(41.029, -72.9748), 8); map.addControl(new GSmallMapControl()); map.addControl(new GScaleControl()); map.addControl(new GMapTypeControl()); var gPoly1 = new GPolyline.fromEncoded({ color: "#FF0000", weight: 5, points: "ukuwFh|mbMz]weAfBor@~e@idDd{@k{BgOehBq`BomHfBwcArZwtAgBadC_mAsqGyiAy_C{Cor@{]a{@rM}x@o_@g{AkJurA_`AkyBr@iwCnEucAvU{x@wUehB~X{tAkW_sCwHmlByqAuwEkJ}gAjJo}Aly@}tBvo@msEwUqyCm`BqxJgOi}@gO}cNcTaoEcGa}JqaAe|RgOktJjJgfCydAmxIwkB}wFsMasCuxBixH", levels: "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB", zoomFactor: 32, numLevels: 4 }); var gPoly2 = new GPolyline.fromEncoded({ color: "#0000FF", weight: 5, points: "{xmxFbti{LjfAiqEdv@_fBtb@g{ArMucA", levels: "BBBBB", zoomFactor: 32, numLevels: 4 }); var gPoly3 = new GPolyline.fromEncoded({ color: "#00FF00", weight: 5, points: "svhxFbozzLmbC{eMkJoyCid@y}CkJivIs|@wnCww@w|IfBq_B`Twg@oE_fBub@{cBrMglAm_@q_BxP}x@kl@k_AkWip@ocBiyBylAi`FyPm}Aei@emFsb@urA`Tg{Ay]a{@bG{tAqiAk_AeO_dCgfAgbEpMyv@aiDqbRqo@urAcmBuhEuHy}Cmt@chBk_@mlBuH}x@uj@ajA}m@oc@_v@ijB?}gA", levels: "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB", zoomFactor: 32, numLevels: 4 }); map.addOverlay(gPoly1); map.addOverlay(gPoly2); map.addOverlay(gPoly3); var html_src = '<p align="center"><b>Montauk NY</b></p><table width="200" border="0" cellspacing="0" cellpadding="0"><tr><td align="left" valign="top"><ul><li><a class="navbar" href="/?s=Lodging"><font style="font-size: 10px;">HOTELS & MOTELS</font></a> <li><a class="navbar" href="/?s=Recreation"><font style="font-size: 10px;">RECREATION</font></a> <li><a class="navbar" href="/?s=Restaurants"><font style="font-size: 10px;">RESTAURANTS</font></a> <li><a class="navbar" href="/?s=Real+Estate"><font style="font-size: 10px;">REAL&nbsp;ESTATE</font></a> <li><a class="navbar" href="/?s=Stores+%26+Shops"><font style="font-size: 10px;">STORES&nbsp;&amp;&nbsp;SHOPS</font></a> <li><a class="navbar" href="/?s=Services"><font style="font-size: 10px;">SERVICES</font></a></ul></td><td align="left" valign="top"><ul style="font-size: 9px;"> <li><a class="navbar" href="/?s=Marinas"><font style="font-size: 10px;">MARINAS</font></a><li><a class="navbar" href="/?s=Entertainment"><font style="font-size: 10px;">ENTERTAINMENT</font></a> <li><a class="navbar" href="/?s=Parks"><font style="font-size: 10px;">PARKS</font></a> <li><a class="navbar" href="/?s=Public+Facilities"><font style="font-size: 10px;">FACILITIES</font></a><br/> <li><a class="navbar" href="/?s=Organizations"><font style="font-size: 10px;">ORGANIZATIONS</font></a> <li><a class="navbar" href="/?s=Government"><font style="font-size: 10px;">GOVERNMENT</font></a> <li><a class="navbar" href="/?s=News"><font style="font-size: 10px;">NEWS</font></a></ul></td></tr></table>'; var mplhi = new GIcon(); mplhi.image = "/_images/map_icon_lighthouse.png"; mplhi.shadow = "/_images/map_icon_lighthouse_shadow.png"; mplhi.iconSize = new GSize(14, 53); mplhi.shadowSize = new GSize(50, 51); mplhi.iconAnchor = new GPoint(7, 53); mplhi.infoWindowAnchor = new GPoint(7, 6); var opts = new Object(); opts.title = 'Montauk Point Lighthouse - Montauk, NY'; opts.icon = mplhi; var mplhm = new GMarker(new GLatLng(41.0709, -71.8573), opts); map.addOverlay(mplhm); GEvent.addListener(mplhm, "click", function() { mplhm.openInfoWindowHtml(html_src); }); var DOTcam = new GIcon(); DOTcam.image = "/_images/dotcam.gif"; DOTcam.iconSize = new GSize(15,15); DOTcam.iconAnchor = new GPoint(5,1); DOTcam.infoWindowAnchor = new GPoint(6, 5); var cameraCluster = new Object(); var cameraClusterVisible = false; } function createIncidentIcon (latitude, longitude, title, description, area, direction, severity, dotcam, updated, show_now){ if (GBrowserIsCompatible()) { var infoHTML = '<table width="250" border="0" cellspacing="0" cellpadding="0"><tr><td><b>' + title + '</b><hr height="1"><div align="left"><font size="1"><b>DESCRIPTION:</b> ' + description + '<br/><b>AREA:</b> ' + area + '<br/><b>DIRECTION:</b> ' + direction + '<br/><b>SEVERITY:</b> ' + severity + ' (Scale: 1-5)' + '<br/><b>UPDATED:</b> ' + updated + '</font></div>'; if(dotcam != ''){ infoHTML = infoHTML + '<hr height="1"><div align="left"><a href="#top" style="text-decoration: none;" onClick="showDOTcamID(\'' + dotcam + '\')"><img src="/_images/dotcam.gif" width="15" height="15" border="0" hspace="0" vspace="0" align="absmiddle"><font size="1">&nbsp;click here for nearest camera</font></a>' + '</div>'; } infoHTML = infoHTML + '</td></tr></table>'; var incident_marker; if(!severity){ incident_marker = new createMarker(new GLatLng(latitude, longitude), infoHTML); map.addOverlay(incident_marker); } else{ incident_marker = new createIncidentMarker(title, latitude, longitude, infoHTML, severity); } if(show_now){ incident_marker.openInfoWindowHtml(infoHTML); } } else{ var incident = title + "\n" + 'DESCRIPTION: ' + description + "\n" + 'AREA: ' + area + "\n" + 'DIRECTION: ' + direction + "\n" + 'SEVERITY: ' + severity + ' (Scale: 1-5)' + "\n" + 'UPDATED: ' + updated + "\n"; alert(incident); } } function createIncidentMarker(title, latitude, longitude, html, severity) { var incidentIcon = new GIcon(); incidentIcon.image = "/_images/roadways_severity-" + severity + ".png"; incidentIcon.iconSize = new GSize(25,25); incidentIcon.iconAnchor = new GPoint(12,24); incidentIcon.infoWindowAnchor = new GPoint(12, 7); var opts = new Object(); opts.title = title; opts.icon = incidentIcon; var marker = new GMarker(new GLatLng(latitude, longitude), opts); GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html); }); GEvent.addListener(marker, "infowindowopen", function() { mapcenter = map.getCenter(); }); GEvent.addListener(marker, "infowindowclose", function() { map.setCenter(mapcenter); }); map.addOverlay(marker); return marker; } function createMarker(point, html) { var marker = new GMarker(point); GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html); }); GEvent.addListener(marker, "infowindowopen", function() { mapcenter = map.getCenter(); }); GEvent.addListener(marker, "infowindowclose", function() { map.setCenter(mapcenter); }); return marker; } function showDOTcamID (id) { if (GBrowserIsCompatible()) { showProgressbar(); GDownloadUrl( '/reports.cgi?search_id==' + id + '&doc=dotcams.xml', function(data, responseCode) { var xml = GXml.parse(data); var dotcam = xml.documentElement.getElementsByTagName("dotcam"); var html_src = '<table width="275" border="0" cellspacing="0" cellpadding="0"><tr><td><font style="font-size: 10px"><b>' + dotcam[0].getAttribute("loc") + '<br /><font color="#FF0000">[ Updates every: ' + dotcam[0].getAttribute("rr") + ' ]</font></b> <img name="DOTIMG" id="DOTIMG" src="' + dotcam[0].getAttribute("url") + '" width="275" height="188"><br><font style="font-size: 9px">' + dotcam[0].getAttribute("description") + '</font></td></tr></table>'; var point = new GLatLng(parseFloat(dotcam[0].getAttribute("lat")), parseFloat(dotcam[0].getAttribute("lng"))); var DOTcamM = createCameraMarker(point, dotcam[0].getAttribute("loc"), html_src, DOTcam); hideProgressbar(); map.addOverlay(DOTcamM); DOTcamM.openInfoWindowHtml(html_src); }); } else{ newWindow('/reports.cgi?doc=dotcams.htm&id=' + id, 340, 370); } } function createCameraMarker(point, name, html, iconImg) { var opts = new Object(); opts.title = name; opts.icon = iconImg; var marker = new GMarker(point, opts); GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html); }); GEvent.addListener(marker, "infowindowopen", function() { cameraClick(); mapcenter = map.getCenter(); window.setTimeout(function() { timerID=setInterval("cameraClick();", 20000); }, 25); }); GEvent.addListener(marker, "infowindowclose", function() { clearTimeout(timerID); map.setCenter(mapcenter); }); return marker; } function cameraClick() { var cami = document.getElementById("DOTIMG"); var camsrc = cami.src; var ind = camsrc.indexOf("?"); if(ind != -1) { camsrc = cami.src.substring(0, ind) + "?" +new Date().getTime(); } else { camsrc = cami.src + "?" + new Date().getTime(); } cami.src = camsrc; } function showAllDotcams(street) { if (!GBrowserIsCompatible()) { alert("Sorry, your browser must be compatible\nwith Google Maps to use this feature.\nPlease upgrade your browser and try again."); return; } var showCams = document.getElementById("showAllDotcams-" + street); if(showCams.checked) { chkDisabled(street); if(typeof cameraCluster[street] != "undefined"){ addMarkers(street, cameraCluster[street]); changeChkBoxStatus(street); } else{ showProgressbar(); window.setTimeout(function() { cameraInit(street); }, 20); } } else { hideCameraMarkers(street); } } function cameraInit(street) { if(!street){ return; } cameraCluster[street] = new Array(); GDownloadUrl( '/reports.cgi?doc=dotcams.xml&search_street==' + street, function(data, responseCode) { var xml = GXml.parse(data); var markers = xml.documentElement.getElementsByTagName("dotcam"); for (var m = 0; m < markers.length; m++) { var html_src = '<table width="275" border="0" cellspacing="0" cellpadding="0"><tr><td><font style="font-size: 10px"><b>' + markers[m].getAttribute("loc") + '<br /><font color="#FF0000">[ Updates every: ' + markers[m].getAttribute("rr") + ' ]</font></b> <img name="DOTIMG" id="DOTIMG" src="' + markers[m].getAttribute("url") + '" width="275" height="188"><br><font style="font-size: 9px">' + markers[m].getAttribute("description") + '</font></td></tr></table>'; var point = new GLatLng( parseFloat( markers[m].getAttribute("lat") ), parseFloat( markers[m].getAttribute("lng") ) ); var marker = createCameraMarker(point, markers[m].getAttribute("loc"), html_src, DOTcam); cameraCluster[street][m] = marker; map.addOverlay(marker); } changeChkBoxStatus(street); }); cameraClusterVisible = true; } function chkDisabled(street) { document.getElementById("showAllDotcams-" + street).disabled = true; } function chkEnabled(street) { document.getElementById("showAllDotcams-" + street).disabled = false; } function removeMarkers(street, markers) { if(typeof markers != "undefined"){ window.setTimeout(function() { for (i=0; i<markers.length; i++) { map.removeOverlay(markers[i]); } changeChkBoxStatus(street); }, 10); } else{ changeChkBoxStatus(street); } } function addMarkers(street, markers) { window.setTimeout(function() { for (i=0; i<markers.length; i++) { map.addOverlay(markers[i]); } changeChkBoxStatus(street); }, 10); } function hideCameraMarkers(street) { map.closeInfoWindow(); chkDisabled(street); removeMarkers(street, cameraCluster[street]); cameraClusterVisible = false; } function showProgressbar() { var progress = document.getElementById("progressbar"); progress.style.visibility = "visible"; } function hideProgressbar() { var progress = document.getElementById("progressbar"); progress.style.visibility="hidden"; } function changeChkBoxStatus(street) { hideProgressbar(); chkEnabled(street); } 

