(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-cat-parent",this)[0] || $("li.current-cat",this)[0]) || $("li.current_page_item",this)[0]) || $("li.current").addClass("current_page_item")[0];

			$li.not(".back").mouseover(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) {
				if (a.offsetLeft < 100) {
					// hello chrome
					// alert($("li.current").parent().offset().left); 
					$back.css({
						"left" : "250px",
						"width" : "72px"}
					);
				} else {
					$back.css({
						"left" : a.offsetLeft+"px",
						"width" : a.offsetWidth+"px"}
					);
				}
				
				curr = a
			};
			
			function move(a) {
				$back.each(function() {$(this).dequeue()}).animate({width:a.offsetWidth,left:a.offsetLeft},o.speed,o.fx)
			}
		})
	}
})(jQuery);
