// derniere position connue du menu
var lastPosition = 165;

// timeouts du menu
var timeOutMenu;
var timeOutVert;

function addEvent(target,eventName,functionName)
{
	eval('target.on'+eventName+'=functionName');
}

function show()
{
	this.getElementsByTagName('ul')[0].style.visibility = 'visible';
	var currentNode = this;
	while(currentNode)
	{
		if(currentNode.nodeName == 'LI')
		{
			currentNode.getElementsByTagName('a')[0].className = 'over';
		}
		currentNode = currentNode.parentNode;
	}
}

function hide()
{
	this.getElementsByTagName('ul')[0].style.visibility = 'hidden';
	var tabA = this.getElementsByTagName('a');
	for(var i=0;i<tabA.length;i++)
	{
		tabA.item(i).className = '';
	}
}

function verticalFollow(from, to)
{
	if((from < to) && ((to - from) > 1))
	{
		from += ((1 / 2) * (to - from));
		document.getElementById("left").getElementsByTagName('div')[0].style.top = from;
		clearTimeout(timeOutMenu);
		timeOutMenu = setTimeout("verticalFollow(" + from + "," + to + ")",40);
	}
	else if((to < from) && ((from - to) > 1))
	{
		from -= ((1 / 2) * (from - to));
		document.getElementById("left").getElementsByTagName('div')[0].style.top = from;
		clearTimeout(timeOutMenu);
		timeOutMenu = setTimeout("verticalFollow(" + from + "," + to + ")",40);
	}
	else
	{
		document.getElementById("left").getElementsByTagName('div')[0].style.top = to;
	}
}

function menuFollow()
{
	var offSet;
	if(window.pageYOffset)
	{
		offSet = window.pageYOffset;
	}
	else
	{
		offSet = document.body.scrollTop;
	}
	if(offSet > 160)
	{
		verticalFollow(lastPosition, offSet + 5)
		lastPosition = offSet + 5;
	}
	else
	{
		verticalFollow(lastPosition, 165)
		lastPosition = 165;
	}
	clearTimeout(timeOutVert);
	timeOutVert = setTimeout("menuFollow()",500);
}

function initMenu(menuName)
{
	var menu = document.getElementById(menuName);
	menu.className = menuName;
	var tabLi = menu.getElementsByTagName('li');

	for(var i=0;i<tabLi.length;i++)
	{
		if(tabLi.item(i).getElementsByTagName('ul').length > 0)
		{
			tabLi.item(i).setAttribute('id',"li" + i);

			addEvent(tabLi.item(i),"mouseover",show);
			addEvent(tabLi.item(i),"mouseout",hide);
		}
	}

	menuFollow();
}
