/*!
 * Slideshow criado para o novo site da Paróquia Nova Jerusalém
 *
 * (c) 2010 José Carlos Cieni Júnior - Todos os Direitos Reservados
 *
 * A licença de uso deste script é restrita, qualquer uso não autorizado pelo autor
 * está sujeito a processo legal, até as últimas instâncias da lei.
 * 
 * Concessão de uso cedida pela Agência Fire Zone à 33ª OAB - Subseção de Jundiaí/SP
 * 
 * Usa: jQuery UI Effects Library
 *
 *
 * @version 1.2
 * @author José Carlos Cieni Júnior
 * @copyright (c) 2010 José Carlos Cieni Júnior. Todos os direitos reservados
 * @license Agência Fire Zone Proprietary License Use
*/
(function($){
	$.slideshowFZ = function(opcoes){
		var indiceAtual = -1, timeoutId, slides = [], opcoesPadrao;
		
		opcoesPadrao = {
			velocidadeEfeito: 1000,
			tempoSlide: 7000,
			idControles: {
				idEfeitoImagem: 'img#slideImg',
				idSetImagem: $('div#slideImgWrapper')
			}
		}
		
		$.extend(true, opcoesPadrao, opcoes);
		
		metodosSlideshowFireZone = {
			mudaIndice: function(soma){
				indiceAtual += soma;
				if(indiceAtual >= slides.length){
					indiceAtual = 0;
				}
				if(indiceAtual < 0){
					indiceAtual = slides.length - 1;
				}
				return indiceAtual;
			},
			
			montaSlides: function(){
				$('img.slidePreload').each(function(){
					slides[slides.length] = {
						imagem: $(this).attr('src'),
						link: $(this).attr('alt'),
						descricao: $(this).attr('title')
					}
					$(this).remove()
				});
				return slides;
			},
			
			mudaSlide: function(soma){
				clearTimeout(timeoutId);
				this.mudaIndice(soma);
				colocaSlide = $('<a target="_blank" id="slideAnchor" href="' + slides[indiceAtual].link + '" target="_self" title="' + slides[indiceAtual].descricao + '"><img style="display: none;" border="0" id="slideImg" src="' + slides[indiceAtual].imagem + '" height="165" width="287" /></a>');
				$(opcoesPadrao.idControles.idEfeitoImagem).toggle("fade", {}, opcoesPadrao.velocidadeEfeito, function(){
					if($('a#slideAnchor').data("qtip")){
						$('a#slideAnchor').qtip("destroy");
					}
					opcoesPadrao.idControles.idSetImagem.empty();
					opcoesPadrao.idControles.idSetImagem.append(colocaSlide);
					$('a#slideAnchor').qtip({
						position: {
							target: 'mouse'
						},
						style: {
							border: {
								width: 4,
								color: "gray"
							},
							"color": "gray",
							"background-color": "#ddd",
							padding: 5, 
							textAlign: 'center',
							tip: false,
							name: 'light',
							"font-size": "8pt"
						}
					});
					$(opcoesPadrao.idControles.idEfeitoImagem).toggle("fade", {}, opcoesPadrao.velocidadeEfeito, function(){
						timeoutId = setTimeout("metodosSlideshowFireZone.avancaSlide()", opcoesPadrao.tempoSlide);
						//v1.2
						if(slides.length == 1){
							this.stop();
						}
					});
				});
			},
			
			avancaSlide: function(){
				this.mudaSlide(1);
			},
			
			voltaSlide: function(){
				this.mudaSlide(-1);
			},
			
			//v1.2
			stop: function(){
				clearTimeout(timeoutId);
				timeoutId = null
			},
			
			iniciaSlideshow: function(){
				timeoutId = setTimeout("metodosSlideshowFireZone.avancaSlide()", 1);
			}
		}
		
		metodosSlideshowFireZone.montaSlides();
		metodosSlideshowFireZone.iniciaSlideshow();
		
		var slideshowFZ = {
			Voltar: function(){
				metodosSlideshowFireZone.voltaSlide();
			},

			Avancar: function(){
				metodosSlideshowFireZone.avancaSlide();
			}
		}
		return slideshowFZ
	}
})(jQuery);
