﻿function ListarRegioes() {
    page.CodigosDDI_dropRegioes.disabled = true;
    page.CodigosDDI_dropRegioes.options.length = 0;
    var idPais = page.CodigosDDI_dropPaises.SelectedValue();
    $Get('tabelaCidades').style.display = 'none';
    $Get('comboCidades').style.display = 'none';
    Ajax.Pais.ObterPais(idPais, End_ObterPais);
    Ajax.Regiao.ListarRegioes(idPais, End_ListarRegioes);
}

var _ddi;
function End_ObterPais(pais)
{
    if (pais == null) return false;
    $Get('codigoDDI').innerHTML = pais.DDI || '-';
    _ddi = pais.DDI;
}

function End_ListarRegioes(dados) {
    if (dados.length > 0)
    {
        LimparTabelaCidades();
        $Get('tabelaCidades').style.display = '';
        $Get('comboCidades').style.display = '';
        dados.insert({ Nome: 'Selecione', IdRegiao: 0 }, 0);
        page.CodigosDDI_dropRegioes.disabled = false;
    }
    else
    {
        dados.insert({ Nome: 'Nenhuma região encontrada', IdRegiao: 0 }, 0);
        alert('Nenhum DDI encontrado');
    }

    page.CodigosDDI_dropRegioes.DataBind(dados, 'Nome', 'IdRegiao');
    page.CodigosDDI_dropRegioes.style.display = '';

    // Se tiver 1 do dados + 1 do 'Selecione', seleciona a opção por default.    
    if(dados.length==2) 
    {
        page.CodigosDDI_dropRegioes.selectedIndex = 1;
        page.CodigosDDI_dropRegioes.style.display = 'none';
        ListarCidades();
    }
}

function ListarCidades() {
    page.CodigosDDI_dropPaises.disabled = true;
    page.CodigosDDI_dropRegioes.disabled = true;
    LimparTabelaCidades();
    if (page.CodigosDDI_dropRegioes.selectedIndex > 0)
        Ajax.Cidade.ListarComDDD(page.CodigosDDI_dropRegioes.SelectedValue(), true, End_ListarCidades);
    else {
        page.CodigosDDI_dropPaises.disabled = false;
        page.CodigosDDI_dropRegioes.disabled = false;
    }
}

function End_ListarCidades(dados) {
    var tabela = $Get('tabelaCidades');
    for (var i = 0; i < dados.length; i++) {
        var registro = dados[i];
        tr = tabela.insertRow(i + 1);
        if (i % 2 == 0)
            tr.className = 'bg';

        td = tr.insertCell(0);
        td.innerHTML = registro.Nome;
        td = tr.insertCell(1);
        td.className = 'tit_fonte';
        td.innerHTML = (_ddi || '-') + ' ' + (registro.DDD || '-');
    }
    if (dados.length == 0)
        page.CodigosDDI_dropRegioes.style.display = 'none';
    page.CodigosDDI_dropPaises.disabled = false;
    page.CodigosDDI_dropRegioes.disabled = false;
}

function LimparTabelaCidades() {
    var tabela = $Get('tabelaCidades');
    while (tabela.rows.length > 0)
        tabela.deleteRow(0);

    // Configuração do header.
    var tr = tabela.insertRow(0);
    tr.className = 'tb_tit';
    var td = tr.insertCell(0);
    td.innerHTML = 'Cidade';
    td = tr.insertCell(1);
    td.className = 'tit_fonte';
    td.innerHTML = 'Código DDI';
}