﻿function isNumberKey(evt) {
    var charCode = (evt.which) ? evt.which : event.keyCode
    if (charCode > 31 && (charCode < 48 || charCode > 57))
        return false;

    return true;
}

function FormataCEP(oCampo) {
    if (oCampo.value.length < 8) {
        alert('CEP inválido');
        oCampo.select();
    }
    else if (oCampo.value.length == 8) {
        oCampo.value = oCampo.value.substr(0, 5) + '-' + oCampo.value.substr(5, 3);
    }
}

function FormataCPF(oCampo) {
    if (ValidaCPF(oCampo.value)) {
        var oCPF = oCampo.value.substr(0, 3) + '.' +
                   oCampo.value.substr(3, 3) + '.' +
                   oCampo.value.substr(6, 3) + '-' +
                   oCampo.value.substr(9, 2);

        oCampo.value = oCPF;
    }
    else {
        alert('CPF inválido');
        oCampo.select();
    }
}

function ValidaCPF(cpf) {

    var numeros, digitos, soma, i, resultado, digitos_iguais;

    digitos_iguais = 1;

    if (cpf.length < 11)
        return false;
    for (i = 0; i < cpf.length - 1; i++)
        if (cpf.charAt(i) != cpf.charAt(i + 1)) {
        digitos_iguais = 0;
        break;
    }

    if (!digitos_iguais) {
        numeros = cpf.substring(0, 9);
        digitos = cpf.substring(9);
        soma = 0;
        for (i = 10; i > 1; i--)
            soma += numeros.charAt(10 - i) * i;
        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (resultado != digitos.charAt(0))
            return false;
        numeros = cpf.substring(0, 10);
        soma = 0;
        for (i = 11; i > 1; i--)
            soma += numeros.charAt(11 - i) * i;
        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (resultado != digitos.charAt(1))
            return false;
        return true;
    }
    else
        return false;
}

function FormataData(oCampo) {
    if (oCampo.value.length < 8) {
        alert('Formato de data inválido');
        oCampo.select();
    }
    else if (oCampo.value.length == 8) {
        var oDia = oCampo.value.substr(0, 2);
        var oMes = oCampo.value.substr(2, 2);
        var oAno = oCampo.value.substr(4, 4);
  
        /*
        if (parseInt(oDia) < 0 || parseInt(oDia) > 31) {
        alert('Formato de data inválido');
        oCampo.select();
        return false;
        }
        
        if (parseInt(oMes) < 0 || parseInt(oMes) > 12) {
        alert('Formato de data inválido');
        oCampo.select();
        return false;
        }
        
        if (parseInt(oAno) < 1920 || parseInt(oDia) >= 2010) {
        alert('Formato de data inválido');
        oCampo.select();
        return false;
        }
        
        // Valida Fevereiro
        if (parseInt(oMes) == 3 && parseInt(oDia) > 29) {
        alert('Formato de data inválido');
        oCampo.select();
        return false;
        }
        
        // Valida meses final 30
        if ((parseInt(oMes) == 4 || parseInt(oMes) == 6 || parseInt(oMes) == 9 || parseInt(oMes) == 11) && parseInt(oDia) > 30) {
        alert('Formato de data inválido');
        oCampo.select();
        return false;
        }
        */
        oCampo.value = oDia + '/' + oMes + '/' + oAno;
    }
}
