// function to render tweet
function render_tweet(obj) {
  var tweet_time = document.createElement('a');
  tweet_time.setAttribute('href', 'http://twitter.com/sholva_sfr/statuses/' + obj[0].id);
  tweet_time.appendChild(document.createTextNode(relative_time(obj[0].created_at)));
  
  var start_index = obj[0].text.indexOf("http://");
  if(start_index > -1) {
    var end_index = obj[0].text.indexOf(' ', start_index);
    if(end_index == -1)
      end_index = obj[0].text.length
    var url = obj[0].text.substring(start_index, end_index);
    var new_text = obj[0].text.substring(0, start_index);
    new_text += "<a href=\"" + url + "\">" + url + "</a>";
    new_text += obj[0].text.substring(end_index, obj[0].text.length);
    obj[0].text = new_text;
  }
  
  document.getElementById('tweet').innerHTML = '<h6>Latest tweet</h6>' + obj[0].text + '<br>';
  document.getElementById('tweet').appendChild(tweet_time);
  document.getElementById('tweet').innerHTML += ' from ' + obj[0].source;
}

// function to display relative time
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 < 60)             { return 'Less than a minute ago'; }
  else if(delta < 120)        { return 'About a minute ago'; }
  else if(delta < (60*60))    { return (parseInt(delta / 60)).toString() + ' minutes ago'; }
  else if(delta < (120*60))   { return 'About an hour ago'; }
  else if(delta < (24*60*60)) { return 'About ' + (parseInt(delta / 3600)).toString() + ' hours ago'; }
  else if(delta < (48*60*60)) { return '1 day ago'; }
  else                        { return (parseInt(delta / 86400)).toString() + ' days ago'; }
}
