/**Variables globales**/
var gElementSelected;

/**Initialisation des actions de la page**/
window.addEvent('load', function() {
	//Initialisation des menus
	initializeMenus();
});

/**Initialisation du menu**/
function initializeMenus(){
	//Actions sur les menus
	var vMenus = $$('#menu li');
	vMenus.each(function(vMenu){
		vMenu.addEvents({
		    'mouseenter': function(event){
				eventMenu(this, true);
		    },
		    'mouseleave': function(event){
		    	eventMenu(this, false);
		    }
		});
	});	
	
	//Actions sur les ss-menu
	var vSsMenus = $$('ul.ssmenu');
	vSsMenus.each(function(vSsMenu){
		vSsMenu.addEvents({
		    'mouseover': function(event){
				vId = this.id.replace('ssmenu_', '');
				vElementA = $(vId);
				vMenu = vElementA.getParent();
				showSsMenu(this, vMenu);
		    }
		});
		vSsMenu.addEvents({
		    'mouseout': function(event){
				hideSsMenu(this);
		    }
		});
	});	
}

/**Gestion de l'evenement du menu**/
function eventMenu(pMenu, pVisible){	
	var vElementA = pMenu.getElement('a');	
	var vName = 'ssmenu_'+vElementA.id;
	//Recuperation du ssmenu
	var vSsMenu = $(vName);	
	if(vSsMenu){			
		if(pVisible){
			if(vElementA.hasClass('on')) gElementSelected=vElementA;
			vElementA.addClass('on');
			showSsMenu(vSsMenu, pMenu, true);
		}
		else hideSsMenu(vSsMenu);
	}
}

/**Affichage du sous-menu**/
function showSsMenu(pSsMenu, pMenu, pFlag){	
	//Position du menu
	var vPosition = pMenu.getPosition();	
	//Taille du menu
	vPositionX = vPosition.x-3;
	vPositionY = vPosition.y+27;
	//Affichage
	if(pFlag){
		pSsMenu.setStyles({
				'left':vPositionX,
				'top':vPositionY,
				'opacity':0,
				'display':'block'});
		pSsMenu.fade(1);
	}else {
		var vElementA = pMenu.getElement('a');
		vElementA.addClass('on');
		pSsMenu.setStyle('display', 'block');
	}
}

/**Masque le ss-menu**/
function hideSsMenu(pSsMenu){
	pSsMenu.setStyle('display', 'none');
	vId = pSsMenu.id.replace('ssmenu_', '');
	vElementA = $(vId);
	if(vElementA && ( (gElementSelected && gElementSelected!=vElementA) || !gElementSelected)) vElementA.removeClass('on');
}


