var map = null;
    			var geocoder = null;
				var points_arr = new Array();
				var webroot = 'http://pikchur.com/';
				var service = 'foursquare';
				var path_to_xml = "map.php";
				var num_piks = null;
				var current_pik = 0;

				function initialize() 
				{
			     
				  if (GBrowserIsCompatible()) {
			        
			        map = new GMap2(document.getElementById("map"));
			        map.setCenter(new GLatLng(37.77020,-122.44535), 12);
					
					
					GDownloadUrl(path_to_xml, function(doc) {
			        
					var xmlDoc = GXml.parse(doc);
			        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 label = markers[i].getAttribute("label");
			        
					  //compact variables into array
					  var point_arr = new Array(3);
					  
					  point_arr[0] = point;
					  point_arr[1] = label;
					  point_arr[2] = html;
					  
					  //push array into array of points
					  points_arr.push(point_arr);
					  
					  //how many points do we have?
					  num_piks = points_arr.length;	
					  
					  
					  if(i == markers.length-1)
					  {
							go_to_next_pik();
					  }
					 
			        }
			      });
				  }
				}
				
				function showAddress(point,label,html)
				{
					 map.clearOverlays();
					 map.panTo(point);
 					var marker = new GMarker(point,label);
					 map.addOverlay(marker);
					
				      bubble = new EBubble(map,"images/bubble_background.png",new GSize(100,75), new GSize(90,700), new GPoint(5,5), new GPoint(45,45),true);      
				      
				      bubble.openOnMarker(marker,html);
	   			 }
				
				
		
				function go_to_next_pik()
				{
					if(current_pik >= num_piks)
					{
						current_pik = 0;
					}
					
					showAddress(points_arr[current_pik][0],points_arr[current_pik][1],points_arr[current_pik][2]);
					current_pik = current_pik +1;
					setTimeout("go_to_next_pik()",3000);
					
				}