

// Formata o campo CEP
function formataCEP(campo){
	campo.value = filtraCampo(campo);
	vr = Limpar(campo.value, "0123456789");
	//vr = campo.value;
	tam = vr.length;

	if ( tam <= 3 )
		campo.value = vr;
	if ( tam > 3 && tam <= 8) 
		campo.value = vr.substr(0, 5 ) + '-' + vr.substr(5, 8);
	if ( tam > 8) 
		campo.value = vr.substr(0, 5 ) + '-' + vr.substr(6, 8);
} 

function formataTelefone(campo) {
	campo.value = filtraCampo(campo);
	vr = Limpar(campo.value, "0123456789");
	tam = vr.length;

	if ( tam < 2 )
		campo.value = vr;
	if ( tam == 2 )
		campo.value = '(' + vr.substr( 0, 2  ) + ')';
	if ( tam > 2 && tam <= 6 )
		campo.value = '(' + vr.substr( 0, 2  ) + ') ' + vr.substr( 2, 4 ); 
	if ( tam > 6 )
		campo.value = '(' + vr.substr( 0, 2  ) + ') ' + vr.substr( 2, 4 ) + '-' + vr.substr( 6, 4 ); 
}

function formataArquivamento(campo) {
	campo.value = filtraCampo(campo);
	vr = Limpar(campo.value, "0123456789");
	tam = vr.length;

	if ( tam == 1 )
		campo.value = vr;
	if ( tam > 1 && tam < 5 )
		campo.value =  vr.substr( 0, 1 ) + '.' + vr.substr( 1, 3 ) ; 
	if ( tam > 4 && tam < 8 )
		campo.value =  vr.substr( 0, 1 ) + '.' + vr.substr( 1, 3 ) + '.' + vr.substr( 4, 3 ) ; 
	if ( tam > 7 && tam < 10 )
		campo.value =  vr.substr( 0, 1 ) + '.' + vr.substr( 1, 3 ) + '.' + vr.substr( 4, 3 ) + '/' + vr.substr( 7, 2 ); 
	if ( tam > 9 && tam < 11 )
		campo.value =  vr.substr( 0, 1 ) + '.' + vr.substr( 1, 3 ) + '.' + vr.substr( 4, 3 ) + '/' + vr.substr( 7, 2 ) + '-' + vr.substr( 9, 1 ); 
	
}

// Formata o campo CEP SEDEX
function formataCEP_Sedex(campo){
	campo.value = filtraCampo(campo);
	vr = Limpar(campo.value, "0123456789");
	//vr = campo.value;
	tam = vr.length;

	if ( tam <= 3 )
		campo.value = vr;
	if ( tam > 3 ) 
		campo.value = vr.substr(0, 5 ) + '-' + vr.substr(5, 8);
	if ( tam == 8 ) 
		campo.blur();
}



// limpa todos os caracteres especiais do campo solicitado
function filtraCampo(campo){
	var s = "";
	var cp = "";
	vr = campo.value;
	tam = vr.length;
	for (i = 0; i < tam ; i++) {  
		if (vr.substring(i,i + 1) != "/" && vr.substring(i,i + 1) != "-" && vr.substring(i,i + 1) != "."  && vr.substring(i,i + 1) != "," ){
		 	s = s + vr.substring(i,i + 1);}
	}
	campo.value = s;
	return cp = campo.value
}

function Limpar(valor, validos) {
  // retira caracteres invalidos da string
  var result = "";
  var aux;
  for (var i=0; i<valor.length; i++)
  {
    aux = validos.indexOf(valor.substring(i, i+1));
    if (aux>=0)
    {
    	result += aux;
    }
  }
  return result;
}

// Formata data no padr?o DDMMAAAA
function formataData(campo){
	//campo.value = filtraCampo(campo);
	vr = Limpar(campo.value, "0123456789");
	tam = vr.length;

	if ( tam < 2 )
		campo.value = vr;
	if ( tam > 2 && tam < 5 )
		campo.value = vr.substr( 0, tam - 2  ) + '/' + vr.substr( tam - 2, tam );
	if ( tam >= 5 && tam <= 10 )
		campo.value = vr.substr( 0, 2 ) + '/' + vr.substr( 2, 2 ) + '/' + vr.substr( 4, 4 ); 

}

