

/* ------------ 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){
	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';
	}	
}


/*---------- fim -----------*/



function validaAntigoNaoFuncionaFireFox(form){
	
	for (i=0;i<form.length;i++)
	{
		var obg = form[i].obrigatorio;		
		if (obg==1)
		{
			if (form[i].value == "")
			{
				var nome = form[i].descricao
				alert("O campo " + nome + " é obrigatório.")
				form[i].focus();
				return false
			}
			else if(form[i].value == "0")
			{
				var nome = form[i].descricao
				alert("O campo " + nome + " é obrigatório.")
				form[i].focus();
				return false
			}
		}
		else if (form[i].dir == "ltr")
		{
			if (form[i].value == "")
			{
				var nome = form[i].name
				alert("O campo " + nome  + " é obrigatório.")
				form[i].focus();
				return false
			}
		}
	}
	return true
}
function valida(form){
	for ( var i = 0; i < form.elements.length; i++) {
		var els = form.elements[i];
		var title = els.title;
		var descricao = "";
		var semErro = true;
		var value = els.value;
		if(value == "" || value == "0"){
			for ( var j = 0; j < els.attributes.length; j++) {	
				var atributo = els.attributes[j];
				var nome = atributo.nodeName;
				var valor = atributo.nodeValue;
				//Pega a descrição
				if (nome == 'descricao'){
					descricao = valor;
				}
				//Pega o valor obrigatório
				else if(nome == 'obrigatorio' && valor == '1'){
					semErro = false;
				}
				if (descricao != "" && !semErro){
					break;
				}
			}
		}
		if (descricao != "" && !semErro){
			break;
		}
	} // for
	if(!semErro){
		alert('O campo ' + descricao + ' é obrigatório.');
		els.focus();
	}
	return semErro;
}

/*
 * '[======================================================================================
 * '[= 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ç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 formatarRetornoDataSimples(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;" + 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 = formatarRetornoDataSimples(dia, mes, ano, hora, minuto, segundo, formato, idioma);
    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 validaIntervaloDatas(inicio, fim)
{
	var dataMinima = fgSplitString(inicio.value, '/');
	var dataMaxima = fgSplitString(fim.value, '/');
	
	var dataMin = new Date();
	var dataMax = new Date();
	
	var mesMin = dataMinima[1] -1;
	var mesMax = dataMaxima[1] -1;
	
	dataMin.setFullYear(dataMinima[2],mesMin,dataMinima[0]);
	dataMax.setFullYear(dataMaxima[2],mesMax,dataMaxima[0]);
	
	if(dataMin > dataMax)
	{
		alert('ATENCAO: Data minima maior que data maxima!')
		return(false);
	}	
	  return(true);	
}
function validaPeriodoDatas(inicio, fim, numDias)
{
	var dataMinima = fgSplitString(inicio.value, '/');
	var dataMaxima = fgSplitString(fim.value, '/');

	var dataMin = new Date();
	var dataMax = new Date();

	var mesMin = dataMinima[1] -1;
	var mesMax = dataMaxima[1] -1;

	dataMin.setFullYear(dataMinima[2],mesMin,dataMinima[0]);
	dataMax.setFullYear(dataMaxima[2],mesMax,dataMaxima[0]);

	var one_day=1000*60*60*24
	var dias = new Date(); 
	dias = dataMax - dataMin;
	dias = dias / one_day;
	if(dias > numDias)
	{
		alert('ATENCAO: Para utilizar um intervalo de datas superior a '+numDias+ ' dias, é necessário informar outro campo de filtro.');
		return(false);
	}	
	  return(true);	
}
function fgIsDate(psData)
{
	
	var laDiasMes = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	var laData    = fgSplitString(psData, '/');

	/*
	 * * Se não houver três partes a data é considerada inválida
	 */
	if (laData.length != 3)
		return false;
	
	/*
	 * * A string é dividida em três partes : * * laData[0] - Dia * laData[1] -
	 * Mês * laData[2] - Ano
	 */

	/*
	 * * Verifica se o mes está no intervalo [1,12]
	 */
	if (!(laData[1] >= 1 && laData[1] <= 12))
		return false;

	/*
	 * * Se o ano não tiver 4 digitos, é invalida
	 */
	if (laData[2].length != 4) 
		return false;

	/*
	 * * Se for ano bissexto, o Limite p/ o mes de Fevereiro é 29 dias
	 */
	if (Math.floor(laData[2] / 4) * 4 == laData[2]) 
		laDiasMes[1] = 29;
	
	
	/*
	 * * Se o dia estiver fora do limite para o mes dado, é invalida
	 */
	if (!((laData[0] >= 1) && (laData[0] <= laDiasMes[laData[1] - 1])))
		return (false);

	/*
	 * * Finalmente, se chegou até aqui, é uma data válida
	 */
	return (true);
}

/*
 * '[================================================================================================
 * '[= Nome : fgFormataValidaData '[= Descrição : Formata a data no formato
 * DD/MM/YYYY ou MM/YYYY '[= Entrada : obj '[= Saida : data formatada '[=
 * Exemplo : <INPUT id=text9 name=text9 onblur="fgFormataValidaData(this)"> '[=
 * '[= OBS : Para utilizar esta função é necessário a inclusão do
 * genericoFuncoes.js
 * '[================================================================================================
 */
