//<![CDATA[
if (GBrowserIsCompatible()) {

	var map;
	var geocoder;
	var side_bar_html = "";
	var gmarkers = [];
	var htmls = [];
	i = 0;

      var maplat = 0;
      var maplng = 0;
      var mapzoom = 0;
      var maplocation = '';

	map = new GMap2(document.getElementById("map"));
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
	geocoder = new GClientGeocoder();
	readMap("");
}
else {
  alert("Sorry, the Google Maps is not compatible with this browser");
}

/**** Functions ****/

	function readMap(mapsection, maptype){
				//reset i
				i = 0;
		  // Read the data from example.xml
		  var request = GXmlHttp.create();


			//var select_element = document.getElementById("mapfilter");
			if(maptype === undefined){
				maptype = "orgs";
			}

		  //request.open("GET", "https://www.survivorshipnetwork.org/nondrupal/xmldata.php?selectmap=" + mapsection, true);
		  request.open("GET", "category_map_googlemaps_xmldata&selectmap=" + mapsection + "&maptype=" + maptype, true);

		
		//request.overrideMimeType ("text/xml");

		 request.onreadystatechange = function() {
			if (request.readyState == 4) {
			  var xmlDoc = request.responseXML;
				//var xmlDoc = GXml.parse(request.responseText);

		//Get Map settings
				var mapinfo = xmlDoc.documentElement.getElementsByTagName("mapsetting");
				maplat = parseFloat(mapinfo[0].getAttribute("lat"));
				maplng = parseFloat(mapinfo[0].getAttribute("lng"));
				mapzoom = parseFloat(mapinfo[0].getAttribute("zoom"));
				
			  // obtain the array of markers and loop through it
			  var markers = xmlDoc.documentElement.getElementsByTagName("marker");


				// hide the info window, otherwise it still stays open where the removed marker used to be
				map.getInfoWindow().hide();
				map.clearOverlays();
				// empty the array
				gmarkers = [];
				// reset the side_bar
				side_bar_html="";


				//Set Map settings
				var center = new GLatLng(maplat,maplng);
			    if(isNaN(mapzoom)) {mapzoom=14;}
			    map.setCenter(center,mapzoom);

			  for (var i = 0; i < markers.length; i++) {
				// obtain the attribues of each marker
				var lat = parseFloat(markers[i].getAttribute("lat"));
				var lng = parseFloat(markers[i].getAttribute("lng"));
				var point = new GLatLng(lat,lng);
				var url = markers[i].getAttribute("url");
				var details = markers[i].getAttribute("details");
				var label = markers[i].getAttribute("label");
				// create the marker
				var tolinkurl = "http://maps.google.com/maps?f=d&hl=en&daddr=" + details + "%20%40" + lat + "%2C" + lng;
				var tolink = '<a href="' + tolinkurl + '">To Here</a>';
				var fromlinkurl = "http://maps.google.com/maps?f=d&hl=en&saddr=" + details + "%20%40" + lat + "%2C" + lng;
				var fromlink = '<a href="' + fromlinkurl + '">From Here</a>';
				details = details + "<br>" + tolink + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" + fromlink;
				var marker = createMarker(point, url, label, details);
				showAddress(marker);
			  }

				//for ( var j=0, len=gmarkers.length; j<len; ++j ){
				//	showAddress(gmarkers[j]);
				//}

				//document.getElementById("googlemap_side_bar").innerHTML = "<h2>" + mapsection + "</h2>" + "<ol>" + side_bar_html + "</ol>";
				document.getElementById("googlemap_side_bar").innerHTML = "<ul>" + side_bar_html + "</ul>";
			}
		  }
		  request.send(null);
	}


	function createMarker(point, link, name, details) {
	  var marker = new GMarker(point);
	  var infodisplay = "<a href=\"" + link + "\">" + name + "</a><br>" + details;
	  GEvent.addListener(marker, "mouseover", function() { marker.openInfoWindowHtml(infodisplay);});
	  var count = i + 1;
	  side_bar_html += "<li>" + '<a href="javascript:domouseover(' + i + ')">' + name + '</a></li>';
	  gmarkers[i] = marker;
	  htmls[i] = infodisplay;
	  i++;
	  
	  return marker;
	}

	function showAddress(marker) {
		var point = marker.getPoint();
		//map.setCenter(point, 13);
		map.addOverlay(marker);
		//var pointval = "\"" + point.lat() + "\"" + ", " + "\"" + point.lng() + "\"";
	}
	function domouseover(i) {
        GEvent.trigger(gmarkers[i], "mouseover");
    }

	function rezoom(zoom) {
			    map.setZoom(zoom);
    }


 //]]>


