$extend( ACM, {

	initMaps: function()
	{
		var googleApiKey = '';
		
		switch ( top.location.host )
		{
			case 'druadan.puppy.bluetree8.com.au':
				googleApiKey = 'ABQIAAAAq3u7EBMySLnL1uc1Z74vnxRuRtAIgtSQZQJfCm_68VfnmsiKcRTZF83BHRBvfhpD3uGnHPU6XWWksQ';
			break;

			case 'acmilansoccerschool.com.au':
				googleApiKey = 'ABQIAAAA4EY27m3zFhvl5US7Hsd1uBR29z0UtkyvVto25eBJ1SQP8Ar-chTf7J6c83tY9ZfWkau1zfhgPEzLRw';
			break;
			
			case 'www.acmilansoccerschool.com.au':
				googleApiKey = 'ABQIAAAA4EY27m3zFhvl5US7Hsd1uBRuQg2SH2NRXj9ylbY5UZHvdML6dxRm24y8Ox1E1OEQBZhgkXzob1aUvg';
			break;

			default:
				// If we don't have a valid API key to use, don't bother or google will alert an error
				$log( 'URL not configured to use Google Maps!' );
				return;
		}
		
		Asset.javascript( "http://maps.google.com/maps?file=api&v=2.x&key=" + googleApiKey + "&c&async=2&", { type: 'text/javascript', language: 'javascript' } );
		
		var checkGoogleReady = function() {
		
			// $log( 'Checking if Google Maps is ready to use...' );
			
			if ( window.GMap && ACM.onGoogleReady )
				ACM.onGoogleReady();
			else
				checkGoogleReady.delay( 100 );
							
		}.bind( this );
		
		( function() {
			checkGoogleReady();
		}).delay( 500 );
		
	},
	
	onGoogleReady: function() {
	
		$$( '.mapLocation' ).each( function(i) {
		
			var location = i.get( 'text' ).clean();
			var element = i.getParent().getElement( '.map' );
			
			var map = null;
		    var geocoder = null
		
		    if ( GBrowserIsCompatible() )
			{
		        map = new GMap2( element );
		    	geocoder = new GClientGeocoder();
		    }
		
			$log( 'Requesting map of location: ' + location );
		    
		    if ( geocoder ) {
		    	geocoder.getLatLng( location, function(point) {
		    	    if ( !point )
					{
		    			$log( 'Warning: Location not found.' );
		    	    }
					else
					{
			    		var marker = new GMarker( point );
			    		map.setCenter( point );
			    		map.addOverlay( marker );
			    		map.addControl( new GSmallMapControl() );
			    		map.setZoom( 13 );
		    	    }
		    	});
		    }

		});
	}
	
});

window.addEvent( 'domready', function() {

	ACM._initHooks.push( ACM.initMaps() );

});
