var slideshowHandle, slideshowInterval = 6000, slideshowStopped = false;
var storePath = 'uploads/tx_dixslideshow/', iconPath = 'fileadmin/template/img/';

jQuery(document).ready(function() {
	
	// Init Slideshow
	
	jQuery('#slideshow div.imageContainer:first').fadeIn('500', function() {
		jQuery(this).children('.label').fadeIn('500', function() {
			slideshowHandle = window.setTimeout('triggerNextImage()', slideshowInterval);
		});
	});
	
	// Stop/Resume Slideshow
	jQuery('.slideshowPause').click(stopSlideshow);
	jQuery('.slideshowResume').click(resumeSlideshow);
	
	// Manual Navigation forward
	jQuery('.slideshowNext').click(function() {
		nextImage();
	});
	
	// Manual Navigation backwards
	jQuery('.slideshowPrev').click(function() {
		previousImage();
	});
	
	// Open Image in Lightbox (through the extrenal extension slimbox)
	jQuery('#slideshow img').click(function() {
		stopSlideshow();
	});
	
});

function nextImage() {
	
	if(!slideshowStopped) {
		window.clearTimeout(slideshowHandle);
	}
	
	resumeSlideshow();
		
	jQuery('#slideshow div.imageContainer:visible').fadeOut('500', function() {
		
		var $next = jQuery(this).next();
		
		// Last Picture
		if(jQuery(this).is(':last-child')) {
			$next = jQuery('#slideshow div.imageContainer:first');
		}
		
		$next.fadeIn('500', function() {
			jQuery(this).children('.label').fadeIn('0');
		});
	});
}


function previousImage() {
		
	if(!slideshowStopped) {
		window.clearTimeout(slideshowHandle);
	}
	
	resumeSlideshow();
	
	jQuery('#slideshow div.imageContainer:visible').fadeOut('500', function() {
		
		var $prev = jQuery(this).prev();
		
		// First Picture
		if(jQuery(this).is(':first-child')) {
			$prev = jQuery('#slideshow div.imageContainer:last');
		}
			
		$prev.fadeIn('500', function() {
			jQuery(this).children('.label').fadeIn('500');			
		});
	});
}

function triggerNextImage() {
	if(!slideshowStopped) {
		nextImage();
	}
}

function stopSlideshow() {
	slideshowStopped = true;
	window.clearTimeout(slideshowHandle);
	jQuery('.slideshowResume').show();
	jQuery('.slideshowPause').hide();
}

function resumeSlideshow() {
	slideshowHandle = window.setTimeout('triggerNextImage()', slideshowInterval);
	slideshowStopped = false;
	jQuery('.slideshowPause').show();
	jQuery('.slideshowResume').hide();
}