var t;
var $count = 0;

$.fn.imageLoad = function(fn){
    this.load(function(){
    	fn(this);
    	return false;
    });
    return this.each( function() {
        if ( $(this).get(0).complete && $(this).get(0).naturalWidth !== 0 ) {
            $(this).trigger('load');
        }
    });
}

function _addStack() {
	$count = $count +1;
}
function _removeStack() {
	$count = $count - 1;
}
function _next() {	
	var aItem = $('.anterior').attr('posicao');

	_addStack();
	
	// tira a sombra do splash da garrafa
	$('#splash-sombra-'+aItem)	
		.stop().fadeOut(500);

	// tira o splash da garrafa 
	$('#splash-'+aItem).stop().fadeOut(500, function(){
			// move a garrafa de proximo(direita) para anterior(esquerda)
			$('#item-'+aItem).css('z-index', 250).animate({height: 438, left:455, bottom:0, width: 218}, 1500, 'easeOutCubic', function(){
					_removeStack();
				});
		});
						
						
	var atual = $('.atual').attr('posicao');
		
	if ($('#item-'+atual).hasClass('ativo')){
			_addStack();
			// move a garrafa de atual(centro) para proximo(direita)
			$('#item-'+atual).css('z-index', 252).animate({height: 438, left:11, bottom:0, width: 218}, 1300, 'easeOutCubic', function(){
					_removeStack();
				});
		}
		else
		{
			_addStack();
			// tira a sombra do splash da garrafa
			$('#splash-sombra-'+atual)
				.stop().fadeOut(500);

				// tira o splash da garrafa 
				$('#splash-'+atual).stop().fadeOut(500, function(){
					// move a garrafa para a posição 2
					$('#item-'+atual).css('z-index', 250).animate({left: 11, bottom:0, height:438}, 1500, 'easeOutCubic', function(){
							_removeStack();
						});
				});
		}
		
		var pItem = $('.proximo').attr('posicao');
		
		clearTimeout(t);
		t = $('#plus-'+atual+'.plus-ativo').stop().fadeOut(400, function(){
			clearTimeout(t);
		});
		
		_addStack();
		// tira a sombra do splash da garrafa
		$('#splash-sombra-'+pItem).stop().fadeOut(500);
			
		// tira o splash da garrafa 
		$('#splash-'+pItem).stop().fadeOut(500, function(){

			$('#item-'+pItem).css('z-index', 255).animate({width: 268, bottom:40, left:208}, 1400, function(){
						clearTimeout(t);	
						t = $('#plus-'+pItem+'.plus-ativo').stop().fadeIn(500, function(){
							_removeStack();
						});
					});
			});
		
		$('#descricao-0')
			.stop()
			.fadeOut(300, function(){
				res = (parseInt(atual) + 1);
				$('#descricao-'+ res)
					.stop()
					.fadeOut(300, function(){

						res = (parseInt(pItem) + 1);
						$('#descricao-'+ res)
							.stop()
							.fadeIn(300);
				});			
		});

		t = $('#bt_saiba_mais img').stop().animate({bottom:-32} , 300)
		
		$('#item-'+aItem)
			.removeClass('anterior')
			.removeClass('ativo')
			.addClass('proximo')
			.addClass('inativo');
		$('#item-'+atual)
			.removeClass('atual')
			.removeClass('ativo')
			.addClass('anterior')
			.addClass('inativo');
		$('#item-'+pItem)
			.removeClass('proximo')
			.removeClass('inativo')
			.addClass('atual')
			.addClass('ativo');
	
	
	return 'item-'+pItem;
}
function _prev() {
	var pItem = $('.proximo').attr('posicao');

	_addStack();	
	// tira a sombra do splash da garrafa
	$('#splash-sombra-'+pItem).stop().fadeOut(500);

	// tira o splash da garrafa
	$('#splash-'+pItem).stop().fadeOut(500, function(){
		
		// move a garrafa de proximo(direita) para anterior(esquerda)
		$('#item-'+pItem).css('z-index', 250).animate({left: 11, bottom:0, height:438}, 1500, 'easeOutCubic', function(){
					_removeStack();
				});
		});
					
		var atual = $('.atual').attr('posicao');
					
		if ($('#item-'+atual).hasClass('ativo'))
		{
			_addStack();
			// move a garrafa de atual(centro) para proximo(direita)
			$('#item-'+atual).css('z-index', 252).animate({height: 438, left:455, bottom:0, width: 218}, 1300, 'easeOutCubic', function(){
					_removeStack();
				});
		}
		else
		{
			_addStack();
			// tira a sombra do splash da garrafa
			$('#splash-sombra-'+atual).stop().fadeOut(500);
			
			// tira o splash da garrafa 
			$('#splash-'+atual).stop().fadeOut(500, function(){
			
				// move a garrafa para a posição 2
				$('#item-'+atual).css('z-index', 250).animate({left: 455, bottom:0, height:438}, 1500, 'easeOutCubic', function(){
							_removeStack();
						});
				});
		}
		
		var aItem = $('.anterior').attr('posicao');
		
		_addStack();
		clearTimeout(t);
		t = $('#plus-'+atual+'.plus-ativo').stop().fadeOut(400, function(){
			clearTimeout(t);
				_removeStack();
		});

		_addStack();
		// tira a sombra do splash da garrafa
		$('#splash-sombra-'+aItem).stop().fadeOut(500);
		
		// tira o splash da garrafa 
		$('#splash-'+aItem).stop().fadeOut(500, function(){
				$('#item-'+aItem).css('z-index', 255).animate({width: 268, bottom:40, left:208}, 1400, function(){
						clearTimeout(t);	
						t = $('#plus-'+aItem+'.plus-ativo').stop().fadeIn(500, function(){
							_removeStack();
						});
					});
			});
			
		$('#descricao-0')
			.stop()
			.fadeOut(300, function(){
				res = (parseInt(atual) + 1);
				$('#descricao-'+ res)
					.stop()
					.fadeOut(300, function(){
						res = (parseInt(aItem) + 1);
						$('#descricao-'+ res)
							.stop()
							.fadeIn(300);
				});			
		});
		t = $('#bt_saiba_mais img').stop().animate({bottom:-32} , 300)

		
		$('#item-'+pItem)
			.removeClass('proximo')
			.removeClass('ativo')
			.addClass('anterior')
			.addClass('inativo');
		$('#item-'+atual)
			.removeClass('atual')
			.removeClass('ativo')
			.addClass('proximo')
			.addClass('inativo');
		$('#item-'+aItem)
			.removeClass('anterior')
			.removeClass('inativo')
			.addClass('atual')
			.addClass('ativo');
	
	return 'item-'+aItem;
}
function _ativar() {
	var atual = $('.atual').attr('posicao');
	var prev = $('.anterior').attr('posicao');
	var next = $('.proximo').attr('posicao');
	
	$('#splash-sombra-'+atual).stop().fadeOut(500);
	$('#splash-sombra-'+prev).stop().fadeOut(500);
	$('#splash-sombra-'+next).stop().fadeOut(500);
	
	$('#splash-'+prev).stop().fadeOut(500);
	$('#splash-'+next).stop().fadeOut(500);
			
	_addStack();
	$('#splash-'+atual).stop().fadeOut(500, function(){
			$('#item-'+atual).animate({width: 268, bottom:40, left:208}, 200, function(){
				_removeStack();
			}).removeClass('inativo').addClass('ativo');

			clearTimeout(t);
			t = $('#bt_saiba_mais img').stop().animate({bottom:-32} , 100);
			t = $('#plus-'+atual+'.plus-ativo').stop().fadeIn(400);

		res = (parseInt(atual) + 1); 
		$('#descricao-0')
			.stop()
			.fadeOut(300, function(){		
				$('#descricao-'+ res)
					.stop()
					.fadeIn(300);
		});

	});
}
function _desativar() {
	var atual = $('.atual').attr('posicao');
	var prev = $('.anterior').attr('posicao');
	var next = $('.proximo').attr('posicao');
	
	$('#item-'+atual).removeClass('ativo').addClass('inativo').animate({width: 218, bottom:0, left:233}, 200, function(){
			$('#splash-sombra-'+prev).stop().fadeIn(500);
			$('#splash-sombra-'+next).stop().fadeIn(500);
			$('#splash-sombra-'+atual).stop().fadeIn(500);
			$('#splash-'+prev).stop().fadeIn(500);
			$('#splash-'+next).stop().fadeIn(500);
			$('#splash-'+atual).stop().fadeIn(500);
	});	

	t = $('#bt_saiba_mais img').stop().animate({bottom:0} , 300);
	t = $('#plus-'+atual+'.plus-ativo').stop().fadeOut(300);

	res = (parseInt(atual) + 1); 
	$('#descricao-'+ res)
		.stop()
		.fadeOut(300, function(){		
			$('#descricao-0')
				.stop()
				.fadeIn(300);
	});
}

