function load() {
				var map = document.getElementById("map");
				if (new GBrowserIsCompatible()) {
								var gmap = new GMap2(map);
								gmap.addControl(new GSmallMapControl());
								gmap.setCenter(new GLatLng(53.44011628166487,-2.279191017150879), 12);
								
								function parseJson(doc) {
												var jsonData = eval("(" + doc + ")");
												var bounds = gmap.getBounds();
												var southWest = bounds.getSouthWest();
												var northEast = bounds.getNorthEast();
												var lngSpan = northEast.lng() - southWest.lng();
												var latSpan = northEast.lat() - southWest.lat();

												for (var i = 0; i < jsonData.markers.length; i++) {
													var zoompoint = new GLatLng(southWest.lat() + latSpan, southWest.lng() + lngSpan);
		
																var marker = createMarker(jsonData.markers[i]);
																
																gmap.addOverlay(marker);
												}
				}
				GDownloadUrl("/js/points.json", function(data, responseCode) { 
				parseJson(data); 
				
});

function createMarker(input) {
	var zoompoint = new GLatLng(input.latPoint, input.lngPoint);
var marker = new GMarker(zoompoint, makeIcon(input.markerImage));
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(formatWindow(input));
});
return marker;
}

function formatWindow(input) {
// take postcode and replace space with + for google
var postcodeOnly = input.postCode.replace(/ /g, "+");
// generate the html for the map bubble
var html = "<div class=\"bubble\">";
html += "<h3>" + input.companyName + "</h3>";
//html += "<p><strong>Address:</strong> " + input.address + ", " + input.address2 + input.townCity + ", " + input.county + ", " + input.postCode + ".</p>";
html += "<p><strong>Directions:</strong> <a href='http://maps.google.co.uk/maps?saddr=&amp;daddr=" + postcodeOnly + "' target='_blank'>To here</a> | <a href='http://maps.google.co.uk/maps?saddr=" + postcodeOnly + "&amp;daddr=' target='_blank'>From here</a>";
html += "</div>";
return html;
}

function makeIcon(image) {
var icon = new GIcon();
icon.image = image;
icon.iconSize = new GSize(96, 64);
icon.iconAnchor = new GPoint(48, 64);
icon.infoWindowAnchor = new GPoint(0, 0);
return icon;
}


} else {
alert("Sorry, your browser cannot handle Google Maps");
}
}


window.onload = load;
window.onunload = GUnload;
