// Modified by Charles Sun (05/11/2008)

var markers = null;
var popups;

    var pointCenter = new GLatLng(21.2796,-157.8185);
    var map = new GMap2(document.getElementById("map"));
    map.setCenter(pointCenter,13);
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    map.addControl(new GScaleControl());
//  map.setMapType(G_SATELLITE_MAP);
    map.setMapType(G_NORMAL_MAP);
    map.clearOverlays();
    GEvent.addListener(map, 'zoomend', function (fromZoom, toZoom) {
      if (markers != null) {
        for (var j=0; j < markers.length; j++) {
            markers[j].showTooltip();
        }
      }
    });
 
function initPoints() {
   map.clearOverlays();
   for (var j = 0; j < markers.length; j++) {
      map.addOverlay(markers[j]);
   }
}

// Open the info box for the specified marker.
function popup( i ) {
    markers[i].openInfoWindowHtml(popups[i]);
}

function makePopupCaller( i )
    {
    return function() { popup( i ); };
    }

function map_init() 
{
  if (GBrowserIsCompatible()) {
   var icon = new GIcon();
// icon.image = "/OWDIP/images/circle_blue.png";
   icon.image = "/OWDIP/images/circle_flesh.png";
   icon.iconSize = new GSize(8, 8);
   icon.iconAnchor = new GPoint(1, 1);
   icon.infoWindowAnchor = new GPoint(1, 1);
    var request = GXmlHttp.create();
    var ndbcinv = "/GTSPP/document/reports/gtspp/hawaii2008/gtspp2008.xml";
    request.open("GET", ndbcinv, true);
    request.onreadystatechange = function() 
    {
      if (request.readyState == 4) {
        var xmlDoc = request.responseXML;
        var locations = xmlDoc.documentElement.getElementsByTagName("location");
        markers = new Array(locations.length);
        popups = new Array(locations.length);
        for (var i = 0; i < locations.length; i++) {
            var lng = parseFloat(locations[i].getAttribute("lng"));
            var lat = parseFloat(locations[i].getAttribute("lat"));
            var point = new GLatLng(lat, lng);
            var name = locations[i].getAttribute("name");
            var stnid = locations[i].getAttribute("id");
            var StnInfo = locations[i].getAttribute("url");
            var info = locations[i].getAttribute("info");
            var LastUpdated = locations[i].getAttribute("time");
            var html = "<div id='infowindowframe'>";
            html += "<div id='infowindowtitle'>" + name + "<br />";
            html += " " + stnid + "</div>";
            html += "<div id='infowindowleftpane'>";
            html += info;
            html += "</div>";
            popups[i] = html;
            markers[i] = new GxMarker(point, null,name, "static");
            GEvent.addListener(markers[i], "click", makePopupCaller(i));
          }
        initPoints();
      }
    }
    request.send(null);
  }
}
