/* 
 * js de contrôle de la barre principale de navigation
 */


var _nav =   {

    current:   {

        unset:   function() {
            
            $('#ssnav_' + $('.nav_curr').data('host'))
                .hide()
            ;
            $('.nav_curr')
                .removeClass('nav_on')
                .addClass('nav_off')
                .removeClass('nav_curr')
            ;
        },

        set:    function(i_selector) {

            $('#nav .nav_default')
                .addClass('nav_off')
            ;

            $(i_selector)
                .removeClass('nav_off')
                .addClass('nav_on')
                .addClass('nav_curr')
            ;
            
            $('#ssnav_' + $(i_selector).data('host')).assset()
                .show()
            ;
        },

        none:   function() {
            
            $('#nav .nav_default')
                .removeClass('nav_off')
                .addClass('nav_curr')
            ;
            
            $('#ssnav_' + $('#nav .nav_default').data('host'))
                .show()
            ;
        }
    },

    init:   {

        _:  function() {
            this.over();
        },

        over:   function() {

            //  stockage des hosts par lien thématique
            $('#nav .nav_on, #nav .nav_off, #nav .nav_default')
                .each(function() {

                    $(this)
                        .data(
                            'host',
                            $(this).attr('id')
                                .replace(/^mag_(.+)$/, '$1')
                                .replace('.', '\\.')
                        )
                    ;
                })
            ;

            $('#nav .nav_on')
                .addClass('nav_base')
                .addClass('nav_curr')
            ;

            $('#nav .nav_on, #nav .nav_off, #nav .nav_default')
                
                .mouseover(function() {
                        
                        //  off de l'ancien
                        _nav.current.unset();

                        //  on du nouveau
                        _nav.current.set(this);
                             
                })
            ;

            $('#nav')
                //  colorisation du lien de la chaîne thématique par défaut en rouge lors d'un rollover de la ssnav
                .mouseover(function() {
                    
                    if ($('.nav_curr.nav_default').isset())
                    {
                        _nav.current.set('.nav_default');
                    }
                })
                //  remise à zéro de la barre de nav (chaîne thématique actuelle ou celle par défaut)
/*                .mouseleave(function() {
                    
                    //_nav.current.unset();
                    
                    if ($('.nav_base').isset())
                    {
                        _nav.current.set('.nav_base');
                    }
                    else
                    {
                        _nav.current.none();
                    }
                })
            ;
*/
            //  remise à zéro de la barre de nav à chaîne thématique par défaut s'il n'y a pas de chaîne actuelle
            _nav.current.none();
            
        }
    }
};

_nav.init._();

