/*****************************************************************
 *
 * JS_BRAMUS - by Bramus! - http://www.bram.us/
 *
 * GoogleMaps Object
 *
 * only comment so far (no time yet) is Exodus 20.15 (Google it!)
 *
 *****************************************************************/
if (!JS_BRAMUS) { var JS_BRAMUS = new Object(); }

JS_BRAMUS.GoogleMaps = {
	map				: null,	
	baseIcon		: null,
	
	initMap			: function(centerX, centerY, zoomLevel) {
		
		// center, add controls, etc.
		JS_BRAMUS.GoogleMaps.map = new GMap2(document.getElementById("map"));
		JS_BRAMUS.GoogleMaps.map.setCenter(new GLatLng(parseFloat(centerY), parseFloat(centerX)), 17 - zoomLevel);
		JS_BRAMUS.GoogleMaps.map.addControl(new GLargeMapControl());
		JS_BRAMUS.GoogleMaps.map.addControl(new GScaleControl());
		JS_BRAMUS.GoogleMaps.map.setMapType(G_NORMAL_MAP); 
		
		// create baseIcon
		JS_BRAMUS.GoogleMaps.baseIcon = new GIcon();
		JS_BRAMUS.GoogleMaps.baseIcon.shadow = "images/layout/gmapsshadow.png";
		JS_BRAMUS.GoogleMaps.baseIcon.iconSize = new GSize(93, 76);
		JS_BRAMUS.GoogleMaps.baseIcon.shadowSize = new GSize(151, 76);
		JS_BRAMUS.GoogleMaps.baseIcon.iconAnchor = new GPoint(62, 76);
		JS_BRAMUS.GoogleMaps.baseIcon.infoWindowAnchor = new GPoint(61, 79);
		JS_BRAMUS.GoogleMaps.baseIcon.infoShadowAnchor = new GPoint(0, 100);
		
	},
	
	overlayRoute		: function(strPoints, color) {						
		var arrPoints 		= strPoints.split('a');
		var gLatLngArray 	= new Array(0);
		
		var j = 0;
		while(j < arrPoints.length) {
			var yCoord = parseFloat(arrPoints[j++]);
			var xCoord = parseFloat(arrPoints[j++]);	
			gLatLngArray.push(new GLatLng(yCoord, xCoord));
		}
		
		JS_BRAMUS.GoogleMaps.map.addOverlay(new GPolyline(gLatLngArray, color, 10));	
	},
	
	addMarker			: function(x, y, html, icon) {
		JS_BRAMUS.GoogleMaps.map.addOverlay(JS_BRAMUS.GoogleMaps.createMarker(new GPoint(x,y), html, (icon || "http://www.google.com/mapfiles/marker.png")));	
	},
	
	createMarker		: function(point, html, iconURL) {	
	
		var icon = new GIcon(JS_BRAMUS.GoogleMaps.baseIcon);
		icon.image = iconURL;
	
		var marker = new GMarker(point, icon);
		
		if (html) {
			GEvent.addListener(marker, "click", function() {
				marker.openInfoWindowHtml(html);
			});
		}
		
		return marker;
	}
}