


function setUpMenu() {

	/* La funzione viene eseguita solo se il menu è presente. */
	if(document.getElementById("mainMenu") == null) return false;

	/* Aggiunta degli eventi per la visualizzazione dei sotto elementi. */
	var elements = document.getElementById("mainMenu").getElementsByTagName("li");
	
	for (var i = 0; i < elements.length; i++) {
		if(elements[i].parentNode.parentNode.id == "mainMenu")  {
		
			/* L'elemento cerca (se esiste) ha una gestione propria. */
			//alert("id:" + elements[i].id + ", onmoouseover:" . elements[i].onmouseover);
		
			elements[i].onmouseover = inEventHandler;
			elements[i].onmouseout = outEventHandler;
			
		
			
			/* Assegnazione delle apposite classi. */
			elements[i].className = "deselectedMainItem";
			if(elements[i].getElementsByTagName("ul")[0] == null)
				elements[i].getElementsByTagName("a")[0].className="deselectedMainItemLink";	
		}
	}
			
}

function inEventHandler(e) {
				
	e = e || window.event;
				
	/* Target contiene l'id dell'elemento che ha scatenato l'evento, anche nel 
	caso di bubble. */
	var target = e.srcElement || e.target;
	
	this.className = "selectedMainItem";

	
	if(this.getElementsByTagName("ul")[0] != null) {
		
		/* Se contiene un sottoelemento ul lo visualizziamo. */
		if(this.getElementsByTagName("ul")[0] != null) this.getElementsByTagName("ul")[0].style.display="block";
		
		/* Se contiene un sottoelemento div lo visualizziamo. */
		//if(this.getElementsByTagName("div")[0] != null) this.getElementsByTagName("div")[0].style.display="block";
		
		
	
		/* Patch per Explorer per impostare la larghezza dei sottoelementi. */
		if(isExplorer6() || isExplorer7()) {
	
			var subElements = this.getElementsByTagName("ul")[0].getElementsByTagName("li");
			var maxWidth = 0;
			for (var i = 0; i < subElements.length; i++) {
				if(subElements[i].offsetWidth > maxWidth) maxWidth = subElements[i].offsetWidth;
				//alert(subElements[i].offsetWidth);
			}
			
			if(isExplorer7()) maxWidth += 20;

			for (var i = 0; i < subElements.length; i++)
				if(subElements[i].style.width == "")
					subElements[i].style.width = (maxWidth - 20) + "px";

		}
		
		
	} else
		this.getElementsByTagName("a")[0].className="selectedMainItemLink";	
		
	
		/* Rimpostazione del focus dall'input box di ricerca. Questo non è decisamente il posto giusto 
		per mettere questo comando visto che non è detto che il menu disponga della funzione di ricerca 
		ma sono le 2:24 del mattino e sono stanco. */
		if((document.getElementById("searchInputField") != null) && (document.getElementById("menuItem_search").getElementsByTagName("ul")[0].style.display == "block"))
		{
		
		/* Da fare solo su Safari. */
		if(isSafari())
			document.getElementById("searchInputField").blur();
		document.getElementById("searchInputField").focus();
		}
		//document.getElementById("searchInputField").blur();



}
		
function isExplorer6() {
	return (navigator.userAgent.indexOf("MSIE 6") > 0);
}

function isExplorer7() {
	return (navigator.userAgent.indexOf("MSIE 7") > 0);
}


function isSafari() {
	return (navigator.userAgent.indexOf("Safari") > 0);
}

function outEventHandler(e) {
				
	e = e || window.event;
				
	/* Target contiene l'id dell'elemento che ha scatenato l'evento, anche nel 
	caso di bubble. */
	var target = e.srcElement || e.target;
	
	/* Se si tratta del campo di ricerca allora non nascondiamo l'elemento. */
	if(target.id == "searchInputField") return;
	
	if(this.getElementsByTagName("ul")[0] != null) {
		this.getElementsByTagName("ul")[0].style.display="none";
	} else
		this.getElementsByTagName("a")[0].className="deselectedMainItemLink";	
	

	this.className = "deselectedMainItem";

		
}


			
/* Aggiunta dell'evento per l'impostazione del menu. */
var fun = setUpMenu;
if (window.addEventListener) window.addEventListener('load', fun, false); 
else if (window.attachEvent) window.attachEvent("onload", fun);  

