	var map = null;
	
	function SetupMap(intPosX, intPosY, intZoomLevel, intMapWidth, intMapHeight, control)
	{
		document.getElementById('map_canvas').style.display = "block";
		document.getElementById('map_canvas').width = intMapWidth;
		document.getElementById('map_canvas').style.width = intMapWidth;
		document.getElementById('map_canvas').height = intMapHeight;
		document.getElementById('map_canvas').style.height = intMapHeight;
		
		MapStart(intPosX, intPosY, intZoomLevel, control);
	}
	
	function MapStart(intStartX, intStartY, intZoomLevel, control)
	{
		if (GBrowserIsCompatible()) {
			map = new GMap2(document.getElementById("map_canvas"));
			
			map.setCenter(new GLatLng(intStartX, intStartY), intZoomLevel);
			
			if(control == 1)
			{
				map.disableDoubleClickZoom();
				map.disableDragging();
			}
			else
			{
				map.addControl(new GLargeMapControl());
				map.addControl(new GMapTypeControl());
				map.removeMapType(G_SATELLITE_MAP);
			}
		}
		
		if (window.LoadMarkers)
			LoadMarkers();
	}
	
	function MapAddMarkerIcon(intX, intY, iconValue)
	{
		var markerIcon = new GIcon(G_DEFAULT_ICON);
		
		// Check iconValue to see if its an ascii letter
		if(iconValue > 64)
		{
			var iconValue = String.fromCharCode(iconValue);
			markerIcon.image = "http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld="+iconValue+"|003366|ffffff";
		}
		else
		{
			markerIcon.image = "/img/primedMarker.png";
			markerIcon.iconSize = new GSize(22, 37);
		}
		
		// Set up our GMarkerOptions object
		markerOptions = { icon:markerIcon };
		
		var point = new GLatLng(intX,intY);
		var marker = new GMarker(point, markerOptions);
		map.addOverlay(marker);
		//map.openInfoWindowHtml(map.getCenter(), html);
	}
	
	function MapAddMarkerIconColoured(intX, intY, iconColour)
	{
		var markerIcon = new GIcon(G_DEFAULT_ICON);
		
		var Cicon = iconColour;
		markerIcon.image = "http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=A|"+Cicon+"|"+Cicon;
		
		// Set up our GMarkerOptions object
		markerOptions = { icon:markerIcon };
		
		var point = new GLatLng(intX,intY);
		var marker = new GMarker(point, markerOptions);
		map.addOverlay(marker);
		//map.openInfoWindowHtml(map.getCenter(), html);
	}
	
	function MapAddMarker(intX, intY, booDraggable)
	{
		// Create our "tiny" marker icon
		var blueIcon = new GIcon(G_DEFAULT_ICON);
		blueIcon.image = "/img/marker.png";
		
		// Set up our GMarkerOptions object
		markerOptions = { icon:blueIcon , draggable:booDraggable };
		
		var point = new GLatLng(intX,intY);
		var marker = new GMarker(point, markerOptions);
		map.addOverlay(marker);
		//map.openInfoWindowHtml(map.getCenter(), html);
	}
	
	function MapAddMarkerWithHTML(intX, intY, html)
	{
		// Create our "tiny" marker icon
		var blueIcon = new GIcon(G_DEFAULT_ICON);
		blueIcon.image = "/img/marker.png";

		// Set up our GMarkerOptions object
		markerOptions = { icon:blueIcon };

		var point = new GLatLng(intX,intY);
		var marker = new GMarker(point, markerOptions);
		map.addOverlay(marker);

		GEvent.addListener(marker, "click", function() {
			marker.openInfoWindowHtml(html);
		});
	}
