//Funções de apresentação de cor de fundo de entrada de dados
function focaliza(campo){campo.style.backgroundColor= "#ffffdb";}
function desfocaliza(campo){campo.style.backgroundColor= "#ffffff";}

///////////////////////////////////////////
//Função para saber que estado foi selecionado
function Sel_uf(flag){	

var a_str = "";
	switch(flag){
		case (1) :
			v_est="AC";
			break; 
		case (2) :
			v_est="AM";
			break;  
		case (3) :
			v_est="RR";
			break;			 
		case (4) :
			v_est="AP";
			break;			 
		case (5) :
			v_est="PA";
			break;			 
		case (6) :
			v_est="RO";
			break;			 
		case (7) :
			v_est="TO";
			break;			 
		case (8) :
			v_est="MT";
			break;			 
		case (9) :
			v_est="MS";
			break;			 
		case (10) :
			v_est="GO";
			break;			 
		case (11) :
			v_est="DF";
			break;			 
		case (12) :
			v_est="SP";
			break;			 
		case (13) :
			v_est="MG";
			break;			 
		case (14) :
			v_est="RJ";
			break;			 
		case (15) :
			v_est="ES";
			break;			 
		case (16) :
			v_est="PR";
			break;			 
		case (17) :
			v_est="SC";
			break;			 
		case (18) :
			v_est="RS";
			break;			 
		case (19) :
			v_est="BA";
			break;			 
		case (20) :
			v_est="SE";
			break;			 
		case (21) :
			v_est="AL";
			break;			 
		case (22) :
			v_est="PE";
			break;			 
		case (23) :
			v_est="PB";
			break;			 
		case (24) :
			v_est="RN";
			break;			 
		case (25) :
			v_est="CE";
			break;			 
		case (26) :
			v_est="PI";
			break;			 
		case (27) :
			v_est="MA";
		default :
	}
  document.formulario.acao.value = "1"
  document.formulario.abrangencia.value = "1"
  document.formulario.uf.value = v_est
  document.formulario.submit();

}
///////////////////////////////////////////////////////////////
//Função para saber que regiao foi selecionada

function Sel_reg(flag){	
	switch(flag){
		case (1) :
			v_est="N";
			break; 
		case (2) :
			v_est="NE";
			break;  
		case (3) :
			v_est="S";
			break;			 
		case (4) :
			v_est="SE";
			break;			 
		case (5) :
			v_est="CO";
			break;			 
		default :
	}
    document.formulario.acao.value = "1"
    document.formulario.abrangencia.value = "2"
    document.formulario.reg.value = v_est
    document.formulario.submit();

}
///////////////////////////////////////////////////////////////////////////
//Função seleciona pais

function Sel_pais(flag){	
	switch(flag){
		case (1) :
			v_est="Brasil";
			break; 
		default :
	}
    document.formulario.acao.value = "1"
    document.formulario.abrangencia.value = "3"
    document.formulario.pais.value = v_est
    document.formulario.submit();

}

////////////////////////////////////////////////////////////////////
//Função de obrigatoriedade chebo
function validaObrigatoriedadeCheckbox(label, cont){
    var aux0 = false;
    var conta = eval("document.formulario." + cont +".value" )
    for(i=0; i < parseInt(conta); i++){
      if(document.formulario.id[i].checked==true){
        var aux0 = true;
      }
    }
    if(!aux0){
       alert("Selecione ao menos uma "+ label);
       return false;
    }else{
      return true
    }
}  


////////////////////////////////////////////////////////////////////
//Função de validação de numero inteiro Positivo
function validaInteiroPositivo(label, nomeObjeto){
  if(isNaN(eval("document.formulario." + nomeObjeto + ".value"))){
    alert(label + " - Preenchimento inválido. \nFavor preencher somente com valor numérico.");
    eval("document.formulario." + nomeObjeto + ".focus()");
    return false;
  }
  else{
    if(parseInt(eval("document.formulario." + nomeObjeto + ".value"),10)<0){
      alert(label + " - Preenchimento inválido. \nFavor preencher somente com valor positivo.");
      eval("document.formulario." + nomeObjeto + ".focus()");
      return false;
    }
    else{
      return true;
    }
  }
}

