Carrossel.eventos={};Carrossel.eventos.PRIMEIRA_PAGINA="primeiraPagina";Carrossel.eventos.ULTIMA_PAGINA="ultimaPagina";Carrossel.eventos.EM_MOVIMENTO="emMovimento";function Carrossel(){var carrossel=this;var eventos=Carrossel.eventos;var produtos,movimento={"ESQUERDA":0,"DIREITA":1};var divAvancar,aAvancar,divVoltar,aVoltar;function __Constructor(node){var quantidadeProduto=jQuery(".produto",node).length;if(quantidadeProduto==0){return}produtos=node;movimento.timer=new Timer(40);limitarCaracteres();divAvancar=document.createElement("div");divAvancar.className="avancar inativo";aAvancar=divAvancar.appendChild(document.createElement("a"));divVoltar=document.createElement("div");divVoltar.className="voltar inativo";aVoltar=divVoltar.appendChild(document.createElement("a"));var pai=node.parentNode;var divCarrossel=document.createElement("div");divCarrossel.className="carrossel";divCarrossel.appendChild(divVoltar);divCarrossel.appendChild(node);divCarrossel.appendChild(divAvancar);pai.appendChild(divCarrossel);var visualizacao=jQuery("> .visualizacao",node);visualizacao.removeClass("tabela");visualizacao.addClass("horizontal");var lista=jQuery(".produto",node);var top=0,left;for(var i=0;i<lista.length;i++){var produto=lista[i];if(i==0){left=0}else{if(i%3==0){left+=33.4}else{left+=33.3}}produto.style.marginTop=top+"px";produto.style.marginLeft=left+"%";produto.style.marginRight="100px";if(lista.length>=3){produto.style.left="100px"}produto.style.position="relative";top=-produto.offsetHeight}if(navigator.userAgent.toLowerCase().indexOf("chrome/")!=-1){lista[lista.length-1].style.paddingRight="200px"}else{lista[lista.length-1].style.paddingRight="100px"}Evento.observar(carrossel,"primeiraPagina",primeiraPagina);Evento.observar(carrossel,"ultimaPagina",ultimaPagina);Evento.observar(carrossel,"emMovimento",emMovimento);Evento.observar(carrossel,"parado",parado);this.left(100);if(lista.length>3){new Evento("parado").disparar(carrossel)}}this.avancar=function(){new Evento("emMovimento").disparar(carrossel);this.mover(1);jQuery(divVoltar).removeClass("inativo")};this.voltar=function(){new Evento("emMovimento").disparar(carrossel);this.mover(-1);jQuery(divAvancar).removeClass("inativo")};this.largura=function(){return produtos.offsetWidth};this.left=function(vLeft){if(vLeft==null){return produtos.scrollLeft}produtos.scrollLeft=vLeft};this.maxScrollLeft=function(){return produtos.scrollWidth-produtos.offsetWidth-100};this.mover=function(paginas){movimento.sentido=paginas>0?movimento.DIREITA:movimento.ESQUERDA;if(movimento.sentido==movimento.ESQUERDA){movimento.leftFinal=Math.max(this.left()+this.largura()*paginas,100)}else{movimento.leftFinal=Math.min(this.left()+this.largura()*paginas,this.maxScrollLeft())}movimento.timer.intervalo(20);Evento.observar(movimento.timer,Timer.TIMER_EVENT,movimentoPreparacao);movimento.contagem=0;movimento.timer.ativado(true)};function primeiraPagina(){jQuery(divVoltar).addClass("inativo");jQuery(divAvancar).removeClass("inativo")}function ultimaPagina(){jQuery(divVoltar).removeClass("inativo");jQuery(divAvancar).addClass("inativo")}function limitarCaracteres(){var lista=jQuery(".produto",produtos);var descricoes=jQuery(".atributos .titulo",lista);for(var i=0;i<descricoes.length;i++){var mensagem=descricoes[i].innerHTML.split(" ");while(descricoes[i].offsetHeight>42){mensagem.pop();descricoes[i].innerHTML=mensagem.join(" ")+' <span class="mais">[...]</span>'}}}function emMovimento(){Evento.desobservar(aVoltar,"click",carrosselVoltar);Evento.desobservar(aAvancar,"click",carrosselAvancar)}function parado(){if(this.left()>100){Evento.observar(aVoltar,"click",carrosselVoltar)}else{new Evento("primeiraPagina").disparar(carrossel)}if(this.left()<carrossel.maxScrollLeft()){Evento.observar(aAvancar,"click",carrosselAvancar)}else{new Evento("ultimaPagina").disparar(carrossel)}}function movimentoPreparacao(){movimento.contagem++;if(movimento.contagem>10){Evento.desobservar(movimento.timer,Timer.TIMER_EVENT,movimentoPreparacao);
movimento.timer.ativado(false);movimento.contagem=0;Evento.observar(movimento.timer,Timer.TIMER_EVENT,movimentoPrincipal);movimento.timer.intervalo(15);return setTimeout(function(){movimento.timer.ativado(true)},40)}if(movimento.sentido==movimento.ESQUERDA){carrossel.left(carrossel.left()+7)}else{carrossel.left(carrossel.left()-7)}}function movimentoPrincipal(){var left=0;if(movimento.sentido==movimento.ESQUERDA){left=Math.max(carrossel.left()-30,movimento.leftFinal)}else{left=Math.min(carrossel.left()+30,movimento.leftFinal)}carrossel.left(left);if(left==movimento.leftFinal){movimento.timer.ativado(false);Evento.desobservar(movimento.timer,Timer.TIMER_EVENT,movimentoPrincipal);new Evento("parado").disparar(carrossel)}}function carrosselAvancar(e){carrossel.avancar()}function carrosselVoltar(e){carrossel.voltar()}__Constructor.apply(this,arguments)};
