var	LastCursorPosition="";
var	LastOpenFolder= new Array("","","");

function OpenItem(CodCat, IsLeaf){
	var Level;
	
	try
	{	
		//Memorizza il livello dell'item cliccato
		switch (CodCat.length) {
			case 2 :
			Level=0;
			break;
			case 4 :
			Level=1;
			break;
			case 6 :
			Level=2;
			break;
			default:
			Level=-1;
			break;
		} 

		//Posizionamento cursore
		if	(LastCursorPosition != ""){
			work = document.getElementById("gt" + LastCursorPosition);
			work.className ="mnu_hidden";
		}
		if	(CodCat != ""){
			work = document.getElementById("gt" + CodCat);
			work.className="mnu_visible";
		}
		//Memorizzazione ultima posizione cursore
		LastCursorPosition = CodCat;


		//Apertura Folder
		if (IsLeaf==0){
			//Chiusura di tutti i folder a partire dal livello del folder attuale
			for (i=Level;i<=2;i++){
				if (LastOpenFolder[i] != "") {
					work = document.getElementById("st" + LastOpenFolder[i]);
					work.className="mnu_nodisplay";
					LastOpenFolder[i] = "";
				}
			}

			//Apertura Folder Corrente
			work = document.getElementById("st" + CodCat);
			work.className="mnu_display";
			LastOpenFolder[Level] = CodCat;
		}
		
		//Apertura Item
		if (IsLeaf==1){
			
			//Chiusura eventuale folder aperto sullo stesso livello della foglia
			if (LastOpenFolder[Level] != "") {
				work = document.getElementById("st" + LastOpenFolder[Level]);
				work.className="mnu_nodisplay";
				LastOpenFolder[Level] = "";
			}
		}
	}
	catch(e)
	{
	}
	
}

//Function to open subfolders.
function OpenItems(cat,IsLeaf)
{
	try
	{
		switch(cat.length)
		{
			case 2:
				OpenItem(cat,IsLeaf);
				break;
			case 4:
				OpenItem(cat.substring(0,2),0);
				OpenItem(cat.substring(0,4),IsLeaf);
				break;
			case 6:
				OpenItem(cat.substring(0,2),0);
				OpenItem(cat.substring(0,4),0);
				OpenItem(cat.substring(0,6),IsLeaf);
				break;
		}
	}
	catch(e)
	{
	}
}

