var slideshow_run = true;

function slideshow_schedule() {
	window.setTimeout(slideshow_tick, 5000);
}

function slideshow_hover(event) {
	switch (event.type) {
	case 'mouseover':
	case 'focus':
		slideshow_off();
		break;
	case 'mouseout':
	case 'blur':
		slideshow_on();
		break;
	}
}

function slideshow_on() { slideshow_run = true; }
function slideshow_off() { slideshow_run = false; }

function slideshow_tick() {
	if (slideshow_run)
		$('.slide.active').fadeOut('normal', slideshow_faded_out);
	else
		slideshow_schedule();
}

function slideshow_faded_out() {
	var current_slide = $(this);
	var next_slide = current_slide.next('.slide');
	if (next_slide.length == 0)
		next_slide = $('.slide:first');

	current_slide.removeClass('active');
	next_slide.fadeIn('normal', slideshow_faded_in);
}

function slideshow_faded_in() {
	$(this).addClass('active');
	slideshow_schedule();
}

$('.slide').live('hover', slideshow_hover);
$(document).ready(slideshow_schedule);
