var initMenuTop = $("#blocMenu").offset().top;
var previousScrollTop = 0;

$(document).ready(function(){
	
	//Cache tous les sous-menu
	$('#menuPrincipal ul.niveau1').hide();

	//Lors du clique sur menu niveau0, ouvre le volet niveau 1
	$('#menuPrincipal ul.niveau0>li').click(function(evt){
		$(this).toggleClass('img_minus');
		$(this).children('ul.niveau1').slideToggle('fast',function(){
			$(window).scroll();
		});

		evt.returnValue = false;
		evt.stopPropagation();
	    return false;

	});
	
	$('#menuPrincipal ul.niveau1>li').click(function(evt){
		evt.stopPropagation();
	});
	
	//Affiche le sous menu ou la page active se trouve
	$('#menuPrincipal ul.niveau1>li.selected').parent().parent().click();
	
	
	initMenuTop = $("#blocMenu").offset().top;
	
	$(window).scroll(function () {
		
		/* Le menu ne fonctionnep as avec toutes les version de IE (6,7 et 8)
		 * Le clique pour ouvrir un bloc remonte automatiquement le scroll en haut de page
		 * Ce n'est pas utilisable
		 */
		if (navigator.appName != 'Microsoft Internet Explorer') {
		
			var menuTop = $("#blocMenu").offset().top; // Haut du menu sur le document
			var menuHeight = $("#blocMenu").height(); // Hauteur du menu
			var scrollTop = $(document).scrollTop(); // Position de la scrollBar
			var windowHeight = $(window).height() - $('#piedPage').height(); //Hauteur de la fenêtre (on enlève la hauteur du pied de page)
						
			//Si le menu est plus grand que la fenêtre et que on scroll vers le bas,
			// alors le menu ne bouge pas (utilise le scrolltop précédent)
			if(menuHeight>windowHeight && (previousScrollTop<scrollTop) ) { 
					scrollTop = previousScrollTop;	
			}
			
			
			var bougeTop = scrollTop;
		
			//Force le menu a ne pas remonté plus haut que sa position initiale
			if (scrollTop < initMenuTop) {
				bougeTop = initMenuTop;
			} 
						
			previousScrollTop = scrollTop;
			
			//Déplace le menu
			$("#blocMenu").animate({marginTop:bougeTop - initMenuTop},{duration:500,  queue:false});
		}
		
	});  
	
	$(window).scroll();
	
});
