﻿/**************************************************************
*
* CLASSE JAVASCRIPT DESTAQUES
*
* CRIADO POR: CRISTIANO TAVELLA
* DATA: 31/05/2011
* OBS:
* EDITADO POR: CRISTIANO TAVELLA
* DATA: 07/06/2011
* OBS:
*
*************************************************************/

function imprimir(consulta) {

    //verifica o total dos imóveis
    if (this.dados.length < (this.qtdResultado * this.qtdTrocaResultado)) {
        this.qtdTrocaResultado = Math.round(this.dados.length / this.qtdResultado);
    }

    this.changeDestaque();

    if (this.dados.length > 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)));") }); });


    }
}

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() {
    //Coloca os dados no layout
    $(this.destino).html("");

    for (var i = (this.pagina_atual * this.qtdResultado), total = ((this.pagina_atual + 1) * this.qtdResultado); i < total; i++) {
        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, "-"));
        //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 + "); \" ");

        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;
        }

        $(this.destino).append(v_layout);

    }

    //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 Destaques(parametros) {
    // Código fkempresa
    this.fkempresa = parametros.fkempresa;
    //Id de destino 
    this.destino = parametros.destino;
    //Layout
    this.layout = parametros.layout;
    //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;

    //Métodos
    this.imprimir = imprimir;
    this.clickDestaque = clickDestaque;
    this.changeDestaque = changeDestaque;
    this.autoChange = autoChange;

    if (this.autoPrint)
        this.imprimir();
}

