var map;

	var gicons = [];
		gicons["job"] = new GIcon(G_DEFAULT_ICON, "/images/icons/map-icons/jobs/image.png");
    gicons["guide"] = new GIcon(G_DEFAULT_ICON, "/images/icons/map-icons/guides/image.png");
    gicons["course"]  = new GIcon(G_DEFAULT_ICON, "/images/icons/map-icons/courses/image.png");
		
		//gicons["course"].image = '/images/icons/map-icons/courses/image.png';
		gicons["course"].shadow = '/images/icons/map-icons/courses/shadow.png';
		gicons["course"].iconSize = new GSize(36,40);
		gicons["course"].shadowSize = new GSize(56,40);
		gicons["course"].iconAnchor = new GPoint(18,40);
		gicons["course"].infoWindowAnchor = new GPoint(18,0);
		gicons["course"].printImage = '/images/icons/map-icons/courses/printImage.gif';
		gicons["course"].mozPrintImage = '/images/icons/map-icons/courses/mozPrintImage.gif';
		gicons["course"].printShadow = '/images/icons/map-icons/courses/printShadow.gif';
		gicons["course"].transparent = '/images/icons/map-icons/courses/transparent.png';
		gicons["course"].imageMap = [33,0,34,1,35,2,35,3,35,4,35,5,35,6,35,7,35,8,35,9,35,10,35,11,35,12,35,13,35,14,35,15,35,16,35,17,35,18,35,19,35,20,35,21,35,22,35,23,35,24,35,25,35,26,35,27,35,28,35,29,35,30,35,31,34,32,33,33,25,34,24,35,23,36,22,37,21,38,20,39,15,39,14,38,13,37,12,36,11,35,10,34,2,33,1,32,0,31,0,30,0,29,0,28,0,27,0,26,0,25,0,24,0,23,0,22,0,21,0,20,0,19,0,18,0,17,0,16,0,15,0,14,0,13,0,12,0,11,0,10,0,9,0,8,0,7,0,6,0,5,0,4,0,3,0,2,1,1,2,0];
	
		function addMarkersFromXML(){
	   var batch = [];
	   mgr = new MarkerManager(map); 
      
	   var request = GXmlHttp.create();
	   request.open('GET', '/xml/tefl-courses.xml', true);
	   request.onreadystatechange = function() {
  	   if (request.readyState == 4 && request.status == 200) {
		var xmlDoc = request.responseXML;
		var xmlrows = xmlDoc.documentElement.getElementsByTagName("Row");
		
		for (var i = 0; i < xmlrows.length; i++) {
			var xmlrow = xmlrows[i];
			
			var xmlcellLongitude = xmlrow.getElementsByTagName("Longitude")[0];
			var xmlcellLatitude = xmlrow.getElementsByTagName("Latitude")[0];
			var point = new GLatLng(parseFloat(xmlcellLatitude.firstChild.data), parseFloat(xmlcellLongitude.firstChild.data));
			
			//get the type title
			var xmlcellInfoTitle = xmlrow.getElementsByTagName("Info_Title")[0];
			var celltextInfoTitle = xmlcellInfoTitle.firstChild.data;
			
			//get the building name
			var xmlcellLocationName = xmlrow.getElementsByTagName("Location_Name")[0];
			var celltextLocationName = xmlcellLocationName.firstChild.data;
			
			//get the Page URL
			var xmlcellPageLink = xmlrow.getElementsByTagName("Map_Url")[0];
			var celltextPageLink = xmlcellPageLink.firstChild.data;

			//get the Address fields
			var xmlcellAddressLine1 = xmlrow.getElementsByTagName("Address_Line1")[0];
			var celltextAddressLine1 = xmlcellAddressLine1.firstChild.data;

			var xmlcellAddressLine2 = xmlrow.getElementsByTagName("Address_Line2")[0];
			var celltextAddressLine2 = xmlcellAddressLine2.firstChild.data;

			var xmlcellAddressLine3 = xmlrow.getElementsByTagName("Address_Line3")[0];
			var celltextAddressLine3 = xmlcellAddressLine3.firstChild.data;

			var xmlcellAddressLine4 = xmlrow.getElementsByTagName("Address_Line4")[0];
			var celltextAddressLine4 = xmlcellAddressLine4.firstChild.data;
			
			//get the Icon Type
			var xmlcellIconType = xmlrow.getElementsByTagName("Icon_Type")[0];
			var icontype = xmlcellIconType.firstChild.data;
			
			var htmlString = "<h3>" + celltextInfoTitle + "</h3>" + "<p><strong>Location:</strong> " + celltextLocationName + "<br />" + "<strong>Map link:</strong> <a href=\"" + celltextPageLink + "\" target=\"_blank\">Click here for directions</a><br />" + "<strong>Address:</strong> " + celltextAddressLine1 + "<br />" + celltextAddressLine2 + "<br />" + celltextAddressLine3 + "<br />" + celltextAddressLine4 + "</p>";
			//var htmlString = 'yes'
			if (icontype == "course") {
				var marker = createMarker(point,htmlString,icontype);

				batch.push(marker);
			}

		}

		mgr.addMarkers(batch,2);
		mgr.refresh();

  	  }
    }
		request.send(null);
	}
     
  function createMarker(point,htmlString,icontype) {
  	var marker = new GMarker(point, gicons[icontype]);
    GEvent.addListener(marker, "click", function() {
      marker.openInfoWindowHtml(htmlString);
    });
    return marker;
  }
