var hauteurs = new Array; // hauteur des différents sous menus
var largeurs = new Array; // largeur du sous menus
var fxs_afficher = new Array; // l'effet sur chacun des sous menus
var fxs_cacher = new Array; // l'effet sur chacun des sous menus
var fxs_transparent = new Array;
var fxs_opaque = new Array;
	
Menu = {
	afficherSousMenu: function(i) {
		fxs_cacher[i].stop();
		fxs_afficher[i].start(hauteurs[i]);
	},
	afficherSousRetour: function(i) {
		fxs_afficher[i].stop();
		fxs_cacher[i].start(largeurs[i]);
	},
	cacherSousMenu: function(i) {
		fxs_afficher[i].stop();
		fxs_cacher[i].start(0);
	},
	rendreSousMenuTransparent: function(i,j) {
		fxs_opaque[i][j].stop(0);
		fxs_transparent[i][j].start(0.7);
	},
	rendreSousMenuOpaque: function(i,j) {
		fxs_transparent[i][j].stop(0);
		fxs_opaque[i][j].start(1);
	}
}

window.addEvent( 'load', function() {
	$$(".deroulant").each( function(element, i) {
		if ( element.getElements("ul").length > 0 ) {
			var sous_menu = element.getElements("ul")[0];
			hauteurs[i] = sous_menu.getSize().size.y;
			fxs_afficher[i] = new Fx.Style(sous_menu, 'height', {transition: Fx.Transitions.Quad.easeOut, duration: 250, wait: false});
			fxs_cacher[i] = new Fx.Style(sous_menu, 'height', {transition: Fx.Transitions.Quad.easeIn, duration: 150, wait: false});
			fxs_afficher[i].set(0);
			sous_menu.setOpacity(1);
		
			element.addEvent( 'mouseenter', Menu.afficherSousMenu.pass(i));
			element.addEvent( 'mouseleave', Menu.cacherSousMenu.pass(i));

			sous_menu.getElements('a').each( function ( lien, j) {
				if ( 0 == j ) {
					fxs_transparent[i] = new Array;
					fxs_opaque[i] = new Array;
				}
				fxs_transparent[i][j] = new Fx.Style( lien, 'opacity', { transition: Fx.Transitions.Quad.easeOut, duration: 300, wait: false } );
				fxs_opaque[i][j] = new Fx.Style( lien, 'opacity', { transition: Fx.Transitions.Quad.easeOut, duration: 300, wait: false } );
				lien.addEvent( 'mouseenter', Menu.rendreSousMenuOpaque.pass([i,j]) );
				lien.addEvent( 'mouseleave', Menu.rendreSousMenuTransparent.pass([i,j]) );
				lien.setOpacity(0.7);
			});
		}
	})

	
	var k = fxs_afficher.length;
	if ( $("retour") ) {
		var element = $("retour");
		var sous_menu = $("retour_menu");
		largeurs[k] = sous_menu.getSize().size.x;
		fxs_afficher[k] = new Fx.Style(sous_menu, 'width', {transition: Fx.Transitions.Quad.easeOut, duration: 150, wait: false});
		fxs_cacher[k] = new Fx.Style(sous_menu, 'width', {transition: Fx.Transitions.Quad.easeIn, duration: 250, wait: false});
		fxs_afficher[k].set(0);
		sous_menu.setStyle("visibility", "visible")
		element.addEvent( 'mouseenter', Menu.afficherSousRetour.pass(k));
		element.addEvent( 'mouseleave', Menu.cacherSousMenu.pass(k));
	}
})

