(function($){
 $.fn.twitter = function(options) {
  var defaults = {
   empty_text: "Found 0 results"
  };
  
  var options = $.extend(defaults, options);

  /* function to format the timestamp into something a little nicer on the eyes ala twitter */  
  function relative_time(time_value) {
    var values = time_value.split(" ");
    time_value = values[2] + " " + values[1] + ", " + values[3] + " " + values[5];
    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);  
    var r = '';
    if (delta < 60) {  r = 'a minute ago'; } 
    else if(delta < 120) { r = 'couple of minutes ago'; } 
    else if(delta < (45*60)) { r = (parseInt(delta / 60)).toString() + ' minutes ago'; } 
    else if(delta < (90*60)) { r = 'an hour ago'; }
    else if(delta < (24*60*60)) { r = '' + (parseInt(delta / 3600)).toString() + ' hours ago'; }
    else if(delta < (48*60*60)) { r = '1 day ago'; } 
    else { r = (parseInt(delta / 86400)).toString() + ' days ago'; }
    return r;
  }

  /* function to format links in html as such */  
  function makelink(content) {
    return content.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/, function(m) {return m.link(m); });
  }
  
  return this.each(function() {
      var container = $(this);
      container.append('<ul></ul>');
      $.getJSON('twitter.php', function(data){
        var results = data;
        var result_length = results.length;
        if (result_length == 0) {container.html(options.empty_text);return false;}                  
	    $.each(results, function(i, item) {
	      var content = '<li>.: <span class="title" style="text-transformation:uppercase;">Tres Tweets : </span>'+ makelink(item.text) + ' :.</li>';
	      //var content = '<li>'+ makelink(item.text) + '<div class="info"><a href="http://twitter.com/' + item.user.name + '/statuses/' + item.id + '" target="_blank">' + relative_time(item.created_at) + '</a> from <strong>' + item.user.name + '</strong></div></li>';
	      container.children("ul").html(content);
	      return false;
	  }); // each
    }); // getJSON
  }); // return
 }; // $.fn.twitter
})(jQuery);