//--------------------
//LASTFM
//--------------------

var xmlhttp;

function checkReadyState(obj)
{
 
  if(obj.readyState == 4)
  {
    if(obj.status == 200)
    {
    return true;
    }
    else
    {
    	document.getElementById('tracks').innerHTML= "Small issue connecting to last.fm. Too bad...";   
    }
  }
}

function onResponse()
{
  if(checkReadyState(xmlhttp))
  {
 
  var response = xmlhttp.responseXML.documentElement;
  
  var txt = "<h3>songs</h3>";
  x=response.getElementsByTagName("track");
  for (i=0;i<x.length && i<6;i++)
    {
  
    xx=x[i].getElementsByTagName("name");
    xurl = x[i].getElementsByTagName("url");
      {
      try
        {
        txt += "<a href='" + xurl[0].firstChild.data + "'>" + xx[0].firstChild.data + "</a>";
        }
      catch (er)
        {
        
        }
      }
    xx=x[i].getElementsByTagName("artist");
      {
      try
        {
        txt+= "  <span class='artistname'>" + xx[0].firstChild.data + "</span>";
        }
      catch (er)
        {
        
        }
      }
    
    }
  
  
  document.getElementById('tracks').innerHTML=txt;
  }
}



function loadXMLDoc(url)
{

xmlhttp=null;
// code for Mozilla, etc.
if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();
  }
// code for IE
else if (window.ActiveXObject)
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
if (xmlhttp!=null && xmlhttp!=0)
  {
  
  xmlhttp.onreadystatechange=onResponse;
  xmlhttp.open("GET",url,true);
  xmlhttp.send(null);
  }
else
  {
  document.getElementById('tracks').innerHTML= "<h3>songs</h3><p>Small issue connecting to last.fm. Too bad...</p>";   
  }
}

function LastFM(){
try{
loadXMLDoc("http://ws.audioscrobbler.com/1.0/user/svencharleer/recenttracks.xml");
}
catch(exc){
alert(exc);
	document.getElementById('tracks').innerHTML= "<h3>songs</h3><p>Small issue connecting to last.fm. Too bad...</p>";   
}
}

//------------
// Twitter
//------------

function twitterCallback2(obj) {
	var twitters = obj;
	var statusHTML = "";
	var username = "";
	for (var i=0; i<twitters.length; i++){
		username = twitters[i].user.screen_name
		statusHTML += (twitters[i].text+' <p class="smallnote"><a href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'">'+relative_time(twitters[i].created_at)+'</a></p>')
	}
	document.getElementById('twitter').innerHTML = statusHTML;
}

function relative_time(time_value) {
  var values = time_value.split(" ");
  time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
  var parsed_date = Date.parse(time_value);
  var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
  var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
  delta = delta + (relative_to.getTimezoneOffset() * 60);

  if(delta < 120) {
    return 'posted 1 minute ago';
  } else if(delta < (60*60)) {
    return 'posted ' + (parseInt(delta / 60)).toString() + ' minutes ago';
  } else if(delta < (120*60)) {
    return 'posted 1 hour ago';
  } else if(delta < (24*60*60)) {
    return 'posted ' + (parseInt(delta / 3600)).toString() + ' hours ago';
  } else if(delta < (48*60*60)) {
    return 'posted 1 day ago';
  } else {
    return 'posted ' + (parseInt(delta / 86400)).toString() + ' days ago';
  }
}
