/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


function mascaraCpf(obj, event, corCampo, corLetra){

    var enter = 13;
    var space = 32;
    var esc = 27;
    var del = 83;
    var backspace = 8;
    var validos = '0123456789';
    var aux = '';
    var tecla;

    if(!corCampo) corCampo = '#FF0000';
    if(!corLetra) corLetra = '#FFFFFF';

    if(navigator.appName.indexOf('Netscape') != -1) tecla = event.which;
    else tecla = event.keyCode;

    var key = String.fromCharCode(tecla);

    if(tecla == enter)
        return false;
    else if(tecla == backspace)
        return true;
    else if(tecla == space)
        return false;
    else if(tecla == esc)
        return false;
    else if(tecla == del)
        return true;

    if (validos.indexOf(key) == -1) return false;

    if(obj.value == '') aux = '';
    else aux = obj.value;

    aux += key;

    if(aux.length == 3 || aux.length == 7) obj.value = aux + '.';
    else if(aux.length == 11) obj.value = aux + '-';
    else if(aux.length <= 14){
        obj.value = aux;
        if(obj.value.length == 14)
            if(!validaCPF(obj)){
                obj.style.backgroundColor = corCampo;
                obj.style.color = corLetra;
                obj.focus;
                alert('ATENÇÃO!\n\nCPF inválido!');
            }

    }
    return false;
}

function validaCPF(cpf) {
    var erro = false;
    var limpo = cpf.value;
    limpo = limpo.replace(".","");
    limpo = limpo.replace(".","");
    limpo = limpo.replace("-","");

    if(limpo.length != 11 || limpo == "00000000000" || limpo == "11111111111" || limpo == "22222222222" || limpo == "33333333333" || limpo == "44444444444" || limpo == "55555555555" || limpo == "66666666666" || limpo == "77777777777" || limpo == "88888888888" || limpo == "99999999999")
        erro = true;
    var soma = 0;
    for(i = 0; i < 9; i++) soma += parseInt(limpo.charAt(i)) * (10 - i);
    var resto = 11 - (soma % 11);
    if(resto == 10 || resto == 11) resto = 0;
    if(resto != parseInt(limpo.charAt(9))) erro = true;
    soma = 0;
    for (i = 0; i < 10; i++) soma += parseInt(limpo.charAt(i)) * (11 - i);
    resto = 11 - (soma % 11);
    if(resto == 10 || resto == 11) resto = 0;
    if(resto != parseInt(limpo.charAt(10))) erro = true;
    if(erro) return false;
    else return true;
}

function validaTamanhoCpf(obj, corCampo, corLetra){
    if(!corCampo) corCampo = '#FF0000';
    if(!corLetra) corLetra = '#FFFFFF';

    if(obj.value != '' && obj.value.length < 14){
        obj.style.backgroundColor = corCampo;
        obj.style.color = corLetra;
        obj.focus;
        alert('ATENÇÃO!\n\nO campo deve conter 14 caracteres com o formato 999.999.999-99, verifique!');
    }
}
