function createMarker(object)
{
	// make point
	var point = new GLatLng(object['project_latitude'], object['project_longitude']);
	// make marker
	var marker = new GMarker(point,markerOptions);
	var htmlContent = createHtml(object);
	
	GEvent.addListener(marker, "click", function()
	{
		// make a call to Analytics when a user clicks on a project
		javascript:pageTracker._trackPageview('/map/clickOn/' + object['project_title']);
	    marker.openInfoWindowHtml(htmlContent);
	});
	
	if(deeplinkFlickrTag==object['project_flickr_tag'])
	{
		marker.openInfoWindowHtml(htmlContent);
	}
	
	return marker;
}

function buildMap()
{
	if (GBrowserIsCompatible()) {
	
		// create icon
		var groundworkIcon = new GIcon(G_DEFAULT_ICON);
		groundworkIcon.image = "/site_assets/images/global/icons/groundwork_pin.png";
		groundworkIcon.iconSize = new GSize(17, 17);
		groundworkIcon.shadow = false;
		groundworkIcon.iconAnchor = new GPoint(8.5, 8.5);
		
		// Set up our GMarkerOptions object
		markerOptions = { icon:groundworkIcon };
		
		map = new GMap2(document.getElementById("groundworkProjectsMap"));
		map.addControl(new GSmallZoomControl3D());
		map.setCenter(new GLatLng(54.7,-4.5), 5, G_PHYSICAL_MAP);
	
		for (var i in projectData)
		{
			if(projectData[i]['project_id'])
			{
				map.addOverlay(createMarker(projectData[i]));
			}
		}
	}
}

function createHtml(object)
{
	var htmlString = "<div class=\"info_windowMsGM\"><h3 class=\"highlighted\">" + object['project_title'] + "</h3>";
    htmlString += "<div class=\"titleDivide\"></div>";
	if(object['project_thumb_id']!=0)
	{
		if(object['project_has_photos'])
		{
	    	htmlString += "<a href=\"/about/partnerships/groundwork/gallery/" + object['project_flickr_tag'] + "\" title=\"View photos for " + object['project_title'] + ".\" target=\"_self\" onClick=\"javascript:pageTracker._trackPageview('/map/flickr/" + object['project_title'] + "/slideshow');\">";
	    	//htmlString += "<a href=\"http://www.flickr.com/groups/plana-groundwork/pool/tags/" + object['project_flickr_tag'] + "/show/\" title=\"View photos for " + object['project_title'] + ".\" target=\"_blank\" onClick=\"javascript:pageTracker._trackPageview('/map/flickr/" + object['project_title'] + "/slideshow');\">";
		}
		
		htmlString += "<img src=\"" + object['project_thumb_id'] + "\" alt=\"\" title=\"" + object['project_title'] + "\" />";
		
		if(object['project_has_photos'])
		{
			htmlString += "</a>";
		}
		
		pOpeningTag = "<p class=\"small\">"; 
		htmlString += pOpeningTag;
	}
	else
	{
		pOpeningTag = "<p class=\"wide\">"; 
		htmlString += pOpeningTag;
	}

	htmlString += object['project_overview'] + "<br>";
	
    if(object['project_story_id']!=0)
	{
    	htmlString += "<br><a href=\"" + object['project_story_id'] + "\" title=\"Read more\" class=\"read_more\" onClick=\"javascript:pageTracker._trackPageview('/map/story/" + object['project_title'] + "');\">Read more</a>";
	}

    if(object['project_has_photos'])
	{
    	htmlString += "<br><a href=\"/about/partnerships/groundwork/gallery/" + object['project_flickr_tag'] + "\" title=\"View photos for " + object['project_title'] + ".\" class=\"read_more\" target=\"_self\" onClick=\"javascript:pageTracker._trackPageview('/map/flickr/" + object['project_title'] + "/slideshow');\">View photos</a>";
    	//htmlString += "<br><a href=\"http://www.flickr.com/groups/plana-groundwork/pool/tags/" + object['project_flickr_tag'] + "/show/\" title=\"View photos for " + object['project_title'] + ".\" class=\"read_more\" target=\"_blank\" onClick=\"javascript:pageTracker._trackPageview('/map/flickr/" + object['project_title'] + "/slideshow');\">View photos</a>";
	}
	
    htmlString += pOpeningTag + "(<a href=\"#flickrHelp\" title=\"Flickr tag for " + object['project_title'] + ". Read more...\">?</a>) ";
    
    htmlString += "Flickr tag: " + object['project_flickr_tag'];
    
    htmlString += "</p>" + pOpeningTag + "&nbsp;</p></div>";
    
    return htmlString;
}

window.onload = function () {buildMap();}


