$(document).ready ( function() {
	// Twitter
	//____________________________________________________________________ *//
	$("#twitter").getTwitter({
		userName: "ACC1O",
		numTweets: 5,
		loaderText: "Carregant tweets...",
		slideIn: true,
		showHeading: true,
		headingText: "Conversa d'ACC1&Oacute; a Twitter",
		showProfileLink: true
	});
});

(function($) {
	/*
		jquery.twitter.js v1.0
		Last updated: 26 October 2008

		Created by Damien du Toit
		http://coda.co.za/blog/2008/10/26/jquery-plugin-for-twitter

		Licensed under a Creative Commons Attribution-Non-Commercial 3.0 Unported License
		http://creativecommons.org/licenses/by-nc/3.0/
	*/

	$.fn.getTwitter = function(options) {
		var o = $.extend({}, $.fn.getTwitter.defaults, options);
	
		// hide container element
		$(this).hide();
	
		// add heading to container element
		if (o.showHeading) {
			$(this).append('<div class="twtr-head"><h3>'+o.headingText+'</h3></div>');
		}

		// add twitter list to container element
		$(this).append('<ul id="twitter_update_list"><li></li></ul>');

		// hide twitter list
		$("ul#twitter_update_list").hide();

		// add preLoader to container element
		var pl = $('<p id="'+o.preloaderId+'">'+o.loaderText+'</p>');
		$(this).append(pl);

		// add Twitter profile link to container element
		if (o.showProfileLink) {
			$(this).append('<div class="twtr-footer"><a href="http://twitter.com" target="_blank"><img src="http://widgets.twimg.com/i/widget-logo.png" alt=""></a><a href="http://twitter.com/'+o.userName+'" target="_blank" id="conversa">Segueix la conversa</a></div>');
		}

		// show container element
		$(this).show();
		//$.getScript("http://twitter.com/javascripts/blogger.js");
		
		$.getScript("http://twitter.com/statuses/user_timeline/"+o.userName+".json?callback=twitterCallback2&count="+o.numTweets, function() {
			// remove preLoader from container element
			$(pl).remove();
			
			// show twitter list
			$("ul#twitter_update_list").show();

			// give first list item a special class
			$("ul#twitter_update_list li:first").addClass("firstTweet");

			// give last list item a special class
			$("ul#twitter_update_list li:last").addClass("lastTweet");
		});
	};

	// plugin defaults
	$.fn.getTwitter.defaults = {
		userName: null,
		numTweets: 5,
		preloaderId: "preloader",
		loaderText: "Carregant tweets...",
		slideIn: false,
		showHeading: true,
		headingText: "Latest Tweets",
		showProfileLink: true
	};
})(jQuery);

function twitterCallback2(twitters) {
	//}).replace(/via?\s?\B\s?@\s?([_a-z0-9\u00e7]+)/ig, function(reply) {
	
	var statusHTML = [];
	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+'" target="_blank">'+url+'</a>';
		}).replace(/\B\s?@\s?([_a-z0-9\u00e7]+)/ig, function(reply) {
			reply = reply.replace("via","");
			reply = reply.replace(" ",""); 
			
			return  reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'" target="_blank">'+reply.substring(1)+'</a>';
		}).replace(/\B#\s?([_a-z0-9\u00e7]+)/ig, function(reply) {
			return  reply.charAt(0)+'<a href="http://twitter.com/search?q='+reply.substring(1)+'" target="_blank">'+reply.substring(1)+'</a>';
		});
		statusHTML.push('<li><p>'+status+'</p><span class="data">'+relative_time(twitters[i].created_at)+'</span></li>');
	}
	document.getElementById('twitter_update_list').innerHTML = statusHTML.join('');
}

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 'Actualitzat fa 1 minut';
	} else if(delta < 120) {
		return 'Actualitzat fa 2 minuts';
	} else if(delta < (60*60)) {
		return ('Actualitzat fa ' + parseInt(delta / 60)).toString() + ' minuts';
	} else if(delta < (120*60)) {
		return 'Actualitzat fa 1 hora';
	} else if(delta < (24*60*60)) {
		return 'Actualitzat fa ' + (parseInt(delta / 3600)).toString() + ' hores';
	} else if(delta < (48*60*60)) {
		return 'Actualitzat fa 1 dia';
	} else {
		return 'Actualitzat fa ' + (parseInt(delta / 86400)).toString() + ' dies';
	}
}

