//Variabili globali
var blFocus = false;	//Indica se il mouse e' posizionato su un sottomenu o meno

//Questa funzione visualizza i menu a tendina nascondendo gli altri
function ApriMenu(strIDMenu,objColonna)
{
	var objMenu;
	var objCoords;
	
	if (strIDMenu=="") 
		return;
	objMenu = document.getElementById(strIDMenu);
	
	//Se non trovo l'id del menu da visualizzare esco dalla funzione
	if (objMenu == null || objMenu.id.indexOf(PREFISSOMENU)<0) 
		return;
	
	//Procedo col chiudere tutti i menu eventualmente aperti
	ChiudiTuttiMenu();
	
	//Recupera coordinate menu principale
	objCoords = PrendiCoordinate(objColonna);
	
	//Visualizzo sotto menu e lo sposto sotto il menu principale
	objMenu.style.visibility="visible";
	objMenu.style.left = (objCoords.x + OFFSETORIZZONTALE)+ "px";
	objMenu.style.top  = (objCoords.y + OFFSETVERTICALE) + "px";
}

//Questa funzione nasconde un singolo sotto menu
function ChiudiMenu(strIDMenu)
{
	var objMenu;
	
	if (strIDMenu=="") 
		return;
	
	objMenu = document.getElementById(strIDMenu);
	
	if (objMenu == null || objMenu.id.indexOf(PREFISSOMENU)<0) 
		return;
	objMenu.style.visibility="hidden";
}

//Questa funzione chiude tutti i menu
function ChiudiTuttiMenu()
{
	var objTag;
	var i;
		
	objTag = document.getElementsByTagName("div");
	for (i=0;i<objTag.length;i++)
		ChiudiMenu(objTag[i].id);
}

//Questa funzione recupera le coordinate in pixel dell'elemento passato
function PrendiCoordinate(objElement)
{
	var objCoords ={x: 0, y: 0};
	
	while (objElement)
	{
		objCoords.x += objElement.offsetLeft;
		objCoords.y += objElement.offsetTop;
		objElement = objElement.offsetParent;
	}
	
	return objCoords;
}

//Questa funzione imposta il focus sul menu
function MenuSetFocus()
{
	blFocus=true;
}

//Questa funzione elimina il focus sul menu
function MenuLostFocus()
{
	blFocus=false;
}

//Questa funzione controlla se e' stato premuto un pulsante del mouse
function MouseClick(e)
{
	//Se e' stato premuto un pulsante del mouse quando il puntatore e' fuori dall'area
	//di un menu si chiudono tutti i menu eventualmente aperti
	if (!blFocus && 
		((navigator.appName == 'Netscape' && (e.which == 1 || e.which == 2 || e.wich == 3)) ||
	    (navigator.appName == 'Microsoft Internet Explorer' && (event.button == 1 || event.button == 2 || event.button == 3)))) 
			ChiudiTuttiMenu();
	return true;
}

//Questo codice serve a catturare gli eventi del click del mouse per i vari browser
document.onmousedown=MouseClick;
document.onmouseup=MouseClick;
if (document.layers) window.captureEvents(Event.MOUSEDOWN);
if (document.layers) window.captureEvents(Event.MOUSEUP);
window.onmousedown=MouseClick;
window.onmouseup=MouseClick;