//////////////////////////////////////////////////////////////////////////
//Função acionada quando a tecla é pressionada
function campoNumerico(teclapres){

			//tecla.keyCode == 48..57 	ascii -->  0..9
			//tecla.keyCode == 96..105 	ascii -->  0..9
			//tecla.keyCode == 8	 			ascii -->  Backspace
			//tecla.keyCode == 13 			ascii -->  Enter
			//tecla.keyCode == 6 				ascii -->  Tab


    if ((teclapres.keyCode >= 48 && teclapres.keyCode <= 57) ||
    			(teclapres.keyCode >= 96 && teclapres.keyCode <= 105)||
    			(teclapres.keyCode == 8) ||
   				(teclapres.keyCode == 13)||
    			(teclapres.keyCode == 6)){

    }
    else{
        if(teclapres.keyCode==9){ // Executa a função Tab
          return
        }
       event.returnValue = false
		}
}


////////////////////////////////////////////////////////////////////////////
// Esta funcao faz con que a data passada Ex:20/02/03 fique no formato de 20/03/2003 
function avaliaFormataCampoData(campo){ 
   var data = eval('document.formulario.'+campo+'.value')
   ano = new Date()
   var hoje = "" + ano.getFullYear()
   if(data.length == 8 ){
        eval('document.formulario.'+campo+'.value = data.substr(0,6) + hoje.substr(0,2) + data.substr(6,2)')
   }
  return true;
}  
    

////////////////////////////////////////////////////////////////////
//Função de obrigatoriedade
function validaObrigatoriedade(label, nomeObjeto){
  if(eval("document.formulario." + nomeObjeto + ".value==''")){
    alert(label + " - Preenchimento obrigatório.");
    eval("document.formulario." + nomeObjeto + ".focus()");
    return false;
  }
  else{    
    return true;    
  }
}  
////////////////////////////////////////////////////////////////////
// valida data
function validaDataMesAno(data, label){
	var dia,mes,ano,i;
	var varauxbissexto;
	var obj;
	var tam;
	obj = data;
	tam = parseInt(obj.length,10); 

	for(i=0;i<tam;i++){
		if((tam==8)||(tam!=8)&&((i!=2) && (i!=5))){
			if(!(obj.charAt(i) >= '0' && obj.charAt(i) <= '9')){
				alert(label + " - Data Inválida.");
				return false;
			}			
		}
	}
	
	if(obj.length==8)	{
		dia = parseInt(obj.substring(0,2),10);
		mes = parseInt(obj.substring(2,4),10);
		ano = parseInt(obj.substring(4,8),10)
	}else{
		dia = parseInt(obj.substring(0,2),10);
		mes = parseInt(obj.substring(3,5),10);
		ano = parseInt(obj.substring(6,10),10)

		if((obj.charAt(2)!='/')||(obj.charAt(5)!='/')){
			if(obj!=""){			
				alert(label + " - Data Inválida.\nDigite pausadamente o campo.");        
				return false;
			}
		}
	}	

	//critica data
	if((dia > 31) || (dia == 0)){
		alert(label + " - Dia Inválido.");
		return false;		
	}
	if ((mes > 12) || (mes == 0)){
		alert(label + " - Mês Inválido.");
		return false;		
	}
	if(ano%4 == 0)
		varauxbissexto = 1;
	else
		varauxbissexto = 0;
	if(((mes == 2) && (dia > (28 + parseInt(varauxbissexto,10)))) || (mes == 4 || mes == 6 || mes == 9 || mes == 11) && (dia > 30)){
		alert(label + " - Preenchimento inválido.");
		return false;
	}	
	return true;
}
////////////////////////////////////////////////////////////

