/*
navAgt   = navigator.userAgent.toLowerCase();
navIE	 = ((navAgt.indexOf('msie') != -1) && (navAgt.indexOf('opera') == -1));
navOpera = (navAgt.indexOf('opera') != -1);
navMac	 = (navAgt.indexOf('mac') != -1);
navMacIE = (navIE && navMac);
navWinIE = (navIE && !navMac);
navGecko = (navigator.product == 'Gecko');
*/
	navAgt		= navigator.userAgent.toLowerCase();
	navIE		= ((navAgt.indexOf('msie') != -1) && (navAgt.indexOf('opera') == -1));
		if(navIE) navVersao = parseFloat(navAgt.substring(navAgt.lastIndexOf("msie " )+ 5));
	navFF		= (navAgt.indexOf("firefox") != -1);
		if(navFF) navVersao = parseFloat(navAgt.substring(navAgt.lastIndexOf("firefox/") + 8));
	navChrome	= (navAgt.indexOf("chrome") != -1);
		if(navChrome) navVersao = parseFloat(navAgt.substring(navAgt.lastIndexOf("chrome/") + 7));
	navOpera	= (navAgt.indexOf('opera') != -1);
		if(navOpera) navVersao = parseFloat(navAgt.substring(navAgt.lastIndexOf("version/") + 8));
	navSafari	= ((navAgt.indexOf("webkit") != -1) && (navAgt.indexOf("chrome") == -1));
		if(navSafari) navVersao = parseFloat(navAgt.substring(navAgt.lastIndexOf("webkit/") + 7));
	soMac		= (navAgt.indexOf('mac') != -1);
	navMacIE	= (navIE && soMac);
	navWinIE	= (navIE && !soMac);
	navGecko	= (navigator.product == 'Gecko');
	
if(navIE){
	var temp = navigator.appVersion.split("MSIE");
    var versaoIE = parseFloat(temp[1]);
}

// Função para adicionar evento a um elemento específico

function addEvento(el, nomeEvento, funcao) {
	//var el = document.getElementById(idElemento);
	if (navIE) {
		el.attachEvent('on' + nomeEvento, funcao);
	} else {
		el.addEventListener(nomeEvento, funcao, true);
	}
}

// Função para disparar um determinado evento em um elemento específico

function dispararEvento(idElemento, nomeEvento) {
	if(idElemento == "doc"){
		var el = document;
	}else{
		var el = document.getElementById(idElemento);
	}
	
	if (navIE) {
		el.fireEvent('on' + nomeEvento);
	} else {
		var ev = document.createEvent('HTMLEvents');
		ev.initEvent(nomeEvento, false, false);
		el.dispatchEvent(ev);
	}
}

// Função que armazena a posição do mouse nas Variaveis Xmouse e Ymouse

var Xmouse = 0;
var Ymouse = 0;
function posicaoMouse(ev){
	var ie = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;

		ev           = ev || window.event;
		if(ie) {
			if (ev.x > 0 && ev.y > 0){
				Xmouse = ev.x;
				Ymouse = ev.y;
			}
		}else{
			if (ev.pageX > 0 && ev.pageY > 0){
				Xmouse = ev.pageX;
				Ymouse = ev.pageY;
			}
		}
}

