(function($) {
  var cache = [];
  // Arguments are image paths relative to the current page.
  $.preLoadImages = function() {
    var args_len = arguments.length;
    for (var i = args_len; i--;) {
      var cacheImage = document.createElement('img');
      cacheImage.src = arguments[i];
      cache.push(cacheImage);
    }
  }
})(jQuery)

$(document).ready(function(){

	var prev_page = '';

    $("#thumbs a").hover(
		function(){
			$(this).append('<div id="tt"></div>');
		},
		function(){
			$(this).removeClass('tt');
			$('#tt').remove();
		}
	)

	$("#thumbs a").click(function(){
		$("#thumbs a").removeClass('tt-actual');
		$("#thumbs a").removeClass('selecionado');
		$('#tt-actual').remove();
		$('#legend').hide();
		$('#photo img').fadeOut('fast');
		$('#photo img').attr('src', $(this).attr('href'));
		alt_atrib = $(this).children('img').attr('alt');
		if (alt_atrib != '') {
			$('#legend').html(alt_atrib);
			$('#photo img').fadeIn('fast', function() { $('#legend').show('fast'); });
		} else {
			$('#photo img').fadeIn('fast');
		}
		
		$(this).append('<div id="tt-actual"></div>');

		page_num = $(this).attr('class');

		if ($('.'+page_num+':first').prev().attr('class') == null) {
			$('#prev-page').css('display', 'none');
		} else {
			$('#prev-page').css('display', 'block');
		}

		if ($('.'+page_num+':last').next().attr('class') == null) {
			$('#next-page').css('display', 'none');
		} else {
			$('#next-page').css('display', 'block');
		}

		if (prev_page != page_num) {
			$('#thumbs a').css('display', 'none');
		}
		$('.'+page_num).css('display', 'block');

		$(this).addClass('selecionado');
		jQuery.preLoadImages($('.selecionado').next().attr('href'));

		if ($(this).prev().attr('class')) {
			$('#to-left').css('display', 'block');
		} else {
			$('#to-left').css('display', 'none');
		}

		if ($(this).next().attr('class')) {
			$('#to-right').css('display', 'block');
		} else {
			$('#to-right').css('display', 'none');
		}



		return false;
    });

	$("#to-left").click(function(){
		$('.selecionado').prev().click();
	});
	$(document).bind('keydown', 'left', function(e){
	   $('#to-left').click();
	});

	$("#to-right").click(function(){
		$('.selecionado').next().click();
	});
	$(document).bind('keydown', 'right', function(e){
	   $('#to-right').click();
	});

	$("#prev-page").click(function(){
		selec = $('.selecionado');
		$("#thumbs a").removeClass('selecionado');
		page_num_atual = selec.attr('class');
		selec.addClass('selecionado');
		$('.'+page_num_atual+':first').prev().click();
	});
	$("#next-page").click(function(){
		selec = $('.selecionado');
		$("#thumbs a").removeClass('selecionado');
		page_num_atual = selec.attr('class');
		selec.addClass('selecionado');
		$('.'+page_num_atual+':last').next().click();
	});

	$("#thumbs a:first").click();

});

