/*
 *	IE-menu.js
 *	Autore: Giorgio Bernardi
 *	Metodi necessari per supportare il display e l'hide di menu html per internet explorer
 *
 *	Il menu è un albero di elenchi non numerati (<ul><li>...</li></ul>) innestati (testato con 2 livelli)
 *	All'elemento corrente viene assegnata la classe css current
*/

//Mostra la lista dei figli del nodo passato o del nodo corrente
function display_lista(obj) {
	if (obj == undefined)
		obj = this;
	obj.classNameOld = obj.className;
	obj.className ="current";
	for(i=0; i<obj.childNodes.length; i++) {
		var objChild = obj.childNodes[i];
		if (objChild.nodeName=="UL")
			objChild.style.display="block";
	}
}
//Mostra la lista dei figli del nodo passato o del nodo corrente
function hide_lista(obj) {
	if (obj == undefined)
		obj = this;
	obj.className = obj.classNameOld;
	for(i=0; i<obj.childNodes.length; i++) {
		var objChild = obj.childNodes[i];
		if (objChild.nodeName=="UL")
			objChild.style.display="none";
	}
}

//Mostra la lista dei figli del nodo passato o del nodo corrente
function set_over(obj) {
	if (obj == undefined)
		obj = this;
	obj.classNameOld = obj.className;
	obj.className ="over";
}
//Mostra la lista dei figli del nodo passato o del nodo corrente
function set_out(obj) {
	if (obj == undefined)
		obj = this;
	obj.className = obj.classNameOld;
}

function CreaMenuIE(obj){
/// <summary>
///	Crea un menu innestato in cui i nodi figli si vedono solo quando il mouse va sopra all'elemento
/// Associo gli handler ai nodi del menu per IE perché il Css non basta
/// </summary>
	if (document.all && obj.CreaMenuIE == undefined){
		obj.CreaMenuIE = true;
		var lis = obj.getElementsByTagName('li');
		for(i=0; i<lis.length; i++) {
			var objChild = lis[i];
			objChild.onmouseover = display_lista;
			objChild.onmouseout = hide_lista;
		}
	}
}

function ChangeCssClassHoverOut(obj){
/// <summary>
///	Permette anche con ie di gestire il mouse-over con classi css sugli elementi
/// Associo gli handler ai nodi del menu per IE perché il Css non basta
/// </summary>
	if (document.all && obj.checkIE == undefined)
	{
		obj.checkIE = true;
		var lis = obj.getElementsByTagName('li');
		for(i=0; i<lis.length; i++) {
			var objChild = lis[i];
			objChild.onmouseover = set_over;
			objChild.onmouseout = set_out;
		}
	}
}