function formataCPF_digitacao(campo){
	//campo.value = filtraCampo(campo);
	vr = Limpar(campo.value, "0123456789");
	tam = vr.length;

	if ( tam < 2 )
		campo.value = vr;
	if ( tam > 2 && tam < 5 )
		campo.value = vr.substr( 0, tam - 2  ) + '-' + vr.substr( tam - 2, tam );
	if ( tam >= 6 && tam <= 8 )
		campo.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + '-' + vr.substr( tam - 2, tam ) ;
	if ( (tam >= 9) && (tam <= 11) )
		campo.value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + '-' + vr.substr( tam - 2, tam ) ; 

}

function FormataCNPJ_digitacao(campo){
	vr = Limpar(campo.value, "0123456789");
	tam = vr.length;	
	
	if ( tam <= 2 ){ 
		campo.value = vr ; }
	if ( (tam > 2) && (tam <= 6) ){
		campo.value = vr.substr( 0, tam - 2 ) + '-' + vr.substr( tam - 2, tam ) ; }
	if ( (tam >= 7) && (tam <= 9) ){
		campo.value = vr.substr( 0, tam - 6 ) + '/' + vr.substr( tam - 6, 4 ) + '-' + vr.substr( tam - 2, tam ) ; }
	if ( (tam >= 10) && (tam <= 12) ){
		campo.value = vr.substr( 0, tam - 9 ) + '.' + vr.substr( tam - 9, 3 ) + '/' + vr.substr( tam - 6, 4 ) + '-' + vr.substr( tam - 2, tam ) ; }
	if ( (tam >= 13) && (tam <= 14) ){
		campo.value = vr.substr( 0, tam - 12 ) + '.' + vr.substr( tam - 12, 3 ) + '.' + vr.substr( tam - 9, 3 ) + '/' + vr.substr( tam - 6, 4 ) + '-' + vr.substr( tam - 2, tam ) ; }
	if ( (tam >= 15) && (tam <= 17) ){
		campo.value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + '-' + vr.substr( tam - 2, tam ) ;}
	}

                

// FORMATA CPF
	function FormataCpf() {
	vr = document.cadastro.cpf.value;
	tam = vr.length;	
	
	if ( tam <= 2 ) 
		document.cadastro.cpf.value = vr ;
	if ( (tam > 2) && (tam <= 5) )
		document.cadastro.cpf.value = vr.substr( 0, tam - 2 ) + '-' + vr.substr( tam - 2, tam ) ;
	if ( (tam >= 6) && (tam <= 8) )
		document.cadastro.cpf.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + '-' + vr.substr( tam - 2, tam ) ;
	if ( (tam >= 9) && (tam <= 11) )
		document.cadastro.cpf.value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + '-' + vr.substr( tam - 2, tam ) ;
		}
		
		
function VerificaData(digData) 
{
    var bissexto = 0;
    var data = digData; 
    var tam = data.length;
    if (tam == 10) 
    {
        var dia = data.substr(0,2)
        var mes = data.substr(3,2)
        var ano = data.substr(6,4)
        if ((ano > 1900)||(ano < 2100))
        {
            switch (mes) 
            {
                case '01':
                case '03':
                case '05':
                case '07':
                case '08':
                case '10':
                case '12':
                    if  (dia <= 31) 
                    {
                        return true;
                    }
                    break
                
                case '04':        
                case '06':
                case '09':
                case '11':
                    if  (dia <= 30) 
                    {
                        return true;
                    }
                    break
                case '02':
                    /* Validando ano Bissexto / fevereiro / dia */ 
                    if ((ano % 4 == 0) || (ano % 100 == 0) || (ano % 400 == 0)) 
                    { 
                        bissexto = 1; 
                    } 
                    if ((bissexto == 1) && (dia <= 29)) 
                    { 
                        return true;                 
                    } 
                    if ((bissexto != 1) && (dia <= 28)) 
                    { 
                        return true; 
                    }            
                    break                        
            }
        }
    }    
    alert("A Data "+data+" é inválida!");
    return false;
}


