function startSlideshow () {
	window.slideTime = 10000;
	
	if (window.numSlides == null) {
		window.numSlides = 0;
		var slides = $$('div.slide');
		slides.each(function () {window.numSlides++});
	}
	if (window.currentSlide == null) {
		window.currentSlide = 1;
		window.nextSlide = 2;
	}

	slide_interval = setInterval("swapSlide()", window.slideTime);
}

function swapSlide () {
	duration = 50; // time the transition should take, in milliseconds
	smoothness = 5; // how often the slide will move, in milliseconds
	
	// figure out how much to move the slide in each pass
	nextSlideElement = $('jsmovie-slide'+window.nextSlide);
	offset = nextSlideElement.getWidth()/(duration/smoothness);

	// add the slide effect in
	slideLeftInterval = setInterval("slideLeft("+offset+")", smoothness);
}

function resetSlides () {
	// this needs to:
	//	- move all but the active slide to the right
	//	- set the current slide's z-index to the lowest level
	//	- set the next slide's z-index above the current slide

	// update the window.currentSlide and window.nextSlide values
	oldSlide = window.currentSlide;
	window.currentSlide = window.nextSlide;
	if (window.nextSlide >= window.numSlides) window.nextSlide = 1;
	else window.nextSlide ++;
	
	// move the background image on the list of links
	$('slide-link-'+oldSlide).removeClassName('current-slide');
	$('slide-link-'+window.currentSlide).addClassName('current-slide');
	
	// set the proper z indices for all slides
	for (var i = 1; i <= window.numSlides; i++) {
		slide = $('jsmovie-slide'+i);
		// update the z indices
		if (i == window.currentSlide) slide.setStyle({zIndex:500});
		else slide.setStyle({zIndex:1000});
		
		// update the left values
		slideWidth = slide.getWidth()+'px';
		if (i != window.currentSlide) slide.setStyle({left:slideWidth});
	}
}

function slideLeft (offset) {
//	if (navigator.userAgent.indexOf('MSIE') > 0) alert ('slideLeft');
	element = $('jsmovie-slide'+window.nextSlide);
	currentLeft = element.getStyle('left').replace('px', '');

	newLeft = currentLeft - offset;
	
	if (newLeft <=0) {
//		if (navigator.userAgent.indexOf('MSIE') > 0) alert ('resetting slideLeftInterval');
		newLeft = 0;
		clearInterval(slideLeftInterval);

		if (slideLeftInterval > 4)
		{
			if (slideLeftInterval -1 != slide_interval)
			{
				clearInterval(slideLeftInterval - 1);    
			}
		}
		
		resetSlides();             
		
		
	}

	element.setStyle({left:newLeft+'px'});
}

function showSlide(slideNumber) {
	clearInterval(slide_interval);
	window.nextSlide = slideNumber;
	swapSlide();
	slide_interval = setInterval("swapSlide()", (window.slideTime * 3));
}

