var map = null;
var points = [];
var gmarkers = [];
var marker = null;
var geocoder = null;

function addClickevent(marker)
{ // Add a click listener to the markers
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(marker.content, {maxWidth:300});
	});
	return marker;
}

function initializeMap(contentItemId)
{
	if (GBrowserIsCompatible())
	{
		map = new GMap2(document.getElementById("map-canvas"));
		var center = new GLatLng(53.45, -7.9);
		map.setCenter(center, 7);

		map.addControl(new GLargeMapControl());
		
		GDownloadUrl("/content/map-points.xml.asp?id=" + contentItemId, function(data, responseCode) {
			var xml = GXml.parse(data);
			var markers = xml.documentElement.getElementsByTagName("marker");
			for (var i = 0; i < markers.length; i++) {
				thisName = markers[i].getAttribute("name");
				thisId = markers[i].getAttribute("id");
				thisDesc = markers[i].getAttribute("description");
				if(thisDesc == "")
				{
					thisDesc = "No description available";	
				}
				thisDesc = thisDesc.replace(/\n/g, "<br />");
				
				points[i] = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng")));
				gmarkers[i] = new GMarker(points[i]);
				
				// Store data attributes as property of gmarkers
   				var html ='<div class="infowindow">';
				html += '<p class="title"><strong>' + thisName + '<\/strong></p>';
				html += '<p>' + thisDesc + '<\/p>';
				html += '<p class="buttons"><a href="http://maps.google.com/maps?saddr=&daddr=' + points[i].toUrlValue() + '(' + thisName + ')" target ="_blank">Directions<\/a><\/p>';
				html += '<\/div>';
				
   				gmarkers[i].content = html;
				
   				addClickevent(gmarkers[i]);
				map.addOverlay(gmarkers[i]);
			}
			map.setCenter(points[0], 7);
		});
	}
}

$(window).unload(GUnload);
