<!--

plus	= new Image(9,9); plus.src	= "images/icoplus.gif";
less 	= new Image(9,9); less.src	= "images/icoless.gif";
none 	= new Image(9,9); none.src	= "images/iconone.gif";

// numero massimo delle voci gestite in ogni nodo
var maxvoci = 1;	// valore di default indicativo poi valorizzato in modo reale
var voce = '';
var idvoce = '';


// funzione di gestione del nodo
function cngNodo(id) {
	var n = 0;
	var nodo = 'n' + id;
	var icona = 'ico' + id;
	var stato = 'st' + id;
	var figlio = 0;
	maxvoci = document.alberoMax.nodomax.value;

	// apri il nodo
	if (document.forms["albero" + id].elements[stato].value == "chiuso") {
		// cambia icona e stato del nodo
		document.images [icona].src = less.src;
		document.forms["albero" + id].elements[stato].value = "aperto";

		// visualizzo i figli, se esistono
		for (n=1; n<maxvoci; n++) {
			voce = nodo + '-' + n;
			idvoce = id + '-' + n;
			if (document.all[voce]) {
				document.all[voce].style.display = "block";
				// tolgo l'icona se questo figlio non ha altri figli
				insVuoto(idvoce);
				// esiste almeno un figlio
				figlio = 1;
			}
		}
		if (figlio==0) {
			insVuoto(id);
		}
	}
	// chiudi il nodo
	else {
		chiudiNodo(id);
		insVuoto(id);
	}
	return;
}


// funzione per chiudere un nodo e tutto il sottoalbeto dei nodi figli, se esistono
// funzione ciclica che si autorichiama
function chiudiNodo(id) {
	var n = 0;
	var nodo = 'n' + id;
	var icona = 'ico' + id;
	var stato = 'st' + id;
	maxvoci = document.alberoMax.nodomax.value;

	document.images [icona].src = plus.src;
	document.forms["albero" + id].elements[stato].value = "chiuso";

	for (n=1; n<maxvoci; n++) {
		voce = nodo + '-' + n;
		idvoce = id + '-' + n;
		if (document.all[voce]) {
			document.all[voce].style.display = "none";
			chiudiNodo(idvoce);
		}
	}
	return;
}


// funzione per rimuovere l'icona quando la voce in argomento non ha figli
function insVuoto(id) {
	var n = 0;
	var nodo = 'n' + id;
	var icona = 'ico' + id;
	var stato = 'st' + id;
	var figli = 0;
	maxvoci = document.alberoMax.nodomax.value;

	for (n=1; n<maxvoci; n++) {
		voce = nodo + '-' + n;
		if (document.all[voce]) {
			figli = 1;
		}
	}
	if (figli == 0) {
		document.images [icona].src = none.src;
	}
	return;
}


/* funzioni non usate
function startAlbero(id) {
	var i = 0;
	elementi = id.split("-");
	var nuovoid = elementi[0];
	cngNodo(nuovoid);

	for (i=1; i<elementi.length; i++) {
		nuovoid = nuovoid + "-" + elementi[i];
		cngNodo(nuovoid);
	}
}

function sopraNodo(testo) {
	window.status = testo; return true;
}
*/

//-->
