/* ************************************************************************************************* */
/* *************************** Gabarit institutionnel Version 2.2 ********************************** */
/* *** Propriete de L'universite de Montreal et de la Direction des communications et recrutement ** */
/* ************************************************************************************************* */



function umInitMenu()
{

	// 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;
	}

	// strings predefined elsewhere
	var menuId = 'um-menu-vertical';
	var ulClassName = 'um-deuxieme-niveau';
	var ulToOpenHolderId = 'um-menu-ouvert';
	var currentPageHolderId = 'um-menu-pointeur';
	var currentPageClassName = 'um-menu-pointeur';


	// 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 menu pointer
	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 submenu
	if (ulToOpen) ulToOpen.style.display = '';

	// place pointer
	if (currentPage) currentPage.className += (' ' + currentPageClassName);
}

function umOuvreMenu(ul)
{
	var menu = document.getElementById(ul);
	menu.style.display = (menu.style.display == '' ? 'none' : '');
	if (menu.blur) menu.blur();
	return false;
}

umInitMenu();



/*

 *

 * Ouvre le menu et annule comportement pour une page 

 * if global variable directionMenuOpened is set to true

 *

 * Pour le menu en haut à droite dans IE6: émule :hover sur div

 *

 */

jQuery(function($) {

	function hoverIn(el) {
		$(el).css('padding-bottom', '7px');
		var bg = $('h2',el)
			.css('background-image')
			.replace(/arrow-right/,'arrow-down');
		$('h2',el).css('background-image',bg);
		$('ul',el).css('display','block');

	}


	if (typeof directionMenuOpened == 'boolean' && directionMenuOpened) {
		$('div#um-direction-menu-vertical').each(function() {
			hoverIn(this);
			$('li',this).css('padding-bottom','6px'); // pour que le bas du menu s'aligne...
		});
		return;
	}



	if (!$.browser.msie || parseInt($.browser.version) > 6)
		return;

	$('div#um-direction-menu-vertical').hover(

		function() { // in

			hoverIn(this);

		},

		function() { // out

			$(this).css('padding-bottom', '');

			$('h2',this).css('background-image','');

			$('ul',this).css('display','');

		}

	);



});







/* équivalents css

div#um-direction-menu-vertical:hover {

	padding-bottom: 7px;

}

div#um-direction-menu-vertical:hover h2 {

	background: #fff url('../images/iu/arrow-down.gif') no-repeat 0 4px;

}

div#um-direction-menu-vertical:hover ul {

	display: block;

}

*/

