window.addEvent('domready', function()
{
	/* settings */
	var showDuration = 3000;
	var container = $('slideshow-container');
	var images = container.getElements('div.pic');
	var currentIndex = 0;
	var interval;
	
	$$('.pic-nav-prev').addEvent('click', handleClick);
	$$('.pic-nav-next').addEvent('click', handleClick);
	
	var picCount = $$('#slideshow-container .pic').length;
	
	/* opacity and fade */
	images.each(function(img, i)
	{ 
		if (i > 0) {
			img.set('opacity', 0);
		}
	});
	
	/* worker */
	var show = function()
	{
		images[currentIndex].fade('out');
		images[currentIndex = currentIndex < images.length - 1 ? currentIndex + 1 : 0].fade('in');
	};
	
	/* start once the page is finished loading */
	window.addEvent('load', function()
	{
		interval = show.periodical(showDuration);
	});
	
	function handleClick(event)
	{
		images[currentIndex].fade('out');
		
		switch (event.target.className)
		{
			case 'prev':
			currentIndex--;
			break;
			
			case 'next':
			currentIndex++;
			break;
		}
		
		if (currentIndex < 0)
		{
			currentIndex = picCount - 1;
		}
		
		if (currentIndex == picCount)
		{
			currentIndex = 0;
		}
		
		if (interval)
		{
			$clear(interval);
			interval = null;
		}
		
		images[currentIndex].fade('in');
	}
});

