function timedelta(delta) {
  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';
  }
}
function reader_time(time_value) {
  var parsed_date = new Date(time_value*1000);
  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); */
  return timedelta(delta);
}
function twitter_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);
  return timedelta(delta);
}
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

function twitterC(twitters, showAtReplies) {
  if (!twitters) return;
  var maxTweets = 5;
  var statusHTML = [];
  var tmp = twitters;
  var alt = 1
  if (showAtReplies == undefined) showAtReplies = 0;
  for (var i=0; i<twitters.length; i++){
    var username = twitters[i].user.screen_name;
    var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
      return '<a href="'+url+'">'+url+'</a>';
    }).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
      return  reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
    });
    if (showAtReplies == 0 && status.charAt(0) == '@') continue;
    if (alt == 0) { alt=1; shcls=''; } else { alt=0; shcls=' class="shade"'; }
    statusHTML.push('<li'+shcls+'><span>'+status+'</span> <a class="wtimestamp" href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'">'+twitter_time(twitters[i].created_at)+'</a></li>');
    if (statusHTML.length >= maxTweets) break;
  }
  if (statusHTML.length == 0 && showAtReplies == 0) {
    twitterCallback2(tmp, 1);
  } else if (statusHTML.length == 0 && showAtReplies == 1) {
    //document.getElementById('twitter_div').innerHTML = '<a href="http://twitter.com/jahboite" id="twitter-link">jah has been tweeting &raquo;</a>';
  } else {
    document.getElementById('twitter_div').innerHTML =
      '<h3>Twitter</h3><ul id="twitter_update_list">' + statusHTML.join('') + '</ul><a href="http://twitter.com/jahboite" id="twitter-link">more tweets &raquo;</a>';
  }
}
function addTweets() {
  var tw_elem = document.getElementById('twitter_div');
  if (tw_elem) {
    var scr = document.createElement('script');
    scr.type = 'text/javascript';
    scr.src  = 'http://twitter.com/statuses/user_timeline/jahboite.json?callback=twitterC';
    tw_elem.appendChild(scr);
  }
}

function readerC(reader) {
  if (!reader || !reader.items) return;
  var rd_elem = document.getElementById("reader_div");
  var itemsHTML = [];
  var alt = 1;
  for (var i = 0; i < reader.items.length; i++) {
    var item = reader.items[i];
    if (alt == 0) { alt=1; shcls=''; brdcls='reader_post_title';} else { alt=0; shcls=' class="shade"'; brdcls='reader_post_titler';}
    itemsHTML.push(
      '<li' + shcls + '>' + (item.origin.title == undefined ? 'Title Unknown' : item.origin.title) + '<span class="' + brdcls + '">' + item.title + '</span><a class="wtimestamp" href="' + item.alternate.href + '">' + reader_time(item.published) + '</a></li>'
    );
  }
  rd_elem.innerHTML =
    '<h3>Reader</h3><ul id="reader_item_list">' + itemsHTML.join('') + '</ul><a id="reader-link" href="http://www.google.com/reader/shared/16182550435510892727">more posts &raquo;</a>';
}
function addReader() {
  var rd_elem = document.getElementById('reader_div');
  if (rd_elem) {
    var scr = document.createElement('script');
    scr.type = 'text/javascript';
    scr.src  = 'http://www.google.com/reader/public/javascript/user/16182550435510892727/state/com.google/broadcast?n=5&callback=readerC';
    rd_elem.appendChild(scr);
  }
}

// addLoadEvent(addTweets);
// addLoadEvent(addReader);
$(document).ready(addTweets);
$(document).ready(addReader);
