/*
	Plugin Name: tweetbox
	Plugin URI: http://www.etftw.co.uk/tweetbox
	Description: A fast and robust Twitter plugin powered by JQuery
	Author: Rob Carr
	Version: 1.2.7
	Author URI: http://www.etftw.co.uk/
*/	
var J = jQuery.noConflict();
function processDate(itm)
{
	var n = new Date(), t, ago = " ";
	t = Math.round((n.getTime() / 1000 - parseInt(itm)) / 60);
	ago += getTimeSince(t, itm);
	return ago;            
}

function getTimeSince( t, original_timestamp ) 
{
	t += 3;
	var ago = " ", date;
	if(t <= 1) {
		ago += " moments ago";
	} else if(t < 60) {
		ago += t + " mins ago";
	} else if(t >= 60 && t <= 120) {
		ago += Math.floor(t / 60) + " hour ago"
	} else if(t < 1440) {
		ago += Math.floor(t / 60)  + " hours ago";
	} else if(t < 2880) {
		ago +=  "1 day ago";
	} else if(t > 2880  && t < 4320) {
		ago +=  "2 days ago";
	} else {
		date = new Date(parseInt(original_timestamp) * 1000) 
		ago = "on " + date.toUTCString();
	}
	return ago;
}     

function convertApacheToUNIX(apache)
{
	var day = apache.substring(8, 10);
	var time = apache.substring( 10, 19 );
	var year = apache.substring(26, 30);
	var month = apache.substring(4, 7);
	var processableDate = day + " " + month + " " + year + " " + time;
	var ts = parseInt(Date.parse(processableDate));
	ts = (((ts / 10) / 10) / 10);
	return ts;
}

function convertURLs(tweet)
{
	var regex = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
	return tweet.replace(regex, '<a href="$1" target="_blank">$1</a>');
}

function generateUserLinks(tweet)
{
	var regex = /([@])([\w]+)/ig;
	return tweet.replace(regex, '<a href="http://twitter.com/$2" target="_blank">$1$2</a>');
}

function getTweets(username, tweets)
{
	J.getJSON(
		'http://twitter.com/status/user_timeline/' + username + '.json?count=' + tweets + '&callback=?',
		function(data){
			J('#tweetboxtweets').empty();
			J.each(data, function(i, tweets){
				if( tweets.created_at != undefined )
				{
					var tweet = generateUserLinks(convertURLs(tweets.text));
					createdDate = new Date(parseInt(convertApacheToUNIX(tweets.created_at)) * 1000);
					var months = new Array("janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre")
					var hours = createdDate.getHours();
					if(hours<10){hours = "0"+hours;}
					var minutes = createdDate.getMinutes();
					if(minutes<10){minutes = "0"+minutes;}
					createdString = " le "+createdDate.getDate()+" "+months[createdDate.getMonth()]+" "+(createdDate.getFullYear())+" à "+hours+"h"+minutes ;
					J('#tweetboxtweets').append('<div id="tweet'+i+'" class="tweet"><p>'+parseTweet(tweet,'http://twitter.com/' + username + '/status/' + tweets.id)+'<br /><small>posté '+ createdString + " via " + tweets.source+'</small></p></div>');
				}
			});
		}
	);	
}
function parseTweet(tw,twurl){
	var cut = tw.indexOf("]",0);
	if((cut>0)&&(cut<16)){
	var tick = tw.substring(1,cut);
	var queue = tw.substring(cut+1);
	return '<a class="twitter_type  twitter_'+tick+'" href="'+twurl+'">'+tick+'</a>'+queue;
	}else{
	return tw;
	}
}