/* ------------ Fun��o de mouse over/out para o menu ------------ */
function menu(x){
	x.className="ativo";
	x.onmouseout = function onmouseout(event){ x.className="" };  
}

/* ------------ Fun��o para passas as imagens de box com setas ------------ */
function scroll(x){
	setaEsq = x.parentNode.getElementsByTagName('span')[0];
	setaDir = x.parentNode.getElementsByTagName('span')[1];
	area = x.parentNode.getElementsByTagName('div')[0].offsetWidth;
	lista = x.parentNode.getElementsByTagName('ul')[0];
	if (lista.getElementsByTagName('li').length>0){
		item_tamanho = lista.getElementsByTagName('li')[0].offsetWidth;
		lista_tamnho = item_tamanho * lista.getElementsByTagName('li').length;
		lista.style.width = lista_tamnho+"px";
	}
	
	posicao = lista.style.marginLeft;
	posicao = Number(posicao.substring(0,posicao.indexOf("px")));
	
	if (x.className.indexOf("seta_esq") == 0){
		if(posicao < 0){
			posicao = posicao + item_tamanho;
			setaDir.className = "seta_dir";
		}
		if(posicao >= 0){
			x.className="seta_esq off";
		}
	}
	
	if (x.className.indexOf("seta_dir") == 0){
		if(-posicao < (lista_tamnho-area)){
			posicao = posicao - item_tamanho;
			setaEsq.className = "seta_esq";
		}
		if(-posicao >= (lista_tamnho-area)){
			x.className="seta_dir off";
		} 
	}
	
	if ((x.parentNode.getElementsByTagName('label')[0]) && (x.parentNode.getElementsByTagName('label')[0].className == "passos")){
		x.parentNode.getElementsByTagName('label')[0].innerHTML = (-(posicao/item_tamanho) +1)+" de "+lista.getElementsByTagName('li').length;
	}
	
	posicao = posicao+"px";
	lista.style.marginLeft = posicao;
}

/* ------------ Fun��o de trocas de abas dos box com abas ------------ */
function trocaAba(x){
	for (a=0; x.parentNode.getElementsByTagName('h3').length>a; a++){
		x.parentNode.getElementsByTagName('h3')[a].parentNode.className = "aba";
	}
	x.className = "aba ativo";
}
function trocaAba2(x){
	area = x.parentNode.parentNode;
	areaAba = new Array(x.parentNode.getElementsByTagName(x.tagName).length);
	num = 0;
	for(b=0; b<area.getElementsByTagName('div').length; b++){
		if(area.getElementsByTagName('div')[b].className.indexOf('abaArea')>=0){
			areaAba[num] = area.getElementsByTagName('div')[b];
			num++;
		}
	}
	for (a=0; a<x.parentNode.getElementsByTagName(x.tagName).length; a++){
		if(x.parentNode.getElementsByTagName(x.tagName)[a] == x){
			x.parentNode.getElementsByTagName(x.tagName)[a].className = 'ativo';
			areaAba[a].className = 'abaArea';
		}
		else{
			x.parentNode.getElementsByTagName(x.tagName)[a].className = '';
			areaAba[a].className = 'abaArea oculto';
		}
	}
}

/* ------------ Fun��o para posicionar as abas do box com abas ------------ */
function posicionaAba(x,area){
	var abas = new Array();
	if (x){
		for (a=0; x.parentNode.getElementsByTagName('h3').length>a; a++){
			abas[a] = x.parentNode.getElementsByTagName('h3')[a].offsetWidth;
		}
		
		for (a=0; x.parentNode.getElementsByTagName('h3').length>a; a++){
			tam = 0;
			for (b=0; b<a; b++){
				tam = tam + abas[b];
			}
			tam = tam + abas[a];
			x.getElementsByTagName('blockquote')[a].style.left = "-"+tam+"px";
			if(area == "home"){
				altura = x.getElementsByTagName('blockquote')[a].style.height;
				x.getElementsByTagName('blockquote')[a].style.height = "auto";
				if(x.getElementsByTagName('blockquote')[a].offsetHeight > x.offsetHeight){
					x.getElementsByTagName('blockquote')[a].className = "scroll";
					x.getElementsByTagName('blockquote')[a].style.height  = altura;
				}
			}
		}
	}
}

