(function($){
    $(document).ready(function(){
        if ($('.nav').length) {
            var main = $('.nav a:not(.sub-menu a)'),
            div = main.parent(),
            sub = $('.sub-menu');
            
            main.bind('mouseenter',function(){
                var $this = $(this);
                
                div.removeClass('fixed');
                sub.hide();
                
                $this.parent().addClass('fixed');
                $this.nextAll('.sub-menu').show();
            });
            
            sub.each(function(){
                var $this = $(this),
                parent = $this.parent();
                
                $this.css({
                    width:parent.innerWidth(),
                    top:parent.innerHeight()-10
                });
            });
            
            div.bind('mouseleave',function(){
                div.removeClass('fixed');
                sub.hide();
            });
        }
        else {
            var main = $('#menu a:not(.sub-menu a)'),
            li = main.parent(),
            parent = $('#menu'),
            sub = $('.sub-menu');
            
            main.bind('mouseenter',function(){
                var $this = $(this);
                
                li.removeClass('hover');
                sub.hide();
                
                $this.parent().addClass('hover');
                $this.nextAll('.sub-menu').show();
            });
            
            sub.each(function(){
                var $this = $(this),
                parent = $this.parent();
                
                $this.css({
                    width:parent.innerWidth(),
                    top:parent.innerHeight()-10
                });
            });
            
            parent.bind('mouseleave',function(){
                if ($('sub-menu:visible').length) {
                    return;
                }
                
                li.removeClass('hover');
                sub.hide();
            });
            
            (function(){
                var args_len = arguments.length,
                cache = [];
                
                for (var i = args_len; i--;) {
                    var cacheImage = document.createElement('img');
                    cacheImage.src = arguments[i];
                    cache.push(cacheImage);
                }
            }('/images/legalhub_theme/menu/menu-hover.png','/images/legalhub_theme/menu/menu-first-hover.png','/images/legalhub_theme/menu/menu-last-hover.png'));
        }
    });
}(jQuery));
