var delay = 3000;
var start_frame = 0;
var end_frame = 0;
var current_frame = 0;
var now_playing = true;
var timer_id = -1;
var timer_id2 = -1;
var lis;

function init() {
	lis = $('slide-images').getElementsByTagName('li');
	
	end_frame = lis.length - 1;
	for( i=0; i < lis.length; i++){
		lis[i].style.display = (i==0) ? 'block' : 'none';
	}
	
	start_slideshow();
	
	var btn_next = $('slide-btn-next');
	var btn_prev = $('slide-btn-prev');
	Event.observe(btn_next, 'click', function(){pause_slideshow(); go2next();});
	Event.observe(btn_prev, 'click', function(){pause_slideshow(); go2prev();});
	$('slide-caption').innerHTML = lis[0].title;
}



function start_slideshow() {
	now_playing = true;
	setTimeout("go2next()", delay);
}

function pause_slideshow() {
	if (timer_id2 > -1){
		clearTimeout(timer_id2);
	}
	now_playing = false;
	timer_id2 = setTimeout("if (!now_playing) start_slideshow()", delay*5);
}


function go2slide(frame) {
	if (timer_id > -1){
		clearTimeout(timer_id);
		timer_id = -1;
	}
	Effect.Fade(lis[current_frame]);
	if (frame > end_frame) frame = start_frame;
	else if (frame < 0) frame = end_frame;
	current_frame = frame;
	setTimeout("Effect.Appear(lis[current_frame]);", 0);	
	$('slide-caption').innerHTML = lis[current_frame].title;
	if (now_playing){
		timer_id = setTimeout("go2next()", delay+1850);
	}
}
function go2next(){
	go2slide(current_frame+1);
}
function go2prev(){
	go2slide(current_frame-1);
}

Event.observe(window, 'load', init, false);