﻿var DATA_LETREIRO_IMOVEIS = [];
var letreiroImoveis = {
	format: "<h2>{bairro}</h2><span style='background-image:url({img})'></span><h3>Ref.: {ref}<br />{tipo}<br />{valor}<br />{para}</h3>",
	link: "javascript:getDetailsImovel({id})",
    width: 414, item_count: 1, body : null, content: null, isMoving: false, middle: 0, timer_looping: 0, delay_loop: 10, isLeft: true, abs: 0,
    start : function(e, delay)
    {
        if(e)
        {
            if(DATA_LETREIRO_IMOVEIS.length>0)
            {
                var item;
                for(var i=0; i<e.childNodes.length; i++)
                {
                	if(e.childNodes[i].className)
                	{
	                    if(e.childNodes[i].className.indexOf("-body")>-1)
	                    { 
	                        letreiroImoveis.body = e.childNodes[i];
	                        break;
	                    }
                	}
                }               
                
                //Usado para acertar valor no loop em "move"
                letreiroImoveis.abs = letreiroImoveis.item_count % 2;
                  
                letreiroImoveis.delay_loop = delay;
                letreiroImoveis.content = document.createElement("div");
                letreiroImoveis.content.className = "letreiro-imoveis-content-items";
                letreiroImoveis.middle = DATA_LETREIRO_IMOVEIS.length * letreiroImoveis.width
                letreiroImoveis.content.style.width = (letreiroImoveis.middle* (DATA_LETREIRO_IMOVEIS.length>=letreiroImoveis.item_count ? 2 : 1) ) + "px";
                letreiroImoveis.content.style.marginLeft = (DATA_LETREIRO_IMOVEIS.length>=letreiroImoveis.item_count ? 0 : letreiroImoveis.width/DATA_LETREIRO_IMOVEIS.length ) + "px";
                letreiroImoveis.body.appendChild(letreiroImoveis.content);
                
                var a = null, i = 0, c = 2, f = '';
                while(c!=0) //Executa duas vezes para criar copia e sincronizar rolagem sem fim e comeco!!!
                {
                    for(i=0; i<DATA_LETREIRO_IMOVEIS.length; i++)
                    {
                        item = DATA_LETREIRO_IMOVEIS[i];
                        if(typeof item == "object")
                        {
                        	f = letreiroImoveis.format.replace("{bairro}", item.bairro);
                        	f = f.replace("{img}", item.images[0].path);
                        	f = f.replace("{id}", item.id);
                        	f = f.replace("{ref}", item.ref);
                        	f = f.replace("{tipo}", item.tipo);
                        	f = f.replace("{valor}", item.valor);
                        	f = f.replace("{para}", item.para);
                        	f = f.replace("{descricao}", item.descricao.replaceAll('<br />',' '));
                        	
                            a = document.createElement("a");
                            a.href = letreiroImoveis.link.replace("{id}", item.id).replace("{ref}", item.ref);
                            a.style.width = letreiroImoveis.width + "px";
                            a.innerHTML = f;
                            letreiroImoveis.content.appendChild(a);                        
                        }            
                    } 
                    c--; 
                }
                letreiroImoveis.loop();                 
            }
        }
    },
    loop : function()
    {
        letreiroImoveis.stop();
        letreiroImoveis.timer_looping = setInterval(function(){ letreiroImoveis.move(letreiroImoveis.isLeft?-1:1) }, letreiroImoveis.delay_loop * 1000);
    },
    stop : function()
    {
        clearInterval(letreiroImoveis.timer_looping);
    },
    move : function(evt)
    {
        if(!letreiroImoveis.isMoving && DATA_LETREIRO_IMOVEIS.length>letreiroImoveis.item_count)
        {           
            letreiroImoveis.stop();
        
            // Tratando reposicionamentos para simular loop
            letreiroImoveis.isLeft = typeof evt == "number" ? evt<0 : getEvent(evt).element.className.indexOf("_r") == -1;            
            var to = parseInt(letreiroImoveis.content.style.marginLeft);
                       
            // Acessando item antes de primeiro 
            if(Math.abs(to) == 0 && !letreiroImoveis.isLeft)
            {
                to = -(letreiroImoveis.middle); 
            }
            
            // Acessando item depois do ultimo      
            if((Math.abs(to)+(letreiroImoveis.width*(letreiroImoveis.item_count*2)) > parseInt(letreiroImoveis.content.offsetWidth)) && letreiroImoveis.isLeft)
            {
                to = -(letreiroImoveis.item_count*letreiroImoveis.width);       
            } 
            
            // Reposiciona (se for o caso) para evitar quebra do loop 
            letreiroImoveis.content.style.marginLeft = to + "px";                                         
    
            //Nova posicao
            to = parseInt(letreiroImoveis.content.style.marginLeft) + (letreiroImoveis.width *(letreiroImoveis.isLeft ? -1 : 1)); 
            
            letreiroImoveis.isMoving = true;
            $(letreiroImoveis.content).animate({marginLeft:to+"px"}, 1000, 'swing', function(){ letreiroImoveis.isMoving = false; letreiroImoveis.loop(); });
        }
    }   
}
