$(function() {
	
	/*
	 * JavaScript Pretty Date
	 * Copyright (c) 2008 John Resig (jquery.com)
	 * Licensed under the MIT license.
	 */
	function prettyDate(time){
		var date = new Date((time || "").replace(/-/g,"/").replace(/[TZ]/g," ")),
			diff = (((new Date()).getTime() - date.getTime()) / 1000),
			day_diff = Math.floor(diff / 86400);

		if ( isNaN(day_diff) || day_diff < 0 || day_diff >= 31 )
			return;

		return day_diff == 0 && (
				diff < 60 && "just now" ||
				diff < 120 && "1 minute ago" ||
				diff < 3600 && Math.floor( diff / 60 ) + " minutes ago" ||
				diff < 7200 && "1 hour ago" ||
				diff < 86400 && Math.floor( diff / 3600 ) + " hours ago") ||
			day_diff == 1 && "Yesterday" ||
			day_diff < 7 && day_diff + " days ago" ||
			day_diff < 31 && Math.ceil( day_diff / 7 ) + " weeks ago";
	}
	
	if ( typeof jQuery != "undefined" ){
		jQuery.fn.prettyDate = function(){
			return this.each(function(){
				var date = prettyDate(this.title);
				if ( date )
					jQuery(this).text( date );
			});
		};
	}
	
	var str = 'http://api.twitter.com/1/statuses/user_timeline.json?screen_name=wedrive&include_rts=true&count=3';

	function parse(text){
		//http links
		var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/i;
		text = text.replace(exp,"<a target='_blank' href='$1'>$1</a>");
		//usernames
		exp = /(@\w*)/g;
		text = text.replace(exp,"<a target='_blank' href='http://twitter.com/$1'>$1</a>");
		return text;
	}
	
	function renderTweet(i,tweet){
		if (typeof(tweet)=='undefined')
			return false;
			
		var container = $('.tweet')[i];
		var body = $(container).find('strong');
		var date = $(container).find('small a');
		
		$(body).html(parse(tweet.text));
		$(date).text(prettyDate(Date.parse(tweet.created_at).toString('u'))).attr('href', 'http://twitter.com/wedrive/status/'+tweet.id_str);		
	}
	
	function render(tweets){
		for(var i=0; i<3; i++){
			var tweet = tweets[i];
			if (tweet !== null){
				renderTweet(i,tweet);
			}
		}
		return;
	}
	
	$(document).ready(function(){
		$.ajax({
			url: str,
			method: 'GET',
			dataType: 'jsonp',
			success: function(result){
			
				if (result.length == 0 ){
					return;
				}
				
				render(result);
				return;
			},
			error: function(result){
				//TODO remove error
				//console.error(result);
				return;
			}
		});
	});
});
