slide = { // vetor com os slides _imagens : [ ["http://www.excelenciaglobal.com.br/files/noticias_destaque/be744d7b78.jpg","Excelência Global no Twitter","","http://www.excelenciaglobal.com.br/noticias/ver/itec/34432/Excelência Global no Twitter"], ], // ID dos elementos que o sistema modifica // ID da imagem do slide _slideImg : 'slideImg', // ID do link do slide, ou seja, um elemento A _linkSlide : 'linkSlide', // ID do ttulo do slide, uma div ou span por exemplo _titleSlide: 'titleSlide', // ID do ttulo do slide, idntico ao de cima _textSlide : 'textSlide', // ID da imagem de play|pause _playPause : 'playpause', // ID da div que mostra ou esconde as opes de customizao de tempo // essa opo pode ser omitida do usurio, basta retirar o boto // settings da pgina, e como a div j vem com o display:none por // padro o usurio no ter acesso a essas opes. _showTimer : 'showTimer', // variveis do sistema // Daqui para baixo no necessrio alterar mais nada, aqui o sistema // cuidar de tudo _count : 0, _length : 20, _timeOutID : null, _pause : false, _timer : 4, // funo que inicia o slide e seta todas os parmetros necessrios start : function(){ with(this){ _preLoader(); _length = _imagens.length; _work(); } }, // faz o pr-carregamento das imagens _preLoader : function(){ for(x in this._imagens){ var image = new Image(); image.src = this._imagens[x][0]; } }, // funo principal que faz as checagens necessrias _work : function(){ with(this){ (_count == _length) ? _count = 0 : (_count < 0) ? _count = _length-1 : void(0); var current = _imagens[_count]; _exchange(current); if(!_pause){ (typeof(_timeOutID) == 'number') ? clearTimeout(_timeOutID) : void(0); _timeOutID = setTimeout( function(){ slide.next(); fade(0,0,$(_slideImg)); }, (Number(_timer)*1000) ); } } }, // funo que altera os elementos da pgina, altere os IDs se necessrio _exchange : function(img){ this.$(this._slideImg).src = img[0]; this.$(this._titleSlide).innerHTML = img[1]; this.$(this._textSlide).innerHTML = img[2]; this.$(this._linkSlide).href = img[3]; this.fade(0,100,this.$(this._slideImg)); }, // altera para o prximo slide ao clicar no boto Prximo next : function(){ with(this){ _count++; _work(); } }, // altera para o slide anterior ao clicar no boto correspondente previous : function(){ with(this){ _count--; _work(); } }, // pausa e continua a apresentao pause : function(){ var img = this.$(this._playPause); if(this._pause){ this._pause = false; img.src = 'http://www.excelenciaglobal.com.br/img/base/imgs/pause.gif'; img.title = 'Parar'; } else{ this._pause = true; img.src = 'http://www.excelenciaglobal.com.br/img/base/imgs/play.gif'; img.title = 'Continuar'; } with(this){(typeof(_timeOutID) == 'number') ? clearTimeout(_timeOutID) : void(0); _work();} }, // controla o tempo de troca de cada slide tControl : function(act){ with(this){ (act=='m')?((_timer==4)?void(0):_timer=_timer-1):((_timer==9)?void(0):_timer= _timer +1); this.$(this._showTimer).innerHTML = _timer+'s'; } }, // altera a opacidade do elemento e suaviza a transio entre os slides fade : function (){ var type,signal; var from = arguments[0]; var to = arguments[1]; var el = arguments[2]; (document.all) ? type = 'filter' : type = 'opacity'; (from>to) ? signal = '-' : signal= '+'; if(from >= to/2){ from = eval(from+signal+10); }else{ from = eval(from+signal+5); } if(type=='opacity'){ try{el.style[type] = Number(from*0.01); }catch(e){} }else{ try{el.style[type] = 'alpha(opacity='+from+')'; }catch(e){} } if(from != to){ setTimeout( function(){ slide.fade(from,to,slide.$(slide._slideImg)); } ,50); } }, // retorna o elemento solicitado atravs de seu ID $ : function(){ return document.getElementById(arguments[0]); } }