(function($) {
    
    //gestionnaire de menu principal
     $.extend($.philae, {
        menu : function () {
            
            var menu = $('#menu');
            var spacer = $('<li/>').addClass('spacer').css({});
            
            var submenu = menu.find('ul:first');
            
            submenu
            .prepend(spacer.clone())
            .prepend(spacer.clone())
            .prepend(spacer.clone())
            .prepend(spacer.clone())
            ;

            var openMenu = function (submenu) {
                
                    if (submenu.hasClass('sliding')) return;
                    submenu
                    .addClass('sliding')
                    .stop(true, true)
                    .slideDown(function() {
                         // Animation complete.
                           var submenu = $(this); 
                           submenu
                           .removeClass('sliding')
                           .addClass('open')
                           .removeClass('close');
                    });

            };
            var closeMenu = function (submenu) {
                
                if (submenu.hasClass('sliding')) return;
                    submenu
                    .addClass('sliding')
                    .stop(true, true)
                    .slideUp(function() {
                         // Animation complete.
                         var submenu = $(this);  
                         submenu
                            .removeClass('sliding')
                            .removeClass('open')
                            .addClass('close');
                    });
            };
            
            menu.hover(
                function () {
                    openMenu(submenu);
                } , function () {
                    closeMenu(submenu);
                }
            );
                
            menu.click(function(){
                if (submenu.hasClass('open')) {
                    closeMenu(submenu);
                } 
                if (submenu.hasClass('close')) {
                    openMenu(submenu);
                } 
            });
            
            $('body').bind('click', function (){
                //var submenu = menu.find('ul:first');
                if (submenu.hasClass('open')) {
                    closeMenu(submenu);
                }  
            });
            
           
            submenu.find('li a').each(function(index) {
                var menu_element = $(this);
               
                menu_element.css({ opacity: 0.7 })

                // hack IE7 !!
                if ($.browser.msie && $.browser.version.substr(0,1)<=7) {
                    menu_element.find('.main_menu_block_color').css({ 'top': '-18px' });
                }
                
                var li = menu_element.parent('li');
                if (li.hasClass('menuactive') && li.hasClass('menuactive')) {
                    li.find('.main_menu_block_color').css({'width' : '20px'});
                }
    
                menu_element.hover(
                    function () {
                        var $this = $(this);
                        $this.stop(true, true).css({ opacity: 0.9 })
                        if (li.hasClass('menuactive') && li.hasClass('menuactive')) {
                            return;
                        }
                        //$this.find('.block_color').css({'width': 20});
                        $this.find('.main_menu_block_color').animate({'width': '20px'});
                    } , function () {
                        var $this = $(this);
                        $this.stop(true, true).css({ opacity: 0.7 });
                        if (li.hasClass('menuactive') && li.hasClass('menuactive')) {
                            return;
                        }
                        //$this.find('.block_color').css({'width': 5});
                        $this.find('.main_menu_block_color').animate({'width': '5px'});
                    }
                )
            });
            
        }
        
     });
    
    $().ready(function() {
        $.philae.menu();
    });
    
})(jQuery);
