function senseIcon() {
	var icon = new GIcon();

	icon.image = "/images/contact_us/map_icon.png";
	icon.shadow = "/images/contact_us/map_icon_shadow.png";
	icon.iconSize = new GSize(43, 31);
	icon.shadowSize = new GSize(50, 35);
	icon.iconAnchor = new GPoint(22, 31);

	return icon;
}

function setupMap() {
	if (GBrowserIsCompatible()) {
		var div = $('map');
		var map = new GMap2(div);

		var center = new GLatLng(53.79709, -1.551583);
		var topLeft = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(3,3));
		var bottomRight = new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(3,3));
		var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(3,3));

		map.addControl(new GSmallZoomControl(), topLeft);
		map.addControl(new GMapTypeControl(), topRight);
		map.setCenter(center, 15);
		map.enableScrollWheelZoom();

		map.addOverlay(new GMarker(center, senseIcon()));

		// Stop scrollwheel event bubbling up when mouse is over map div
		// (Code nabbed from elsewhere, seems to work, but it may not be ideal)
		function mouseWheel(event) {
			if (event.cancelable) event.preventDefault();
			return false;
		}
		GEvent.addDomListener(div, 'DOMMouseScroll', mouseWheel);
		GEvent.addDomListener(div, 'mousewheel', mouseWheel);
	}
}

addEvent(window, 'load', setupMap);
addEvent(window, 'unload', GUnload);