/* 
 * CIEBIT
 * Criado:		26/12/2011
 * Alterado:	01/01/2012
 * Versão:		1.0
 * Função:		Criar uma área de banner rotativo
*/
	
(function($){
	$.fn.ciebitDestaque = function(options){
		//Função de transição
		function ciebitTransitar(){
			//Pegando referência
			var ref = $('.ciebit_imagens img', alvo).eq(selecao-1);
			
			//Evidenciando imagem atual
			$(ref).css('zIndex', 2);
			$('.ciebit_imagens img', alvo).not(ref).fadeOut('slow', function(){
				//Alterando imagens do destaque
				$(this).css('zIndex', 1).show();
				$(ref).css('zIndex', 3);
			});
			
			//Alterando paginadores
			$('.ciebit_paginacao img', alvo).attr('src', '../apps/apDestaque/imagens/ponto_ina.png');
			$('.ciebit_paginacao img', alvo).eq(selecao -1).attr('src', '../apps/apDestaque/imagens/ponto_ati.png');
		}
		
		//Função de Avanço das imagens
		function ciebitProximo(){
			//Incrementando selecao
			selecao++;
			//Vendo se passou do total
			if(selecao > total){
				selecao = 1;
			}
			
			//Efetuando transicão
			ciebitTransitar();
		}
		
		//Função de Voltar das imagens
		function ciebitVoltar(){
			//Incrementando selecao
			selecao--;
			
			//Vendo se passou do total
			if(selecao < 1){
				selecao = total;
			}
			
			//Efetuando transicão
			ciebitTransitar();
		}
		
		//Criando variaveis
		var defaults, settings, alvo, intervalo, total, selecao, situacao;
		situacao = true;
		
		//Definindo área de destaque e valores
		alvo = this;
		selecao = 1;
		total = $('.ciebit_imagens img', alvo).size();
				
		//Valores Padrões
		defaults = {
			'tempo': 5000,
			'largura': $(alvo).css('width'),
			'altura': $(alvo).css('height')
		};
		
		//Definindo novos valores
		settings = $.extend(defaults, options);
		
		//Personalizando Destaque
		$(alvo).css({
			'width': defaults.largura,
			'height': defaults.altura
		});
		
		//Dando pausa na passagem automatica de imagens
		$('.ciebit_imagens img, .ciebit_seta_esq, .ciebit_seta_dir, .ciebit_paginacao a', alvo).hover(function(){
			clearInterval(intervalo);
		}, function(){
			intervalo = setInterval(ciebitProximo, settings.tempo);
		});
		
		//Dando pausa quando o usuário muda de aba ou miniza
		$(window).focus(function(){
			if(!situacao){
				intervalo = setInterval(ciebitProximo, settings.tempo);
				situacao = true;
			}
		}).blur(function(){
			clearInterval(intervalo);
			situacao = false;
		});
		
		//Personalizando Setas e definindo ações
		$('.ciebit_seta_esq, .ciebit_seta_dir').css({
			'opacity': 0			
		}).hover(function(){
			$(this).css('opacity', '0.5');
		}, function(){
			$(this).css('opacity', 0);
		});
		
		//Primeira Seta
		$('.ciebit_seta_esq').click(function(event){
			event.preventDefault();
			ciebitVoltar();			
		});
		
		//Segunda Seta
		$('.ciebit_seta_dir').click(function(event){
			event.preventDefault();
			ciebitProximo();
		});
		
		//Adicionando evento as imagem de paginacao
		$('.ciebit_paginacao a').click(function(event){
			//Cancelando evento padrão
			event.preventDefault();
			
			//Definindo imagem a anterior a ser alternada
			selecao = $(this).index() +1;
			
			//Efetuando transição
			ciebitTransitar();
		});
		
		//Efetuando alternância
		intervalo = setInterval(ciebitProximo, settings.tempo);
		
		//Retornando próprio valor para permitir encadeamento
		return this;
	};
})(jQuery)
