var menuBOO = new Class({	
	Implements: Options,
	options: {
	 idUlMenu : 'nav',//id du <ul> principal
	 hauteurDeLigne : 35,// line-height pour alignment vertical des menus si pls lignes.
	 elTitreRubrique : '.titreRubrique',
	 classMenuActif : 'activMenu'
	 },
	initialize: function(options){
		
		var lienMenuHautNiv1 = $$('#'+this.options.idUlMenu+' li a');
		
		var size = lienMenuHautNiv1.getSize();
		var hauteur = this.options.hauteurDeLigne;
		
		// gestion de l'alignement vertical sur le menu de niveau 1
		lienMenuHautNiv1.each(function(item, index){
			if (size[index].y<hauteur){item.setStyle('line-height',''+hauteur+'px')}
		});
		

		var ulNiv1 = $(''+this.options.idUlMenu+'');
		var ulNiv2 = $$('#'+this.options.idUlMenu+' ul');
		var liNiv1 = ulNiv2.getParent('li');
		
		
		// gestion des évenements sur le menu
		liNiv1.addEvents({
			'mouseover':function(){				
				
				var currentLiNiv1 = liNiv1.indexOf(this);//position  
				var largeurMenu = ulNiv1.getSize().x;
				var largeurSousMenu = ulNiv2[currentLiNiv1].getSize().x;
				var largeurLiNiv1 = liNiv1[currentLiNiv1].getSize().x;
				var decalageNegatif =  largeurSousMenu - largeurLiNiv1;
				var encombrement =  currentLiNiv1*largeurSousMenu;
				
				if(encombrement>largeurMenu){
					ulNiv2[currentLiNiv1].setStyles({
						'margin-left':'-'+decalageNegatif+'px'						
					})
				}
				ulNiv2[currentLiNiv1].fade('in');

			},
				'mouseout':function(){
				var currentLiNiv1 = liNiv1.indexOf(this);  
				ulNiv2[currentLiNiv1].fade('out');
			}              
		});
		
		// gestion du menu en cours
		
		var TabTitreRubrik = $$(this.options.elTitreRubrique).get('text');
		
		if(TabTitreRubrik){
			var nItems = TabTitreRubrik.length;
			var titreRubrik=TabTitreRubrik[nItems-1].trim();	
			//alert(titreRubrik);	
			var tabTitres = lienMenuHautNiv1.get('text');

			if(tabTitres.contains(''+titreRubrik+'')==true ){
								
				
			var currentMenu = tabTitres.indexOf(''+titreRubrik+'');			
				
			if(lienMenuHautNiv1[currentMenu].getParent('ul').get('id')==this.options.idUlMenu){
					
				lienMenuHautNiv1.removeClass(this.options.classMenuActif);
				lienMenuHautNiv1[currentMenu].addClass(this.options.classMenuActif);
				
				
					// Gestion de l'image de fond du menu selectionné 
					var selectedMenuG = new Element ('div',{'class':'selectedMenuG','id':'selectedMenuG'});
					var selectedMenuD = new Element ('div',{'class':'selectedMenuD','id':'selectedMenuD'});
			
					selectedMenuG.inject($(document.body).getElement('#nav li a.activMenu'),'before');
					selectedMenuD.inject($(document.body).getElement('#nav li a.activMenu'),'after');
				}
				
				
			}
			


		
		}

		
		
		// Gestion des images de fond du sous menu
		var sousMenuHaut = new Element ('li',{'class':'sousMenuHaut','id':'sousMenuHaut'});
		var sousMenuBas = new Element ('li',{'class':'sousMenuBas','id':'sousMenuBas'});
		
		sousMenuHaut.inject($(document.body).getElement('#nav ul'),'top');
		sousMenuBas.inject($(document.body).getElement('#nav ul'),'bottom');
		
	}
});
