var curHighlight = 1;
var cityGuideOpen = false;
var highlightTimer = null;
var gwtnav = function(a) { return true; }

window.onload = function() {
	updateActiveStyle();
	
	//para tratar os balões da página
	if(document.getElementById('consumidoresLista') != null)
	{
		var usuarios = document.getElementById('consumidoresLista').childNodes;
		for (var i = 0; i < usuarios.length; i++) {
			if (usuarios[i].nodeName === 'LI') {
				(function(usuario) {
					usuario.getElementsByTagName('a')[0].onmouseover = function() { type="text/javascript"
						usuario.getElementsByTagName('div')[0].style.visibility = 'visible';
					};
					usuario.getElementsByTagName('a')[0].onmouseout = function() {
						usuario.getElementsByTagName('div')[0].style.visibility = 'hidden';
					};
					with (usuario.getElementsByTagName('div')[0]) {
						style.marginLeft = '-' + (Math.ceil(offsetWidth/2) + 10) + 'px';										
					}												
				})(usuarios[i]);
			}
		}
	}
	
	//para tratar os balões da lista de consumidores
	if(document.getElementById('humorConsumidoresSatisfeitosLista') != null)
	{
		var usuarios = document.getElementById('humorConsumidoresSatisfeitosLista').childNodes;
		for (var i = 0; i < usuarios.length; i++) {
			if (usuarios[i].nodeName === 'DD') {
				(function(usuario) {
					usuario.getElementsByTagName('a')[0].onmouseover = function() { type="text/javascript"
						usuario.getElementsByTagName('div')[0].style.visibility = 'visible';
					};
					usuario.getElementsByTagName('a')[0].onmouseout = function() {
						usuario.getElementsByTagName('div')[0].style.visibility = 'hidden';
					};
					with (usuario.getElementsByTagName('div')[0]) {
						style.marginLeft = '-' + (Math.ceil(offsetWidth/2) -10 ) + 'px';										
					}												
				})(usuarios[i]);
			}
		}
	}
	if(document.getElementById('humorConsumidoresInsatisfeitosLista') != null)
	{
		var usuarios = document.getElementById('humorConsumidoresInsatisfeitosLista').childNodes;
		for (var i = 0; i < usuarios.length; i++) {
			if (usuarios[i].nodeName === 'DD') {
				(function(usuario) {
					usuario.getElementsByTagName('a')[0].onmouseover = function() { type="text/javascript"
						usuario.getElementsByTagName('div')[0].style.visibility = 'visible';
					};
					usuario.getElementsByTagName('a')[0].onmouseout = function() {
						usuario.getElementsByTagName('div')[0].style.visibility = 'hidden';
					};
					with (usuario.getElementsByTagName('div')[0]) {
						style.marginLeft = '-' + (Math.ceil(offsetWidth/2) - 10) + 'px';										
					}												
				})(usuarios[i]);
			}
		}
	}
	
	// iniciar o timer, caso tenha destaques para interagir
	startHighlightTimer();
}

function startHighlightTimer()
{
	var nextHighlight = document.getElementById("conteudoDestaque2");

	if(nextHighlight != null)
	{
		highlightTimer = setInterval(function()
		{
			curHighlight++;
			
			var highlight = document.getElementById("conteudoDestaque" + curHighlight);
			if(highlight == null)
			{
				curHighlight = 1;
			}
			changeHighlight(curHighlight, true);
		}, 7000);
	}
}

function changeHighlightContent(num)
{
	clearInterval(highlightTimer);
	
	changeHighlight(num, false);
}

function changeHighlight(num, fade)
{
	var oid = "conteudoDestaque" + num;
	var timer = 0;
	
	for(var i = 1; i <= 4; i++)
	{
		var tmpLink = "destaqueLink" + i;
		
		if(i == num)
		{
			if($(tmpLink) != null)
			{
				$(tmpLink).addClassName("ativo");
			}
		} else
		{
			var tmpId = "conteudoDestaque" + i;

			if($(tmpId) != null)
			{
				if(fade)
				{
					$(tmpId).fade({duration: 1.0});
					timer = 1100;
				} else
				{
					document.getElementById(tmpId).style.display = "none";
				}
			}
			if($(tmpLink) != null)
			{
				$(tmpLink).removeClassName("ativo");
			}
		}
	}

	setTimeout(function()
	{
		if(fade)
		{
			$(oid).appear({duration: 1.0})
		} else
		{
			document.getElementById(oid).style.display = "inline";
		}
	}, timer);
}

function updateTokenOutsideMenu(obj)
{
	updateActiveStyle()
	return gwtnav(obj);
}

function updateToken(obj)
{
	setActiveStyle(obj);
	return gwtnav(obj);
}

function updateActiveStyle()
{
	// aguarda para ser realizada a alteração do token na url
	if(document.getElementById("menu") != null)
	{
		setTimeout(function()
		{
			// pesquisa todas as tags <a> no documento
			var links = document.getElementById("menu").getElementsByTagName("a");
			
			// captura o token utilizado
			var token = document.location.hash;
			
			// pesquisa qual o link ativo
			for(var i = 0; i < links.length; i++) {
				
				// captura o link da tag <a>
				var link = links[i].href;
				if(link.indexOf("#") > -1) {
					var anchor = link.substr(link.indexOf("#"));
					
					// caso o link tenha a definição de um anchor, verifica se é igual à url
					if(anchor.length > 1 && token.indexOf(anchor) > -1) {
						setActiveStyle(links[i]);
					}
				}
			}
		}, 100);
	}
}

function setActiveStyle(obj)
{
	// busca o parent <ul>
	// estrutura <ul><li><a>
	var parent = obj.parentNode.parentNode;
	
	// busca todas as tags <a> no parent
	var links = parent.getElementsByTagName("a");
	
	// limpa o estilo das tags <a>
	for(var i = 0; i < links.length; i++) {
		links[i].className = "";
	}
	
	obj.className = "ativo";
}

function cityGuideSwap()
{
	if(cityGuideOpen)
	{
		document.getElementById("cityGuideArea").className = "local";
	} else
	{
		document.getElementById("cityGuideArea").className = "local voltar";
	}
	
	cityGuideOpen = !cityGuideOpen;
}

function addEvent(obj, evType, fn)
{ 
	if (obj.addEventListener){ 
	   obj.addEventListener(evType, fn, false); 
	   return true; 
	 } else if (obj.attachEvent){ 
	   var r = obj.attachEvent("on"+evType, fn); 
	   return r; 
	 } else { 
	   return false; 
	} 
}

function getStyle(el,styleProp) {
	var x = typeof el === 'string' ? document.getElementById(el) : el;
	if (x.currentStyle)
		var y = x.currentStyle[styleProp];
	else if (window.getComputedStyle)
		var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp);
	return y;
}