function CSLoadMap() {
	var xmlfile="/Projects/projects.xml";
	if (GBrowserIsCompatible()) {
		// this variable will collect the html which will eventualkly be placed in the sidebar
		var sidebar_html = "";
		
		// arrays to hold copies of the markers and html used by the sidebar
		// because the function closure trick doesnt work there
		var gmarkers = [];
		var htmls = [];
		var i = 0;
	
		// A function to create the marker and set up the event window
		function createMarker(point,name,html) {
			var projs = "http://designshare.com/directory/firm.asp?id=";
			// FF 1.5 fix
			html = '<div style="white-space:nowrap;">' + html + '</div>';
			var marker = new GMarker(point);
			/*GEvent.addListener(marker, "click", function() {
				marker.openInfoWindowHtml(html);
			});*/
			// save the info we need to use later for the sidebar
			gmarkers[i] = marker;
			htmls[i] = html;
			i++;

			// The new marker "mouseover" listener
			GEvent.addListener(marker,"mouseover", function() {
			  marker.openInfoWindowHtml(html);
			});

			return marker;
		}

		// This function picks up the click and opens the corresponding info window
		function myclick(i) {
		gmarkers[i].openInfoWindowHtml(htmls[i]);
		}

		var map = new GMap(document.getElementById("map"));
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		map.centerAndZoom(new GPoint(0.0, 30.0), 15);

		// Read the data from example.xml
		var request = GXmlHttp.create();
		request.open("GET", xmlfile, true);
		request.onreadystatechange = function() {
			if (request.readyState == 4) {
				var xmlDoc = request.responseXML;
				// obtain the array of projects and loop through it
				var projects = xmlDoc.documentElement.getElementsByTagName("project");
				var html = '';
				var name = '';
				var linkt = 0;
				var lat = 0.0;
				var lng = 0.0;
				
				for (var i = 0; i < projects.length; i++) {
				// obtain the attribues of each project
					lat = parseFloat(projects[i].getAttribute("lat"));
					lng = parseFloat(projects[i].getAttribute("lng"));
					if (Math.abs(lat)+Math.abs(lng) > 0.00001) {
						var point = new GPoint(lng,lat);
						with (projects[i]){
							html = getAttribute("loc");
							name = getAttribute("name");
							linkt = getAttribute("linkt");
							if (0==linkt) {
								html = name + '<br />' + html + '<br>For more information about this FNI project, please<br> contact Prakash Nair at <a class="marker" href="mailto:Prakash@FieldingNair.com">Prakash@FieldingNair.com</a>';
							} else if (4==linkt){
								html = name + '<br />' + html;
							} else if (hasChildNodes()){
								if (1==linkt) { //open_popup_bigpic('
									html='<a class="marker" href="javascript:;" onClick="open_popup_bigpic(\'' + firstChild.nodeValue + '\', 696, 490)">' + name + '</a>' + '<br />' + html;
								} else if (2==linkt){
									html='<a class="marker" href="' + firstChild.nodeValue + '" target="_blank">' + name + '</a>' + '<br />' + html;
								} else if (3==linkt){
									html='<a class="marker" href="javascript:;" onClick="' + firstChild.nodeValue + '">' + name + '</a>' + '<br />' + html;
								}
							}
						}
						// create the marker
						var marker = createMarker(point,name,html);
						map.addOverlay(marker);
					}
				}
			}
		}
		request.send(null);
	}
    else {
      alert("Sorry, the Google Maps API is not compatible with this browser");
    }
}
