// show a map of a property and nearby markers
var	ovmap;
var	mar;
var	sidebar_html;
var marr = new Array();

// This must be defined before the function setTimeout
function displayOverviewMarkers()
{
	var SmallIcon = new GIcon(G_DEFAULT_ICON);
	SmallIcon.iconSize = new GSize(10, 17);
	SmallIcon.iconAnchor = new GPoint(4, 17);

	var mid_point = mid_marker.getPoint();	
	var	marker = new GMarker(mid_point,{ icon: SmallIcon ,title:'Main Location'});
	if (ovmap)
	{
		if (marker)
			ovmap.addOverlay(marker); 
	}
}
function show_map(arr)
{
	if (!GBrowserIsCompatible())
	{
		alert('Your browser cannot handle our maps');
		return;
	}

		// create the icon, which will indicate where we are on the minimap
		// Lets not bother with a shadow
	var Icon = new GIcon(G_DEFAULT_ICON);
	Icon.image = "/icon/info.png";
	Icon.iconAnchor = new GPoint(11, 34);
	Icon.infoWindowAnchor = new GPoint(17, 0);
	Icon.iconSize = new GSize(21, 34);
	Icon.shadowSize = new GSize(0,0);
	Icon.infoShadowAnchor = new GPoint(11, 11);

	sidebar_html = "";
	var map = new GMap2(document.getElementById("map"));
	var bounds = new GLatLngBounds();

	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
	if (arr.lat)
		map.setCenter(new GLatLng(arr.lat,arr.lon),11);
	else
		map.setCenter(new GLatLng(0,0),11);

	if (arr.ov != 'N')
	{
		over = new GOverviewMapControl();
		map.addControl(over);
		ovmap=over.getOverviewMap();
	}

	GDownloadUrl("mapadd.php3?house="+arr.id+"&single="+arr.single, function(data, responseCode)
	{
  		var xml = GXml.parse(data);
		
  		var markers = xml.documentElement.getElementsByTagName("marker");
  		for (var i = 0; i < markers.length; i++)
		{
			var mar	= new Object();
			//var point = new GLatLng(parseFloat(markers[i].getElementsByTagName("lat")[0].firstChild.nodeValue), parseFloat(markers[i].getElementsByTagName("lng")[0].firstChild.nodeValue));
	
            mar.lat = parseFloat(markers[i].getAttribute("lat"));
            mar.lng = parseFloat(markers[i].getAttribute("lng"));
            point = new GLatLng(mar.lat,mar.lng);
            mar.html = markers[i].getAttribute("html");
            mar.caption = markers[i].getAttribute("caption");
            mar.link = markers[i].getAttribute("link");
            mar.mid = markers[i].getAttribute("mid");
            mar.icon = markers[i].getAttribute("icon");

			if (mar.icon > 5)
			{
				var marker = createMarker(point,mar);
			}
			else
				var marker = createMarker(point,mar);
			map.addOverlay(marker);
			if (mar.mid == 'M')
				mid_marker=marker;
		}

		map.setCenter(mid_marker.getPoint());
		setTimeout("displayOverviewMarkers()",1);
		point = map.getCenter();

		var zoom = map.getBoundsZoomLevel(bounds) -1;
		if (arr.zoom > 1)
			zoom = arr.zoom;
		if (zoom > 9) zoom = 9;
		map.setZoom(zoom);
		document.getElementById("sidebar").innerHTML = '<table class="smalltext1blk" id="t1" >' + sidebar_html + '</table>';
	});
	// Write the html to the sidebar

	function createMarker(point,mar)
	{
		if (mar.icon)
		{
			Icon.image = mar.icon;
			var	marker = new GMarker(point,{icon: Icon, title:mar.caption, draggable:true});
		}
		else
			var	marker = new GMarker(point,{ title:mar.caption, draggable:true});

			// build an array of objects for use by myclick etc.
		mar.marker=marker;
		var i = marr.push(mar) -1;
						// don't allow edit on main icon
		bounds.extend(point);
		if (arr.info != 'N')
		{
			GEvent.addListener(marker, 'click', function()
			{
	  			myWindow(mar);
			});
		}
		sidebar_html += '<tr><td><a href="javascript:myclick(' + i + ')"><img src="http://labs.google.com/ridefinder/images/mm_20_red.png" style="border:none; padding:0px;"></a></td>';
		sidebar_html += '<td style="width:125px;"><a href="javascript:myclick(' + i + ')" style="text-decoration:none; font-size:12px">' + mar.caption + '</a></td>';
		return marker;
	}

}
function myWindow(mar)
{
	mess = mar.html;
	if (mar.link)
		mess += '<div><br><a href="'+mar.link+'" target="win">Link to the Site</a>';
	html = '<table width="240px"><tr><td width="240px">' + mess + '</td></tr></table>';
	mar.marker.openInfoWindowHtml(html);
}
function myclick(i)
{
	var mar = marr[i];
	myWindow(mar);
}

