var globalDelay = 4000;
var currently_running = '';
var current_num_frames; 
var is_running;
var t;
var frame;

function start_slideshow(slideid,start_frame, end_frame) 
{
	clearTimeout(t);
	currently_running = slideid;
	current_num_frames = end_frame;
	is_running = true;
	frame = 1;
	
	for( var i = 1; i <= end_frame; i++ )
	{
		hide = slideid + '_' + i;
		$(hide).setStyle({display: 'none'});
	}
	show = slideid + '_1';
	Effect.Appear(show);
	
	setTimeout(switch_slides(slideid,start_frame,start_frame,end_frame), 4000);
}
                        
function switch_slides(slideid, frame, start_frame, end_frame) 
{
    return (function() {
		currentframe = slideid + '_' + frame;
        Effect.Fade(currentframe, {duration: 1});
        if (frame == end_frame) { frame = start_frame; } else { frame = frame + 1; }
		nextframe = slideid + '_' + frame;
        Effect.Appear(nextframe, {duration: 1});
        t = setTimeout(switch_slides(slideid, frame, start_frame, end_frame, globalDelay), globalDelay + 100);
    })
}

function pause()
{
	if ( is_running == true ) 
	{ 
		clearTimeout(t); 
		is_running = false;
	}
	else 
	{ 
		if ( currently_running != '' )
		{
			start_slideshow(currently_running, 1, current_num_frames);
			is_running = true;
		}
	}
}