﻿//------------------------------------------------------------------------------------//
function carregaComboCidades(valorSelecionado, targetControl, defaultValue, defaultText) {

    //limpa o select e exibe o "Aguarde"
    var c = document.getElementById(targetControl);
    while (c.options.length > 0)
        c.options[0] = null;

    c.disabled = true;

    if (valorSelecionado) {
        c.options[0] = new Option(" -- Carregando -- ", " -- Carregando -- ");
        PageMethods.CarregaComboCidadesAsync(valorSelecionado, targetControl, defaultValue, defaultText, carregaComboCidades_callback);
    } else
        c.options[c.options.length] = new Option(defaultText, defaultValue);
}


//------------------------------------------------------------------------------------//
function carregaComboCidades_callback(res) {

    var c = document.getElementById(res["targetControl"]);
    c.disabled = false;

    //limpa o select
    while (c.options.length > 0)
        c.options[0] = null;

    c.options[c.options.length] = new Option(res.defaultText, res.defaultValue);

    //popula o select com a lista obtida
    for (i = 0; i < res.Rows.length; i++) {
        c.options[c.options.length] = new Option(res.Rows[i].Value, res.Rows[i].Key);
    }
}

function carregaEndereco(cep) {

    //limpa o select e exibe o "Aguarde"
    var estado = document.getElementById('ctl00_ContentPlaceHolder1_TabContainer1_TabPanel1_ddlEstado');
    var cidade = document.getElementById('ctl00_ContentPlaceHolder1_TabContainer1_TabPanel1_ddlCidade');
    var rua = document.getElementById('ctl00_ContentPlaceHolder1_TabContainer1_TabPanel1_txtEndereco');
    var bairro = document.getElementById('ctl00_ContentPlaceHolder1_TabContainer1_TabPanel1_txtBairro');
    var load = document.getElementById('ctl00_ContentPlaceHolder1_TabContainer1_TabPanel1_pnlLoadCep');

    if (IsCEP(cep)) {
        estado.disabled = true;
        cidade.disabled = true;
        rua.disabled = true;
        bairro.disabled = true;
        load.style.display = "block";
        rua.value = '[Carregando...]';
        bairro.value = '[Carregando...]';

        PageMethods.CarregaEnderecoAsync(cep, carregaEndereco_callback);
    }
}

function carregaEndereco_callback(res) {

    var estado = document.getElementById('ctl00_ContentPlaceHolder1_TabContainer1_TabPanel1_ddlEstado');
    var cidade = document.getElementById('ctl00_ContentPlaceHolder1_TabContainer1_TabPanel1_ddlCidade');
    var rua = document.getElementById('ctl00_ContentPlaceHolder1_TabContainer1_TabPanel1_txtEndereco');
    var bairro = document.getElementById('ctl00_ContentPlaceHolder1_TabContainer1_TabPanel1_txtBairro');
    var load = document.getElementById('ctl00_ContentPlaceHolder1_TabContainer1_TabPanel1_pnlLoadCep');
    var numero = document.getElementById('ctl00_ContentPlaceHolder1_TabContainer1_TabPanel1_txtNumero');


    if (res.Ok) {
        for (i = 0; i < res.Cidades.length; i++) {
            cidade.options[cidade.options.length] = new Option(res.Cidades[i].Value, res.Cidades[i].Key);
        }

        rua.value = res.Logradouro;
        bairro.value = res.Bairro;
        buscaComboOption(estado, res.IdEstado);
        buscaComboOption(cidade, res.IdCidade);

        numero.focus();
    } else {
        rua.value = '';
        bairro.value = '';
    }

    estado.disabled = false;
    cidade.disabled = false;
    rua.disabled = false;
    bairro.disabled = false;
    load.style.display = "none";
}

function selecionaVaga(idVaga, img, div) {
    var res = confirm('Deseja se candidatar a esta vaga?');

    if (res) {
        PageMethods.SelecionaVagaAsync(idVaga, img, div, selecionaVaga_callback);
    }
}

//------------------------------------------------------------------------------------//
function selecionaVaga_callback(res) {
    alert(res.msg)

    if (res.res) {
        var img = document.getElementById(res.img);
        img.src = 'images/botao_interesse_off.jpg';

        var div = document.getElementById(res.div);
        div.onclick = null;
    }
}

function buscaComboOption(combo, key) {

    for (var i = 0; i < combo.options.length; i++) {
        if (combo.options[i].value == key) {
            combo.options[i].selected = true;
            break;
        }
    }
}

function IsCEP(strCEP) {
    // Caso o CEP não esteja nesse formato ele é inválido!
    var objER = /^[0-9]{5}-[0-9]{3}$/;

    if (strCEP.length > 0) {
        if (objER.test(strCEP))
            return true;
        else
            return false;
    }
    else
        return false;
}

