    //<![CDATA[

    if (GBrowserIsCompatible()) {

      var sidebar_html = "";
      var gmarkers = [];
      var htmls = [];
      var i = 0;

      function createMarker(point,name,html) {
        var marker = new GMarker(point);
        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
        });

        gmarkers[i] = marker;
        htmls[i] = html;

        sidebar_html += '<A HREF="javascript:markerclick(' + i + ')">' + name + '</A><BR>';
        i++;
        return marker;
      }

      function markerclick(i) {
        gmarkers[i].openInfoWindowHtml(htmls[i]);
      }

	function load(){
      var map = new GMap2(document.getElementById("map"));
      map.addControl(new GLargeMapControl());
      map.setCenter(new GLatLng( 45.228125,-75.681675), 14);

      var request = GXmlHttp.create();
      request.open("GET", "events.xml?hash="+ Math.random(), true);
      request.onreadystatechange = function() {
        if (request.readyState == 4) {
          var xmlDoc = request.responseXML;
          var markers = xmlDoc.documentElement.getElementsByTagName("marker");
          for (var i = 0; i < markers.length; i++) {
          var lat = parseFloat(markers[i].getAttribute("lat"));
          var lng = parseFloat(markers[i].getAttribute("lng"));
          var point = new GLatLng(lat,lng);
          var html = GXml.value(markers[i].getElementsByTagName("infowindow")[0]);
          var label = markers[i].getAttribute("label");
          var marker = createMarker(point,label,html);
          map.addOverlay(marker);
          }

        }
      }
      request.send(null);
	}
  }
    else {
      alert("Your browser sucks.");
    }

    //]]>