/* ------------ Fun��o de aumentar e diminuir o tamanho da fonte ------------ */
var vFonte
function mudaTamanho(x){
	cookieFonte();	
	if ((x.className == 'menor') && (vFonte>90))
		vFonte = vFonte - 10;
	if ((x.className == 'maior') && (vFonte<120))
		vFonte = vFonte + 10;
		
	document.cookie = "mturFonte="+vFonte;
	siteFonte();	
}
function cookieFonte(){
	if(document.cookie){
		vCookie = document.cookie.indexOf("mturFonte=");
		if(vCookie != -1){
			vFonte = Number(document.cookie.substring(vCookie+10, vCookie+13));
		}
	}
	if((!vFonte) || (vFonte==0) || (vFonte>120)){
		vFonte = 100;
	}
	return vFonte;
}
function siteFonte(){
	cookieFonte();
	document.getElementById('idSiteConteudo').style.fontSize = vFonte+"%";
}

/* ------------ Fun��o de aumentar e diminuir o contraste ------------ */
var vContraste;
function mudaContraste(x){
	vContraste = x.className;
	document.cookie = "mturContraste="+vContraste;
	siteContraste();
}

function siteContraste(){
	if(document.cookie){
		vContraste = document.cookie.indexOf("mturContraste=");
		vContraste = document.cookie.substring(vContraste+14, vContraste+19);
	}
	if(vContraste == 'maior'){
		document.body.className = "siteContraste";
	}
	else{
		document.body.className = "";
		if(document.cookie) document.cookie = "mturContraste=";
	}
}

/* ------------ Fun��o para limpar e denifir valar de um campo texto ------------ */
function limpaCampo(x,texto){
	if (x.value == texto)
		x.value = "";
	else if (x.value != "")
		x.select();
	x.onblur = function onblur(event){
		if (x.value == "")
			x.value = texto;
	};  
}

/* ------------ Fun��o executada ao carregar a p�gina ------------ */
window.onload = function(x){
	posicionaAba(document.getElementById('abas'));
	posicionaAba(document.getElementById('abasLateral'));
	siteFonte();	
	siteContraste();	
}

/* ------------ Fun��o expandi e recolhe �rea de texto ------------ */
function expandiRecolhe(x){	
	areaTexto = x.parentNode.getElementsByTagName('div')[0];
	
	if (x.innerHTML == 'Expandir'){
		areaTexto.style.display = "block";
		x.innerHTML = 'Recolher';
	}
	else{	
		areaTexto.style.display = "none";
		x.innerHTML = 'Expandir';
	}	
}

/*
 * '[======================================================================================
 * '[= Nome : atualizarDataHora '[= Descrição : Atualiza a data e hora na página
 * '[= Entrada : id - id da área no html que receberá a data e hora '[= tempo -
 * tempo de atualização '[= formato - código que identifica o formato de retorno
 * '[= idioma - em que idioma retorna a data '[= flag_retorno - se é para
 * retornar na chamada no método '[= '[= Saida : String data e hora formatados
 * '[= Exemplo : Este é o método que deve ser chamado. Com um exemplo html
 * abaixo onde a data é obtida no carregamento '[= da página e depois a cada
 * 1000 milisegundos. '[= <body onload='atualizarDataHora("datahora", 1000)'>
 * '[= <div id="datahora"></div> '[= </body> '[= Outro exemplo: '[=
 * <p class="data" id="idDataHora"><script type="text/javascript">
 * atualizarDataHora("idDataHora", 1000, false); </script></p> '[= OBS :
 * '[======================================================================================
 */

function construirArray(qtdElementos){
	this.length = qtdElementos
}

    var	arrayDia = new construirArray(7);
	arrayDia[0] = "Domingo";
	arrayDia[1] = "Segunda-Feira";
	arrayDia[2] = "Ter&ccedil;a-Feira";
	arrayDia[3] = "Quarta-Feira";
	arrayDia[4] = "Quinta-Feira";
	arrayDia[5] = "Sexta-Feira";
	arrayDia[6] = "S&aacute;bado";

	var arrayMes = new construirArray(12);
	arrayMes[0] = "Janeiro";
	arrayMes[1] = "Fevereiro";
	arrayMes[2] = "Mar&ccedil;o";		
	arrayMes[3] = "Abril";
	arrayMes[4] = "Maio";
	arrayMes[5] = "Junho";
	arrayMes[6] = "Julho";
	arrayMes[7] = "Agosto";
	arrayMes[8] = "Setembro";
	arrayMes[9] = "Outubro";
	arrayMes[10] = "Novembro";
	arrayMes[11] = "Dezembro";

