/**************************************************************************************************
* Goldfish JavaScript Picture Gallery (works only with jQuery)
* This javascript is created by Goldfish from Fishbeam Software: http://www.fishbeam.com
* All rights reserved. © 2009 Yves Pellot
**************************************************************************************************/

var pictures=new Array();
var position=0;
var diashowTimer;

//Load all images in an array
$(document).ready(function(){
	var galleryItems=$('.lightGallery');
	for(var i=0; i<galleryItems.length; i++) {
		var item=$(galleryItems[i]);
		pictures.push(new Array(item.parent().attr('href'), item.attr('alt')));
		item.parent().attr('href', 'JavaScript:openGallery('+i+')');
	}
});

//Starts the gallery
function openGallery(startPosition) {
	position=startPosition;
	openCurtain('<div id="imageContainer"><div id="navigation"><img src="'+pathToFiles+'navigation_prev.png" id="navigationPrev" /><img src="'+pathToFiles+'navigation_stop.png" id="navigationStop" /><img src="'+pathToFiles+'navigation_next.png" id="navigationNext" /></div><img id="image"></div><p id="comment" class="'+textClass+'"></p>', curtainClass, function(){
		//Navigation functions
		$('#navigationPrev').hover(function(){
	    	$('#navigationPrev').attr('src', pathToFiles+"navigation_prev_hover.png");
		}, function(){
			$('#navigationPrev').attr('src',pathToFiles+"navigation_prev.png");  	
		});
		$('#navigationPrev').click(function(){
			window.clearTimeout(diashowTimer);
			position--;
			if(position<0)
				position=pictures.length-1;
			loadImage();
		});
	  	$('#navigationStop').hover(function(){
	    	$('#navigationStop').attr('src',pathToFiles+"navigation_stop_hover.png");
	  	}, function(){
	    	$('#navigationStop').attr('src',pathToFiles+"navigation_stop.png");  	
	  	});
	  	$('#navigationStop').click(function(){
	    	closeGallery();
	  	});
	  	$('#navigationNext').hover(function(){
	    	$('#navigationNext').attr('src',pathToFiles+"navigation_next_hover.png");
	  	}, function(){
	    	$('#navigationNext').attr('src',pathToFiles+"navigation_next.png");  	
	  	});
	  	$('#navigationNext').click(function(){
	    	nextImage();
	  	});
        $('#image').mousemove(showNavigation);
        $('#overlay').mousemove(showNavigation);
  		//Load image
  		loadImage();
	});
}

//Start loading next image 
function nextImage() {
  window.clearTimeout(diashowTimer);
  position++;
  if(position>=pictures.length)
    position=0;
  loadImage();
}

//Loads an image and displays it
function loadImage() {
  showSpinner(function(){
  	//Craete image object to load to cache
    var imageLoader=new Image();
    imageLoader.onload=function(){
      //Hide spinner, hide previous image, display current image, reposition navigation and diaplay comment
      hideSpinner(function(){
      	$('#container').fadeOut('1000', function(){
      	  $('#image').attr('src',imageLoader.src);
          $('#container').fadeIn(1000);
          repositionCurtain();
          $('#navigation').css({
            top: imageLoader.height-44-15
          });
          if(showDescription)
            $('#comment').text(pictures[position][1]);
          if(diaShowSpeed>0)
            diashowTimer=window.setTimeout(nextImage, diaShowSpeed*1000); //Set diashow timer if diashow is enabled 	
        });
      });
    };
    //loade image to cache
    imageLoader.src=pictures[position][0];
  });
}

//Show and hide navigation by mouse move
var showNavigationTimer;
function showNavigation() {
  window.clearTimeout(showNavigationTimer);
  showNavigationTimer=window.setTimeout(function(){
    $('#navigation').fadeOut('slow');
    window.clearTimeout(showNavigationTimer);
  }, 1000);
  $('#navigation').fadeIn('slow');
}

//Close gallery
function closeGallery() {
  window.clearTimeout(diashowTimer);
  closeCurtain();
}