jQuery.noConflict();
(function($) {
    $.fn.twitterFeed = function(options) {
        var opts = $.extend({},
        $.fn.twitterFeed.defaults, options);
        $(this).append('<ul id="twitter_update_list"></ul>');

        var loading = $('<p id="' + opts.preloaderId + '">' + opts.loaderText + '</p>');
        $(this).append(loading);
        $.getScript("http://twitter.com/javascripts/blogger.js");
        $.getScript("http://twitter.com/statuses/user_timeline/" + opts.userName + ".json?callback=twitterCallback2&count=" + opts.numTweets,
        function() {
            $(loading).remove();
            var el = $("ul#twitter_update_list");
						$("#twitter_update_list li:even").addClass('even');
            stopTicker(el);
            el.items = $("li", el).not(":lt(2)").hide().end();
            el.currentItems = {
                firstItem: 0,
                secondItem: 1
            };
            startTicker(el);
        });

        startTicker = function(el) {
            el.intervalId = setInterval(function() {
                doTick(el)
            },
            opts.delay)
        };

        stopTicker = function(el) {
            clearInterval(el.intervalId);
        };

        doTick = function(el) {
            if (el.pause) return;
            el.pause = true;
            var currentItems = el.currentItems;
            var elItems = el.items;
            var item;

            for (item in currentItems) {
                $(el.items[currentItems[item]]).fadeIn("slow",
                function() {
                    $(this).hide();
                });
            }

            el.currentItems = {
                firstItem: getNextItem(currentItems.firstItem, elItems.size()),
                secondItem: getNextItem(currentItems.secondItem, elItems.size())
            };
            currentItems = el.currentItems;

            for (item in currentItems) {
                $(elItems[currentItems[item]]).fadeIn("slow");
            }
            el.pause = false;
        };
    };

    getNextItem = function(currentItem, size) {
        return (currentItem + 2) % size;
    };

    $.fn.twitterFeed.defaults = {
        userName: null,
        numTweets: 5,
        delay: 4000,
        preloaderId: "preloader",
        loaderText: "Loading tweets...",
        slideIn: false
    };

})(jQuery);