
var slide_width = 837;
var slide_count = 25;
var slide_accelerating = false;
var e = null;
var t = null;
var x0 = null;
var x1 = null;
var v0 = null;
var a = null;
var slide_id;
var slide_action = false;

function jump_to(id)
{
	if(!slide_accelerating)
	{
		document.getElementById('slide_show').scrollLeft = id * slide_width;
		activate_link(id);
		reset_sliders();
	}
}

function activate_link(id)
{
	for(i = 0; i < slide_count; i++)
	{
		document.getElementById('link' + i).className = '';
	}
	
	document.getElementById('link' + id).className = 'activated_link';
}

function scroll_right()
{
	if(!slide_accelerating)
	{
		e = document.getElementById('slide_show');
		if((slide_destination = e.scrollLeft + slide_width) < slide_count * slide_width)
		{
			activate_link(Math.round(e.scrollLeft / slide_width) + 1);
		
			t = 0;
			a = -6.1;
			v0 = 102;
			x0 = e.scrollLeft;
			
			slide_accelerating = true;
		
			scroll_right_loop();
		}
	}
}

function scroll_right_loop()
{
	if(e.scrollLeft < x0 + slide_width)
	{
		e.scrollLeft = x0 + v0 * t + 1/2 * a * t * t;
		t += 0.5;
		reset_sliders();
	
		setTimeout('scroll_right_loop()', 50);
	}
	else if(e.scrollLeft > x0 + slide_width)
	{
		e.scrollLeft = x0 + slide_width;
		slide_accelerating = false;
		reset_sliders();
	}
	else
	{
		slide_accelerating = false;
		reset_sliders();
	}
}

function scroll_left()
{
	if(!slide_accelerating)
	{
		e = document.getElementById('slide_show');
		if(e.scrollLeft != 0)
		{
			activate_link(Math.round(e.scrollLeft / slide_width) - 1);
		
			t = 0;
			a = 6.1;
			v0 = -102;
			x0 = e.scrollLeft;
			
			slide_accelerating = true;
		
			scroll_left_loop();
		}
	}
}

function scroll_left_loop()
{
	if(e.scrollLeft > x0 - slide_width)
	{
		e.scrollLeft = x0 + v0 * t + 1/2 * a * t * t;
		t += 0.5;
		reset_sliders();
	
		setTimeout('scroll_left_loop()', 50);
	}
	else if(e.scrollLeft < x0 - slide_width)
	{
		e.scrollLeft = x0 - slide_width;
		slide_accelerating = false;
		reset_sliders();
	}
	else
	{
		slide_accelerating = false;
		reset_sliders();
	}
}

document.onmouseup = function() { stop_scroll(); };

function scroll_up(id)
{
	if(!slide_action)
	{
		slide_action = true;
		slide_id = id;
		scroll_up_loop();
	}
}

function scroll_up_loop()
{
	if(slide_action)
	{
		
		if( slide_id == 15 )
		{
			// Derived from function scrollVertical()
			slider15.setValue(     ($('text_column15').scrollTop - 30) * slider15.maximum /
		                  		   ($('text_column15').scrollHeight - $('text_column15').offsetHeight)     );             		   
		}
		
		if( slide_id == 19 )
		{
			// Derived from function scrollVertical()
			slider19.setValue(     ($('text_column19').scrollTop - 30) * slider19.maximum /
		                  		   ($('text_column19').scrollHeight - $('text_column19').offsetHeight)     );             		   
		}
		
		if( slide_id == 24 )
		{
			// Derived from function scrollVertical()
			slider24.setValue(     ($('text_column24').scrollTop - 30) * slider24.maximum /
		                  		   ($('text_column24').scrollHeight - $('text_column24').offsetHeight)     );             		   
		}
		
		setTimeout('scroll_up_loop()', 20);
	}
}

function scroll_down(id)
{
	if(!slide_action)
	{
		slide_action = true;
		slide_id = id;
		scroll_down_loop();
	}
}

function scroll_down_loop()
{
	if(slide_action)
	{
		
		if( slide_id == 15 )
		{
			// Derived from function scrollVertical()
			slider15.setValue(     ($('text_column15').scrollTop + 30) * slider15.maximum /
		                  		   ($('text_column15').scrollHeight - $('text_column15').offsetHeight)     );     		   
		}
		
		if( slide_id == 19 )
		{
			// Derived from function scrollVertical()
			slider19.setValue(     ($('text_column19').scrollTop + 30) * slider19.maximum /
		                  		   ($('text_column19').scrollHeight - $('text_column19').offsetHeight)     );     		   
		}
		
		if( slide_id == 24 )
		{
			// Derived from function scrollVertical()
			slider24.setValue(     ($('text_column24').scrollTop + 30) * slider24.maximum /
		                  		   ($('text_column24').scrollHeight - $('text_column24').offsetHeight)     );     		   
		}
		
		setTimeout('scroll_down_loop()', 20);
	}
}

function stop_scroll()
{
	slide_action = false;
}

function reset_sliders()
{
	slider15.setValue( 0 );
	slider19.setValue( 0 );
	slider24.setValue( 0 );
}