/**
* Fonctions nécessaires à la gestion de la navigation
**/
var timeout    = 500;
var closetimer = 0;
var ddmenuitem = null;
var requiredMenu = 0;
var menubaseId = null;


function menu_open()
{
	menu_canceltimer();
	//menu_close();
	if($j(this).attr('id')) {
		if(ddmenuitem) // déjà un menu d'ouvert'
		{
			requiredMenu = $j(this);
			menu_fadeout_fadein();
		}
		else
			menu_fadein($j(this),500);
	}
/*
	$j(this).children('a').toggleClass('hover');
	if($j(this).attr('id'))
	{

		var ddId = $j(this).attr('id').replace('menu','sousmenu');
		ddmenuitem = $j('#'+ddId);
		console.log(ddmenuitem.attr('id'));
		var width = 0 ;
		ddmenuitem.children('li').each(function(){
			width += $j(this).width();
		});		
		//console.log(ddmenuItem.width());
		//console.log($j(this).position().left);		
		if( (ddmenuitem.width()+$j(this).position().left) > 1022){
			ddmenuitem.css('right',0);
			console.log('plop');
		} else {
			ddmenuitem.css('left',$j(this).position().left);
		}		
		//ddmenuItem.css('left',$j(this).position().left);
		ddmenuitem.css('width',width);
		ddmenuitem.css('visibility','visible');
		ddmenuitem.fadeTo(1000,1);
	}
*/
}

function menu_fadein(el,transitionTime) {
	var ddId = el.attr('id').replace('menu','sousmenu');
	if(ddmenuitem && ddId == ddmenuitem.attr('id')) return;
	ddmenuitem = $j('#'+ddId);
	
	var width = 0 ;
	ddmenuitem.children('li').each(function(){
		width += $j(this).width();
	});
	ddmenuitem.css('width',width);
	if( (width+el.position().left) > 1022){
		ddmenuitem.css('right',0);

	} else {
		ddmenuitem.css('left',el.position().left);
	}
	
	ddmenuitem.css('visibility','visible');
	ddmenuitem.fadeTo(transitionTime,1);
	el.children('a').toggleClass('hover')
}

function menu_fadeout_fadein() {
  try
  {
  	if(requiredMenu.attr('id').replace('menu','sousmenu') == ddmenuitem.attr('id')) return;
	ddmenuitem.fadeTo(500,0,function(){
		if(ddmenuitem){ddmenuitem.css('visibility','hidden');
		get_mainnav(ddmenuitem.attr('id')).children('a').toggleClass('hover')
		menu_fadein(requiredMenu,500);
		}
	});

  }
  catch(err)
  {
  //Handle errors here
  }
}
function menu_close()
{
	if(ddmenuitem == null) return;
	if(menubaseId && menubaseId.replace('menu','sousmenu') == ddmenuitem.attr('id')) return;
	get_mainnav(ddmenuitem.attr('id')).children('a').toggleClass('hover')
	if(ddmenuitem)
	{
		var ref = ddmenuitem;
		ddmenuitem.fadeTo(500,0,function(){
			ref.css('visibility', 'hidden');
			if(menubaseId)
				menu_fadein($j('#'+menubaseId));
		});
		ddmenuitem = null;
		
	}
}
function menu_timer()
{
	closetimer = window.setTimeout(menu_close, timeout);
}

function get_mainnav(sousnavId) {
	return $j('#'+sousnavId.replace('sousmenu','menu'));
}

function menu_canceltimer()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

function menu_init()
{
	if(menubaseId) menu_fadein($j('#'+menubaseId));
}
