$(document).ready(function(){

	$.getJSON('http://twitter.com/status/user_timeline/fabiansilberer.json?count=5&callback=?', function(data){
		$.each(data, function(index, item){
			$('#twitter').append('<div class="tweet"><p>' + item.text.linkify() + '</p><p><strong>' + relative_time(item.created_at) + '</strong></p></div>');
		});
	
	});
	
	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 'vor einer Minute';
	  } else if(delta < 120) {
		return 'vor ein paar Minuten';
	  } else if(delta < (45*60)) {
		return 'vor '(parseInt(delta / 60)).toString() + ' Minuten';
	  } else if(delta < (90*60)) {
		return 'vor einer Stunde';
	  } else if(delta < (24*60*60)) {
		return 'vor ' + (parseInt(delta / 3600)).toString() + ' Stunden';
	  } else if(delta < (48*60*60)) {
		return 'vor einem Tag';
	  } else {
		return 'vor '(parseInt(delta / 86400)).toString() + ' Tagen';
	  }

	}
	
	String.prototype.linkify = function() {
		return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/, function(m) {
			return m.link(m);
		});
	};
	
});
