function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function showMenu (e) {
	if (!hasmenu && window.menufirst == this && typeof(document.all) != "undefined")
		document.getElementById("famiglie").style.visibility = "hidden";
	window.menuopen = true;
	var s = window.menu;
	s.style.visibility = "visible";
	var left = findPosX(this);
	s.style.top = (findPosY(this)+this.offsetHeight) +"px";
	s.style.left = left +"px";
	var m = this.nextSibling;
	while (m.nodeType != 1) {
		m = m.nextSibling;
	}
	s.style.width = null;
	s.className = null;
	s.innerHTML = m.innerHTML;
	var width = s.offsetWidth +20;
	s.style.width = width +"px";
	s.className = "sub";
	var boundary = getBoundary();
	while ((left +s.offsetWidth) > boundary) {
		left--;
		s.style.left = left +"px";
	}
}

function hideMenu (e) {	
	if (!window.menuopen) {
		window.menu.style.visibility = 'hidden';
		msOut();
		if (!hasmenu)
			document.getElementById("famiglie").style.visibility = "visible";
	}
}

function preHideMenu (e) {
	window.menuopen = false;
	setTimeout('hideMenu()', 1000);
}

function keepMenu (e) {
	window.menuopen = true;
}

// init
function init_menu () {
	var links = document.getElementsByTagName("a");
	var last = null;
	for (var i in links) {
		if (links[i].className == "nav") {
			if (last == null) window.menufirst = links[i];
			last = links[i];
			last.onmouseover = last.onfocus = showMenu;
			last.onmouseout = /*last.onblur =*/ preHideMenu;
		}
	}
	window.menulast = last;
	var menu = window.menu = document.getElementById("submenu");
	menu.onmouseover = menu.onfocus = keepMenu;
	menu.onmouseout = menu.onblur = preHideMenu;
	window.menuopen = false;
}

function getBoundary () {
	return findPosX(window.menulast) +window.menulast.offsetWidth;
}

hasmenu = true;

if (typeof (window.onloads) == "undefined") {
	window.onloads = [];
}

window.onloads.push(init_menu);
/********************************non funzionano bene********************************************************/
function msOver(i)	{
		msOut();
		var page = document.getElementsByTagName("a");		
		//for (var i in page) {
		//if (page[i].className == "nav") {		
			page[i].style.backgroundColor = "#33548B";
			page[i].style.borderTop = "1px solid #151F2F";
			page[i].style.borderLeft = "1px solid #151F2F";
			page[i].style.borderRight = "1px solid #87A9E1";
			page[i].style.borderBottom = "1px solid #87A9E1";
			//var over = true;
			//return over;
			//}
			//}
	}
	function msOut()	{
	//var list = document.getElementById("ts");
		var page = document.getElementsByTagName("a");
		for (var i in page) {
		if (page[i].className == "nav") {			
			page[i].style.backgroundColor = "";
			page[i].style.borderTop = "1px solid #3F66A6";
			page[i].style.borderLeft = "1px solid #3F66A6";
			page[i].style.borderRight = "1px solid #3F66A6";
			page[i].style.borderBottom = "1px solid #3F66A6";
			//var over = false;
			//return over;

			}
			}
	}
/*************************************************************************************/	
	
