/* ------------------- pinobarone.de ----------------------- */
/* --------------------- 26.09.2011 -------------------------- */
/* ----------------------------------------------------------- */
/* script für pinobarone.de */
/* Aufrufe nachdem DOM geladen */
$(function() {
	initTwitter();
	
});


/* twitterFeed laden --------------------------------------------------------------------- */
/* <div id="twitterFeed"><p class="loadingMessage"></p></div> im html platzieren */
/*  */
function initTwitter() {
	/* url um den feed json formatiert zu laden */
	/* http://twitter.com/status/user_timeline/pino_barone.json?count=3&include_rts=1&callback=? */
	var twitterURL = "https://api.twitter.com/1/statuses/user_timeline.json?screen_name=pino_barone&include_rts=t&count=10&callback=?";
	$.getJSON(twitterURL, function(data) {
		/* entfernen des Platzhaltertexts */
		$('#twitterFeed .loadingMessage').remove();
		/* liste anlegen */
		$('#twitterFeed').append("<h4 class='twitterProfile'><a href='http://twitter.com/#!/pino_barone' class='twitterLink'>@"+data[0].user.screen_name+" on twitter</a></h4>");
		$('#twitterFeed').append("<ul class='tweets'></ul>");
		/* schleife durch alle tweets */
		var countMod = 0;
		$.each(data, function(i, tweet) {
			/* 4 tweets anzeigen */
			if(i <= 3+countMod) {
				if(tweet.text.indexOf('@')!=0){
					$('.tweets').append("<li class='singleTweet'><p class='tweetText'>"+tweet.text.buildURL()+"</p><p class='tweetTime small'><a href='http://twitter.com/#!/"+tweet.user.screen_name+"/status/"+tweet.id_str+"' title='Link zu diesem Tweet'>"+formatTime(tweet.created_at)+"</a></p></li>");
				}else{
					countMod += 1;
				}
			}
		});
		
	});
}
/* zeit formatieren */
function formatTime(timeString) {
	var values = timeString.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 = 'vor einer Minute';
	} else if(delta < 120) {
		r = 'vor wenigen Minuten';
	} else if(delta < (45*60)) {
		r = 'vor ' + (parseInt(delta / 60)).toString() + ' Minuten';
	} else if(delta < (90*60)) {
		r = 'vor einer Stunde';
	} else if(delta < (24*60*60)) {
		r = 'vor ' + (parseInt(delta / 3600)).toString() + ' Stunden';
	} else if(delta < (48*60*60)) {
		r = 'vor einem Tag';
	} else {
		r = 'vor ' + (parseInt(delta / 86400)).toString() + ' Tagen';
	}
		
	return r;
}
/* urls zu links machen */
String.prototype.buildURL = function() {
	return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/, function(m) {
									return m.link(m);
								});
	
}
