(function($){
	$.fn.lastTwitterMessage = function(username){
		var $base = this;
		if(!username || username == "") return this;
		var url = "http://twitter.com/statuses/user_timeline.json?callback=?";
		$.getJSON(url,{count:10,screen_name:username},function(data){
			if(data && data.length >= 1){
				try{
					var item = null;
					for(var i = 0; i < data.length; i++){
						if(/^@/i.test(data[i].text)) continue;
 						item = data[i]; break;
					}
					if (!item) return;
					var created_at = new Date(item.created_at);
					created_at_date = Date.parse(created_at);
					var current = new Date();
					current_date = Date.parse(current);
					var t = (current_date-created_at_date);
					var date_display = '';
					if (t < 60*1000) {
						date_display = 'Less than a minute ago';
					} else if (t < 60*60*1000) {
						date_display = Math.ceil(t/(60*1000)) +' Minutes ago';
					} else if (t < 60*60*24*1000) {
						date_display = Math.ceil(t/(60*60*1000)) +' Hours ago';
					} else if (t>0) {
						date_display = Math.ceil(t/(60*60*24*1000)) +' Days ago';
					}

					var $tweet = $("<p></p>").text(item.text);
					$tweet.html(
						$tweet.html().replace(/((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi,'<a href="$1">$1</a>')
						.replace(/(^|\s)#(\w+)/g,'$1<a href="http://search.twitter.com/search?q=%23$2">#$2</a>')
						.replace(/(^|\s)@(\w+)/g,'$1<a href="http://twitter.com/$2">@$2</a>')
					)
					$tweet.append('<P class="time_since">'+date_display+'</P>');
					$base.empty().append($tweet).show();
				} catch(e) { };
			}; });
		return this; // Don't break the chain
	};
})(jQuery);
