/* slideshow for poject */
function projectEntryReady()
{
	var WAIT_TIME = 5000;
	var FADE_TIME = 250;

	$("#slideshow > #slideul > li > a").overlay({
		expose: {
			color: '#333',
			loadSpeed: 200,
			opacity: 0.9
		},
		close: "#galleryImage",
		onBeforeLoad: slideshowMouseEnter,
		onLoad: slideshowMouseEnter,
		onClose: slideshowMouseLeave,
		closeOnClick: true,
		target: '#gallery_overlay',
		top: "3%"
	}).gallery({
		imgId: "galleryImage",
		autohide: false,
		preload: false
	});

	var images = $("#slideul > li");
	var numImages = images.size();
	var currentIndex = 0;
	var rotateIndex = 0;
	var useSelector = false;

	var imageSelectors = $("#slideshow > .imageselector > .imageselect");

	if (imageSelectors.size())
	{
		useSelector = true;
		$(imageSelectors[0]).addClass("selected");
		imageSelectors.click(selectorClick);
		imageSelectors.mouseenter(slideshowMouseEnter);
		imageSelectors.mouseleave(slideshowMouseLeave);
	}

	images.mouseenter(slideshowMouseEnter);
	images.mouseleave(slideshowMouseLeave);

	var tID = setTimeout(slideshow, WAIT_TIME);

	function slideshowMouseEnter()
	{
		clearTimeout(tID);
	}

	function slideshowMouseLeave()
	{
		clearTimeout(tID);
		tID = setTimeout(slideshow, WAIT_TIME);
	}

	function slideshow()
	{
		change = currentIndex+1;

		if (change >= numImages)
			change = 0;
		changeImage(change);
		highlightSelector(change);
		tID = setTimeout(slideshow, WAIT_TIME);
	}

	function selectorClick()
	{
		var selectedIndex = imageSelectors.index(this);
		highlightSelector(selectedIndex);
		changeImage(selectedIndex);
	}

	function changeImage(index)
	{
		if (index == currentIndex)
			return;

		var old = currentIndex;
		if (currentIndex < index)
		{
			$(images[index]).css('opacity', 0).css('visibility', 'visible').animate({opacity: 1}, FADE_TIME, null, function() {
				$(images[old]).css({visibility: 'hidden'});
			});
		}
		else
		{
			$(images[index]).css({visibility: 'visible', opacity: 1});
			$(images[old]).animate({opacity: 0}, FADE_TIME, null, function () {
				$(this).css('visibility', 'hidden');
			});
		}

		currentIndex = index;
	}

	function highlightSelector(index)
	{
		imageSelectors.removeClass("selected");
		$(imageSelectors[index]).addClass("selected");
	}


}


