function googleScript () {

		if (GBrowserIsCompatible()) {

		  var gmarkers = [];
		  var htmls = [];
		  var i = 0;

		  var hgIcon = new GIcon();
		  hgIcon.image = "../images/hg_circle.gif";
		  hgIcon.iconSize = new GSize(100, 100);
		  hgIcon.iconAnchor = new GPoint(50, 50);
		  hgIcon.infoWindowAnchor = new GPoint(50, 50);

		  var icons = [];
		  icons[0] = hgIcon;
		  icons[1] = hgIcon;

		  function createMarker(point,name,html,icontype) {
			var marker = new GMarker(point,icons[icontype]);

			GEvent.addListener(marker, "click", function() {
			  marker.openInfoWindowHtml(html);
			});

			marker.tooltip = '<div class="tooltip">'+name+'<\/div>';
			GEvent.addListener(marker, "click", function() {
			  marker.openInfoWindowHtml(html);
			});

			GEvent.addListener(marker,"mouseover", function() {
			  showTooltip(marker);
			});

			GEvent.addListener(marker,"mouseout", function() {
			tooltip.style.visibility="hidden"
			});

			return marker;
		  }

		  function myclick(i) {
			gmarkers[i].openInfoWindowHtml(htmls[i]);
		  }

		  function myzoom(a) {
			map.setZoom(map.getZoom() + a);
		  }

		  function showTooltip(marker) {
			tooltip.innerHTML = marker.tooltip;
			var point=map.getCurrentMapType().getProjection().fromLatLngToPixel(map.fromDivPixelToLatLng(new GPoint(0,0),true),map.getZoom());
			var offset=map.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getPoint(),map.getZoom());
			var anchor=marker.getIcon().iconAnchor;
			var width=marker.getIcon().iconSize.width;
			var height=tooltip.clientHeight;
			var pos = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(offset.x - point.x - anchor.x + width, offset.y - point.y -anchor.y -height));
			pos.apply(tooltip);
			tooltip.style.visibility="visible";
		  }

		  function mymouseover(i) {
			showTooltip(gmarkers[i])
		  }

		  function mymouseout() {
			tooltip.style.visibility="hidden";
		  }

		  function myclick(i) {
			gmarkers[i].openInfoWindowHtml(htmls[i]);
		  }

		  function mylocate(marker, point) {
			prompt("Location", point.lat() + " " + point.lng());
		  }

			var map = new GMap2(document.getElementById("map"));
			map.addControl(new GLargeMapControl());
			map.addControl(new GMapTypeControl());
			map.setCenter(new GLatLng(52.3849, 0.0636), 13);
			map.setMapType(G_SATELLITE_TYPE);

			if (window.location.search.length != 0) {
				GEvent.addListener(map, "click", mylocate);
			}

		  var tooltip = document.createElement("div");
		  map.getPane(G_MAP_FLOAT_PANE).appendChild(tooltip);
		  tooltip.style.visibility="hidden";

		  var request = GXmlHttp.create();
		  request.open("GET", "../xml/gmapmarkers.xml", 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 = markers[i].getAttribute("html");
				var label = markers[i].getAttribute("label");
				var icontype = parseInt(markers[i].getAttribute("icontype"));
				var marker = createMarker(point,label,html,icontype);
				map.addOverlay(marker);
			  }
			}
		  }
		  request.send(null);
		}
		else {
		  alert("Sorry, the Google Maps API is not compatible with this browser");
		}
}
window.onload=googleScript;
