//------------------------------------------------------------------------------------
//	File :		diaporama.js
//	Author :	Kevin Struillou (kevin.struillou@free.fr)
//
//	v1.0:		2006/03/15	...
//
//------------------------------------------------------------------------------------

var scroll_timer_id = 0 ;

function _scroll(id, amount) {
	
	
	if (amount == 0)
		return ;
	
	var obj = document.getElementById(id) ;
	
	if(Math.abs(amount) < 3) var offset = amount ;
	else var offset = Math.abs(amount - amount / 2) ;
	
		
	
	if (amount > 0) {
	
		if (obj.scrollLeft + offset < obj.scrollWidth)
			obj.scrollLeft = obj.scrollLeft + offset ;
		else
			return ;
			
	} else if (amount < 0) {
	
		if (obj.scrollLeft - offset >= 0)
			obj.scrollLeft = obj.scrollLeft - offset ;
		else
			return ;
			
	}
	
	amount = (amount > 0) ? amount - offset : amount + offset ;
	
	scroll_timer_id = setTimeout("_scroll('" + id + "', " + amount + ")", 10) ;
	
}

function _scroll_to(id, from, to) {
	
	var obj = document.getElementById(id) ;
	
	if (obj.scrollLeft == to)
		return ;
	
	var offset = Math.ceil(Math.sin(Math.PI * Math.abs((obj.scrollLeft + (from < to ? 1 : -1) - from) / (to - from))) * 50) ;
	
	if (obj.scrollLeft < to) {
		
		if (obj.scrollLeft + offset < to)
			obj.scrollLeft = obj.scrollLeft + offset ;
		else {
			obj.scrollLeft = to ;
			return ;
		}
			
	} else if (obj.scrollLeft > to) {
	
		if (obj.scrollLeft - offset > to)
			obj.scrollLeft = obj.scrollLeft - offset ;
		else {
			obj.scrollLeft = to ;
			return ;
		}
			
	}
	
	scroll_timer_id = setTimeout("_scroll_to('" + id + "', " + from + ", " + to + ")", 10) ;
	
}

function scroll_div(id, amount) {

	clearTimeout(scroll_timer_id) ;
	_scroll(id, amount) ;

}

function scroll_div_to(id, value) {
	
	clearTimeout(scroll_timer_id) ;
	_scroll_to(id, document.getElementById(id).scrollLeft, value) ;
	
}

function scroll_div_stop() {

	clearTimeout(scroll_timer_id) ;
		
}
