
var slideshow_timingSlide = 4000;
var slideshow_timingFade = 2000;
var slideshow_sliding = true;
var slideshow_images = new Array();

function slideshow_init() {
	var current = $('slideshowcurrent');
	if (!current) return;
	var next = $('slideshownext');
	if (!next) return;
	if (slideshow_images.length < 2) return;
	
	var nextIndex = 0;
	for (var index = 0; index < slideshow_images.length; index++) {
		if (current.readAttribute("src") == slideshow_images[index].src) {
			nextIndex = (index + 1) % slideshow_images.length;
			break;
		}
	}
	
	Event.observe(current, 'click', slideshow_toggleSliding);
	Event.observe(next, 'click', slideshow_toggleSliding);
	if (slideshow_sliding) window.setTimeout('slideshow_next()', slideshow_timingSlide);
}

function slideshow_next() {
	if (!slideshow_sliding) return;
	
	var current = $('slideshowcurrent');
	var next = $('slideshownext');
	
	var nextIndex = 0;
	for (var index = 0; index < slideshow_images.length; index++) {
		if (current.readAttribute("src") == slideshow_images[index].src) {
			nextIndex = (index + 1) % slideshow_images.length;
			break;
		}
	}
	
	next.style.display = 'none';
	next.src = slideshow_images[nextIndex].src;
	
	// Fix for Safari
	next.width = slideshow_images[nextIndex].width;
	
	new Effect.Fade('slideshowcurrent', {duration: slideshow_timingFade / 1000.0});
	new Effect.Appear('slideshownext', {duration: slideshow_timingFade / 1000.0, afterFinish: slideshow_switch});
	
	if (slideshow_sliding) window.setTimeout('slideshow_next()', slideshow_timingSlide);
}

function slideshow_switch() {
	var current = $('slideshowcurrent');
	var next = $('slideshownext');
	next.id = '';
	current.id = 'slideshownext';
	next.id = 'slideshowcurrent';
}

function slideshow_toggleSliding() {
	slideshow_sliding = !slideshow_sliding;
	if (slideshow_sliding) window.setTimeout('slideshow_next()', 100);
}

function slideshow_addImage(url) {
	var img = new Image();
	img.src = url;
	slideshow_images[slideshow_images.length] = img;
}