// Função que instancia e controle um objeto menu
var objetosMenu = new Array(); //armazena os objetos subMenus criados
function menu(menu){
	this.nome = menu;
	this.idMenu = "menu_" + menu;
	this.idSubmenu = "submenu_" + menu;
	this.objMenu = document.getElementById(this.idMenu);
	this.objSubmenu = document.getElementById(this.idSubmenu);
	objetosMenu.push(this);
	this.statusSubmenu = false;
	
	this.exibirSubmenu = function(){
		//verificarSubmenus(this);
		if(this.statusSubmenu != true){
			if(navIE && versaoIE < 8){
				this.leftMenu = document.getElementById("principal").offsetLeft + this.objMenu.offsetLeft;
			}else{
				this.leftMenu = this.objMenu.offsetLeft;
			}
			
			//Definindo posição e área do menu
				this.widthMenu = this.objMenu.offsetWidth;
				this.topMenu = 152;
				this.heightMenu = this.objMenu.offsetHeight;
				
			//Definindo posição do submenu
				this.leftSubmenu = this.leftMenu;
				this.topSubmenu = this.topMenu + this.heightMenu;
				
			this.objSubmenu.style.left = this.leftSubmenu + "px";
			this.objSubmenu.style.top = this.topSubmenu + "px";
			this.objSubmenu.style.display = "block";
			
			//Definindo área do submenu (só é possivel após diplay = block)
				this.widthSubmenu = this.objSubmenu.offsetWidth;
				this.heightSubmenu = this.objSubmenu.offsetHeight;
			
			this.statusSubmenu= true;
		}
	}
	

	this.esconderSubmenu = function() {
			if(this.verificarAreaMenu() == "fora" && this.verificarAreaSubmenu() == "fora"){
				this.objSubmenu.style.display = "none";
				this.statusSubmenu = false;
			}
	}
	
	this.verificarAreaMenu = function(){
		
		if(navIE){
			 scroll_atual = document.documentElement.scrollTop;
		}else{
			 scroll_atual = 0;
		}
		
		if(eval(Ymouse+scroll_atual) > eval(this.topMenu+5) && eval(Ymouse+scroll_atual) < eval(this.topMenu+this.heightMenu-5) && Xmouse > this.leftMenu+5 && Xmouse < (this.leftMenu+this.widthMenu-5)){
			return "dentro";
		}else{
			return "fora";
		}
	}
	this.verificarAreaSubmenu = function(){
		
		if(navIE){
			 scroll_atual = document.documentElement.scrollTop;
		}else{
			 scroll_atual = 0;
		}
		
		if(eval(Ymouse+scroll_atual) > eval(this.topSubmenu-20) && eval(Ymouse+scroll_atual) < eval(this.topSubmenu+this.heightSubmenu-5) && Xmouse > this.leftSubmenu+5 && Xmouse < (this.leftSubmenu+this.widthSubmenu-5)){
			return "dentro";
		}else{
			return "fora";
		}
	}

}

// Função que verifica se existe algum submenu visivel quando não deveria.

function verificarSubmenus(menuAtual){
	for(i=0; i<objetosMenu.length; i++){
		if(objetosMenu[i] != menuAtual && objetosMenu[i].statusSubmenu == true){
			objetosMenu[i].esconderSubmenu();
		}
	}
}

// Função para expandir e recolher altura de elementos

	function expandirObjeto(idObj,valor){
		var obj = document.getElementById(idObj);
		alturaAtual = obj.offsetHeight;
		if(alturaAtual < valor){
			velocidade = (valor-alturaAtual)/10;
			//if(velocidade < 1) velocidade=1;
			novoValor = obj.offsetHeight + velocidade;
			if(novoValor > valor){
					novoValor = valor;
			}
			obj.style.height = novoValor + "px";
			setTimeout("expandirObjeto('" + idObj +"'," + valor + ")", 10);
		}
	}
	

	function recolherObjeto(idObj,valor){
		var obj = document.getElementById(idObj);
		alturaAtual = obj.offsetHeight;
		if(alturaAtual > valor){
			velocidade = (alturaAtual-valor)/10;
			//if(velocidade < 1) velocidade=1;
			novoValor = obj.offsetHeight - velocidade;
			if(novoValor < valor){
					novoValor = valor;
			}
			obj.style.height = novoValor + "px";
			alert(obj.style.height);
			setTimeout("recolherObjeto('" + idObj +"'," + valor + ")", 10);
		}
	}

// Função para controle de Abas.
var idAbaAtiva = "aba01";
function destacarAba(idAba){
	if (idAba != idAbaAtiva){
		var objAba = document.getElementById(idAba);
		objAba.className = "abaDestacada";
	}
}
function normalizarAba(idAba){
	if (idAba != idAbaAtiva){
		var objAba = document.getElementById(idAba);
		objAba.className = "abaInativa";
	}
}
function mostrarConteudoAba(idAba,novaAlturaPagina){
	if (idAba != idAbaAtiva){
		var objAbaAtual = document.getElementById(idAbaAtiva);
		var objAbaNova = document.getElementById(idAba);
		var objConteudoAbaAtual = document.getElementById("conteudo_" + idAbaAtiva);
		var objConteudoAbaNova = document.getElementById("conteudo_" + idAba);
			objAbaAtual.className = "abaInativa";
			objConteudoAbaAtual.className = "conteudoAbaInvisivel";
			objAbaNova.className = "abaAtiva";
			objConteudoAbaNova.className = "conteudoAbaVisivel";
			idAbaAtiva = idAba;
		var objEstrutura = document.getElementById("estrutura");
			objEstrutura.style.height = novaAlturaPagina + "px";
	}
}
