window.onload = function() {
  var twitter_id = 'GloryFish';
  var url = 'http://www.twitter.com/statuses/user_timeline/' + twitter_id + '.json?callback=twitterCallback&count=1';
  var script = document.createElement('script');
  script.setAttribute('src', url);
  document.body.appendChild(script);
}

function twitterCallback(obj){
  var elem = document.getElementById('twitter_status');
  elem.innerHTML = "&ldquo;" + obj[0].text + "&rdquo; <em>" + timeAgo(obj[0].created_at) + "</em>";
}

// Convert a timestamp into a string describing how long ago the evnt occured (2 hours ago)
function timeAgo(oldtime) {
  var nowtime = new Date();
  var milliseconds1 = new Date(oldtime);
  var milliseconds2 = nowtime.getTime();
  
  var difference = milliseconds2 - milliseconds1;
  
  var daysDifference = Math.floor(difference/1000/60/60/24);
  difference = difference - daysDifference*1000*60*60*24;
  var hoursDifference = Math.floor(difference/1000/60/60);
  difference = difference - hoursDifference*1000*60*60;
  var minutesDifference = Math.floor(difference/1000/60);
  difference = difference - minutesDifference*1000*60;
  var secondsDifference = Math.floor(difference/1000);


  if (daysDifference == 1) {
    return "yesterday";
  } else if (daysDifference > 1) {
    return daysDifference + ' days ago';
  } else if (hoursDifference < 1) {
    if (minutesDifference == 0) {
      return 'less than a minute ago';
    } else {
      return 'about ' + minutesDifference + ' minutes ago';
    }
  } else if (hoursDifference < 24) {
    if (hoursDifference == 1) {
      return 'about 1 hour ago';
    } else {
      return 'about ' + hoursDifference + ' hours ago';
    }
  } else {
    return 'no time';
  }  
}