function fgFormataValidaData(obj)
{
	
	var lsData = obj.value;
	var lsAux  = '';
	
	/*
	 * * Deixa só os números
	 */
	for (var liPos = 0; liPos < lsData.length; liPos++)
		if (!isNaN(lsData.charAt(liPos)))
			lsAux += lsData.charAt(liPos);

	/*
	 * * Se não tiver sido digitado nada, retorna
	 */
	if (lsAux.length == 0)
		return;

	/*
	 * * Verifica se tem todos os digitos necessários
	 */
	if ((lsAux.length != 8) && (lsAux.length != 6) && (lsAux.length != 4))
	{
		alert('Data Incorreta.');
		obj.value = '';
		obj.focus();
		return (false);
	}
	
	/*
	 * * Divide os números nos componentes de data
	 */
	switch (lsAux.length)
	{
		case 8 : // DD/MM/YYYY
		{
			var lsDia = lsAux.substr(0, 2);
			var lsMes = lsAux.substr(2, 2);
			var lsAno = lsAux.substr(4, 4);
	
			lsAux = lsDia + '/' + lsMes + '/' + lsAno;
	
			/*
			 * * Verifica se é uma data válida
			 */
			if (!fgIsDate(lsAux))
			{
				alert('Data Incorreta.');
				obj.value = '';
				obj.focus();
				return (false);
			}

			break;
		}
		
		case 6 : // MM/YYYY
		{
		    var lsMes = lsAux.substr(0, 2);
		    var lsAno = lsAux.substr(2, 4);
	
		    lsAux = lsMes + '/' + lsAno;
	
		    /*
			 * * Verifica se é o mês é válido
			 */
		    if (lsMes < '01' || lsMes > '12')
		    {
			    alert('Data Incorreta.');
			    obj.value = '';
			    obj.focus();
			    return (false);
		    }
			
			break;
		}
		
		case 4 : // YYYY
		{
			/*
			 * * Verifica se é o ano é válido
			 */
			if (lsAux < '1900')
			{
				alert('Data Incorreta.');
				obj.value = '';
				obj.focus();
				return (false);
			}
		}
	}
	
	/*
	 * * Retorna a Data formatada
	 */
	obj.value = lsAux;
	return (true);

}
/*
 * '[======================================================================================
 * '[= Nome : fgSplitString '[= Descrição : Divide a string por um separador
 * dado, retornando um array com os valores. '[= Entrada : psString - String a
 * ser dividida '[= psDivider - Divisor '[= Saida : Array com os items '[=
 * Exemplo : aryRetorno = fgSplitString(text16.value, "/"); '[= OBS :
 * '[======================================================================================
 */
function fgSplitString(psString, psDivider)
{
	/*
	 * * Conta o número de ocorrências do separador para saber quantos elementos
	 * terá o Array.
	 */
	var liOccurs = 0;
	
	for (var liCount = 0; liCount < (psString.length - psDivider.length); liCount++)	
		if (psString.substr(liCount, psDivider.length) == psDivider)
			liOccurs++;
			
	/*
	 * * Cria o array
	 */
	var laRet = new Array(liOccurs);
	var lsAux = '';
	
	liCount  = 0;
	liOccurs = 0;
	do
	{
		if (psString.substr(liCount, psDivider.length) == psDivider)
		{
			liCount += psDivider.length;
			laRet[liOccurs++] = lsAux;
			lsAux = '';
		}
		
		lsAux += psString.charAt(liCount++);
	}
	while (liCount < psString.length);
	
	laRet[liOccurs++] = lsAux;
	
	return (laRet);
}
function SomenteNumero(e)
{ 
	var key;

	if (window.event) 
	{
		key = event.keyCode;
	}
	else
	{ 
		key = e.which;
	}

	if(key > 47 && key < 58 || key == 8 || key == 0)
	{
		return; 
	}
	else
	{
		if(window.event)
		{
			window.event.returnValue = null; 
		}
		else 
		{
			e.preventDefault();
		}
	}
} 
function Mascara(src, mask) 
{
	 var i = src.value.length;
	 var saida = mask.substring(0,1);
	 var texto = mask.substring(i)
	 if (texto.substring(0,1) != saida) 
	 {
		  src.value += texto.substring (0,1);
	 }
}


