

function getHTTPObject()
		{
		 	if (window.ActiveXObject)
				 return new ActiveXObject("Microsoft.XMLHTTP");
			else if (window.XMLHttpRequest)
				 return new XMLHttpRequest();
			else {
					 alert("Your browser does not support AJAX!");
					 return null;
			};
		}

function init(){

  //We're at the homepage - I'm being lazy and not removing the if... commands.
	var isRoot = true;
/*
	// ********************
	// GET TWITTER UPDATE
	// ********************

  twitter = getHTTPObject();

  twitter.onreadystatechange = function()
	{ 
	  document.getElementById("twitter").innerHTML ="Retrieving Last Tweet ...";
	  if(twitter.readyState == 4)
          {
		if(twitter.status == 200)
		{
			document.getElementById("twitter").innerHTML = twitter.responseText;
		}	
		else	
		{
			document.getElementById("twitter").innerHTML ="Error: returned status code " + twitter.status + " " + twitter.statusText;
		}	
	  } 
	}; 

	twitter.open("GET", "../../../travel/returnLatestTwitter.php", true); 
	twitter.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	twitter.send(null);

  document.getElementById("twitter").innerHTML=twitter.responseText;

	
	// ********************
	// GET FACEBOOK STATUS
	// ********************
	
  facebook = getHTTPObject();

  facebook.onreadystatechange = function()
	{ 
	  document.getElementById("facebook").innerHTML ="Retrieving Last Tweet ...";
	  if(facebook.readyState == 4)
          {
		if(facebook.status == 200)
		{
			document.getElementById("facebook").innerHTML = facebook.responseText;
		}	
		else	
		{
			document.getElementById("facebook").innerHTML ="Error: returned status code " + facebook.status + " " + facebook.statusText;
		}	
	  } 
	}; 

	facebook.open("GET", "../../../travel/returnLatestFacebook.php", true); 
	facebook.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	facebook.send(null);

  document.getElementById("facebook").innerHTML=facebook.responseText;
	
	
	// ********************
	// GET FLICKR PICTURES
	// ********************
	 
	flickr = getHTTPObject();

  flickr.onreadystatechange = function()
	{ 
	  document.getElementById("flickr").innerHTML ="Retrieving Flickr Photos ...";
	  if(flickr.readyState == 4)
          {
		if(flickr.status == 200)
		{
			document.getElementById("flickr").innerHTML = flickr.responseText;
		}	
		else	
		{
			document.getElementById("flickr").innerHTML ="Error: returned status code " + flickr.status + " " + flickr.statusText;
		}	
	  } 
	}; 

	flickr.open("GET", "../../../travel/returnFlickrPhotos.php", true); 
	flickr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	flickr.send(null);

  document.getElementById("flickr").innerHTML=flickr.responseText;
	
	// ************************
	// YOUTUBE - DOES NOTHIGN FOR JUST NOW!
	// ************************
	
	youtube = getHTTPObject();

  youtube.onreadystatechange = function()
	{ 
	  //document.getElementById("youtube").innerHTML ="Retrieving Videos ...";
	  if(youtube.readyState == 4)
          {
		if(youtube.status == 200)
		{
			document.getElementById("youtube").innerHTML = youtube.responseText;
		}	
		else	
		{
			//document.getElementById("youtube").innerHTML ="Error: returned status code " + youtube.status + " " + youtube.statusText;
		}	
	  } 
	}; 

	youtube.open("GET", "../../../travel/returnYoutube.php", true); 
	youtube.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	youtube.send(null);

  document.getElementById("youtube").innerHTML=youtube.responseText;
	*/
	// ***************
	// LOAD GOOGLE MAP
	// ***************
	
	var map = new GMap2(document.getElementById("map_canvas"));
	//map.setUIToDefault();
	map.setCenter(new GLatLng(57.5047187,-4.4909008), 6);
	
	// Create custom marker
	var newIcon = new GIcon();
  newIcon.image = "http://maps.google.com/mapfiles/ms/micons/red-pushpin.png";
  newIcon.shadow = "http://maps.google.com/mapfiles/ms/micons/pushpin_shadow.png";
  newIcon.iconSize = new GSize(20, 20);
  newIcon.shadowSize = new GSize(20, 20);
  newIcon.iconAnchor = new GPoint(3, 20);
  newIcon.infoWindowAnchor = new GPoint(5, 1);
	// Set up our GMarkerOptions object literal
	markerOptions = { icon:newIcon };
	
	// Get map data
	
	mapData = getHTTPObject();

  mapData.onreadystatechange = function()
	{ 
	  if(mapData.readyState == 4)
          {
						if(mapData.status == 200)
        		{
        			tempString = mapData.responseText;
        			//Split string by [split] into latitudes and longitudes
        			//alert(tempString);
        			
        			tempArray = tempString.split("[split]");
        			
        			latitudeString = tempArray[0];
        			longitudeString = tempArray[1];
							titleString = tempArray[2];
							urlString = tempArray[3];
							descString = tempArray[4];
        			
							//alert(latitudeString);
							
        			//Split each by ,
        			
        			latitudes = latitudeString.split(",");
        			longitudes = longitudeString.split(",");
        			titles = titleString.split("[titlesplit]");
							urls = urlString.split("[urlsplit]");
							descs = descString.split("[descsplit]");
							
        			//Draw Markers based on data
							
							var newMarkers = new Array();
							
        			for (count=0; count<(latitudes.length-1); count++)
							//Remember, there's always an empty entry in the array!
        			{
								newLatLng = new GLatLng(latitudes[count], longitudes[count], true);
								newMarker = new GMarker(newLatLng, markerOptions);
								
								GEvent.addListener(newMarker,"click",function(count){
								  return function(){
									windowInformation = "<a class='map_link' href='" + urls[count]+"'>" + titles[count] + "</a><br>" + descs[count];
									   this.openInfoWindowHtml(windowInformation);;
									  }
									}(count));
								
								newMarkers[count] = newMarker;
        				map.addOverlay(newMarkers[count]);
        			}
							
							//Draw Lines Based On Markers							
							for (i=1; i<newMarkers.length; i++)
							{
								var polyOptions = {clickable:false};
								var polyline = new GPolyline([
								  newMarkers[i].getLatLng(),
								  newMarkers[i-1].getLatLng()
								  ], "#ff0000", 3, 0.75, polyOptions);
								map.addOverlay(polyline);					
							}
							
							//Center map on latest marker
							map.setCenter(newMarkers[newMarkers.length-1].getLatLng(),19);
							
							//Only zoom out if we're at the root
							if (isRoot)
							{
  								//Zoom to include previous markers
  								var bounds = new GLatLngBounds();
  								bounds.extend(newMarkers[newMarkers.length-1].getLatLng());
  							
  								//Only include last 4 markers
  								var limit = 4;
  								if (newMarkers.length < limit)
  								{
  								 limit = newMarkers.length;
  								}
  								
  								for (i=0; i<limit; i++)
  								{
  									bounds.extend(newMarkers[i].getPoint());
  								}
  								
  								map.setZoom(map.getBoundsZoomLevel(bounds));
  								map.setCenter(bounds.getCenter());
  								
            	}
					 }
           else	
           {
           		alert(mapData.statusText);
  						document.getElementById("map_canvas").innerHTML ="Error: returned status code " + mapData.status + " " + mapData.statusText;
           }
							
			
	  			}
	};
	
	mapData.open("GET", "/travel/returnBlogMapData.php", true); 
	mapData.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	mapData.send(null);
 };