//------------------------------------------------------
//	Declarações
//------------------------------------------------------
var abreN1 = "";
var abreN2 = "";
var abreN3 = "";
var abreN4 = "";
var itemMenuAberto = "";
var linkSel = "";
var pY = 0;
var alturaAteTopo = 0;
var lastId = "";
var lastSub = "";
var hWindow;
hTela();

//------------------------------------------------------
// Eventos 
//------------------------------------------------------
document.onmousemove = doSomething;
window.onresize  = hTela;

//-----------------------------------------------------
// Funções
//-----------------------------------------------------

function hTela()
{
try
	{
	var h = document.body.clientHeight; 
	//var h = document.documentElement.clientHeight;
	hWindow = h;
	//alert(hWindow);
	}
catch(err)
	{
	alert('hTela - ' + err);
	}
}

//-----------------------------------------------------


function doSomething(e) 
{
try
	{
	var posx = 0;
	var posy = 0;
	if (!e) var e = window.event;
	if (e.pageX || e.pageY)
		{
		posx = e.pageX;
		posy = e.pageY;
		alturaAteTopo = e.pageY;
		}
	else if (e.clientX || e.clientY)
		{
		posx = e.clientX + document.body.scrollLeft;
		posy = e.clientY + document.body.scrollTop;
		alturaAteTopo = e.clientY;
		//window.alert(e.clientY + ":" + document.body.scrollTop);
		}	
	pY = posy;	
	}
catch(err)
	{
	alert('doSomething - ' + err);
	}
}

//-----------------------------------------------------

function abreMenu(idSub,idItem) 
{
try
	{
	fechaMenu(idSub);
	var menu = document.getElementById(idSub);
	var lkId = idItem + 'a';
	if(linkSel != "") 
		{
		verLink(lkId);
		}	
	document.getElementById(lkId).className = 'azulEscuro';

	var hMenu = 0;
	var novaAlt = 0;
	var top = getTop(idItem);
	if(menu.className == 'subMenu off') {
		var left = getLeft(idItem) + 130;		
		menu.style.left = left+'px';
		menu.style.top = top+'px';
		menu.className = 'subMenu on';
		hMenu = menu.offsetHeight;
		novaAlt = alturaAteTopo + hMenu;
		//alert("top = " + top + "hMenu = " + hMenu + "hWindow = " + hWindow);
		//se nao tem espaco para baixo
		if(novaAlt > hWindow) {
			nTop = getTop2(idItem);
			menu.style.top = (nTop-hMenu)+'px';	
		}
	}
	lastId = idItem;
	lastSub = idSub;
	linkSel = lkId;	
	}
catch(err)
	{
	alert('abreMenu() - ' + err);
	}
}

//-----------------------------------------------------

function getLeft(idItem)
{
try
	{
	var left = document.getElementById(idItem).offsetLeft;
	var el = document.getElementById(idItem);
	while (el = el.offsetParent) left += el.offsetLeft;
	return left;	
	}
catch(err)
	{
	alert('getLeft() - ' + err);
	}
}

//-----------------------------------------------------

function getTop(idItem)
{
try
	{		
	var top = 0;
	var h = document.getElementById(idItem).offsetHeight;
	var nIdAtual = 0;	
	var nIdOld = 0;	
	if(lastId != "")
		{
		var arrIdAtual = idItem.split("_");
		var arrIdOld = lastId.split("_");
			
		if((arrIdAtual.length == 1) && (arrIdOld.length == 1))
			{
			nIdAtual = arrIdAtual[0].substring(-1);
			nIdOld = arrIdOld[0].substring(-1);

			if(nIdAtual < nIdOld)
				{
				top = pY - h	
				}
			else
				{
				top = pY;	
				}
			} 
		else if(arrIdAtual.length == arrIdOld.length)
			{			
			totAtual = arrIdAtual.length - 1;
			totOld = arrIdOld.length - 1;
				
			nIdAtual = arrIdAtual[totAtual];
			nIdOld = arrIdOld[totOld];
			if(nIdAtual < nIdOld) 
				{
				top = pY - h;				
				}
			else
				{
				top = pY;	
				}
			}
		else
			{
			top = pY;	
		}
	} 
	else 
		{
		top = pY;	
		}

	return top;
	}
catch(err)
	{
	alert('getTop() - ' + err);
	}
}

