/*var InitCenterLat=0;
var InitCenterLong=0;
var InitZoom=0;*/
var icons = {};

//var places=[ { "name": "British Airways London Eye", "posn": [51.503827,-0.119562], "Description": "Description Here" }];

function createMarker(point, strTitle, strDesc, icon) {	
	markerOptions = { title:strTitle, icon:icon };
	var marker = new GMarker(point, markerOptions);				
	GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(strDesc, {maxWidth: 360}); });
	//GEvent.addListener(marker, "mouseout", function() {marker.closeInfoWindow();});	
	return marker;
}

function getIcon(images) {
      var icon = null;
      if (images) {
        if (icons[images[0]]) {
          icon = icons[images[0]];
        } else {
          icon = new GIcon();
          icon.image = "/images/" + images[0] + ".gif";
          var size = iconData[images[0]];
          icon.iconSize = new GSize(size.width, size.height);
          icon.iconAnchor = new GPoint(size.width >> 1, size.height >> 1);
		  icon.infoWindowAnchor = new GPoint(size.width >> 1, 1);
		  if (images[1]) {
	          icon.shadow = "/images/" + images[1] + ".gif";
	          size = iconData[images[1]];
	          icon.shadowSize = new GSize(size.width, size.height);
		  }
          icons[images[0]] = icon;
        }
      }
      return icon;
    }

function googlemapload() {
	if (GBrowserIsCompatible()) {
		var marker
		var map = new GMap2(document.getElementById("map"));
		map.setCenter(new GLatLng(InitCenterLat, InitCenterLong), InitZoom);	
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.enableDoubleClickZoom();
		var mgrOptions = { borderPadding: 50};//, maxZoom: 15, trackMarkers: true 
		var mgr = new MarkerManager(map, mgrOptions);			
		for (var i in mapMarkers) {
			var layer = mapMarkers[i];
			var markers = [];
			for (var j in layer["places"]) {
				var place = layer["places"][j];
				var icon = getIcon(place["icon"]);
				var title = place["name"];
				var htmlDescription = place["Description"];
				var posn = new GLatLng(place["posn"][0], place["posn"][1]);
				var marker = createMarker(posn, title, htmlDescription, icon);
				markers.push(marker);				
			}
			mgr.addMarkers(markers, layer["zoom"][0], layer["zoom"][1]);
		}
		mgr.refresh();		
	}
}

function mapunload(){
	//window.alert('mapunload');
	GUnload();
}

AddOnloadFunction(googlemapload);
AddOnUnloadFunction(mapunload);