// onload
Event.observe(window, 'load', drawMap, false);

/* google maps code */
function drawMap() {
 if (GBrowserIsCompatible()) {
   var map = new GMap2(document.getElementById("map"));
   map.addControl(new GSmallMapControl());
   map.addControl(new GMapTypeControl());
   map.setCenter(new GLatLng(45.5088, -73.5526), 17);
   map.setMapType(G_HYBRID_MAP);

   // Create a base icon for all of our markers that specifies the
   // shadow, icon dimensions, etc.
   var baseIcon = new GIcon();
   baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
   baseIcon.iconSize = new GSize(20, 34);
   baseIcon.shadowSize = new GSize(37, 34);
   baseIcon.iconAnchor = new GPoint(9, 34);
   baseIcon.infoWindowAnchor = new GPoint(9, 2);
   baseIcon.infoShadowAnchor = new GPoint(18, 25);

   // Creates a marker whose info window displays the letter corresponding
   // to the given index.
   function createMarker(point, index) {
     // Create a lettered icon for this point using our icon class
     var msg = markers[index][0];
     var letter = markers[index][0];       
     var icon = new GIcon(baseIcon);
     icon.image = "http://www.google.com/mapfiles/marker" + markers[index][3] + ".png";
     var marker = new GMarker(point, icon);

     GEvent.addListener(marker, "click", function() {
       marker.openInfoWindowHtml("<b>" + msg + "</b><br>" +  markers[index][4]);
     });
     return marker;
   }

   // Add 10 markers to the map at random locations
   var bounds = map.getBounds();
   var southWest = bounds.getSouthWest();
   var northEast = bounds.getNorthEast();
   var lngSpan = northEast.lng() - southWest.lng();
   var latSpan = northEast.lat() - southWest.lat();
   
   markers = new Array();
   markers[0] = ['Restaurant', 45.5089, -73.5525, 'R', '423, rue St-Claude, Montreal'];
   markers[1] = ['Stationnement', 45.5095, -73.5541, 'P', '320, rue du Champ-de-Mars, Montreal'];     
   markers[2] = ['Terrasse', 45.5087, -73.5530, 'T', ""];     

   
   for (var i = 0; i < markers.length; i++) {
     var point = new GLatLng(markers[i][1], markers[i][2]);
     map.addOverlay(createMarker(point, i));
   }
 }
}

