﻿window.App = {};
window.Empreendimento = {};
var textoCidade = 'Selecione uma cidade';
var textoBairro = 'Selecione um bairro';
var tipos = ['Apartamentos', 'Casas', 'Unidades comerciais', 'Lotes'];
var atual = 0;
var html = '<li class="imagem"><a href="Ampliado.aspx?imagem={4}" <img src="{0}" alt="{1}" /></a></li><li class="legenda"><span class="fl">{1}</span><span class="fr">Imagem <span class="color_red">{2}</span> de <span class="color_red">{3}</span></span></li>'
window.DetalheEmpreendimento = 1;

function InicializaDefault() {
    InicializaDropCidades();
    InicializaDropBairros();
}

function InicializaDropCidades() {
    page.dropCidades.Clear();
    page.dropCidades.add(new Option(textoCidade, textoCidade), null);
    page.dropCidades.SetDisabled();
}

function VerificaClickDefault() {
    if (page.dropCidades.disabled == false && page.dropCidades.SelectedValue() == textoCidade) {
        alert('Campo cidade obrigatório!');
        return false;
    }
    if (page.dropBairro.disabled == false && page.dropBairro.SelectedValue() == textoCidade) {
        alert('Campo bairro obrigatório!');
        return false;
    }
    return true;
}

function InicializaDropBairros() {
    page.dropBairro.Clear();

    page.dropBairro.add(new Option(textoBairro, textoCidade), null);
    page.dropBairro.SetDisabled();
}

function PopulaCidades(cidades) {
    if (!cidades || !cidades.length) {
        InicializaDropCidades();
        return;
    }

    var cidadeNova = new Array();
    cidadeNova.push({ ID: 'Todas', Nome: 'Todas' });
    var cidadeNova2 = cidadeNova.concat(cidades);
    page.dropCidades.SetEnabled();
    page.dropCidades.Bind(cidadeNova2, 'ID', 'Nome', textoCidade);
}

function PopulaBairros(bairros) {
    if (!bairros || !bairros.length) {
        Busca.InicializaDropBairros();
        return;
    }

    var bairroNovo = new Array();
    bairroNovo.push({ ID: 'Todos', Nome: 'Todos' });
    var bairroNovo2 = bairroNovo.concat(bairros);
    page.dropBairro.SetEnabled();
    page.dropBairro.Bind(bairroNovo2, 'ID', 'Nome', textoBairro);
}

function OnEstadoChange() {
    InicializaDropBairros();
    if (page.dropEstados.selectedIndex <= 0) {
        InicializaDropCidades();
        return;
        }
    page.dropCidades.Clear();
    page.dropCidades.add(new Option('Aguarde...', 'Aguarde...'), null);
    page.dropCidades.SetDisabled();
    Ajax.ListaCidadesAtivas(page.dropEstados.SelectedValue(), PopulaCidades);

}

function OnCidadeChange() {
    InicializaDropBairros();
    if (!Validadores.ValidaNumero(page.dropCidades.SelectedValue()))
        return;
        
    page.dropBairro.Clear();
    page.dropBairro.add(new Option('Aguarde...', 'Aguarde...'), null);
    page.dropBairro.SetDisabled();
    Ajax.ListaBairrosAtivos(parseInt(page.dropCidades.SelectedValue()), PopulaBairros);
}

function Valida() {
    if ((Busca.dropEstados.SelectedValue() || '').length != 2) {
        App.ExibeAlerta('Atenção', 'Um Estado deve ser selecionado.');
        return false;
    }
    return true;
}

function FinalizaPesquisa(rt) {
    page.rptResultado.Bind(rt);
}

function RetornaResultado(rt) {
    if (rt.Count() == 0) return null;
    return rt.First('i => i.ID == p1', page.QueryString['id']);
}

function LoadHeader(result) {
    var spnTitulo = $('spnTitulo');
    var spnDormitorios = $('spnDormitorios');
    var spnVagas = $('spnVagas');
    var spnArea = $('spnArea');

    spnTitulo.innerHTML = result.Nome;
    spnDormitorios.innerHTML = result.Dormitorios;
    spnVagas.innerHTML = result.Vagas;
    spnArea.innerHTML = result.Area;
}

function LoadPagina(rt) {
    var result = RetornaResultado(rt);
    LoadHeader(RetornaResultado(rt));
    var imgEmpreendimento = $('imgEmpreendimento');
    imgEmpreendimento.src = result.Imagem;
}

function InicializaMapa(rt) {
    var divEndereco = $('divEndereco');
    var idMapa = 'divMapa';
    var imagem = page.ResolveUrl('~/include/img/bandeira.png');

    if (Tesla.Map.MapControl.IsBrowserCompatible()) {
        window.MapaCtrl = new Tesla.Map.MapControl(idMapa);
        var marker = MapaCtrl.CreateMarker(new Tesla.Map.Point(App.Localizacao.Latitude, App.Localizacao.Longitude));

        marker.Icon = new Tesla.Map.MarkerIcon(imagem, new Tesla.Map.Size(44, 34), new Tesla.Map.Point(44, 34));
        MapaCtrl.EnableZoomPanel();
        MapaCtrl.EnableMapTypesPanel();
        MapaCtrl.SetCenter(new Tesla.Map.Point(App.Localizacao.LatitudeCentro, App.Localizacao.LongitudeCentro), App.Localizacao.ZoomMapa);
        MapaCtrl.AddMarker(marker);
    }
    else
        alert('Seu browser não suporta aplicações de mapas');
    var result = RetornaResultado(rt);
    LoadHeader(result);
    //divEndereco.innerHTML = String.Format("{0} - {1} - {2} - {3}",  result.Endereco, result.bairro, result.Cidade, result.Bairro );
}

