/**************************************************************
*
* CLASSE JAVASCRIPT RANDIMO
*
* CRIADO POR: CRISTIANO TAVELLA 
* DATA: 10/07/2010
* OBS:
* EDITADO POR: CRISTIANO TAVELLA
* DATA: 10/07/2010
* OBS:
*
*************************************************************/
function set(posicao, campo, value){
    eval("this." + campo + "[" + posicao + "] = '" + value.replace(/\'/g, "\\\'") + "';");
} 

function get(posicao, campo){ 
	eval("var var_return =  this."+campo+"["+posicao+"];");
	return var_return;
}

function imovelClick() {
    var evtClick = this.evtClick;
    var fkempresa = this.fkempresa;
    $(".box_destaque1").click(function () {
        eval(evtClick.replace(/\[pkimovel\]/g, $(this).attr('pkimovel')).replace(/\[fkempresa\]/g, fkempresa));
    });
}

function print(randimo) {
    if(this.print_tipo == 2)
        this.print2(randimo);
    else if (this.print_tipo == 3)
        this.print3(randimo);
    else
        this.print1(randimo);
}

function print1(randimo)
{

	if(this.destaque_atual == -1)
	{
		for(var x=0; x<this.destaques; x++)
		{
			$(this.destino).append(this.layout.replace(/\[x\]/g,x));
		}
		
		this.destaque_atual = 0;
		setInterval('randimo.print1();', 1000*this.tempo);
	}
	
	var total = this.destaques+this.destaque_atual;

	

	for(var x=this.destaque_atual, y=0; x<total; x++, y++) {
	    $("#" + this.id + "pkimovel_" + y).val(this.pkimovel[x]);
	    $("#" + this.id + "inf_referencia_" + y).html(this.inf_referencia[x]);
	    $("#" + this.id + "inf_tipo_" + y).html(this.inf_tipo[x]);
	    $("#" + this.id + "inf_finalidade_" + y).html(this.inf_finalidade[x]);
		$("#"+this.id+"inf_bairro_"+y).html(this.inf_bairro[x]);
		$("#" + this.id + "det_dormitorios_" + y).html(this.det_dormitorios[x]);
		$("#" + this.id + "det_suite_" + y).html(this.det_suite[x]);
		$("#" + this.id + "inf_valvenda_" + y).html(this.inf_valvenda[x]);
		$("#" + this.id + "int_anunciointernet_" + y).html(this.int_anunciointernet[x]);
		$("#" + this.id + "foto_" + y).attr("src", "");

        $("#"+this.id+"foto_"+y).attr("src","http://fotos.centrina.com.br/"+this.fkempresa+"/"+this.foto[x]);
		
		this.destaque_atual++;
	}
	
	if(this.destaque_atual>=this.destaques*(this.troca+1))
		this.destaque_atual = 0;

	//this.imovelClick();
}


function print2(troca) {
    if (this.destaque_atual == -1) {
        for (var x = 0; x < this.destaques; x++) {
            $(this.destino).append(this.layout.replace(/\[x\]/g, x));
        }

        this.destaque_atual = 0;

        $(this.idseta1).click(function () {
            troca.print2('<');
        });

        $(this.idseta2).click(function () {
            troca.print2('>');
        });

    }
    else {
        if (troca == '<') {
            this.destaque_atual = this.destaque_atual - this.destaques - this.destaques;
        }

        //menor de zero
        if (this.destaque_atual < 0) {
            this.destaque_atual = (this.destaques * (this.troca + 1)) - this.destaques;
        }

        //maior que o maximo
        if (this.destaque_atual >= this.destaques * (this.troca + 1))
            this.destaque_atual = 0;
    }

    var total = this.destaques + this.destaque_atual;
    
    for (var x = this.destaque_atual, y = 0; x < total; x++, y++) {

       
        $("#" + this.id + "pkimovel_" + y).val(this.pkimovel[x]);
        $("#" + this.id + "inf_referencia_" + y).html(this.inf_referencia[x]);
        $("#" + this.id + "inf_tipo_" + y).html(this.inf_tipo[x]);
        $("#" + this.id + "inf_finalidade_" + y).html(this.inf_finalidade[x]);
        $("#" + this.id + "inf_bairro_" + y).html(this.inf_bairro[x]);
        $("#" + this.id + "det_dormitorios_" + y).html(this.det_dormitorios[x]);
        $("#" + this.id + "det_suite_" + y).html(this.det_suite[x]);
        $("#" + this.id + "inf_valvenda_" + y).html(this.inf_valvenda[x]);
        $("#" + this.id + "int_anunciointernet_" + y).html(this.int_anunciointernet[x]);

        $("#" + this.id + "foto_" + y).attr("src", "");

        if (this.fkempresa == null)
            $("#" + this.id + "foto_" + y).attr("src", this.urlfoto[x] + "mini_" + this.foto[x]);
        else
            $("#" + this.id + "foto_" + y).attr("src", "http://fotos.centrina.com.br/" + this.fkempresa + "/mini_" + this.foto[x]);

        this.destaque_atual++;
    }


}

function print3(troca) {

        for (var x = 0; x < this.destaques; x++) {
            $(this.destino).append(this.layout.replace(/\[x\]/g, x));
        }

}

function print4(troca) {
    
    if (this.pkimovel.length >= 4) {
        if (troca == '<') {
            this.destaque_atual = this.destaque_atual - this.destaques - this.destaques;
        }

        //menor de zero
        if (this.destaque_atual < 0) {
            this.destaque_atual = (this.destaques * (this.troca + 1)) - this.destaques;
        }

        //maior que o maximo
        if (this.destaque_atual >= this.destaques * (this.troca + 1))
            this.destaque_atual = 0;


        var total = this.destaques + this.destaque_atual;

        var count = 0;

        for (var x = this.destaque_atual, y = 0; x < total; x++, y++) {
            if (typeof (this.pkimovel[x]) == 'undefined')
                count++;
            $("#" + this.id + "pkimovel_" + y).val(this.pkimovel[x]);
            $("#" + this.id + "inf_referencia_" + y).html(this.inf_referencia[x]);
            $("#" + this.id + "inf_tipo_" + y).html(this.inf_tipo[x]);
            $("#" + this.id + "inf_finalidade_" + y).html(this.inf_finalidade[x]);
            $("#" + this.id + "inf_bairro_" + y).html(this.inf_bairro[x]);
            $("#" + this.id + "det_dormitorios_" + y).html(this.det_dormitorios[x]);
            $("#" + this.id + "det_suite_" + y).html(this.det_suite[x]);
            $("#" + this.id + "inf_valvenda_" + y).html(this.inf_valvenda[x]);
            $("#" + this.id + "int_anunciointernet_" + y).html(this.int_anunciointernet[x]);

            $("#" + this.id + "foto_" + y).attr("src", "");

            if (this.fkempresa == null)
                $("#" + this.id + "foto_" + y).attr("src", this.urlfoto[x] + "mini_" + this.foto[x]);
            else
                $("#" + this.id + "foto_" + y).attr("src", "http://fotos.centrina.com.br/" + this.fkempresa + "/mini_" + this.foto[x]);

            this.destaque_atual++;
        }

        if (count > 0)
            this.print4('>');
    }
}

function Randimo(fkempresa, destaques, troca, tempo, destino, layout, print_tipo, evtClick) { 
    /*
		Campos de configuração do Randimo
	*/	
	//Código da empresa
	this.fkempresa = fkempresa; 
	//Número de destaques
	this.destaques = destaques;
	//Número de vezes que os destaques são trocados
	this.troca = troca;
	//Tempo em segundo que os destaques são trocados
	this.tempo = tempo;
	//destino no qual será imprimido o randimo
	this.destino = destino;
	//Id opcional antes dos nomes dos campos
	this.id = '';
	//destaques atuais
	this.destaque_atual = -1;
	//Tipo de print
	this.print_tipo = print_tipo;
	// Evento click do randimo
	this.evtClick = evtClick;
	//Id Seta 1 
	this.idseta1 = '';
	//Id seta 2
	this.idseta2 = '';

	/*
		Métodos impressão do Randimo
	*/
	//layout do randimo
	this.layout = layout;
	this.print = print;
	this.print1 = print1;
	this.print2 = print2;
	this.print3 = print3;
	this.print4 = print4;
	this.imovelClick = imovelClick;
	
	/*
		Métodos GET e SET da classe
	*/
	this.set = set; 
	this.get = get;
	
	/*
		Campos da tabela
	*/
	this.pkimovel = new Array();
	this.inf_referencia = new Array();
	this.inf_tipo = new Array();
	this.inf_finalidade = new Array();
	this.inf_bairro =  new Array();
	this.det_dormitorios = new Array();
	this.det_suite = new Array();
    this.inf_valvenda =  new Array();
    this.foto = new Array();
    this.urlfoto = new Array();
    this.int_anunciointernet = new Array();
}