function formatarRetornoDataHora(diaSemana, dia, mes, ano, hora, minuto, segundo, formato, idioma){
	retorno = "";
	// Crie outras condições por idioma e, dentro de cada idioma trate os
	// formatos.
	if(idioma=="pt_BR"){
		if (formato==0){
			retorno += "&nbsp; "+ hora + ":" + minuto + ":" + segundo + " ";
		} else if (formato==1){
			retorno += "&nbsp;&nbsp;" + diaSemana + ", " + dia + " de " + mes + " de " + ano;
		}
	}
	return retorno;
}

function getMesExtenso(mes){
	return this.arrayMes[mes];
}


function getDiaExtenso(dia){
	return this.arrayDia[dia];
}


function atualizarDataHora(id, tempo, formato, idioma, flag_retorno){
	dataAtual = new Date();
	dia = dataAtual.getDate();
	diaSemana = getDiaExtenso(dataAtual.getDay());
	mes = getMesExtenso(dataAtual.getMonth());
	ano = dataAtual.getFullYear();
    hora = dataAtual.getHours();
    minuto = dataAtual.getMinutes();
    segundo = dataAtual.getSeconds();

    retorno = formatarRetornoDataHora(diaSemana, dia, mes, ano, hora, minuto, segundo, formato, idioma);
    
	// Aqui é impresso a data e hora no ID passado como parametro
    if (id!=null){
    	document.getElementById(id).innerHTML = retorno;
    }
    
    // Ou retorna ou chama novamente por tempo
    if (flag_retorno){
    	return retorno;
    }else {
    	setTimeout('atualizarDataHora("'+id+'",'+tempo+','+formato+',"'+idioma+'",'+flag_retorno+')', tempo);
    }
}

function checarEmail(email) {
	var valor = email.value;
	if (valor != "") {
		if (valor.indexOf("@") == -1 || valor.indexOf(".") == -1 || valor == ""
				|| !validaArroba(email) || !validaTamanhoEmail(email)) {
			alert("Insira um e-mail valido!");
			email.focus();

		}
	}
}

//Funcion que verifica se o email contem apenas 01 caractere @
function validaArroba(text) {
	
	var email = text.value;

	var firstIndex = email.indexOf("@");

	if (firstIndex == -1) {
		return false;
	} else {
		var textSubstring = email.substring(firstIndex + 1);

		if (textSubstring.indexOf("@") != -1) {
			return false;
		}
	}

	return true;
}

//verifica se o email esta escrito corretamente
function validaTamanhoEmail(text) {
	
	var email = text.value;

	var nextIndex = email.indexOf("@") + 1;
	var firstDot = email.indexOf(".");
	var emailSize = email.length;

	if (emailSize - nextIndex < 4 || firstDot == nextIndex) {
		return false;
	} else {

		var emailSubstring = email.substring(firstDot + 1);
		var curDotIndex = emailSubstring.indexOf(".");

		while (curDotIndex != -1) {

			if (curDotIndex + 1 < emailSubstring.length) {
				emailSubstring = emailSubstring.substring(curDotIndex + 1);

				curDotIndex = emailSubstring.indexOf(".");
			} else {
				emailSubstring = emailSubstring.substring(curDotIndex);
				curDotIndex = emailSubstring.indexOf(".");

				if (curDotIndex == 0) {
					curDotIndex = -1;
				}
			}
		}

		if (emailSubstring.length < 2) {
			return false;
		}
	}

	return true;
}

function validaForm(form)
{
	var email =form.email;
	var confirma_email =form.confirma_email; 
	if(form.email.value == form.confirma_email.value)
	{
		if(!valida(form)){
			return(false);
		}
	}
	else{			
		alert('A confirmação do email não está correta!');
		return(false);			
	}
}