(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_page_item", this)[0] || $($li[0]).addClass("current_page_item")[0];
			$li.not(".back").hover(function () {
				move(this)
			},
			noop);
			$(this).hover(noop, function () {
				move(curr)
			});
			$li.click(function (e) {
				setCurr(this);
				return o.click.apply(this, [e, this])
			});
			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);