/**
 * LavaLamp - A menu plugin for jQuery with cool hover effects.
 * @requires jQuery v1.1.3.1 or above
 *
 * http://gmarwaha.com/blog/?p=7
 *
 * Copyright (c) 2007 Ganeshji Marwaha (gmarwaha.com)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 * Version: 0.2.0
 * Requires Jquery 1.2.1 from version 0.2.0 onwards. 
 * For jquery 1.1.x, use version 0.1.0 of lavalamp
 */

(function($) {
$.fn.currentPosition = function(o) {
    o = $.extend({ fx: "linear", speed: 500, mouseover: function(){} }, o || {});

    return this.each(function() {
        var me = $(this), noop = function(){},
            $back = $('<li class="back"><div class="left"></div></li>').appendTo(me),
            $li = $("li", this), curr = $("li.current", this)[0] || $($li[0]).addClass("current")[0];

		$li.not(".back").hover(function() {
            move(this);
        }, noop);

        setCurr(curr);

        function setCurr(el) {
			var iOffsetLeft = el.offsetLeft + 5;
			var iOffsetWidth = el.offsetWidth;
			if( iOffsetWidth > 0 )
			{
				iOffsetWidth = iOffsetWidth - 10;
			}
            $back.css({ "left": iOffsetLeft+"px", "width": iOffsetWidth+"px" });
            curr = el;
        };

        function move(el) {
			var iOffsetWidth = el.offsetWidth - 10;
			var iOffsetLeft = el.offsetLeft + 5;
            $back.each(function() {
                $(this).dequeue(); }
            ).animate({
                width: iOffsetWidth,
                left: iOffsetLeft
            }, o.speed, o.fx);
        };

    });
};
})(jQuery);

