(function($) {
    $.fn.lavaLamp = function(o) {
        o = $.extend({
            fx: "linear",
            speed: 500,
            click: function() {}
        },
        o || {});
        return this.each(function() {
            var b = $(this),
            noop = function() {},
            $back = $('<li class="back"><div class="left"></div></li>').appendTo(b),
            $li = $("li", this),
            curr = $("li.current", this)[0] || $($li[0]).addClass("current")[0];
			$li.not(".back").click(function() {
                move(this)
            },
            noop);
            $(this).click(noop,
            function() {
                move(curr)
            });
        
            setCurr(curr);
            function setCurr(a) {
                $back.css({
                    "left": a.offsetLeft + "px",
                    "width": a.offsetWidth + "px"
                });
                curr = a
            };
            function move(a) {
				 $back.each(function() {
                   /* $.dequeue(this, "fx")*/
                }).animate({
                    width: a.offsetWidth,
                    left: a.offsetLeft
                },
                o.speed, o.fx)
            }
        })
    }
})(jQuery);
