	
    var map = null;
    var geocoder = null;
	
   	function initialize(my_document) {
      if (GBrowserIsCompatible()) {
        /// map = new GMap2(document.getElementById("map_canvas"));

		if (my_document == null) {
        	// map = new GMap2(document.getElementById("map_canvas"));
			map = new GMap2(document.getElementById("map_canvas"));
		}
		else {
			// map = new google.maps.GMap2(my_document[0].getElementById("map_canvas"));  // [0] gives the DOM element
			// map = new GMap2(my_document.getElementById("map_canvas"));
		}

        map.setCenter(new GLatLng(52.49287,13.39719), 15);
		
		// map.setMapType(G_HYBRID_MAP);
		map.setUIToDefault();
		
		map.enableRotation();
		//map.mapControl = new GMapTypeControl();
		//map.addControl(new GLargeMapControl());
		//map.addControl(new GScaleControl());
        geocoder = new GClientGeocoder();
      }
    }

	function addMarker (lat,lng,colour,name,link) {
		if (geocoder) {
		var tinyIcon = new GIcon();
		tinyIcon.image = "http://labs.google.com/ridefinder/images/mm_20_" + colour + ".png";
		tinyIcon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
		tinyIcon.iconSize = new GSize(12, 20);
		tinyIcon.shadowSize = new GSize(22, 20);
		tinyIcon.iconAnchor = new GPoint(6, 20);
		tinyIcon.infoWindowAnchor = new GPoint(5, 1);
		
		var point = new GLatLng(lat,lng);
		var markerOptions = { icon:tinyIcon };
		
		var marker = new GMarker(point, markerOptions);
				
		GEvent.addListener(marker,"click", function() {
			var myHtml = '<span class="bold">' + name + "</span></a>";
			var lat_lng = '('  + lat + ', '+ lng + ')';
			// map.openInfoWindowHtml(lat_lng, myHtml);
			marker.openInfoWindowHtml(myHtml);

		});
		
		map.addOverlay(marker);
		}
	}
	
    function showAddress(address,name) {
      if (geocoder) {
        geocoder.getLatLng(
          address,
          function(point) {
            if (!point) {
              alert(address + " not found");
            } else {
			  // alert(point);
              map.setCenter(point, 15);
			  
			  var tinyIcon = new GIcon();
			  tinyIcon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
			  tinyIcon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
			  tinyIcon.iconSize = new GSize(12, 20);
			  tinyIcon.shadowSize = new GSize(22, 20);
			  tinyIcon.iconAnchor = new GPoint(6, 20);
			  tinyIcon.infoWindowAnchor = new GPoint(5, 1);
			  
			  // Set up our GMarkerOptions object literal
			  var markerOptions = { icon:tinyIcon };

			  
              var marker = new GMarker(point, markerOptions);
              map.addOverlay(marker);
              marker.openInfoWindowHtml('<span class="bold">' + name + '</span><br />\n' +  address);
            }
          }
        );
      }
    }
	


