﻿// Formata campo telefone 
function formataTelefone(campo, evt) { 
//0000-0000 
evt = getEvent(evt); 
var tecla = getKeyCode(evt); 
if (!teclaValida(tecla)) 
return; 
vr = campo.value = filtraCampo(campo); 
tam = vr.length; 


if (tam == 2) 
    campo.value = '('+campo.value +')'; 
if (tam < 7) 
    campo.value = campo.value; 
if (tam > 7) 
    campo.value = vr.substr(0, tam - 4) + '-' + vr.substr(tam - 4, tam); 

}


//filtra textbox para aceitar apenas numeros
function validaNumero(evento) {
   var tecla = event.keyCode;
    if ((tecla == 44 || tecla == 46) || (tecla > 47 && tecla < 58) ) // numeros de 0 a 9
        return true;
    else {
        if (tecla != 8 ) // espaço
            event.keyCode = 0; //return false;
        else
            return true;
        }
        
}

//valida data

function validaData(campo) {
    var data = campo.value; 
    var tam = data.length;
    if(tam!=0)
    {
        if (tam != 10 )
        {
            alert("Data Inválida!");
            return;
        }
        var dia = data.substr(0,2);
        var mes = data.substr (3,2);
        var ano = data.substr (6,4);  
        if(mes>12)
        {
            alert("Data Inválida!");
            return;
        }
        if(dia>31)
        {
            alert("Data Inválida!");
            return;
        }
        if(mes==2 && dia>29)
        {
            alert("Data Inválida!");
            return;
        }
        var now = new Date();
        var diaAgora = now.getDate();
        var mesAgora = now.getMonth()+1;
        var anoAgora = now.getFullYear();
     }
}



// Formata data no padrão DD/MM/YYYY 
function formataData(campo, evt) { 
evt = getEvent(evt); 
var tecla = getKeyCode(evt); 
if (!teclaValida(tecla)) 
return; 
vr = campo.value = filtraNumeros(filtraCampo(campo)); 
tam = vr.length; 
if (tam >= 2 && tam < 4) 
campo.value = vr.substr(0, 2) + '/' + vr.substr(2); 
if (tam == 4) 
campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/'; 
if (tam > 4) 
campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/' + vr.substr(4); 
if (tam >= 5 && tam <= 10) 
campo.value = vr.substr(0, 2) + '/' + vr.substr(2, 2) + '/' + vr.substr(4, 4); 
} 


// Formata o campo CPF 
function formataCPF(campo, evt) { 
    evt = getEvent(evt); 
    var tecla = getKeyCode(evt); 
    if (!teclaValida(tecla)) 
        return; 
    vr = campo.value = filtraNumeros(filtraCampo(campo)); 
    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); 
    }
}

// Formata o campo CEP 
function formataCEP(campo, evt) { 
    evt = getEvent(evt); 
    var tecla = getKeyCode(evt); 
    if (!teclaValida(tecla)) 
        return; 
    vr = campo.value = filtraNumeros(filtraCampo(campo)); 
    tam = vr.length; 
    if (tam <= 3) 
        campo.value = vr; 
    if (tam > 3) 
        campo.value = vr.substr(0, tam - 3) + '-' + vr.substr(tam - 3, tam); 
} 













// limpa todos caracteres que não são números 
function filtraNumeros(campo) { 
var s = ""; 
var cp = ""; 
vr = campo; 
tam = vr.length; 
for (i = 0; i < tam; i++) { 
if (vr.substring(i, i + 1) == "0" || 
vr.substring(i, i + 1) == "1" || 
vr.substring(i, i + 1) == "2" || 
vr.substring(i, i + 1) == "3" || 
vr.substring(i, i + 1) == "4" || 
vr.substring(i, i + 1) == "5" || 
vr.substring(i, i + 1) == "6" || 
vr.substring(i, i + 1) == "7" || 
vr.substring(i, i + 1) == "8" || 
vr.substring(i, i + 1) == "9") { 
s = s + vr.substring(i, i + 1); 
} 
} 
return s; 
//return campo.value.replace("/", "").replace("-", "").replace(".", "").replace(",", "") 
} 



// limpa todos caracteres que não são números, menos a vírgula 
function filtraNumerosComVirgula(campo) { 
var s = ""; 
var cp = ""; 
vr = campo; 
tam = vr.length; 
var complemento = 0; //flag paga contar o número de virgulas 
for (i = 0; i < tam; i++) { 
if ((vr.substring(i, i + 1) == "," && complemento == 0 && s != "") || 
vr.substring(i, i + 1) == "0" || 
vr.substring(i, i + 1) == "1" || 
vr.substring(i, i + 1) == "2" || 
vr.substring(i, i + 1) == "3" || 
vr.substring(i, i + 1) == "4" || 
vr.substring(i, i + 1) == "5" || 
vr.substring(i, i + 1) == "6" || 
vr.substring(i, i + 1) == "7" || 
vr.substring(i, i + 1) == "8" || 
vr.substring(i, i + 1) == "9") { 
if (vr.substring(i, i + 1) == ",") 
complemento = complemento + 1; 
s = s + vr.substring(i, i + 1); 
} 
} 
return s; 
} 


//recupera tecla 
//evita criar mascara quando as teclas são pressionadas 
function teclaValida(tecla) { 
if (tecla == 8 //backspace 
|| tecla == 9 //TAB
|| tecla == 45 //insert 
|| tecla == 46 //delete 
|| tecla == 36 //home 
|| tecla == 37 //esquerda 
|| tecla == 38 //cima 
|| tecla == 39 //direita 
|| tecla == 40)//baixo 
return false; 
else 
return true; 
} 




// recupera o evento do form 
function getEvent(evt) { 
if (!evt) evt = window.event; //IE 
return evt; 
} 



//Recupera o código da tecla que foi pressionado 
function getKeyCode(evt) { 
var code; 
if (typeof (evt.keyCode) == 'number') 
code = evt.keyCode; 
else if (typeof (evt.which) == 'number') 
code = evt.which; 
else if (typeof (evt.charCode) == 'number') 
code = evt.charCode; 
else 
return 0; 
return code; 
}


// 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) != ":" 
&& vr.substring(i, i + 1) != ",") { 
s = s + vr.substring(i, i + 1); 
} 
} 
return s; 
//return campo.value.replace("/", "").replace("-", "").replace(".", "").replace(",", "") 
} 