//-----------------------------------------------------

function getTop2(idItem) 
{
try
	{		
	var top = 0;
	var h = document.getElementById(idItem).offsetHeight;
	var nIdAtual = 0;	
	var nIdOld = 0;	
	if(lastId != "")
		{
		var arrIdAtual = idItem.split("_");
		var arrIdOld = lastId.split("_");
		
		if((arrIdAtual.length == 1) && (arrIdOld.length == 1))
			{
			nIdAtual = arrIdAtual[0].substring(-1);
			nIdOld = arrIdOld[0].substring(-1);

			if(nIdAtual > nIdOld)
				{
				top = pY + h	
				}
			else
				{
				top = pY;	
				}
			}
		else if(arrIdAtual.length == arrIdOld.length)
			{
			totAtual = arrIdAtual.length - 1;
			totOld = arrIdOld.length - 1;
			
			nIdAtual = arrIdAtual[totAtual];
			nIdOld = arrIdOld[totOld];
			if(nIdAtual > nIdOld)
				{
				top = pY + h;				
				}
			else
				{
				top = pY;	
				}
			}
		else
			{
			top = pY;	
			}
		}
	else
		{
		top = pY;	
		}
	return top;
	}
catch(err)
	{
	alert('getTop2() - ' + err);
	}
}

//-----------------------------------------------------

function fechaMenu(id)
{
try
	{
	var arrId = id.split("_");	
	itemMenuAberto = id;
	if(arrId.length == 1)
		{
		if((abreN2 != "") && (id != abreN2))
			{
			document.getElementById(abreN2).className = 'subMenu off';
			}
		if(abreN3 != "")
			{
			document.getElementById(abreN3).className = 'subMenu off';
			}
		if(abreN4 != "")
			{
			document.getElementById(abreN4).className = 'subMenu off';
			}
		abreN2 = id;		
		} 
	else if(arrId.length == 2) 
		{
		if((abreN3 != "") && (id != abreN3)) 
			{
			document.getElementById(abreN3).className = 'subMenu off';
			}
		if(abreN4 != "") 
			{
			document.getElementById(abreN4).className = 'subMenu off';
			}
		abreN3 = id;
		} 
	else if(arrId.length == 3)
		{
		if((abreN4 != "") && (id != abreN4))
			{
			document.getElementById(abreN4).className = 'subMenu off';
			}
		abreN4 = id;
		}	
	}
catch(err)
	{
	alert('fechaMenu - ' + err)
	}
}

//-----------------------------------------------------

function ressetaMenu(menuId,objId)
{
try
	{
	if(objId)
		{
		verLink(objId);
		}
	fechaMenu(menuId);
	linkSel = objId;
	}
catch(err)
	{
	alert('ressetaMenu - ' + err)
	}
}

//-----------------------------------------------------

function verLink(id)
{

var lkAtual = id.split("_");
var lkOld = linkSel.split("_");


var valor = 0;
var linkAceso = "";

if(lkAtual.length == lkOld.length)
	{
	document.getElementById(linkSel).className = 'azulClaro';
	}
else if(lkAtual.length < lkOld.length )
		{
		valor = lkOld.length - 1;
		document.getElementById(linkSel).className = 'azulClaro';	
		var un = "";
		for(var i=0;i<valor;i++)
			{
			linkAceso = linkAceso + un + lkOld[i]; 
			un = "_";
			}
		if(linkAceso != "")
			{
			linkAceso = linkAceso+"a";
			document.getElementById(linkAceso).className = 'azulClaro';	
			}
		}

}

//-----------------------------------------------------

function fechaTudo() 
{
try
	{
	var menus = document.getElementsByTagName('div');
	for(var i=0; i<menus.length; i++)
		{			
		if(menus[i].className == 'subMenu on')
			{
			menus[i].className = 'subMenu off';			
			}	
		}
		
	var links = document.getElementsByTagName("A");	
	for(var ii=0; ii<links.length; ii++)
		{
		if(links[ii].className == 'azulEscuro')
			{
			links[ii].className = 'azulClaro';
			}
		}
	lastId = "";
	}
catch(err)
	{
	alert('fechaTudo - ' + err);
	}
}

//-----------------------------------------------------
