﻿var Busca = {};

Busca.AdicionaBairro = function(idx)
{
	if( idx == 1 )
	{
		Busca.dvBairro2.style.display	= '';
		Busca.imgMaisBairro1.src		= ResourcePath + 'include/img/form_select_menos.gif';
		Busca.btnMaisBairro1.onclick	= function(){ return Busca.RemoveBairro(1); };
	}
	else
	{
		Busca.dvBairro3.style.display	= '';
		Busca.imgMaisBairro2.src		= ResourcePath + 'include/img/form_select_menos.gif';
		Busca.btnMaisBairro2.onclick	= function(){ return Busca.RemoveBairro(2); };
	}
	return false;
}

Busca.RemoveBairro = function(idx)
{
	if( idx == 1 )
	{
		Busca.dropBairro2.SetSelectedIndex(-1);
		Busca.dvBairro2.style.display	= 'none';
		Busca.imgMaisBairro1.src		= ResourcePath + 'include/img/form_select_mais.gif';
		Busca.btnMaisBairro1.onclick	= function(){ return Busca.AdicionaBairro(1); };
	}
	else
	{
		Busca.dropBairro3.SetSelectedIndex(-1);
		Busca.dvBairro3.style.display	= 'none';
		Busca.imgMaisBairro2.src		= ResourcePath + 'include/img/form_select_mais.gif';
		Busca.btnMaisBairro2.onclick	= function(){ return Busca.AdicionaBairro(1); };
	}
	
	return false;
}

Busca.Inicializa = function()
{
	if (!page.BoxPesquisa_dropEstados)
		return;

	Busca.dropEstados = page.BoxPesquisa_dropEstados;
	Busca.dropCidades = page.BoxPesquisa_dropCidades;
	Busca.dropBairro1 = page.BoxPesquisa_dropBairro1;
	Busca.dropBairro2 = page.BoxPesquisa_dropBairro2;
	Busca.dropBairro3 = page.BoxPesquisa_dropBairro3;

	Busca.dropDormitorios = page.BoxPesquisa_dropDormitorios;
	Busca.dropVagas = page.BoxPesquisa_dropVagas;
	Busca.dropAreaDe = page.BoxPesquisa_dropAreaDe;
	Busca.dropAreaAte = page.BoxPesquisa_dropAreaAte;
	Busca.BuscaAvancada = page.BoxPesquisa_hdBuscaAvancada;

	Busca.chkApto = page.BoxPesquisa_chkApto;
	Busca.chkCasa = page.BoxPesquisa_chkCasa;
	Busca.chkComercial = page.BoxPesquisa_chkComercial;
	Busca.chkLote = page.BoxPesquisa_chkLote;

	Busca.dropEstados.onchange = Busca.OnEstadoChange;
	Busca.dropCidades.onchange = Busca.OnCidadeChange;
	Busca.BoxBuscaAvancada = $('buscaAvancada');
	Busca.imgBuscaRapida = $('imgBuscaRapida');
	Busca.imgBuscaAvancada = $('imgBuscaAvancada');

	Busca.dropCidades.Clear();
	Busca.dropCidades.Add('Cidades', 'Cidades');
	Busca.dropCidades.SetDisabled();

	Busca.btnMaisBairro1 = $('btnMaisBairro1');
	Busca.btnMaisBairro2 = $('btnMaisBairro2');
	Busca.imgMaisBairro1 = $('imgMaisBairro1');
	Busca.imgMaisBairro2 = $('imgMaisBairro2');

	Busca.dvBairro2 = $('dvBairro2');
	Busca.dvBairro3 = $('dvBairro3');
	Busca.InicializaDropBairros();
}

Busca.InicializaDropBairros = function()
{
	Busca.dropBairro1.Clear();
	Busca.dropBairro1.Add( 'Bairro', 'Bairro' );
	Busca.dropBairro1.SetDisabled();

	Busca.dropBairro2.Clear();
	Busca.dropBairro2.Add( 'Bairro', 'Bairro' );

	Busca.dropBairro3.Clear();
	Busca.dropBairro3.Add( 'Bairro', 'Bairro' );

	Busca.dvBairro2.style.display = 'none';
	Busca.dvBairro3.style.display = 'none';
	Busca.btnMaisBairro1.style.display = 'none';
}

Busca.OnEstadoChange = function()
{
    Busca.InicializaDropBairros();
    if ((this.SelectedValue() || '').length == 2)
    {
        Busca.dropCidades.Clear();
        Busca.dropCidades.Add('Aguarde...', 'Aguarde...');
        Busca.dropCidades.SetDisabled();
        Ajax.ListaCidadesAtivas(this.SelectedValue(), Busca.PopulaCidades);
    }
    else
    {
        Busca.dropCidades.Clear();
        Busca.dropCidades.Add('Cidades', 'Cidades');
        Busca.dropCidades.SetDisabled();
    }
}

Busca.OnCidadeChange = function()
{
	Busca.InicializaDropBairros();
	if( Validadores.ValidaNumero( this.value ) )
	{
		Busca.InicializaDropBairros();
		Busca.dropBairro1.Clear();
		Busca.dropBairro1.Add( 'Aguarde...', 'Aguarde...' );
		Ajax.ListaBairrosAtivos( parseInt(this.value), Busca.PopulaBairros );
	}
	else
	{
	}
}

