
var slideshow_timingSlideInitial = 2000;
var slideshow_timingSlide = 5000;
var slideshow_timingFade = 3000;
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;
	
	current.src = slideshow_images[0].src;
	next.src = slideshow_images[1].src;
	
	next.style.display = 'none';
	
	Event.observe(current, 'click', slideshow_toggleSliding);
	Event.observe(next, 'click', slideshow_toggleSliding);
	if (slideshow_sliding) window.setTimeout(slideshow_next, slideshow_timingSlideInitial);
}

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;
	
	next.style.marginLeft = Math.round((640 - next.width)/2)+'px';
	
	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;
}

