﻿/**************************************************************
*
* CLASSE JAVASCRIPT DESTAQUES
*
* CRIADO POR: CRISTIANO TAVELLA
* DATA: 31/05/2011
* OBS:
* EDITADO POR: CRISTIANO TAVELLA
* DATA: 31/05/2011
* OBS:
*
*************************************************************/

function imprimir() {
    var v_this = this;
    if (this.destinoDestaque != "") {
        $(".boxConteudoDadosMenor" + this.destino.replace("#boxConteudo_", "")).each(function () {
            $(v_this.destinoDestaque).append($(this).html());
            $(this).remove();
        });
    }

    if (this.destinoDestaqueGrande != "") {
        $(".boxConteudoDadosGrande" + this.destino.replace("#boxConteudo_", "")).each(function () {
            $(v_this.destinoDestaqueGrande).append($(this).html());
            $(this).remove();
        });
    }

    //verifica o total dos imóveis
    if (this.totalDados < (this.qtdResultado * this.qtdTrocaResultado)) {
        this.qtdTrocaResultado = Math.round(this.totalDados / this.qtdResultado);
    }

    if (this.totalDados > this.qtdResultado) {

        //troca automatica
        if (typeof (this.timeChange) != "undefined" && !isNaN(this.timeChange))
            this.IntervalChange = setTimeout(this.destino.replace("#boxConteudo_", "") + ".autoChange();", (this.timeChange * 1000));

        //setas troca
        var v_this_dest = this;
        if (typeof (this.boxSetaProximo) != "undefined" && this.boxSetaProximo != "")
            $(document).ready(function () { $(v_this_dest.boxSetaProximo).click(function () { eval(v_this_dest.destino.replace("#boxConteudo_", "") + ".clickDestaque(((" + v_this_dest.destino.replace("#boxConteudo_", "") + ".pagina_atual + 1) == " + v_this_dest.destino.replace("#boxConteudo_", "") + ".qtdTrocaResultado ? 0 : (" + v_this_dest.destino.replace("#boxConteudo_", "") + ".pagina_atual + 1)));") }); });
        if (typeof (this.boxSetaAnterior) != "undefined" && this.boxSetaAnterior != "")
            $(document).ready(function () { $(v_this_dest.boxSetaAnterior).click(function () { eval(v_this_dest.destino.replace("#boxConteudo_", "") + ".clickDestaque(((" + v_this_dest.destino.replace("#boxConteudo_", "") + ".pagina_atual - 1) < 0 ? (" + v_this_dest.destino.replace("#boxConteudo_", "") + ".qtdTrocaResultado - 1) : (" + v_this_dest.destino.replace("#boxConteudo_", "") + ".pagina_atual - 1)));") }); });
    }

    //verifica status do corretor
    if (typeof ($('.boxStatusAtd').html()) != "undefined") {
        ajax({ action: "getCorretorOnline" }, function (retorno) {
            if (retorno == "0")
                $('.boxStatusAtd').html("OFFLINE");
            else
                $('.boxStatusAtd').html("ONLINE");
        });
    }

    //load das imagens
    $(document).ready(function () {
        $('.LoadImage').each(function () {
            $(this).attr("src", $(this).attr("image"));
        });
    });
}

function clickDestaque(i) {
    this.pagina_atual = i;

    this.changeDestaque();

    if (typeof (this.timeChange) != "undefined" && !isNaN(this.timeChange)) {
        clearTimeout(this.IntervalChange);
        this.IntervalChange = setTimeout(this.destino.replace("#boxConteudo_", "") + ".autoChange();", (this.timeChange * 1000));
    }
}


