// simple twitter tweet fetching plugin(function($) {    $.fn.twitter = function(options) {        var defaults = {			loaderText: 'Loading...',            username: 'maddrell',            numTweets: 3        };        // extend defaults with options        if(options)            options = $.extend({}, defaults, options);        // fetch and display        return this.each(function() {			var $this=$(this);			$this.html(options.loaderText);			$.getJSON('http://twitter.com/statuses/user_timeline/' + options.username + '.json?callback=?', function(data) {				var html='';				for(var i=0; i < options.numTweets && i < data.length; i++) {					html += '<li><b><a href="http://twitter.com/' + options.username + '/statuses/' + data[i].id + '">' + relative_time(data[i].created_at) + ':</a></b> ' + linkify(data[i].text) + '</li>';				}				$this.html('<ul>' + html + '</ul>');            });        });    };    linkify = function(txt) {		var regexp = /((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi;		return txt.replace(regexp,'<a href="$1">$1</a>');    };    relative_time = function(time_value) {		var values = time_value.split(" ");		time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];		var parsed_date = Date.parse(time_value);		var relative_to = (arguments.length > 1) ? arguments[1] : new Date();		var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);		delta = delta + (relative_to.getTimezoneOffset() * 60);		var r = '';		if (delta < 60) {			r = 'a minute ago';		} else if (delta < 120) {			r = 'couple of minutes ago';		} else if (delta < (45 * 60)) {			r = (parseInt(delta / 60)).toString() + ' minutes ago';		} else if (delta < (90 * 60)) {			r = 'an hour ago';		} else if (delta < (24 * 60 * 60)) {			r = '' + (parseInt(delta / 3600)).toString() + ' hours ago';		} else if (delta < (48 * 60 * 60)) {			r = '1 day ago';		} else {			r = (parseInt(delta / 86400)).toString() + ' days ago';		}		return r;	};})(jQuery);
