$D = YAHOO.util.Dom;
$E = YAHOO.util.Event;
var googleMapMulti =
{
	possibleBlocks:new Array('LatestTips', 'AllTips', 'TipsByCat', 'TipsByProv'),
	init:function()
	{
		if(!document.getElementById || !document.createTextNode) return;
		var $continue = true;
		for(var i = 0; i<this.possibleBlocks.length; i++)
		{
			$continue = document.getElementById(this.possibleBlocks[i])? true : false;
			this.suckEl = this.possibleBlocks[i];
			if ($continue) break;
		}
		if(!$continue) return;
		if($D.getElementsByClassName("geo").length < 1) return;
		
		this.makeMap(this.getLatLong());
		
	},
	getLatLong:function()
	{
		var lats = $D.getElementsByClassName('latitude');
		var longs = $D.getElementsByClassName('longitude');
		var latLong = new Array();
		for(var i = 0; i<lats.length; i++)
		{
			var lat = lats[i].firstChild.nodeValue;
			var long = longs[i].firstChild.nodeValue;
			latLong[i] = new Array(lat, long);
		}
		return latLong;
	},
	makeMap:function(points)
	{
		if ( GBrowserIsCompatible())
		{
			var el = document.createElement('div');
			el.setAttribute('id', 'GMap');
			$D.insertBefore(el, this.suckEl);
			var map = new GMap2( el );
			this.map = map;
			map.addControl( new GSmallMapControl() );
			map.addControl( new GMapTypeControl() );
			map.addControl( new GScaleControl() );
			//map.addControl( new GOverviewMapControl() );

			var point = new Array();
			var marker = new Array();
			var titles = $D.getElementsByClassName('item');
			var title;
			for (var i = 0; i<points.length; i++)
			{
				point[i] = new GLatLng(points[i][0],points[i][1]);
				if (i == 0)map.setCenter( point[0], 7);
				title = titles[i];
				var marker = this.createMarker(point[i], title);
				map.addOverlay(marker);
			}			
		}
	},
	createMarker:function(point, content)
	{
		var marker = new GMarker(point);
		var text = document.createTextNode(content.childNodes[0].childNodes[0].nodeValue);
		var a = document.createElement('a');
		a.appendChild(text);
		a.href = content.childNodes[0].href;
  		GEvent.addListener(marker, "click", function() 
		{
    		marker.openInfoWindow(a);
  		});
  		return marker;
	}
}
$E.onContentReady("ContentLeft", googleMapMulti.init, googleMapMulti, true);
$E.on(window, "unload", GUnload);