   //<![CDATA[

	function createMarkerBalloon(map, mapMarker, name, location, time, point) {
		GEvent.addListener(mapMarker, "click", function() {
			var html = "<div class='popup'><div><h2>" + name + "</h2><h4>" + location + "</h4><h4>" + time + "</h4></div></div>";
			map.openInfoWindowHtml(point, html);
			map.setCenter(point, 3); 
		});
	}

    function initialize() {
      if (GBrowserIsCompatible()) {
	var map = new GMap2(document.getElementById("map"));
	map.setCenter(new GLatLng(53.014783,20.34668), 3);
	map.addControl(new GLargeMapControl());

	GDownloadUrl("/include/europe-trip-feed", function(data) {
		var xml = GXml.parse(data);
		var stops = xml.documentElement.getElementsByTagName("stop");
  	        points = Array(stops.length);
		for (var i = 0; i < stops.length; i++) {
			var marker = stops[i];
			var name = marker.getElementsByTagName("name")[0].firstChild.nodeValue;
			var location = marker.getElementsByTagName("location")[0].firstChild.nodeValue;
			var time = marker.getElementsByTagName("time")[0].firstChild.nodeValue;
			var coordinates = marker.getElementsByTagName("point")[0].firstChild.nodeValue;
			var latLong = coordinates.split(",");
			var point = new GLatLng(parseFloat(latLong[1]),parseFloat(latLong[0]));
			points[i] = point;
			if(i==0) {	
				//center map on most recent post			
				map.setCenter(point, 3); 
			}
			var mapMarker = new GMarker(point);
			createMarkerBalloon(map, mapMarker, name, location, time, point);			
			map.addOverlay(mapMarker);	
			var polyOptions = {geodesic:true};
			var polyline = new GPolyline(points, "#0C2800", 4, .75, polyOptions);
			map.addOverlay(polyline);
		

          }
        });

      }
    }

    //]]>