var fs_sliding = false;
var fs_runslide = true;
var fs_play = true;
var fs_stop_num = 0;
var fs_stop_frames = 0;

// duration and fadeduration are both time in milliseconds, total fade time is based 
function fs_setslidechange(num,frames,duration,fadeduration) {
	duration = parseInt(duration);
	fs_stop_num = parseInt(num);
	fs_stop_frames = parseInt(frames);
	if (fs_play) {
		fs_sliding = setTimeout('fs_slider("' + num + '","' + frames + '","' + duration + '","' + fadeduration + '");', duration);
	}
}

function fs_slider(num,frames,duration,fadeduration) {
	num = parseInt(num);
	frames = parseInt(frames);
	duration = parseInt(duration);
	fadeduration = parseInt(fadeduration);
	if (num < (frames-1)) { next = num+1 } else { next = 0 }
	if (fs_sliding && fs_runslide) {
		fs_runslide = false;
		clearTimeout(fs_sliding);
		for ( var i=0, len=frames; i<len; ++i ){
			if (i != num){
				Effect.Fade("fs_slide_"+i, { duration: (fadeduration/1000) });
				$("fs_slide_control_"+i).removeClassName("active");
			}
		}
		Effect.Appear("fs_slide_"+num, { duration: (fadeduration/1000) });
		$("fs_slide_control_"+num).addClassName("active");
		fs_stop_num = next;
		setTimeout('fs_runslide=true;fs_setslidechange("'+next+'","'+frames+'","'+duration+'","'+fadeduration+'");',fadeduration);
	}
}

function fs_stop(){
	$('fs_slide_play').show();
	$('fs_slide_pause').hide();
	clearTimeout(fs_sliding);
	fs_play = false;
}

function fs_start(duration,fadeduration){
	$('fs_slide_pause').show();
	$('fs_slide_play').hide();
	fs_play = true;
	fs_slider(fs_stop_num,fs_stop_frames,duration,fadeduration);
}
