// (c)2008-2009 Boursica.com - Tous droits réservés.

function auto_scroll_init(prefix,nbr,delai,n,sens) {
	if(n&&sens) { // déjà bougé
		n+=sens;
		if(n>nbr) { sens=-1; n=nbr-1; }
		else if(!n) { sens=1; n=2; }
		scroll_zone(prefix+n,"auto_scroll_init('"+prefix+"',"+nbr+","+delai+","+n+","+sens+")",delai);
	}else if((delai<=1)&&(nbr<=1)) return; // il n'y a rien à scroller
	else setTimeout("auto_scroll_init('"+prefix+"',"+nbr+","+delai+",1,1)",delai*1000); // init du premier scroll
}

scrollstop=new Array();
scrollposit=new Array();
scrolltimout=new Array();
scrolltimoutd=new Array();
function scroll_zone(element,timeout,delai) {
	var obj=document.getElementById(element);
	var posit=obj.parentNode.scrollTop;
//	var posit=obj.offsetParent.scrollTop;
	var dest=obj.offsetTop;
	if(scrollposit[obj.parentNode.id]) ; else scrollposit[obj.parentNode.id]=obj.parentNode;
//	if(scrollposit[obj.offsetParent.id]) ; else scrollposit[obj.offsetParent.id]=obj.offsetParent;
	if(timeout&&delai) { scrolltimout[obj.parentNode.id]=timeout; scrolltimoutd[obj.parentNode.id]=delai; }
//	if(timeout&&delai) { scrolltimout[obj.offsetParent.id]=timeout; scrolltimoutd[obj.offsetParent.id]=delai; }

	if(dest==posit) return;
	else scroll_zone_go(obj.parentNode.id,dest);
//	else scroll_zone_go(obj.offsetParent.id,dest);
}
function scroll_zone_go(zone,dest,old) {
	if(scrollstop[zone]) {
		if(scrollposit[zone].scrollTop!=dest) setTimeout("scroll_zone_go('"+zone+"',"+dest+","+scrollposit[zone].scrollTop+")",100);
	}else{
		if(scrollposit[zone].scrollTop<dest) { if(scrollposit[zone].scrollTop>=dest-3) scrollposit[zone].scrollTop++; else scrollposit[zone].scrollTop+=2; }
		else{ if(scrollposit[zone].scrollTop<=dest+3) scrollposit[zone].scrollTop--; else scrollposit[zone].scrollTop-=2; }
		if((scrollposit[zone].scrollTop!=old)&&(scrollposit[zone].scrollTop!=dest)) setTimeout("scroll_zone_go('"+zone+"',"+dest+","+scrollposit[zone].scrollTop+")",15);
		else if(scrolltimout[zone]&&scrolltimoutd[zone]) setTimeout(scrolltimout[zone],scrolltimoutd[zone]*1000);
	}
}

function scroll_zone_ok(zone,avance) {
	scrollstop[zone]=!avance;
}
