(function($) {
    $.fn.twitter = function(o) {
        var s = { username: "ubax", count: 10 };

        function relative_time(time_value) {
            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);
            if (delta < 60) {
                return 'less than a minute ago';
            } else if (delta < 120) {
                return 'about a minute ago';
            } else if (delta < (45 * 60)) {
                return (parseInt(delta / 60)).toString() + ' minutes ago';
            } else if (delta < (90 * 60)) {
                return 'about an hour ago';
            } else if (delta < (24 * 60 * 60)) {
                return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
            } else if (delta < (48 * 60 * 60)) {
                return '1 day ago';
            } else {
                return (parseInt(delta / 86400)).toString() + ' days ago';
            }
        }

        if (o) $.extend(s, o);
            return this.each(function() {
            var list = $('<ul id="twitter_update_list">').appendTo(this);
            var url = 'http://search.twitter.com/search.json?q=from%3A' + s.username + '&rpp=' + s.count + '&callback=?'

            $.getJSON(url, function(data) {
                $("#twitter_update_list").html("");
                $.each(data.results, function(i, item) {
                    list.append('<li><span>' + item.text.replace(/(\w+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+)/gi, '<a href="$1">$1</a>').replace(/[\@]+([A-Za-z0-9-_]+)/gi, '<a href="http://twitter.com/$1">@$1</a>').replace(/[\#]+([A-Za-z0-9-_]+)/gi, '<a href="http://search.twitter.com/search?q=&tag=$1&lang=all&from=ubax">#$1</a>').replace(/[&lt;]+[3]/gi, "<tt class='heart'>&#x2665;</tt>") + '</span>&nbsp;<a href="http://twitter.com/ubax/statuses/' + item.id + '" title="view tweet on twitter">' + relative_time(item.created_at) + '</a></li>');
                });
            });


        });

    };
})(jQuery);
