	var address;
	var geocoder;
	var gmarkers = [];
	var html;
	var htmls =[];
	var i = 0;
	var icon;
	var label;
	var map;
	var marker;
	var markers;
	var randomnumber;
	var side_bar_html = "";
	var xml;

window.addEvent('domready', function() {	
			
	if (GBrowserIsCompatible()) {
		//var map = new GMap2($("map"));
		var list = $$(".map");
		list.each(function(item, index){
			var itemnr = index+1;
			var map = new GMap2(item);
			var geocoder = new GClientGeocoder();
			map.addControl(new GSmallMapControl());
		
			//create randomnumber and retrieve xml file
			var randomnumber=Math.floor(Math.random()*11111)
			GDownloadUrl("/contact.xml?random="+randomnumber, function(data, responseCode) {
				var xml = GXml.parse(data);
		
				//store markers in markers array
				var markers = xml.documentElement.getElementsByTagName("marker");
				for (var i = 0; i < markers.length; i++) {
					var address = markers[i].getAttribute("address");
					var html = GXml.value(markers[i].getElementsByTagName("infowindow")[0]);
					var label = markers[i].getAttribute("label");
					var markerid = markers[i].getAttribute("id");
					if(markerid == itemnr){
						showAddress(map,geocoder,address,html,label,icon);
					}
				} //close for loop
				
			  }
			  
			); //close GDownloadUrl
		}); // end CUSTOM each function
	} //close GBrowserIsCompatible
	
});

//Create marker and set up event window
function createMarker(point,html,label,icon){
	var marker = new GMarker(point,icon);
  	GEvent.addListener(marker, "click", function() {
    	marker.openInfoWindowHtml(html);
  	});
// save the info we need to use later for the side_bar
  	gmarkers[i] = marker;
  	htmls[i] = html;
// add a line to the side_bar html
  //side_bar_html += '<a href="javascript:myclick(' + i + ')">' + label + '</a>';
  //document.getElementById("side_bar").innerHTML = side_bar_html;
  i++;
  return marker;
}

//showAddress
function showAddress(map,geocoder,address,html,label,icon) {
  geocoder.getLatLng(
    address,
    function(point) {
      if (!point) {
        alert(address + " not found");
      } else {
        map.setCenter(point, 8);
        var marker = createMarker(point,html,label,icon);
        map.addOverlay(marker);
      }
    }
  );
}

// This function picks up the click and opens the corresponding info window
function myclick(i) {
	GEvent.trigger(gmarkers[i], "click");
}