Busca.PopulaCidades = function(cidades)
{
    if (!cidades || !cidades.length)
    {
        Busca.dropCidades.Clear();
        Busca.dropCidades.Add('Cidades', 'Cidades');
        Busca.dropCidades.SetDisabled();
        return;
    }

    var capital = Busca.RetornaCapital();
    if (capital)
    {
        var arr = [capital];
        for (var i = 0; i < cidades.length; i++)
            arr.Add(cidades[i]);
        cidades = arr;
    }

    Busca.dropCidades.SetEnabled();
    Busca.dropCidades.Bind(cidades, 'ID', 'Nome', 'Cidades');
}

Busca.RetornaCapital = function()
{
    var estado = Busca.dropEstados.SelectedValue();
    if (String.IsNullOrEmpty(estado))
        return null;

    switch (estado.toLowerCase())
    {     
        case 'ac': return { ID: 16, Nome: '<b>Rio Branco</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'al': return { ID: 109, Nome: '<b>Maceió</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'am': return { ID: 243, Nome: '<b>Manaus</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'ap': return { ID: 307, Nome: '<b>Macapá</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'ba': return { ID: 988, Nome: '<b>Salvador</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'ce': return { ID: 1347, Nome: '<b>Fortaleza</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'df': return { ID: 1778, Nome: '<b>Brasília</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'es': return { ID: 2048, Nome: '<b>Vitória</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'go': return { ID: 2174, Nome: '<b>Goiânia</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'ma': return { ID: 2587, Nome: '<b>São Luís</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'mg': return { ID: 2754, Nome: '<b>Belo Horizonte</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'ms': return { ID: 4141, Nome: '<b>Campo Grande</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'mt': return { ID: 4347, Nome: '<b>Cuiabá</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'pa': return { ID: 4565, Nome: '<b>Belém</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'pb': return { ID: 4964, Nome: '<b>João Pessoa</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'pe': return { ID: 5406, Nome: '<b>Recife</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'pi': return { ID: 5721, Nome: '<b>Teresina</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'pr': return { ID: 6015, Nome: '<b>Curitiba</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'rj': return { ID: 7043, Nome: '<b>Rio de Janeiro</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'rn': return { ID: 7221, Nome: '<b>Natal</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'ro': return { ID: 7352, Nome: '<b>Porto Velho</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'rr': return { ID: 7375, Nome: '<b>Boa Vista</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'rs': return { ID: 7994, Nome: '<b>Porto Alegre</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'sc': return { ID: 8452, Nome: '<b>Florianópolis</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'se': return { ID: 8770, Nome: '<b>Aracaju</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'sp': return { ID: 9668, Nome: '<b>São Paulo</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
        case 'to': return { ID: 9899, Nome: '<b>Palmas</b><div class="rossi_separador_drop_reta"><img src="include/img/trans.gif" width="1" class="absmiddle" alt="" style="width:128px;" /></div>', __NoSeparator: 1 };
    }

    return null;
}

Busca.PopulaBairros = function(bairros)
{
	if( !bairros || !bairros.length )
	{
		Busca.InicializaDropBairros();
		return;
	}

	Busca.dropBairro1.SetEnabled();
	Busca.dropBairro1.Bind( bairros, 'ID', 'Nome', 'Bairros' );
	Busca.dropBairro2.Bind( bairros, 'ID', 'Nome', 'Bairros' );
	Busca.dropBairro3.Bind( bairros, 'ID', 'Nome', 'Bairros' );
	Busca.btnMaisBairro1.style.display = '';
}

Busca.Valida = function()
{
	if ((Busca.dropEstados.SelectedValue() || '').length != 2)
	{
		App.ExibeAlerta('Atenção', 'Um Estado deve ser selecionado.');
		return false;
	}
	if (!(Busca.chkApto.checked | Busca.chkCasa.checked | Busca.chkComercial.checked | Busca.chkLote.checked))
	{
		App.ExibeAlerta('Atenção', 'Ao menos um tipo de imóvel deve ser selecionado.');
		return false;
	}

	$('boxbusca_btnBuscar').value = '1';
	return true;
}

Busca.MudaExibicao = function(rapida)
{
	Busca.BuscaAvancada.value = !rapida;
	if( rapida )
	{
		Busca.BoxBuscaAvancada.style.display = 'none';
		Busca.imgBuscaRapida.src	= ResourcePath + "include/img/lateral_aba_buscarapida_on.gif"
		Busca.imgBuscaAvancada.src	= ResourcePath + "include/img/lateral_aba_buscaavancada_off.gif"
	}
	else
	{
		Busca.BoxBuscaAvancada.style.display = '';
		Busca.imgBuscaRapida.src	= ResourcePath + "include/img/lateral_aba_buscarapida_off2.gif"
		Busca.imgBuscaAvancada.src	= ResourcePath + "include/img/lateral_aba_buscaavancada_on.gif"
	}
}


Busca.Track = function()
{  
    if (String.IsNullOrEmpty(Busca.BuscaAvancada.value) || (Busca.BuscaAvancada.value + '') == 'false')
        App.TrackAnalytics('Home','Busca Rapida','Botao Buscar - Busca Rapida');
    else
        App.TrackAnalytics('Home','Busca Avancada','Botao Buscar - Busca Avancada');
     
}

page.AddOnPosLoad( Busca.Inicializa );