
  /*****************************************************
  Deuxième script
  ******************************************************/


function initMenu() {

	// abort if old browser
	if (!document.getElementById || !document.getElementsByTagName) return;

	function getToRightNode(ref) {
		if (!ref.childNodes || typeof ref.childNodes.length != 'number') return false;
		// we're looking for the first text node
		for (var i = 0; i < ref.childNodes.length; i++) {
			if (Number(ref.childNodes[i].nodeType) == 3) return i;
		}
		return false;
	}

  /*****************************************************
  Pour le menu vertical ...
  ******************************************************/

	// strings predefined elsewhere
	var menuId = 'menu-vertical';
	var ulClassName = 'deuxieme-niveau';
	var ulToOpenHolderId = 'menu-ouvert';
	var currentPageHolderId = 'page-courante';
	var currentPageClassName = 'page-courante';
	var currentUlClassName = 'page-courante-ul';

	// gather info to open submenu
	var ulToOpenId = '';
	var ulToOpenIdHolder = document.getElementById(ulToOpenHolderId);
	if (ulToOpenIdHolder && getToRightNode(ulToOpenIdHolder) !== false) {
		ulToOpenId = ulToOpenIdHolder.childNodes[getToRightNode(ulToOpenIdHolder)].nodeValue.replace(/\s/g,'');
		ulToOpenIdHolder.style.display = 'none';
	}

	// gather info for current
	var currentPageId = '';
	var currentPageHolder = document.getElementById(currentPageHolderId);
	if (currentPageHolder && getToRightNode(currentPageHolder) !== false) {
		currentPageId = currentPageHolder.childNodes[getToRightNode(currentPageHolder)].nodeValue.replace(/\s/g,'');
		currentPageHolder.style.display = 'none';
	}

	// get objects
	var currentPage = document.getElementById(currentPageId);
	var ulToOpen = document.getElementById(ulToOpenId);
	var menu = document.getElementById(menuId);
	if (!menu) return;

	// close all submenus
	for (var i = 0, ul; ul = menu.getElementsByTagName('ul')[i]; i++) {
		if (ul.className && ul.className == ulClassName) ul.style.display = 'none';
	}

	// open current submenu
	if (ulToOpen) {
		ulToOpen.style.display = '';
		document.getElementById(ulToOpenId.replace(/-ul/,'')).className += (' ' + 'ouvert');
	}

	// style current
	if (currentPage) currentPage.className += (' ' + currentPageClassName);
  if (ulToOpen) ulToOpen.parentNode.getElementsByTagName('a')[0].className += (' ' + currentUlClassName);


  /*****************************************************
  Pour le menu horizontal ...
  ******************************************************/

	// strings predefined elsewhere
	var menuId = 'menu-principal';
	var currentPageHolderId = 'menu-horizontal-courant';
	var currentPageClassName = 'menu-horizontal-courant';

	// gather info for current
	var currentPageId = '';
	var currentPageHolder = document.getElementById(currentPageHolderId);
	if (currentPageHolder && getToRightNode(currentPageHolder) !== false) {
		currentPageId = currentPageHolder.childNodes[getToRightNode(currentPageHolder)].nodeValue.replace(/\s/g,'');
		currentPageHolder.style.display = 'none';
	}

	// get objects
	var currentPage = document.getElementById(currentPageId);
	var menu = document.getElementById(menuId);
	if (!menu) return;

	// style current
	if (currentPage) currentPage.className += (' ' + currentPageClassName);

}

function ouvreMenu(ul) {
	var clicked = document.getElementById(ul.replace(/-ul/,''));
	var menu = document.getElementById(ul);
	if (menu.style.display == '') {
		menu.style.display = 'none';
		clicked.className = clicked.className.replace(/ouvert/, '');
		clicked.className = clicked.className.replace(/ /, '');
	} else {
		menu.style.display = '';
		clicked.className += (' ' + 'ouvert');
	}
	if (menu.blur) menu.blur();
	return false;
}

initMenu();
