﻿function IniciaSolicitacao() {
    document.getElementById("divProcessamento").style.visibility = "visible";
}

function FinalizaSolicitacao() {
    document.getElementById("divProcessamento").style.visibility = "hidden";
}

function BuscarEstados() {
    IniciaSolicitacao();
    var paisID = document.getElementById('DDL_Pais').options[document.getElementById('DDL_Pais').selectedIndex].value;

    if (paisID != 0) {
        Chutz.servico_chutz.BuscarEstados(Number(paisID), Sucesso_BuscarEstados, Erro_Padrao);
    }
    else {
        document.getElementById('DDL_Estado').length = 0;
        document.getElementById('DIV_Estado').style.visibility = 'hidden';
        document.getElementById('DDL_Cidade').length = 0;
        document.getElementById('DIV_Cidade').style.visibility = 'hidden';
        FinalizaSolicitacao();
    }
}

function Sucesso_BuscarEstados(result, eventArgs) {
    var ddlEstado = document.getElementById('DDL_Estado');
    ddlEstado.options.length = 0;

    popularDropDownList(ddlEstado, result);
    document.getElementById('DIV_Estado').style.visibility = 'visible';

    FinalizaSolicitacao();
}

function BuscarCidades() {
    IniciaSolicitacao();
    var estadoID = document.getElementById('DDL_Estado').options[document.getElementById('DDL_Estado').selectedIndex].value;

    if (estadoID != 0) {
        Chutz.servico_chutz.BuscarCidades(Number(estadoID), Sucesso_BuscarCidades, Erro_Padrao);
    }
    else {
        document.getElementById('DDL_Cidade').length = 0;
        document.getElementById('DIV_Cidade').style.visibility = 'hidden';
        FinalizaSolicitacao();
    }
}

function Sucesso_BuscarCidades(result, eventArgs) {
    var ddlCidade = document.getElementById('DDL_Cidade');
    ddlCidade.options.length = 0;

    popularDropDownList(ddlCidade, result);
    document.getElementById('DIV_Cidade').style.visibility = 'visible';

    FinalizaSolicitacao();
}

function Erro_Padrao(error, userContext, methodName) {
    alert(error.get_message());
}

function popularDropDownList(ddl, itens) {
    var opcaoPadrao = document.createElement('option');
    opcaoPadrao.value = "0";
    opcaoPadrao.text = "Selecione...";
    
    ddl.options.add(opcaoPadrao);

    for (var i = 0; i < itens.length; i++) {
        var item = itens[i].split("|");
        var opcao = document.createElement('option');
        opcao.value = item[0];
        opcao.text = item[1];
        ddl.options.add(opcao);
    }
}

function validarLogin(login) {
    var caracteres = "@._-qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789";
    var arrlogin = login.split("");

    if (login.length < 6 || login.length > 50)
        return false;

    for (var i = 0; i < arrlogin.length; i++) {
        if (caracteres.indexOf(arrlogin[i]) == -1) {
            return false;
        }
    }

    return true;
}

function validarEmail(email) {
    var arrEmail = email.split("");
    var caracteres = "@._-qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789";

    if (email.length < 5)
        return false;

    for (var i = 0; i < arrEmail.length; i++) {
        if (caracteres.indexOf(arrEmail[i]) == -1) {
            return false;
        }
    }

    if (email.indexOf("@") != email.lastIndexOf("@") || email.indexOf("@") == -1 || email.indexOf("@") == 0 || email.lastIndexOf("@") == (email.length - 1))
        return false;

    if (email.indexOf(".") == -1 || email.indexOf(".") == 0 || email.lastIndexOf(".") == (email.length - 1))
        return false;

    if (email.indexOf(".@") != -1 || email.indexOf(".@.") != -1 || email.indexOf("@.") != -1)
        return false;

    return true;
}

function validarNomeCompleto(nomeCompleto) {
    var arrNomeCompleto = nomeCompleto.split("");
    var caracteres = "!#$%¨&*()-?:{}´`^~=+/*,;<>\'|][1234567890";

    if (nomeCompleto.length < 5)
        return false;

    if (nomeCompleto.indexOf(" ") == -1)
        return false;

    if (nomeCompleto.indexOf(" ") == 0 || nomeCompleto.lastIndexOf(" ") == (nomeCompleto.length - 1))
        return false;

    for (var i = 0; i < arrNomeCompleto.length; i++) {
        if (caracteres.indexOf(arrNomeCompleto[i]) != -1) {
            return false;
        }
    }

    return true;
}

function validarDataNascimento(dataNascimento) {
    var arrDataNascimento = dataNascimento.split("");
    var numeros = "0123456789";

    for (var i = 0; i < arrDataNascimento.length; i++) {
        if (numeros.indexOf(arrDataNascimento[i]) == -1 && arrDataNascimento[i] != "/") {
            return false;
        }
    }

    return true;
}

function validarSexo(sexo) {
    if (sexo != "M" && sexo != "F" && sexo != "1" && sexo != "2")
        return false;

    return true;
}

