var menu_up = function (el)
{
	var ulheight = jQuery(el).children("ul.nav2").height()+jQuery(el).children("a:first").height()+1;
	var h = jQuery(el).children("ul.nav2").height();
	jQuery(el)
		.stop().animate({
			top: "-"+h+"px",
			height: (ulheight)+"px"
		}, 100, 'linear',
		function()
		{
			jQuery(el).css("overflow", "visible");
		});
};

var menu_down = function (el)
{
	jQuery(el).css("overflow", "hidden");
	jQuery(el)
	.stop().animate({
		top: "-7px",
		height: (jQuery(el).children("a:first").height()+8)+"px"
	}, 2000);
};

jQuery(document).ready(function()
{
	jQuery("#menuprincipal").css({
		'top'		: '288px'
	}).find(".block-menu").css({
		'overflow'	: 'hidden',
		'height'	: '40px',
		'top'		: '-7px',
		'bottom'	: 'auto'
	}).find('ul').css({
		'position'	: 'absolute'
	});
	
	var li_parent = 0;
	prev_dom_element = null;
	prev_dom_sub_element = null;
	
	jQuery(".block-menu").each(function(){
		if (!jQuery("a.titre-nav", jQuery(this)).hasClass("current")){
			jQuery(this).bind( "mouseenter", function(){ 
				menu_up(this); 
			});
			jQuery(this).bind("mouseleave", function(){ 
				menu_down(this); 
			});
		}else{
			menu_up(this);
		}
	});
	
	jQuery("#nav .hasSsMenu")
		.bind("mouseenter",function(){
			jQuery(".nav3", jQuery(this)).fadeIn(400);
		})
		.bind("mouseleave", function(){
			jQuery(".nav3", jQuery(this)).stop(false, true).hide();
		});					
		
	jQuery("#nav a")
		.bind("focus",function(){
			var el = jQuery(this);
			if (el.parent().parent().hasClass('nav3')) {
				
			} else if (el.parent().parent().hasClass('nav2')) {
				if(el.parent().parent().parent().css('overflow') == 'hidden' ){
					el.parent().parent().parent().trigger('mouseenter');
				}
				if( !jQuery(el).parent().hasClass('hasSsMenu') ){
					jQuery(".nav3", jQuery(el).parent().parent()).stop(false, true).hide();
				}else if( jQuery(el).parent().prev().hasClass('hasSsMenu') || jQuery(el).parent().next().hasClass('hasSsMenu') ){
					jQuery(".nav3", jQuery(el).parent().parent()).stop(false, true).hide();
				}
				if (el.parent().hasClass('hasSsMenu')) {
					el.parent().trigger('mouseenter');
				}
			} else {
				jQuery("#nav .hasSsMenu").trigger('mouseleave');
				jQuery(".block-menu").trigger('mouseleave');
				el.parent().trigger('mouseenter');
			}
		})
		jQuery('#zonerecherche').bind("focus", function(){
			jQuery(".block-menu").trigger('mouseleave');
		});
		
		jQuery(document).keyup(function(){
			if( document.activeElement.tagName.toLowerCase() == 'object' ){
				document.activeElement.blur();
			}
		});
});

