(function($){
    $.fn.twitter = function(){
        var _el = this;
        $.ajax({
            method : 'get',
            url : '/api/twitter/status/vormmartini?count=3',
            dataType : 'json',
            success : function(data){
                $(_el).html('<ul></ul>');
                $.each(data, function(index, item){
                     $('ul', _el).append(
                        '<li>'+
                        item.text.linkify()+'<em class="date">'+relative_time(item.created_at)+'</em>'+
                        '</li>'
                     );
                });
            }   
        });
        String.prototype.linkify = function() {  
                return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/, function(m){  
                return m.link(m);  
            });  
        };
        // Convert Twitter API Timestamp to "Time Ago"  
        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);  
          var r = '';  
          if (delta < 60) {  
                r = '1 minuut geleden';  
          } else if(delta < 120) {  
                r = 'paar minuten geleden';  
          } else if(delta < (45*60)) {  
                r = (parseInt(delta / 60)).toString() + ' minuten geleden';  
          } else if(delta < (90*60)) {  
                r = 'an hour ago';  
          } else if(delta < (24*60*60)) {  
                r = '' + (parseInt(delta / 3600)).toString() + ' uur geleden';  
          } else if(delta < (48*60*60)) {  
                r = '1 day ago';  
          } else {  
                r = (parseInt(delta / 86400)).toString() + ' dagen geleden';  
          }  
              return r;  
          }  
    };
})(jQuery);