//Função acionada quando a tecla é pressionada
function FormataCampoData(Campo,teclapres){
 		valorDoCampo = Campo.value
    tamanhoDoCampo = valorDoCampo.length

    //Verifica se a tecla que foi pressionada e aceita ou não

			//tecla.keyCode == 48..57 	ascii -->  0..9
			//tecla.keyCode == 96..105 	ascii -->  0..9
			//tecla.keyCode == 8	 			ascii -->  Backspace
			//tecla.keyCode == 13 			ascii -->  Enter
			//tecla.keyCode == 6 				ascii -->  Tab
    if ((teclapres.keyCode >= 48 && teclapres.keyCode <= 57) ||
    			(teclapres.keyCode >= 96 && teclapres.keyCode <= 105)||
    			(teclapres.keyCode == 8) ||
   				(teclapres.keyCode == 13)||
    			(teclapres.keyCode == 6)){

        Organiza_CasaData(Campo,teclapres.keyCode,valorDoCampo)	// Se a tecla pressionada é valida passa para a função o onde ocoreu o evento campo a tecla pressionada  e o que contem o campo
    }
    else{
        Detona_EventData(Campo,teclapres.keyCode,valorDoCampo)  // Se a tecla pressionada não é valida passa para a função o onde ocoreu o evento campo a tecla pressionada  e o que contem o campo
    }
}

//Função acionada quando a tecla pressionada é valida

function Organiza_CasaData(Campo,teclapres_key,valorDoCampo){
		var junta = ""

	// Condição para fazer a formatação do campo

		if((valorDoCampo !=0) && !(teclapres_key == 8)){

				// Lupim para tirar todos os pontos de formatação

				for( var i =0; i < valorDoCampo.length; i++){

					arryVerificacao = new Array(valorDoCampo.length)

					arryVerificacao[i] = valorDoCampo.charAt(i)

					if(arryVerificacao[i] == "/" ){

						arryVerificacao[i] = ""
					}

					junta = junta + arryVerificacao[i] // Junta todos os caracter sem a formatação
				}
				montaCampo=""

				if(valorDoCampo.length == 2 ){
					var montaCampo = junta.substr(0,2) + "/" + junta.substr(2,1)
					Campo.value = montaCampo
				}

				if(valorDoCampo.length == 5 ){
					var montaCampo = junta.substr(0,2) + "/" + junta.substr(2,2)+ "/" + junta.substr(4,1)
					Campo.value = montaCampo
				}
				if(valorDoCampo.length == 7 ){
					var montaCampo = junta.substr(0,2) + "/" + junta.substr(2,2)+ "/" + junta.substr(4,2)
					Campo.value = montaCampo
				}
				if(valorDoCampo.length == 8 ){
					var montaCampo = junta.substr(0,2) + "/" + junta.substr(2,2)+ "/" + junta.substr(4,3)
					Campo.value = montaCampo
				}
				if(valorDoCampo.length == 9 ){
					var montaCampo = junta.substr(0,2) + "/" + junta.substr(2,2)+ "/" + junta.substr(4,4)
					Campo.value = montaCampo
				}

		}

}

//Função acionada quando a tecla pressionada é invalida

function Detona_EventData(Campo,teclapres_key,valorDoCampo){

		if(teclapres_key==9){ // Executa a função Tab
			return
		}
        Campo.value = valorDoCampo
    		event.returnValue = false        
}

