/*
* gestion dynamique du menu horizontal
* http://www.france-mobil-home.com/
*/
var $hide_menu = function()
{
	$('#main-nav > li').removeClass('active').find('ul').hide().css('left','auto');
}

//pos gauche du début menu
var minx, maxx;
var $recalc = function()
{
	minx = $('#nav-wrapper').offset().left + 10;//margin left du menu
	maxx = $('#main-nav').outerWidth(true) - 20 + minx;//largeur du menu, -10 de roundcorner +margin gauche du au centrage
}

$(document).ready(function(){
						
	//activation d'un sous menu (survol)
	$('#main-nav > li').bind('mouseover', function(){
		
		//sous menu a activer
		var $subul = $('ul:first', this);
		
		//force l'affichage du sous menu & ajoute la classe sur son parent actif
		$subul.toggle().parent().addClass('active');
		
		/**
		positionnement dyn du sous menu par rapport a son parent
		nombre de lignes de dans ce sousmenu
		*/
		var $sub_as = $subul.find('a');
		var nblines = $subul.find('li').outerHeight(true) / $sub_as.outerHeight(true); 
				
		//necessaire de verifier la pos gauche du début menu
		//surtout après redimensionnement
		$recalc();

		if (nblines>1)
		{ //si plus d'une ligne, on cale le menu au bout a gauche
			$subul.css({ left:minx+"px", position:'absolute' });			
		}
		else 
		{ //1 seule ligne : calcule sa position par rapport au nombre d'items présents
			var sub_w = 0;
			var sub_x = $subul.offset().left;

			//additionne la largeur de chaque item de la ligne
			$sub_as.each(function(){
				sub_w += $(this).outerWidth(true);									
			});
			var sub_maxx = sub_x + sub_w;
	
			
			//si le bout droite depasse du menu : l'aligne a droite du menu.
			if ( sub_maxx > maxx) 
			{
				$subul.css
				  ({
					left:     (maxx-sub_w)+'px',
					position: 'absolute'
					});
					
			}
			
			//redimensionne le submenu li qui fait apparaitre l'ascenseur horiz
			$('li:first', $subul).css('width', sub_w+'px');
		}
		
	})
	.bind('mouseout', $hide_menu );

})
.bind('click', $hide_menu);
