var actionMenu = false;
function menu_cache() {
	if (actionMenu) {
		
		cTD  = document.getElementById('menu').getElementsByTagName('TD');
		for (var i = 0; i < cTD.length; i++) {
			YAHOO.util.Dom.removeClass(cTD[i], 'hover');
		}
		cUL = document.getElementById('menu').getElementsByTagName('UL');
		for (var i = 0; i < cUL.length; i++) {
			if (YAHOO.util.Dom.getStyle(cUL[i], 'display') != 'none') {
				for (var j = 0; j < cUL[i].childNodes.length; j++) {
					if (cUL[i].childNodes[j].nodeName == 'LI') {
						YAHOO.util.Dom.setStyle(cUL[i].childNodes[j], 'position', 'static');
						YAHOO.util.Dom.removeClass(cUL[i].childNodes[j].getElementsByTagName('A')[0], 'hovered');
					}
				}
				YAHOO.util.Dom.setStyle(cUL[i], 'display', 'none');
				YAHOO.util.Dom.removeClass(cUL[i].parentNode.getElementsByTagName('A')[0], 'hovered');
			}
			YAHOO.util.Dom.setStyle(cUL[i].getElementsByTagName('OL'), 'display', 'none');
		}
	}
	actionMenu = false;
}
function menu_out() {
	actionMenu = true;
	setTimeout(menu_cache, 2000);
}
function menu_initialise() {
	
	try {
		var cA = document.getElementById('menu').getElementsByTagName('A');
		for (var i = 0; i < cA.length; i++) {
			if (cA[i].parentNode.tagName == 'TD') {
				cA[i].parentNode.onmouseover = menu_montre;
				cA[i].parentNode.onmouseout = menu_out;
				// cA[i].onmouseover = menu_montre;
				// cA[i].href = '#';
			}
			else {
				cA[i].onmouseover = menu_montre;
				cA[i].onmouseout = menu_out;
			}		
		}			
	} catch (ex) {
		// FROM BO
	}
}
function menu_montre() {
	actionMenu = true;
	menu_cache();
	try {
		var ol, ul;
		var td = this;	
		if  (td.tagName == 'TD') {
			while (td.tagName != 'TABLE') {
				td = td.parentNode; // Gestion spécifique double table.
			}
		}
		
		while (td.tagName != 'TD') {
			if (td.tagName == 'LI') {
				ol = td.getElementsByTagName('OL')[0];
				YAHOO.util.Dom.setStyle(td, 'position', 'relative');
			}
			td = td.parentNode;
		}
		
		YAHOO.util.Dom.addClass(td.getElementsByTagName('TD')[0], 'hover');
		YAHOO.util.Dom.addClass(td.getElementsByTagName('A')[0], 'hovered');
		
		ul = td.getElementsByTagName('UL')[0];
		YAHOO.util.Dom.setStyle(ul, 'display', 'block');
		var regionU = YAHOO.util.Dom.getRegion(ul);
		var regionT = YAHOO.util.Dom.getRegion(td);
		
		YAHOO.util.Dom.setStyle(ul, 'top', "10px");
		
		if (regionT.left + (regionU.right - regionU.left) > YAHOO.util.Dom.getViewportWidth()) {
			YAHOO.util.Dom.setStyle(ul, 'left', (YAHOO.util.Dom.getViewportWidth() - (regionU.right - regionU.left) - 5) + "px");
		}
		else {
			YAHOO.util.Dom.setStyle(ul, 'left', (regionT.left-document.getElementById("bandeauHautBis").offsetLeft) + "px");
		}

		if (ol) {
			var li = ol.parentNode;
			YAHOO.util.Dom.addClass(li.getElementsByTagName('A')[0], 'hovered');
			
			YAHOO.util.Dom.setStyle(ol, 'display', 'block');
			var regionO = YAHOO.util.Dom.getRegion(ol);
			if (regionU.left + (regionO.right - regionO.left) + 90 > YAHOO.util.Dom.getViewportWidth()) {
				YAHOO.util.Dom.setStyle(ol, 'left', "-90px");
			}
			else {
				YAHOO.util.Dom.setStyle(ol, 'left', "160px");
			}
		}
	}
	catch (e) {
		alert("Erreur menu_montre\n" + e.message);
	}
}
addEventLst(window, 'load', menu_initialise);

function show(id) {
	var ol = document.getElementById('li_' + id).getElementsByTagName('OL')[0];
	if (ol) {
		ol.style.display = (ol.style.display != 'none') ? 'none' : 'block';
	}
}