//////////////////////////////////////////////////////////////
//Verifica se foi pressionada não é de controle
function FormataTeclasDeControle(tecla){

		//tecla.keyCode == 33..46 	ascii --> shift 0..9
		//tecla.keyCode == 63 			ascii --> shift e ?
		//tecla.keyCode == 64 			ascii --> shift e 2
		//tecla.keyCode == 168 			ascii --> shift e 6


	//Verifica se foi pressionada a tecla shift
			if((tecla.keyCode >= 33  && tecla.keyCode <= 46) ||
					(tecla.keyCode == 168) ||
					(tecla.keyCode == 64)  ||
					(tecla.keyCode == 63)){
					event.returnValue = false
			}

		//tecla.keyCode == 47 	ascii --> alt e q
		//tecla.keyCode == 63 	ascii --> alt e w
		//tecla.keyCode == 162 	ascii --> alt e 5
		//tecla.keyCode == 163 	ascii --> alt e 4
		//tecla.keyCode == 167 	ascii --> alt e =
		//tecla.keyCode == 170	ascii --> alt e {
		//tecla.keyCode == 172 	ascii --> alt e 6
		//tecla.keyCode == 176 	ascii --> alt e e alt e ?
		//tecla.keyCode == 178 	ascii --> alt e 2
		//tecla.keyCode == 179 	ascii --> alt e 3
		//tecla.keyCode == 185 	ascii --> alt e 1
		//tecla.keyCode == 176 	ascii --> alt e }

	//Verifica se foi pressionada a tecla alt
			if((tecla.keyCode == 47) 	||
					(tecla.keyCode == 63)	||
					(tecla.keyCode == 162)||
					(tecla.keyCode == 163)||
					(tecla.keyCode == 167)||
					(tecla.keyCode == 170)||
					(tecla.keyCode == 172)||
					(tecla.keyCode == 176)||
					(tecla.keyCode == 178)||
					(tecla.keyCode == 179)||
					(tecla.keyCode == 185)||
					(tecla.keyCode == 186)){

					event.returnValue = false
			}
	}

///////////////////////////////////////////////////////////////
  //Função que determina o comprimento maximo no campo area
	function calculaCampo(nomeObjeto, tamanho,  objetoControle, evento){

    //comprimento maximo      
      //alert("" + objetoControle.value)
      if((parseInt(nomeObjeto.value.length,10) >= parseInt(tamanho,10)) && (evento.keyCode != 8)){         
      nomeObjeto.value = nomeObjeto.value.substr(0,tamanho);
      event.returnValue = false
			return false;
      }
		//decrementa o contador do campo
		if((nomeObjeto.value.length >= 0) && (evento.keyCode != 8)) {    
      objetoControle.value = parseInt(tamanho, 10) - parseInt(nomeObjeto.value.length,10) -1
		}
    
    if((nomeObjeto.value.length > 0) && (evento.keyCode == 8)){
      tam = 0
      tam = parseInt(tamanho) +1
      objetoControle.value = parseInt(tam, 10) - parseInt(nomeObjeto.value.length,10)
		}
    //Verifica se foi pressionado CTRL 
      if(evento.keyCode == 17){
          alert("Função desabilitada");
          event.keyCode = 0;
          event.returnValue = false;
      }
  }
////////////////////////////////////////////////////////////////////
//Função que tira os espacos em bracos
function Trim(valor)
{
  //Declaracao de Variaveis
	var string_entrada = valor;
	var i;
	var estado=0;
	var branco;
	var char_entrada, char_saida;
	var string_tamanho = parseInt(string_entrada.length,10)
	var string_saida = ""
	
	char_saida = "";
	char_entrada = string_entrada.charAt(0);
	if (char_entrada==' '){branco = 1;}else{branco = 0;}
	
	for (i=0;i<string_tamanho;i++)
	{
		char_entrada = string_entrada.charAt(i);
		switch (estado)
		{
			case 0:
			{	
				if (char_entrada==' ')
				{
					if (branco==0)
					{
						string_saida = string_saida + char_entrada;
					}
			  		branco = 1;
			  		estado = 0;
				  	break;
				}
				else
				{
					string_saida = string_saida + char_entrada;
					estado = 1;
					branco = 0;
					break;
				}
			}

			case 1:
			{
				if (char_entrada!=' ')
				{
					string_saida = string_saida + char_entrada;
					estado = 1;
					branco = 0;
					break;
				}
				else
				{
					if (branco==0)
					{
						string_saida = string_saida + char_entrada;
					}
					estado = 0;
					branco = 1;
					break;
				}
 			}		 
		}
	}
	string_entrada = string_saida;
	string_tamanho = parseInt(string_entrada.length,10) -1;
	if(string_entrada.charAt(string_tamanho)==' ')
	{
		if(string_tamanho > 0){	string_saida = string_entrada.substring(0,parseInt(string_tamanho,10));}
		else{string_saida = '';} 
	}
	return string_saida;
}


