(function($){
	$.fn.twitterize = function(username,options){
	if (username){
	var defaultSettings = {
	count:2,
	tweetBefore:'',
	tweetAfter:'',
	before:'',
	after:'',
	showTitle:true,
	titleText:'My latest tweets',
	showProfileLink:true,
	profileText:'Follow us',
	showTimestamp:true
	}
	var settings = $.extend(defaultSettings, options);
	var url = "http://twitter.com/status/user_timeline/" + username + ".json?count=" + settings.count + "&callback=?";
	var holder = this;
	holder.append('<img src="img/ajax-loader.gif" />');
	$.getJSON(url,function(data){
	holder.empty();
	if(settings.showTitle) holder.append("<h3>" + settings.titleText + "</h3>");
	$.each(data, function(i, item) {
	daysAgo ='';
	if(settings.showTimestamp) daysAgo = ' <span>' + prettyDate(item.created_at) + '</span>';
	holder.append(settings.tweetBefore + settings.before + item.text.makeLinks() + daysAgo + settings.after + settings.tweetAfter);
	});
	if(settings.showProfileLink) holder.append("<a href='http://twitter.com/" + username + "' title='" + settings.profileText + "' target='_blank'>" + settings.profileText + "</a>");
	});
	}else{
	console.debug("jquery plugin twitterize requires a username! Check your parameters");
	}
	String.prototype.makeLinks = function() {
	return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/, function(str) {
	return str.link(str);
	});
	};
	return this;
	};
	})(jQuery);
	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 < 1 || day_diff >= 31 ) return "TODAY";
	return day_diff == 0 && "TODAY" ||
	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 );
});
};
