/* v.2.0. 20030919

JavaScript per l'implementazione dei menu a tendina.
Il codice gestisce l'apertura o la chiusura dei menu agendo sul valore
dell'attributo class (valore chiave: 'attivo').
Via CSS si gestisce il resto del lavoro.

Copyright (C) 2003 Gianluca Troiani - Studio .ConStile

Questo codice è rilasciato sotto licenza GPL: http://www.opensource.org/licenses/gpl-license.php

Studio .ConStile:	w.constile.org
			studio@w.constile.org
*/
var flag = false;
function chiudiTutto(menuID) {
	var liste = document.getElementsByTagName("ul");
	if (flag)
		for(var i=0;i<liste.length;i++)
			if ((liste[i].className == "menuTendinaOrizz" && liste[i].id != menuID) || (liste[i].className == "menuTendina" && liste[i].id != menuID))
				chiudiLivello(liste[i].firstChild.firstChild);
	flag = true;
}
function menu(e) {
	var menu = e.parentNode;
	var menuID = menu.parentNode.id;
	if(menuID) chiudiTutto(menuID)
	var sottoMenu = menu.childNodes[1];
	var prossimoStato = '';
	if (sottoMenu.className != "attivo") prossimoStato = "attivo";
	chiudiLivello(sottoMenu);
	sottoMenu.className = prossimoStato;
	menu.className = prossimoStato;
	if (e.className != "fir") e.className = prossimoStato;
	flag = false;
/* le seguenti tre linee di codice fissano un bug di IE5 */
		var skin = document.getElementById('skin');
		skin.disabled = true;
		skin.disabled = false;
}
function chiudiLivello(e) {
	var menu = e.parentNode;
	if (e.className != "fir") e.className = "";
	var i = menu.parentNode.firstChild;
	do {
		if(i.childNodes.length>1) {
			i.className="";
			if (i.childNodes[0].className!="fir") i.childNodes[0].className = "";
			i.childNodes[1].className = "";
					chiudiLivello(i.childNodes[1].firstChild.childNodes[0]); // ricorsione per analizzare l'albero fino alle foglie
		}
		i=i.nextSibling;
	} while(i);
	flag = false;
}
function getKeyChiudiTutto(e) {
	if (window.event.keyCode != 9) {
		chiudiTutto();
		flag = true;
	}
}
function getKeyMenu(e) {
	if (window.event.keyCode == 13) {
		menu(e);
		flag = false;
	}
}