function validarCPF(cpfTexto) {
    if (cpfTexto.length > 11 || cpfTexto.length <= 0 || cpfTexto.indexOf(" ") != -1)
        return false;

    if (cpfTexto.indexOf("00000000000") > -1 || cpfTexto.indexOf("11111111111") > -1 || cpfTexto.indexOf("22222222222") > -1 || cpfTexto.indexOf("33333333333") > -1 || cpfTexto.indexOf("44444444444") > -1 || cpfTexto.indexOf("55555555555") > -1 || cpfTexto.indexOf("66666666666") > -1 || cpfTexto.indexOf("77777777777") > -1 || cpfTexto.indexOf("88888888888") > -1 || cpfTexto.indexOf("99999999999") > -1)
        return false;

    var str1 = "";
    for (var n = 0; n < cpfTexto.length; n++) {
        if (cpfTexto.substr(n, 1) != "." || cpfTexto.substr(n, 1) != "-") {
            str1 += cpfTexto.substr(n, 1);
        }
    }

    cpfTexto = str1;

    var POSICAO, I, SOMA, DV, DV_INFORMADO;
    var DIGITO = new Array(10);
    DV_INFORMADO = cpfTexto.substr(9, 2);

    for (I = 0; I <= 8; I++) {
        DIGITO[I] = cpfTexto.substr(I, 1);
    }

    POSICAO = 10;
    SOMA = 0;

    for (I = 0; I <= 8; I++) {
        SOMA = SOMA + DIGITO[I] * POSICAO;
        POSICAO = POSICAO - 1;
    }

    DIGITO[9] = SOMA % 11;

    if (DIGITO[9] < 2) {
        DIGITO[9] = 0;
    }
    else {
        DIGITO[9] = 11 - DIGITO[9];
    }

    POSICAO = 11;
    SOMA = 0;

    for (I = 0; I <= 9; I++) {
        SOMA = SOMA + DIGITO[I] * POSICAO;
        POSICAO = POSICAO - 1;
    }

    DIGITO[10] = SOMA % 11;
    if (DIGITO[10] < 2) {
        DIGITO[10] = 0;
    }
    else {
        DIGITO[10] = 11 - DIGITO[10];
    }

    DV = DIGITO[9] * 10 + DIGITO[10];
    if (DV != DV_INFORMADO) {
        return false;
    }

    return true;
}

function eNumero(valor) {
    var numeros = "0123456789";
    var arrValor = valor.split("");

    for (var i = 0; i < arrValor.length; i++) {
        if (numeros.indexOf(arrValor[i]) == -1) {
            return false;
        }
    }

    return true;
}

function validarDDD(ddd) {
    if (ddd.length == 0)
        return true;

    if (!eNumero(ddd))
        return false;

    if (ddd.length != 2)
        return false;

    if (ddd.indexOf("0") == 0)
        return false;

    return true;
}

function validarCelular(celular) {
    if (celular.length == 0)
        return true;

    if (!eNumero(celular))
        return false;

    if (celular.length != 8)
        return false;

    if (celular.indexOf("0") == 0 || celular.indexOf("1") == 0 || celular.indexOf("2") == 0 || celular.indexOf("3") == 0 || celular.indexOf("4") == 0 || celular.indexOf("5") == 0)
        return false;

    return true;
}

function validarOperadora(operadora) {
    return true;
}

function validarTelefone(telefone) {
    if (telefone.length == 0)
        return true;

    if (!eNumero(telefone))
        return false;

    if (telefone.length != 8)
        return false;

    if (telefone.indexOf("0") == 0 || telefone.indexOf("6") == 0 || telefone.indexOf("7") == 0 || telefone.indexOf("8") == 0 || telefone.indexOf("9") == 0)
        return false;

    return true;
}

function validarPaisEstadoCidade() {
    var indicePais = document.getElementById('DDL_Pais').selectedIndex;
    var indiceEstado = document.getElementById('DDL_Estado').selectedIndex;
    if (indiceEstado == -1)
        indiceEstado = 0;

    var indiceCidade = document.getElementById('DDL_Cidade').selectedIndex;
    if (indiceCidade == -1)
        indiceCidade = 0;
    
    if ((indicePais == 0 || indiceEstado == 0 || indiceCidade == 0) && (indicePais != 0 || indiceEstado != 0 || indiceCidade != 0))
        return false;
    else
        return true;
}

function validarCEP(cep) {
    if (cep.length == 0)
        return true;

    if (!eNumero(cep))
        return false;

    if (cep.length != 8)
        return false;

    return true;
}

function validarEndereco(endereco) {
    if (endereco.length == 0 || endereco.length > 5)
        return true;
    else
        return false;
}

function validarEnderecoNumero(enderecoNumero) {
    if (enderecoNumero.length == 0 || eNumero(enderecoNumero))
        return true;
    else
        return false;
}

function validarEnderecoComplemento(enderecoComplemento) {
    return true;
}

function validarEnderecoBairro(enderecoBairro) {
    if (enderecoBairro.length == 0 || enderecoBairro.length > 2)
        return true;
    else
        return false;
}

function validarProfissao(profissao) {
    return true;
}

function validarSenha(senha) {
    var caracteres = "@._!#$%¨&*()-?:{}´`^~=+/*,;<>\'|][ ";
    var arrSenha = senha.split("");

    if (senha.length < 6 || senha.length > 20)
        return false;

    for (var i = 0; i < arrSenha.length; i++) {
        if (caracteres.indexOf(arrSenha[i]) != -1) {
            return false;
        }
    }

    return true;
}
