var tab_ville = new Array("bruxelles","parismode","parishome","newyork");
var tab_ville_effects = {};
var tab_ville_to_close = {};
var tab_ville_to_open = {};

var open_menu = function( el ) {
    if ( el.offsetHeight == 0 ) {
        tab_ville_to_open[ el.className ]  = false;
        tab_ville_effects[ el.className ].start({
            'width': 1010,
            'height': 280
        })
    }
}

var close_menu = function( el ) {
    if ( el.offsetHeight == 280 ) {
        tab_ville_to_close[ el.className ] = false;
        tab_ville_to_open[ el.className ]  = false;
        tab_ville_effects[ el.className ].start({
            'width': 1010,
            'height': 0
        });
    }
}

window.addEvent('domready', function() {

    // Pour chaque ville
    for(var j=0; j<tab_ville.length; j++) {
        
        // On applique la même hauteur à chaque sous-niveau du menu
        var selecteur_niveau = ".menu_principal ."+tab_ville[j]+" #sous_menu_principal_niveau";
        var i = 1;
        while ($E(selecteur_niveau + i) != null) {
            $$(selecteur_niveau + i +" .menu_principal_niveau1_titre_partie").setStyle('height',
                $E(selecteur_niveau + i).getStyle('height').toInt()
            );
            i++;
        }
        
        // Instancie les effets de déploiement
        if ( $E(".menu_principal ." + tab_ville[j]) != null ) {
            tab_ville_effects[ tab_ville[j] ] = $E(".menu_principal ." + tab_ville[j]).effects({
                wait: false,
                duration: 800,
                transition: Fx.Transitions.Quart.easeOut,
                onComplete: function( el ){
                    if ( el.scrollHeight > 0 ) {
                        if( tab_ville_to_close[ el.className ] ) {
                            close_menu( el );
                        }
                    } else {
                        if( tab_ville_to_open[ el.className ] ) {
                            open_menu( el );
                        }
                    }
                }
            });
            
            // Déploiement du menu de la ville
            $$("#menu_prehome ." + tab_ville[j]).addEvent('mouseenter', function(){
                var className = this.className.substr("bloc_menu infos_ville_02 ".length);
                tab_ville_to_open[ className ]  = true;
                tab_ville_to_close[ className ] = true;
                open_menu( $E(".menu_principal ." + className) );
            });
            
            // On le garde déploiyé si l'utilisateur survol le menu de la ville 
            $$(".menu_principal ." + tab_ville[j]).addEvent('mouseenter', function(){
                tab_ville_to_open[ this.className ]  = false;
                tab_ville_to_close[ this.className ] = false;
            });
            
            // Repli du menu de la ville
            $$(".menu_principal ." + tab_ville[j]).addEvent('mouseleave', function(){
                tab_ville_to_close[ this.className ] = true;
                tab_ville_to_open[ this.className ]  = false;
                close_menu(this);
            });
        }
    }
});

