
/* Initialisation du menu principale */
var _menuMaxMargin = 7;
var _menuInterval = 20;
var _menuSpeed = 1;
var _selectedMenu = null;
var _cursorOnMenu = false;
var _stopMenu = false;

setSelectedMenu = function (id) {
	_selectedMenu = id;
}

initMenu = function () {
	if (!_selectedMenu)
		_selectedMenu = 0;
		
	var listMenu = Array ();
	var menu     = document.getElementById ('menu');
	
	// Récupérer tous les éléments <a> contenu dans 'menu'
	var l = 0;
	for (var m in menu.childNodes)
		if (menu.childNodes[m].href) {
			menu.childNodes[m].id = 'menu'+'_a'+l;
			listMenu.push (menu.childNodes[m]);
			++l;
		}
	
	// Pour tous les éléments <a> du menu
	for (var i in listMenu) {
		var elem = listMenu[i];
		
		// Trouver la première image <img> contenu dans l'élément
		// Quand trouvé, lui assigner un id
		for (var j in elem.childNodes)
			if (elem.childNodes[j] == '[object HTMLImageElement]') {
				elem.childNodes[j].id = listMenu[i].id+'i';
		
				elem.childNodes[j].style.marginBottom = '0px';
				elem.childNodes[j].style.marginTop    = '0px';
				
				if (_selectedMenu == i) {
					document.getElementById ('menu_slide').style.left = elem.childNodes[j].offsetLeft + 'px';
					document.getElementById ('menu_slide').style.width = elem.childNodes[j].width + 'px';
				}
				
				break;
			}
			
		// Créer les événements utilisateurs
		elem.onmouseover = function onmouseover(event) {
			_cursorOnMenu = true;
			_menuTextAnimUp (this.id+'i');
			_menuAnimSlide (this.id+'i');
		}
		elem.onmouseout = function onmouseout(event) {
			_cursorOnMenu = false;
			_menuTextAnimDown (this.id+'i');
			
			setTimeout ('_menuAnimSlide (\'menu_a'+_selectedMenu+'i\', true)', 1000);
		}
		
		elem.onclick = function onclick(event) {
			_stopMenu = true;
		}
	}
}

_menuTextAnimUp = function (id) {
	if (_stopMenu)
		return;
		
	var elem = document.getElementById (id);
	var currentMarginB = parseInt (elem.style.marginBottom);

	clearInterval (elem.interval);
	
	if (currentMarginB < _menuMaxMargin) {
		elem.style.marginBottom = currentMarginB + _menuSpeed*2 + 'px';
		elem.style.marginTop = parseInt (elem.style.marginTop) - _menuSpeed + 'px';
		elem.interval = setInterval ('_menuTextAnimUp(\''+id+'\')', _menuInterval);
	}
}

_menuTextAnimDown = function (id) {
	if (_stopMenu)
		return;
		
	var elem = document.getElementById (id);
	var currentMarginB = parseInt (elem.style.marginBottom);

	clearInterval (elem.interval);
	
	if (currentMarginB > 0) {
		elem.style.marginBottom = currentMarginB - _menuSpeed*2 + 'px';
		elem.style.marginTop = parseInt (elem.style.marginTop) + _menuSpeed + 'px';
		elem.interval = setInterval ('_menuTextAnimDown(\''+id+'\')', _menuInterval);
	}
}

_menuAnimSlide = function (id, isForced) {
	if (_stopMenu)
		return;
		
	var elemImg   = document.getElementById (id);
	var elemSlide = document.getElementById ('menu_slide');
	
	if (isForced && _cursorOnMenu)
		return;
	
	clearInterval (elemSlide.interval);
	
	var dist = elemImg.offsetLeft - parseInt (elemSlide.style.left);
	var width = elemImg.width - parseInt (elemSlide.style.width);
	
	var deltaDist = (dist > -10 && dist < 10) ? (dist<0 ? -1 : 1) : dist/10;
	var deltaWidth = (width > -10 && width < 10) ? (width<0 ? -1 : 1) : width/10;
	
	//document.getElementById ('_tmp').innerHTML = 'deltaDist = '+elemImg.offsetLeft+' - '+parseInt (elemSlide.style.left)+' = '+dist+'<br />deltaWidth = '+elemImg.width+' - '+parseInt (elemSlide.style.width)+' = '+width;
	
	elemSlide.style.left = parseInt (elemSlide.style.left) + deltaDist + 'px';
	
	if (Math.abs (width) > 1)
	elemSlide.style.width = parseInt (elemSlide.style.width) + deltaWidth + 'px';
	
	if (Math.abs (dist) > 1)
		elemSlide.interval = setInterval ('_menuAnimSlide (\''+id+'\')', 20);
}
/* Initialisation du menu principale */
