$(document).ready(function(){
	if (GBrowserIsCompatible()) {												//Ensures browser is capable of google JS execution

		$("body").attr({onunload: "GUnload()"});

		// GENERICS //
		var genMapControl = new GSmallMapControl();								//Instantiates map control
		var genTypeControl = new GMapTypeControl();								//Instantiates type control
		
		// Helper Functions //
		function createMarker(map, point, html) {
			var smIcon = new GIcon(); //G_DEFAULT_ICON
			smIcon.image = "/images/maps/marker-small.png";
			smIcon.shadow = "/images/maps/shadow-marker-small.png";
			smIcon.iconSize = new GSize(45, 70);
			smIcon.shadowSize = new GSize(80, 70);
			smIcon.iconAnchor = new GPoint(23, 69);
			smIcon.infoWindowAnchor = new GPoint(23, 20);
			smIcon.infoShadowAnchor = new GPoint(23, 69);
			markerOptions = { icon:smIcon };
			var marker = new GMarker(point, markerOptions);
			GEvent.addListener(marker, "click", function() {
				map.openInfoWindowHtml(point, html);
			});
			return marker;
		}
		function addControls(map) {
			map.addControl(genMapControl);
			map.addControl(genTypeControl);
		}
		function removeControls(map) {
			map.removeControl(genMapControl);
			map.removeControl(genTypeControl);
		}
		
		
		// LONDON //
		var ldnCoords = new GLatLng(51.500127571127415, -0.08477926254272461);	//assigns london coords to var
		var ldnMap = new GMap2(document.getElementById("ldn_map_canvas"));		//new map object displayed within named DOM element
		ldnMap.setCenter(ldnCoords, 14);										//sets the centre point and zoom
		ldnMap.setMapType(G_HYBRID_MAP);										//defaults to hybrid map type
		var ldnMapControl = new GSmallMapControl();								//Instantiates map control
		var ldnTypeControl = new GMapTypeControl();								//Instantiates type control
		var ldnInfo = "<img src='sm.jpg' /> <strong>Sticky Moon | London Office</strong><br />The Leather Market<br />11/13 Weston Street<br />London<vr />SE1 0HS<br />UK";
		var ldnMarker = createMarker(ldnMap, ldnCoords, ldnInfo);				//Calls createMarker function to create custom marker, info window and click listener
		ldnMap.addOverlay(ldnMarker);											//Place marker on map
		var ldnFlag = new Boolean(false);										//Flag for mouseover help
		
		// Mouseover
		$("#ldn_map_canvas").bind("mouseenter",function(){						//Shows map controls when mouse over map
				addControls(ldnMap);
		}).bind("mouseleave",function(){										//Hides map controls when mouse leaves map
				removeControls(ldnMap);
		});
		
		
		// NEW YORK //
		var nycCoords = new GLatLng(40.75557964275588, -73.97193431854248);			//assigns nyc coords to var
		var nycMap = new GMap2(document.getElementById("nyc_map_canvas"));				//new map object displayed within named DOM element
		nycMap.setCenter(nycCoords, 14);												//sets the centre point and zoom
		nycMap.setMapType(G_HYBRID_MAP);												//defaults to hybrid map type
		var nycInfo = "<img src='sm.jpg' /> <strong>Sticky Moon | New York</strong><br />Unit 3D<br />150 East 49th Street<br />New York<br />NY 10017<br />USA";
		var nycMarker = createMarker(nycMap, nycCoords, nycInfo);						//Calls createMarker function to create custom marker, info window and click listener
		nycMap.addOverlay(nycMarker);													//Place marker on map
		var nycFlag = new Boolean(false);												//Flag for mouseover help
			
		// Mouseover
		$("#nyc_map_canvas").bind("mouseenter",function(){						//Shows map controls when mouse over map
				addControls(nycMap);
		}).bind("mouseleave",function(){										//Hides map controls when mouse leaves map
				removeControls(nycMap);
		});
	}
});