function changeDestaque() {
   
    var v_this = this;
    $('.boxConteudoDados' + v_this.destino.replace("#boxConteudo_", "")).hide();

    for (var i = (this.pagina_atual * this.qtdResultado), total = ((this.pagina_atual + 1) * this.qtdResultado); i < total; i++) {
        $('#boxConteudoDados' + v_this.destino.replace("#boxConteudo_", "")+"_" + i).show();
    }    

    //verifica se tem ligue gratis
    if (v_SEO.ligue_id == "") {
        $('.boxLigueGratis').remove();

    }
    //Imprime Labels
    if (this.boxLabel != "") {
        var scriptLabel = "";
        for (var i = 1; i <= this.qtdTrocaResultado; i++) {
            if ((this.pagina_atual + 1) == i)
                scriptLabel += "<div class='" + this.classLabelSelecionada + "'>" + i + "</div>";
            else
                scriptLabel += "<div onclick='" + this.destino.replace("#boxConteudo_", "") + ".pagina_atual = " + (i - 1) + "; " + this.destino.replace("#boxConteudo_", "") + ".changeDestaque();' >" + i + "</div>";

        }
        $(this.boxLabel).append(scriptLabel);
    }

    /*
    //Coloca os dados no layout
    if (this.destinoDestaque == "")
        $(this.destino).html("");
    else
        $(this.destinoDestaque).html("");

    if (this.destinoDestaqueGrande != "")
        $(this.destinoDestaqueGrande).html("");

    var count = 0;

    var v_layout2 = "";

    for (var i = (this.pagina_atual * this.qtdResultado), total = ((this.pagina_atual + 1) * this.qtdResultado); i < total; i++) {

        if (typeof (this.dados[i]) == "undefined")
            break;
        
        if (count == 0 && this.layout2 != "")
            var v_layout = this.layout2;
        else
            var v_layout = this.layout;

        //abrir ficha
        //v_layout = v_layout.replace(/\[ficha\]/g, v_raiz + "Imovel/" + this.dados[i].pkimovel + "/" + this.dados[i].inf_tipo.replace(/ /g, "_") + "-" + this.dados[i].inf_bairro.replace(/ /g, "_") + "-" + this.dados[i].inf_cidade.replace(/ /g, "_") + "-" + this.dados[i].detalhes_basicos.replace(/ /g, "").replace(/\|/g, "-"));
        v_layout = v_layout.replace(/\[ficha\]/g, v_raiz + (this.dados[i].inf_venda == "1" && this.dados[i].inf_locacao == "1" ? "comprar-alugar" : (this.dados[i].inf_venda == "1" ? "comprar" : "alugar")) + "-" + url(this.dados[i].inf_tipo) + "-" + url(this.dados[i].inf_bairro) + "-" + url(this.dados[i].inf_cidade) + "-" + url(this.dados[i].inf_uf) + "/" + this.dados[i].pkimovel);
        //Ligue Grátis
        v_layout = v_layout.replace(/\[ligue_gratis\]/g, "onclick=\"abrirLigueGratis(" + this.dados[i].pkimovel + ");\" ");
        //atendimento Online
        v_layout = v_layout.replace(/\[atendimento_online\]/g, "onclick=\"abrirCorretorOnline('" + this.dados[i].cap_captador + "'," + this.dados[i].pkimovel + "); \" ");
        //virtual tour
        v_layout = v_layout.replace(/\[tour\]/g, "onclick=\"abrirTour(this,'" + this.dados[i].lkprevisite + "'); \" ");
        

        for (var campo in this.dados[i]) {
            eval("v_layout = v_layout.replace(/\\[" + campo + "\\]/g, this.dados[" + i + "]." + campo + ");");
            this.TotalResultado = this.dados[i].total;
        }

        if (count == 0 && this.layout2 != "")
            v_layout2 = v_layout;
        else {
            if (this.destinoDestaque == "")
                $(this.destino).append(v_layout);
            else
                $(this.destinoDestaque).append(v_layout);
            
        }
        
        
        count++;
    }
    if(this.destinoDestaqueGrande == "")
        $(this.destino).prepend(v_layout2);
    else
        $(this.destinoDestaqueGrande).html(v_layout2);

    
    //verifica status do corretor
    if (typeof ($('.boxStatusAtd').html()) != "undefined") {
        ajax({ action: "getCorretorOnline" }, function (retorno) {
            if (retorno == "0")
                $('.boxStatusAtd').html("OFFLINE");
            else
                $('.boxStatusAtd').html("ONLINE");
        });
    }

    //verifica se tem ligue gratis
    if (v_SEO.ligue_id == "") {
        $('.boxLigueGratis').remove();
    
    }
    //Imprime Labels
    if (this.boxLabel != "") {
        var scriptLabel = "";
        for (var i = 1; i <= this.qtdTrocaResultado; i++) {
            if ((this.pagina_atual + 1) == i)
                scriptLabel += "<div class='" + this.classLabelSelecionada + "'>" + i + "</div>";
            else
                scriptLabel += "<div onclick='" + this.destino.replace("#boxConteudo_", "") + ".pagina_atual = " + (i - 1) + "; " + this.destino.replace("#boxConteudo_", "") + ".changeDestaque();' >" + i + "</div>";

        }
        $(this.boxLabel).append(scriptLabel);
    }
    */
}

function autoChange() {
    this.pagina_atual++;
    if (this.pagina_atual == this.qtdTrocaResultado)
        this.pagina_atual = 0;

    this.changeDestaque();

    this.IntervalChange = setTimeout(this.destino.replace("#boxConteudo_", "") + ".autoChange();", (this.timeChange * 1000));
}

function abrirTour(v_this, lkprevisite) {
    $(v_this).html('<iframe width="610" height="415" src="' + lkprevisite + '"  frameborder="0" scrolling="no"></iframe>');
    
}

function Destaques(parametros) {
    // Código fkempresa
    this.fkempresa = parametros.fkempresa;
    //Id de destino 
    this.destino = parametros.destino;
    //variavel de destino do dest Grande
    this.destinoDestaqueGrande = parametros.destinoDestaqueGrande;
    //variavel de destino do destaque
    this.destinoDestaque = parametros.destinoDestaque;
    //Layout
    this.layout = parametros.layout;
    //Layout2
    this.layout2 = parametros.layout2;
    //recebe dados
    this.dados = parametros.dados;
    //quantidade de imóveis
    this.qtdResultado = parametros.qtdResultado;
    //quantidade de trocas
    this.qtdTrocaResultado = parametros.qtdTrocaResultado;
    //Elemento seta anterior
    this.boxSetaAnterior = parametros.boxSetaAnterior;
    //Elemento seta proximo
    this.boxSetaProximo = parametros.boxSetaProximo;
    //tempo para troca automatica
    this.timeChange = parseInt(parametros.timeChange);
    //variavel q guarda o intervalo automatico
    this.IntervalChange = null;
    //pagina atual
    this.pagina_atual = 0;
    //box label
    this.boxLabel = parametros.boxLabel;
    //class box label selecionado
    this.classLabelSelecionada = parametros.classLabelSelecionada;
    //variavel auto print
    this.autoPrint = parametros.autoPrint;
    //total de dados
    this.totalDados = parametros.totalDados;

    //Métodos
    this.imprimir = imprimir;
    this.clickDestaque = clickDestaque;
    this.changeDestaque = changeDestaque;
    this.autoChange = autoChange;

    this.imprimir();
}