function LoadFichaTecnica(rt) {
    LoadHeader(RetornaResultado(rt));
}

function LoadImagens(rt) {
    LoadHeader(RetornaResultado(rt));
}

function LoadImagensEmpreendimento(rt) {
    LoadHeader(RetornaResultado(rt));
    Paginacao('Imagens', '');
}
function LoadImagensDecorado(rt) {
    LoadHeader(RetornaResultado(rt));
    Paginacao('Fotos', '');
}
function LoadImagensPlanta(rt) {
    LoadHeader(RetornaResultado(rt));
    Paginacao('Plantas', '');
}
function LoadImagensFaseObra(rt) {
    LoadHeader(RetornaResultado(rt));
    Paginacao('FotosObra', '');
}

function Paginacao(tipo, direcao) {
    var divItens = $('divItens');
    var links = document.getElementsByClassName('navduplo');
    if (direcao == '+')
        atual++;
    if (direcao == '-' && atual > 0)
        atual--;
    switch (tipo) {
        case 'Imagens':
            if (atual >= Empreendimento.Imagens.Count()) {
                atual = Empreendimento.Imagens.Count() - 1;
                break;
            }
            divItens.innerHTML = String.Format(html, Empreendimento.Imagens[atual].Normal, Empreendimento.Imagens[atual].Descricao, (atual + 1), Empreendimento.Imagens.Count(), Empreendimento.Imagens[atual].Ampliada);
            break;
        case 'Plantas':
            if (atual >= Empreendimento.Plantas.Count()) {
                atual = Empreendimento.Plantas.Count() - 1;
                break;
            }
            divItens.innerHTML = String.Format(html, Empreendimento.Plantas[atual].Normal, Empreendimento.Plantas[atual].Descricao, (atual + 1), Empreendimento.Plantas.Count(), Empreendimento.Plantas[atual].Ampliada);
            break;
        case 'Fotos':
            if (atual >= Empreendimento.Fotos.Count()) {
                atual = Empreendimento.Fotos.Count() - 1;
                break;
            }
            divItens.innerHTML = String.Format(html, Empreendimento.Fotos[atual].Normal, Empreendimento.Fotos[atual].Descricao, (atual + 1), Empreendimento.Fotos.Count(), Empreendimento.Fotos[atual].Ampliada);
            break;
        case 'FotosObra':
            if (atual >= Empreendimento.FotosObra.Count()) {
                atual = Empreendimento.FotosObra.Count() - 1;
                break;
            }
            divItens.innerHTML = String.Format(html, Empreendimento.FotosObra[atual].Normal, Empreendimento.FotosObra[atual].Descricao, (atual + 1), Empreendimento.FotosObra.Count(), Empreendimento.FotosObra[atual].Ampliada);
            break;
    } 
    for(var i = 0; i < links.length; i++)
        links[i].style.display = 'block';
}

function ExibeTodos(tipo) {
    var divItens = $('divItens');
    var links = document.getElementsByClassName('navduplo');
    var totalHTML = '';
    switch (tipo) {
        case 'Imagens':
            for (var i = 0; i < Empreendimento.Imagens.Count(); i++) {
                totalHTML += String.Format(html, Empreendimento.Imagens[i].Normal, Empreendimento.Imagens[i].Descricao, (i + 1), Empreendimento.Imagens.Count(), Empreendimento.Imagens[i].Ampliada);
            }
            break;
        case 'Plantas':
            for (var i = 0; i < Empreendimento.Plantas.Count(); i++) {
                totalHTML += String.Format(html, Empreendimento.Plantas[i].Normal, Empreendimento.Plantas[i].Descricao, (i + 1), Empreendimento.Plantas.Count(), Empreendimento.Plantas[i].Ampliada);
            }
            break;
        case 'Fotos':
            for (var i = 0; i < Empreendimento.Fotos.Count(); i++) {
                totalHTML += String.Format(html, Empreendimento.Fotos[i].Normal, Empreendimento.Fotos[i].Descricao, (i + 1), Empreendimento.Fotos.Count(), Empreendimento.Fotos[i].Ampliada);
            }
            break;
        case 'FotosObra':
            for (var i = 0; i < Empreendimento.FotosObra.Count(); i++) {
                totalHTML += String.Format(html, Empreendimento.FotosObra[i].Normal, Empreendimento.FotosObra[i].Descricao, (i + 1), Empreendimento.FotosObra.Count(), Empreendimento.FotosObra[i].Ampliada);
            }
            break;            
    }
    divItens.innerHTML = totalHTML;
    for(var i = 0; i < links.length; i++)
        links[i].style.display = 'none';
}

function CriaTracker() {
    try {
        var pageTracker = _gat._getTracker("UA-1833598-6");
        pageTracker._trackPageview();
    }
    catch (ex) {
    }
}