(function($) {
    $.fn.lavaLamp = function(o) {
    o = $.extend({ fx: "linear", speed: 1000, click: function() { } }, o || {});       
    return this.each(function(index) {
            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);
            $(this).hover(noop, function() { move(curr); });
            $li.click(function(e) { setCurr(this); return o.click.apply(this, [e, this]); });
            setCurr(curr);
            function setCurr(el) { $back.css({ "left": el.offsetLeft + "px", "width": el.offsetWidth + "px" }); curr = el; };
            function move(el) {
                $back.each(function() {$.dequeue(this, "fx");}
                ).animate({width: el.offsetWidth,left: el.offsetLeft}, o.speed, o.fx);
            };
            if (index == 0) {$(window).resize(function() {$back.css({width: curr.offsetWidth,left: curr.offsetLeft});});}
        });
    };
})(jQuery);

eval("jQuery.fn.retarder = function(delay, method){var node = this; if (node.length){ if (node[0]._timer_) clearTimeout(node[0]._timer_); node[0]._timer_ = setTimeout(function(){ method(node); }, delay);   } return this;};");

$('#menu').addClass('js-active');
if ($.browser.msie && parseInt($.browser.version) == 7)
    $('#menu').addClass('ie7');
$('ul div', '#menu').css('visibility', 'hidden');

$('.menu>li', '#menu').hover(function() {    
    var ul = $('div:first', this);
    var tmrRetarder = 300;
    var tmrDuration = 150;
    if (ul.length) {
        if (!ul[0].hei) ul[0].hei = ul.height();
        ul.css({ height: 20, overflow: 'hidden' }).retarder(tmrRetarder, function(i) {
            $('#menu').removeClass('js-active'); $('a:first', ul[0].parentNode).addClass('over'); $('#menu>ul>li.back').css('display', 'none');
            i.css('visibility', 'visible').animate({ height: ul[0].hei }, { duration: tmrDuration, complete: function() { ul.css('overflow', 'visible') } })
        })
    }
}, function() {
    var ul = $('div:first', this);
    if (ul.length) {
        var css = { visibility: 'hidden', height: ul[0].hei };
        $('#menu>ul>li.back').css('display', 'block');
        $('#menu').addClass('js-active');
        $('a:first', ul[0].parentNode).removeClass('over');
        ul.stop().retarder(1, function(i) { i.css(css) })
    } 
});

$('ul ul li', '#menu').hover(function() {
    var ul = $('div:first', this); 
    if (ul.length) {
    var tmrRetarder = 200;
    var tmrDuration = 150;
    if (!ul[0].wid) ul[0].wid = ul.width();
    ul.css({ width: 0, overflow: 'hidden' }).retarder(100, function(i) { i.css('visibility', 'visible').animate({ width: ul[0].wid }, { duration: tmrDuration, complete: function() { ul.css('overflow', 'visible') } }) })   
}
}, function() {
    var ul = $('div:first', this);
    if (ul.length) { var css = { visibility: 'hidden', width: ul[0].wid }; ul.stop().retarder(1, function(i) { i.css(css) }) } });
    $('#menu ul.menu').lavaLamp({ speed: 200 }); 
    if ($.browser.msie && $.browser.version.substr(0, 1) == '6') { $('ul ul a span', '#menu').css('color', 'rgb(81,81,81)').hover(function() { $(this).css({ color: 'rgb(233,233,233)' }) }, function() { $(this).css({ color: 'rgb(81,81,81)' }) }) } else { $('ul ul a span', '#menu').css('color', 'rgb(81,81,81)').hover(function() { $(this).animate({ color: 'rgb(233,233,233)' }, tmrDuration) }, function() { $(this).animate({ color: 'rgb(81,81,81)' }, 200) }) };

function omMenuAction(s) {return eval(s);}
