//<![CDATA[
// Creates a marker at the given point with the given number label
function createMarker(point, opts, infoHtml) {
  var marker = new GMarker(point, opts);
  if (infoHtml != null) {
    GEvent.addListener(marker, "click", function() {
      marker.openInfoWindowHtml(infoHtml);
    });
  }
  return marker;
}

function load() {
  if (GBrowserIsCompatible()) {
    var mapOptions = new Object();
    switch (mapType) {
      case "SAT":
        mapOptions.mapTypes = [G_SATELLITE_TYPE,G_MAP_TYPE,G_HYBRID_TYPE];
        break;
      case "HYB":
        mapOptions.mapTypes = [G_HYBRID_TYPE,G_MAP_TYPE,G_SATELLITE_TYPE];
        break;
      default:
        mapOptions.mapTypes = G_DEFAULT_MAP_TYPES;
    }
    var map = new GMap2(document.getElementById("map"), mapOptions);

    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    var location = new GLatLng(centerLat, centerLon);
    map.setCenter(location, zoom);
    var overview = new GOverviewMapControl(new GSize(142, 100));
    map.addControl(overview);
    for (pointIndex = points.length - 1; pointIndex >= 0; pointIndex--) {
      var opts = new Object();
      opts.clickable = true;
      opts.title = labels[pointIndex];
      if (typeof infoHtml == 'undefined')
        marker = createMarker(points[pointIndex], opts, null, false);
      else
        marker = createMarker(points[pointIndex], opts, infoHtml[pointIndex]);
      map.addOverlay(marker);
      if (typeof showInfo != 'undefined') {
        if (showInfo[pointIndex])
          GEvent.trigger(marker, "click");
      }
    }
  }
}
//]]>