$(document).ready(function(){


	/* renomeia os li do slideshow */
	$("#slideshow-aguas li").each(function(index, element) {
		$(element)
			.attr("id", 'item-'+index)
			.attr("posicao", index);
	});
	$('#item-0').attr('class', 'atual inativo');
	$('#item-1').attr('class', 'anterior');
	$('#item-2').attr('class', 'proximo');
	
	
	/* renomeia os p das descrições do slideshow */
	$("#texto-descricao p").each(function(index, element) {
		$(element)
			.attr("id", 'descricao-'+index);
	});
	$('#descricao-0').css('display', 'inline');

	var itemId, current = 'item-0';
	
	$("#slideshow-aguas li").click(function() {
		if ($count == 0) {
			itemId 		= $(this).attr('id');
			itemPosicao = $(this).attr('posicao');
			
			if (itemId != current) {
				if ($(this).hasClass('anterior')) {

					current = _prev();
				}
				else if ($(this).hasClass('proximo')) {
					
					current = _next();
				}
			}
			else if ($(this).hasClass('inativo')) {
				_ativar();
			}
			else
			{
				_desativar();
			}
		}
	});
	
	$('#prev-descricao, .plus-left').click(function(){
		if ($count == 0) {
			current = _prev();
		}
	});
	$('#next-descricao, .plus-right').click(function(){
		if ($count == 0) {
			current = _next();
		}
	});
	$('.plus-ativo').click(function(){
		if ($count == 0) {
			_desativar();
		}
	});
	$('.plus-inativo').click(function(){
		if ($count == 0) {
			_ativar();
		}
	});

	var currentSlide = -1;
	var prevSlide = null;
	var slides = $('#list-banner-img li');
	var interval = null;
	var FADE_SPEED = 800;
	var DELAY_SPEED = 5000;

	var html = '<ul id="banner-marcador-opcao">';  //Creates a ul list for tabs
	
	for (var i = slides.length - 1, j = 0;i >= j ; j++){
		html += '<li id="slide'+ j+'" class="sprite inativo slide"></li>' ;
	}

	html += '</ul>';
	
	$('#banner-opcao').append(html);

	for (var i = slides.length - 1;i >= 0 ; i--){
		$('#slide'+i).bind("click",{index:i},function(event){
			
			currentSlide = event.data.index;
			gotoSlide(event.data.index);
		});
	};

	if (slides.length <= 1){
		$('.slide').hide();
	}

	nextSlide();
	function nextSlide (){
		if (currentSlide >= slides.length -1){
			currentSlide = 0;
		}else{
			currentSlide++
		}
		gotoSlide(currentSlide);
	}

	function gotoSlide(slideNum){
		if (slideNum != prevSlide){
			if (prevSlide != null){
				$(slides[prevSlide]).stop().fadeOut(300, 'easeInCubic');
				$('#slide'+prevSlide)
					.removeClass('ativo')
					.addClass('inativo');
			}
			
			$('#slide'+currentSlide).addClass('ativo');
			$('#slide'+slideNum).addClass('ativo');
			$('#slide'+prevSlide).removeClass('ativo');

			$(slides[slideNum]).stop().fadeIn(FADE_SPEED,'easeInCubic',function(){
				$(this).css({opacity:1});
				
			});

			prevSlide = currentSlide;

			if (interval != null){
				clearInterval(interval);
			}
			var oGal = $('#list-banner-img li img');		
			images = oGal.length;
			oGal.each(function() {
				var o = $(this);
				o.imageLoad(function() {
					images--;
					if(images == 0) {
						interval = setInterval(nextSlide, DELAY_SPEED);
					}
					o.unbind('load');
				});
			});
		}
	}
});
