(function($){
	$.fn.twitterize = function(username,options){
		if (username){
			var defaultSettings = {
					count:'1',
					wrap:'div',
					elem:'post',
					callback:null
				};
			var settings = $.extend(defaultSettings, options);
			// The URL for the Twitter JSON API.
			var url = "http://twitter.com/status/user_timeline/"+username+".json?count="+settings.count+"&callback=?";
			//Variable to get around scope problem in callback function.
			var holder = this;
			//Contact Twitter (Use crazy JSONP)
			$.getJSON(url,
			//This function is called when twitter responds with the appropriate information.
			function(data){
				//Step through each tweet.
				$.each(data, function(i, item) {
					holder.append("<"+settings.wrap+" class='"+settings.elem+"'><p>"+item.text.makeLinks().parseUsername()+"</p></"+settings.wrap+">");
				});
				if (settings.callback) settings.callback(); // callback function execute here
			});
		}
		//Changes urls within the tweet into links.
		String.prototype.makeLinks = function() {
			return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+/, function(str) {
			return str.link(str);
		    });
		};
		// change usernames into links
		String.prototype.parseUsername = function() {
			return this.replace(/[@]+[A-Za-z0-9-_]+/, function(u) {
				var username = u.replace("@","")
				return u.link("http://twitter.com/"+username);
			});
		};		
		return this;
	};
})(jQuery);