function load() {
  if (GBrowserIsCompatible()) {
    var map = new GMap2(document.getElementById("map"));
    map.addControl(new GSmallMapControl());
    map.setCenter(new GLatLng(38.903792, -77.264142), 14);
     
    // Creates a marker at the given point with the given number label
    function createMarker(point, number) {
      var marker = new GMarker(point);
      GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml("<div id=\"map_label\"><b>Vienna Presbyterian Church</b><br>124 Park Street, NE<br>Vienna, VA 22180</div>");
      });
      return marker;
    }
    map.addOverlay(createMarker(map.getCenter()));
  }
}

function add_event(elm, evType, fn, useCapture) {
  // cross-browser event handling for IE5+, NS6 and Mozilla 
  // By Scott Andrew
  if (elm.addEventListener) {
    elm.addEventListener(evType, fn, useCapture);
    return true;
  } else if (elm.attachEvent) { 
    var r = elm.attachEvent('on' + evType, fn);
    return r;
  } else {
    elm['on' + evType] = fn; 
  }
}
  
function init() {
  add_event(document.getElementsByTagName("body")[0], 'load', load(), false);
  add_event(document.getElementsByTagName("body")[0], 'unload', GUnload(), false);
}
  
add_event(window, 'load', init, false);