// JavaScript Document

function initialize(lat, lng, zoom, marker) {
  if (GBrowserIsCompatible()) {
	var map = new GMap2(document.getElementById("map_canvas"));
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
	map.setCenter(new GLatLng( parseFloat(lat), parseFloat(lng)), parseFloat(zoom));
	// arrays to hold copies of the markers used by the side_bar
	// because the function closure trick doesnt work there
	var gmarkers = [];
	var i = 0;
	
	
	// A function to create the marker and set up the event window
	function createMarker(point,name,html) {
		var marker = new GMarker(point);
		GEvent.addListener(marker, "click", function() {
		  marker.openInfoWindowHtml(html);
		});
		gmarkers[i] = marker;
		i++;
		return marker;
	}

	if (marker != '' && marker != null) {
		var request = GXmlHttp.create();
		request.open("GET", "/wineries-and-vineyards.php?xml="+marker, true);
		request.onreadystatechange = function() {
			if (request.readyState == 4) {
				var xmlDoc = GXml.parse(request.responseText);
				// obtain the array of markers and loop through it
				var markers = xmlDoc.documentElement.getElementsByTagName("marker");
				
				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 html = markers[i].getAttribute("html");
					var html = GXml.value(markers[i].getElementsByTagName("infowindow")[0]);
					var label = markers[i].getAttribute("label");
					// create the marker
					var marker = createMarker(point,label,html);
					map.addOverlay(marker);
				}
			}
		}
  	}

	request.send(null);

  }
}