function validaEnviaAmigo(form){
	
	for (i=0;i<form.length;i++)
	{
		
		var obg = form[i].obrigatorio;
		if (obg==1)
		{
			if(form[i].value == "seu nome*")
			{				
				var nome = form[i].descricao
				alert("O campo " + nome + " é obrigatório.")
				form[i].focus();
				return false
			}
			else if(form[i].value == "seu e-mail*")
			{				
				var nome = form[i].descricao
				alert("O campo " + nome + " é obrigatório.")
				form[i].focus();
				return false
			}
			else if(form[i].value == "nome do destinatário*")
			{				
				var nome = form[i].descricao
				alert("O campo " + nome + " é obrigatório.")
				form[i].focus();
				return false
			}
			else if(form[i].value == "e-mail do destinatário*")
			{				
				var nome = form[i].descricao
				alert("O campo " + nome + " é obrigatório.")
				form[i].focus();
				return false
			}
			
		}
	}
	return true
}
function checarEmail(email){
	var valor = email.value;
	if (valor != ""){
	    if(valor.indexOf("@") == -1 || valor.indexOf(".") == -1 || valor == ""){
	    	alert("Insira um e-mail válido!");
	    	email.focus();
	    	
	    }
	}
}

function maxLength(textAreaField, limit) {
	if (textAreaField.value.length > limit) {
		alert("Numero de caracteres excedeu o limite em "+(textAreaField.value.length-limit)+" caracter(es)");
		textAreaField.focus();
	}
}

//Site popUp
function abrePopup(){
	document.getElementById('siteSombra').style.height= document.body.clientHeight+'px';
	document.getElementById('siteSombra').style.display = 'block';
	document.getElementById('sitePopup').style.display = 'block';
}

function fechaPopup(botao){

	document.getElementById('siteSombra').style.display = '';
	document.getElementById('sitePopup').style.display = '';
}

// Lightbox para imagens
function abrePopupImagem(){
	document.getElementById('siteSombraImagem').style.height= document.body.clientHeight+'px';
	document.getElementById('siteSombraImagem').style.display = 'block';
	document.getElementById('sitePopupImagem').style.display = 'block';
}

function fechaPopupImagem(botao){

	document.getElementById('siteSombraImagem').style.display = '';
	document.getElementById('sitePopupImagem').style.display = '';
}

//Comentarios Copa
function abrePopupComentario(){
	document.getElementById('escuro').style.height= document.body.clientHeight+'px';
	document.getElementById('escuro').style.display = 'block';
}

function fechaPopupComentario(botao){
	document.getElementById('escuro').style.display = '';
}

//Imprimir 
function imprimirDiv(urlBase,idName)
{
	
	
	var WinPrint = window.open('','newwin','toolbar=no,status=no,scrollbars=yes,width=700,height=800');
	var stylesPath = urlBase;	
	
	
	with (WinPrint.document) {
	write('<html>');
	write('<head>' + 
		'<link rel="stylesheet" type="text/css" href="'+stylesPath+'" />'+		
		'</head>');
	write('<body onload="print();">');

	write('<div class="container">');
	write('<div class="pg_noticias">');
	write('<div class="cont_principal">');
	

	var divConteudo = document.getElementById(idName).innerHTML;	
	//Retira icones superior e inferior
	if (document.getElementById("inf_empresa") != null)
	{
		var obj = document.getElementById("inf_empresa").innerHTML;
		divConteudo = divConteudo.replace(obj, "");
	}
	
	var obj2 = document.getElementById("icones_inf").innerHTML;
	divConteudo = divConteudo.replace(obj2, "");
	
	write(divConteudo);
	write('</div>');
	write('</div>');	
	write('</div>');
	write('</body>');
	write('</html>');
	close();
	focus();
	}
}	

//Ajax cadastur nova versão parametros
var idGlobs ='';
function MandaID_param(requestStr,id,str,caminho_jsp,fx_retorno)
{ 
	if (!fx_retorno) fx_retorno = function(){};
	//debugger;
	idGlobs = id;	
	xmlHttp=GetXmlHttpObject()
	if (xmlHttp==null)
	{
		alert ("Este browser não suporta HTTP Request");	
		return false;
	}

	var url=caminho_jsp;
	url=url+"?"+requestStr+"="+str;
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged_param; 
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}
function stateChanged_param() 
{ 	
	http_request.onreadystatechange = function(){
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
		{ 
			document.getElementById(idGlobs).innerHTML=xmlHttp.responseText
			fx_retorno();
		} 
	};
} 
function GetXmlHttpObject()
{ 
	var objXMLHttp=null
	if (window.XMLHttpRequest)
	{
		objXMLHttp=new XMLHttpRequest()
	}
	else if (window.ActiveXObject)
	{		
		try 
		{
			objXMLHttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
		catch (e) 
		{
            try 
            {
            	objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) {}
        }

	}
	return objXMLHttp
}

/* ------------ Funcao para validacao do form de cadastro de comentario ------------ */
function validaFormComentario(form) {

	if (!valida(form)) {
		return (false);
	}
}

/****** Funcao para fechar as abas sobre o video de depoimentos ******/
function fechaAbaVideo(id){
	if (document.getElementById(id).style.display == 'block'){
		document.getElementById(id).style.display = '';
	}
}


function abreFechaAbas(id){
	
	if (document.getElementById(id).style.display == 'block'){
		display = 'none';
	}else{
		display = 'block';
	}
	
	document.getElementById('aba_video01').style.display = 'none';
	document.getElementById('aba_video02').style.display = 'none';
	document.getElementById('aba_video03').style.display = 'none';

	document.getElementById(id).style.display = display;
}