var gmap = {
	
	init: function() {
		this.map = false;
		document.body.onunload = GUnload;
	},
	
	create: function(divId) {
		if(!this.map) {
			if(GBrowserIsCompatible() && $(divId)) {
				this.map = new GMap2($(divId));
			}
		}
	},
	
	setMapLocation: function(lat, lng, zoom) {
	
		if(!zoom) {
			zoom = 14;
		}
		
		if(this.map) {
			var point = new GLatLng(lat, lng);
			this.map.setCenter(point, zoom);
		}
	},
	
	addIcon: function(lat, lng, colour, text) {
		if(this.map) {
			var cIcon = new GIcon();
			cIcon.image = 'http://www.google.com/intl/en_us/mapfiles/ms/micons/' + colour + '-dot.png';
			cIcon.iconSize = new GSize(32, 32);
			cIcon.iconAnchor = new GPoint(9, 34);
            cIcon.infoWindowAnchor = new GPoint(9,2);
            cIcon.infoShadowAnchor = new GPoint(18,25);
			var point = new GLatLng(lat, lng);
			var marker = new GMarker(point, cIcon);
			this.map.addOverlay(marker);
			GEvent.addListener(marker, "click", function() {
                 
               
	    		marker.openInfoWindowHtml(text);
	    	});
		}
	}, 
	
	// ADD ZOOM CONTROLS
	addZoom: function() {
		this.addControl('addZoom');
	},
	
	// ADD A SCALE
	addScale: function() {
		this.addControl('addScale');
	},
	
	// ADD THE BUTTONS TO TOGGLE MAP/SATELLITE/HYBRID
	addTypes: function() {
		this.addControl('addTypes');
	},
	
	// ADD THE MINI-MAP
	addMiniMap: function() {
		this.addControl('addMiniMap');
	},
	
	addControl: function(controlType) {
	
		var ctrlType = false;
		
		switch(controlType) {
			case 'addZoom':
				// WHICH ZOOM CONTROL ? DEPENDS ON SIZE
				if(this.map.getContainer().getHeight() > 310) {
					ctrlType = new GLargeMapControl();
				} else {
					ctrlType = new GSmallMapControl();
				}
				
				break;
				
			case 'addScale':
				// THE MAP ISNT REALLY BIG ENOUGH OTHERWISE
				if(this.map.getContainer().getWidth() > 300) {
					ctrlType = new GScaleControl();
				}
				break;
				
			case 'addTypes':
				ctrlType = new GMapTypeControl();
				break;
				
			case 'addMiniMap':
				// THE MAP ISNT REALLY BIG ENOUGH OTHERWISE
				if(this.map.getContainer().getWidth() > 300) {
					ctrlType = new GOverviewMapControl();
				}
				
				break;
		}
		
		if(this.map && ctrlType) {
			this.map.addControl(ctrlType);
		}
	}
}


window.addEvent('domready', function() {
	/*gmap.init();*/
});

