//Versão 1.10

function CampoVazio(campo, msg, dot) {
    //Verifica se é Textbox.
    if (campo.substr(0, 3) == "txt") {
        //Verifica se o campo contem algum valor.
        if (document.getElementById(campo).value.trim() == "") {
            //Não Tem, Aplica os efeitos abaixo.
            document.getElementById(campo).style.border = "2px solid red"; //Borda vermelha
            if (dot == true)
                document.getElementById(campo + "_Dot").style.visibility = "visible"; //Ponto vermelho visivel.
            //Executa um for, para repetir os efeitos abaixo. (Desaparecer e aparecer com os campos).
            for (var i = 0; i < 2; i++) {
                $("#" + campo).fadeOut("fast");
                $("#" + campo).fadeIn("fast");
                if (dot == true) {
                    $("#" + campo + "_Dot").fadeOut("fast");
                    $("#" + campo + "_Dot").fadeIn("fast");
                }
            }
            return msg;
        }
        else {
            //Tem conteúdo, Retira os efeitos se existir.
            document.getElementById(campo).style.border = "1px solid #ddd";
            document.getElementById(campo + "_Dot").style.visibility = "hidden";
            return "";
        }
    }
    else {
        return "";
    }
}

function ValidarCPF(campocpf) {
    var cpf = document.getElementById(campocpf);
    var valor = SomenteNumeros(RetirarEspeciais(cpf));

    if (valor.length < 11) {
        var tamanho = 11 - valor.length;
        var zero = "";
        var i = 0;
        for (i = 0; i < tamanho; i++) {
            zero += '0';
        }
        valor = zero + valor;
    }

    if (listaCPF(valor.substr(0, 9))) {
        return false;
    }

    if (VerifDigito_CPF(10, valor)) {
        if (VerifDigito_CPF(11, valor)) {
            return true;
        }
        else {
            return false;
        }
    }
    else {
        return false;
    }
}

function VerifDigito_CPF(qnt, cpf) {
    var soma = 0;
    var x = 0, y = 0;
    for (x = qnt, y = 0; x >= 2; x--, y++) {
        var numero = cpf.substr(y, 1);
        soma += numero * x;
    }

    var digito = 0;
    var numcpf = cpf.substr(qnt - 1, 1);
    var modulo = soma % 11;
    if (modulo >= 2) {
        digito = 11 - modulo;
    }
    if (digito == numcpf)
        return true;
    else
        return false;
}

function ValidarCNPJ(campocnpj) {
    var cnpj = document.getElementById(campocnpj);
    var valor = SomenteNumeros(RetirarEspeciais(cnpj));

    if (valor.length < 14) {
        var tamanho = 14 - valor.length;
        var zero = "";
        var i = 0;
        for (i = 0; i < tamanho; i++) {
            zero += '0';
        }
        valor = zero + valor;
    }

    if (listaCNPJ(valor.substr(0, 12))) {
        return false;
    }

    if (VerifDigito_CNPJ(12, valor)) {
        if (VerifDigito_CNPJ(13, valor)) {
            return true;
        }
        else {
            return false;
        }
    }
    else {
        return false;
    }
}

function VerifDigito_CNPJ(qnt, cnpj) {
    var calcdigito = 0;
    if (qnt == 12) {
        calcdigito = 5;
    }
    else if (qnt == 13) {
        calcdigito = 6;
    }

    var soma = 0;
    var x = 0, y = 0;

    for (x = calcdigito, y = 0; x >= 2; x--, y++) {
        var numero = cnpj.substr(y, 1);
        soma += numero * x;
    }

    for (x = 9; x >= 2; x--, y++) {
        var numero = cnpj.substr(y, 1);
        soma += numero * x;
    }

    var digito = 0;
    var numcnpj = cnpj.substr(qnt, 1);
    var modulo = soma % 11;
    if (modulo >= 2) {
        digito = 11 - modulo;
    }

    if (digito == numcnpj) {
        return true;
    }
    else {
        return false;
    }
}

function ValidarEmail(campoemail) {
    var email = document.getElementById(campoemail).value;
    email = trim(email);
    if (email != "") {
        var local = 0;
        var i = 0;

        var vazio = email.indexOf(" ");
        if (vazio < 0) {
            var arroba = email.indexOf("@");
            if (arroba > 0) {
                var dominio = email.substr(arroba + 1);
                var ponto1 = dominio.indexOf(".");
                if (ponto1 > 0) {
                    var subdominio = dominio.substr(ponto1 + 1);
                    if (subdominio != "") {
                        return true;
                    }
                }
            }
        }
    }
    return false;
}

function ValidarTelefone(campotelefone) {
    var tel = document.getElementById(campotelefone);
    var valor = SomenteNumeros(RetirarEspeciais(tel));

    if (valor.length < 10) {
        return false;
    }

    if (listaTelefone(valor.substr(2, 8))) {
        return false;
    }
    else {
        /*if (!VerifDigito_Telefone(valor.substr(2, 4))){
        if (!VerifDigito_Telefone(valor.substr(6, 4))){
        return true;
        }
        else{
        return false;
        }
        }
        return false;*/
        return true;
    }
}

//Funcao para verificar telefone xxxx e depois yyyy.
function VerifDigito_Telefone(strTel) {
    var i = 0, k = 0, num = 0, cont = 0;
    do {
        for (i = 0; i < 4; i++) {
            num = strTel.substr(i, 1);
            if (num == k) {
                cont++;
            }
        }

        if (cont == 4) {
            return true;
        }
        else {
            cont = 0;
        }
        k++;
    } while (k != 9);
    return false;
}

