// Tree JavaScript Document

// Cambia lo stato del nodo selezionato e l'immagine relativa
function TreeNodeSwapState( node , class_open , class_close , ico , src_open , src_close)
{
	//alert(node.className +": "+class_open+","+class_close+"\n"+ ico.src + ": "+src_open+","+src_close );
	var node_state = TreeNodeCheckState( node , class_open , class_close );
	if ( node_state==true )
	{
		node.className=class_close;
		ico.src=src_close;
	} 
	else if ( node_state==false )
	{
		node.className=class_open;
		ico.src=src_open;
	}
	else
	{
		alert('TreeClass errato');
	}
}

// Restituisce lo stato del nodo attuale
// true : nodo apert
// false : nodo chiuso
// -1 : classi di verifica stato non corrette
function TreeNodeCheckState( node , class_open , class_close )
{
	//alert(node.className +": "+class_open+","+class_close);
	switch (node.className)
	{
		case class_open:
			return true;
			break;
		case class_close:
			return false;
			break;
		default:
			return -1;
			break;
	}
}

// Costruzione di una ipotetica funzione aggiuntiva applicabile al cambio di stato di un nodo
function TreeNodeChangeState( node , state )
{
	alert(	"TreeNode: "+node.id +"\n"+ 
		  	"Stato:" + state);
}

