$.fn.GaleriaFundo = function(opcoes){
		
	var galeria = this;

	galeria.opcoes = $.extend({}, $.fn.GaleriaFundo.opcoes, opcoes);

	var atualItem = 0;
	var bolasControle = galeria.opcoes._bolasControle;
	var carregando = galeria.opcoes._carregando;
	var controle = galeria.opcoes._controle;
	var galeriaConteudo = galeria.opcoes._galeria;
	var intervalo;
	var itemGaleria = galeria.opcoes._itemGaleria;
	var itemGaleriaConteudo = galeria.opcoes._itemGaleriaConteudo;
	var linkAtivoBolinha = true;
	var linkBolinha = galeria.opcoes._linkBolinha;
	var linkBolinhaSelecionado = galeria.opcoes._linkBolinhaSelecionado;
	var msgSemImagem = galeria.opcoes._msgSemImagem;
	var posIniItemGaleriaConteudo = galeria.opcoes._posIniItemGaleriaConteudo;
	var reproducaoAutomatica = galeria.opcoes._reproducaoAutomatica;
	var tempoPausa = galeria.opcoes._tempoPausa;
	var tempoTransicao = galeria.opcoes._tempoTransicao;
	var todosItens = $(galeria.opcoes._itemGaleria);
	var ultimoItem = 0;

	galeria.init = function(){
		if (galeria.opcoes._inicioAleatorio) { atualItem = ultimoItem = Math.floor( todosItens.length * Math.random() ); };
		
		$.each(todosItens, function(index, value){
			var $t = $('<a class="' + linkBolinha + '" id="' + linkBolinha + '-' + index + '" rel="' + index + '"></a>');
			$t.appendTo(bolasControle);
		});
		
		$('.' + linkBolinha).live('click', function() {
			if(!linkAtivoBolinha){
				ultimoItem = atualItem;
				atualItem = $(this).attr('rel');
				
				if(reproducaoAutomatica) {
					galeria.removeIntervalo();
				}

				galeria.selecionaLinkBolinha();
				galeria.carregaItem();
			};
		});

		$(window).resize(function() { galeria.redimensionarTela(); });
	};
	
	galeria.carregaItem = function(){
		linkAtivoBolinha = true;
			
		var itemAtual = $(itemGaleria).eq(atualItem);
		var itemUltimo = $(itemGaleria).eq(ultimoItem);
		var itemImg = (itemAtual.find('a').attr('href') + '?v=' + atualItem);
		var itemConteudo = $(itemGaleria).eq(atualItem).find(itemGaleriaConteudo);
		var itemConteudoUltimo = $(itemGaleria).eq(ultimoItem).find(itemGaleriaConteudo);

		if(itemUltimo.css('opacity') == 1){
			$(itemConteudoUltimo).delay(100).animate({ 'marginTop' : posIniItemGaleriaConteudo + 100, 'opacity' : 0 }, tempoTransicao);
			$(itemUltimo).animate({ 'opacity' : 0 }, tempoTransicao*2, function(){
				$(itemGaleriaConteudo).css({ 'display' : 'none', 'opacity' : 0 });
				$(itemGaleria).css({ 'display' : 'none' , 'opacity' : 0});
				galeria.carregaItem();
			});
		} else {
			if (itemAtual.css('backgroundImage') == 'none'){
				$(carregando).css({ 'display' : 'inline-block' });
				$(carregando).delay(tempoTransicao).animate({ 'opacity' : 1 }, tempoTransicao );
	
				$('<img />')
				.attr('src', itemImg)
				.load(function(){
					$(itemAtual).each(function(){
						$(carregando).animate({ 'opacity' : 0 }, tempoTransicao, function(){
							$(this).css({ 'display' : 'none' });
							galeria.exibeItem(itemAtual, itemConteudo);
						});
						$(this).css('background', 'url(' + itemImg + ') center 0 no-repeat' );
					})
				})
				.error(function(){
					alert(msgSemImagem);
					$(galeria).css({ 'display' : 'none' });
				});
			} else {
				galeria.exibeItem(itemAtual, itemConteudo);
			};
		};
		
		return this;
	};
	
	galeria.exibeItem = function(itemAtual, itemConteudo){
		itemAtual.css({ 'display' : 'inline-block' });
		itemConteudo.css({ 'display' : 'block', 'marginTop' : posIniItemGaleriaConteudo + 100 });
	
		$(itemAtual).animate({ 'opacity' : 1 }, 500, function(){
			if(reproducaoAutomatica) {
				galeria.removeIntervalo();
				galeria.reproducaoAutomatica();
			}
		});
		
		$(itemConteudo).delay(500).animate({ 'marginTop' : posIniItemGaleriaConteudo, 'opacity' : 1 }, 500, function(){
			linkAtivoBolinha = false;
		});
	};
	
	galeria.reproducaoAutomatica = function(){
		intervalo = setInterval( function(){
			galeria.trocaItem();
		}, tempoPausa);
	};
	
	galeria.removeIntervalo = function(){
		clearInterval(intervalo);
	};
	
	galeria.trocaItem = function(){
		if(reproducaoAutomatica) {
			galeria.removeIntervalo();
		}
		
		ultimoItem = atualItem;
		
		if(atualItem >= (todosItens.length - 1)){
			atualItem = 0;
		} else {
			atualItem++;
		}
		
		galeria.selecionaLinkBolinha();
		galeria.carregaItem();
	};
	
	galeria.selecionaLinkBolinha = function(){
		for(var i = 0; i < todosItens.length; i++){
			if(atualItem == i){
				$('#' + linkBolinha + '-' + i).removeClass(linkBolinha).addClass(linkBolinhaSelecionado);
			} else {
				$('#' + linkBolinha + '-' + i).removeClass(linkBolinhaSelecionado).addClass(linkBolinha);
			}
		}
	};
	
	galeria.redimensionarTela = function (){
		if($(window).width()<=990) {
			$(galeriaConteudo).width(990);
		} else { 
			$(galeriaConteudo).width('100%');
		}
	};
	
	galeria.init();
	galeria.selecionaLinkBolinha();
	galeria.carregaItem();
	galeria.redimensionarTela();
};

$.fn.GaleriaFundo.opcoes = {
	_bolasControle				: '',
	_carregando					: '',
	_controle					: '',
	_galeria					: '',
	_inicioAleatorio			: false,
	_itemGaleria				: '',
	_itemGaleriaConteudo		: '',
	_linkBolinha				: '',
	_linkBolinhaSelecionado		: '',
	_msgSemImagem				: 'Imagem não encontrada!',
	_posIniItemGaleriaConteudo 	: 250,
	_reproducaoAutomatica		: false,
	_tempoTransicao				: 250,
	_tempoPausa					: 10000
}
