var b_avance = false;
var a;
var nom_calque_tele;

function demarre(nom_calque_tele, b_vers_le_bas){
	b_avance = true;
	descend(nom_calque_tele, b_vers_le_bas);
}

function arrete(nom_calque_tele){
	b_avance = false;
	affiche_fleche(nom_calque_tele);
}

function descend(nom_calque_tele, b_vers_le_bas){
	descend_generique(nom_calque_tele, b_vers_le_bas, 2);
}

function descend_roulette(nom_calque_tele, b_vers_le_bas){
	descend_generique(nom_calque_tele, b_vers_le_bas, 30);
}

function descend_generique(nom_calque_tele, b_vers_le_bas, b_nb_pixel){
	clearTimeout(a);
	if(b_vers_le_bas && document.getElementById(nom_calque_tele).scrollHeight == document.getElementById(nom_calque_tele).scrollTop + document.getElementById(nom_calque_tele).offsetHeight)
	{
		b_avance = false;
		affiche_fleche(nom_calque_tele);
		return;
	}
	
	if((!b_vers_le_bas) && document.getElementById(nom_calque_tele).scrollTop == 0)
	{
		b_avance = false;
		affiche_fleche(nom_calque_tele);
		return;
	}
	if(b_vers_le_bas){
		document.getElementById(nom_calque_tele).scrollTop+=b_nb_pixel;
	}else{
		document.getElementById(nom_calque_tele).scrollTop-=b_nb_pixel;
	}

	if(b_avance){
		a=window.setTimeout('descend_generique("'+nom_calque_tele+'", '+b_vers_le_bas+', '+b_nb_pixel+')', 13);
	}
}

function affiche(nom_calque_tele){
	ret = '';
	ret += ' scrollHeight = ' + document.getElementById(nom_calque_tele).scrollHeight + '\n';
	ret += ' scrollTop = ' + document.getElementById(nom_calque_tele).scrollTop + '\n';
	ret += ' offsetHeight = ' + document.getElementById(nom_calque_tele).offsetHeight + '\n';
	alert(ret);
}



function affiche_fleche(nom_calque_tele){
	if(document.getElementById(nom_calque_tele)){
		rien = true;
		if(document.getElementById(nom_calque_tele).scrollTop == 0){
			document.getElementById('fleche_u').style.visibility = 'hidden';
		}else{
			document.getElementById('fleche_u').style.visibility = 'visible';
			rien = false;
		}
		
		if(document.getElementById(nom_calque_tele).scrollHeight <= document.getElementById(nom_calque_tele).scrollTop + document.getElementById(nom_calque_tele).offsetHeight || document.getElementById(nom_calque_tele).scrollHeight <= document.getElementById(nom_calque_tele).offsetHeight){
			document.getElementById('fleche_b').style.visibility = 'hidden';
		}else{
			document.getElementById('fleche_b').style.visibility = 'visible';
			rien = false;
		}
		if(rien){
			if(document.getElementById('fleche_support')){
				document.getElementById('fleche_support').style.visibility = 'hidden';
			}
		}else{
			if(document.getElementById('fleche_support')){
				document.getElementById('fleche_support').style.visibility = 'visible';
			}
		}
	}else{
		if(document.getElementById('fleche_support')){
			document.getElementById('fleche_support').style.visibility = 'hidden';
		}
		document.getElementById('fleche_b').style.visibility = 'hidden';
		document.getElementById('fleche_u').style.visibility = 'hidden';
	}
}





/*pour la roulette */

	/** This is high-level function.
 * It must react to delta being more/less than zero.
 */


function handle(delta) {
        if (delta < 0){
			descend_roulette('contenu', true)
        }else{
			descend_roulette('contenu', false)
		}
}


/** Event handler for mouse wheel event.
 */
function wheel(event){
        var delta = 0;
        if (!event) /* For IE. */
                event = window.event;
        if (event.wheelDelta) { /* IE/Opera. */
                delta = event.wheelDelta/120;
                /** In Opera 9, delta differs in sign as compared to IE.
                 */
                if (window.opera)
                        delta = -delta;
        } else if (event.detail) { /** Mozilla case. */
                /** In Mozilla, sign of delta is different than in IE.
                 * Also, delta is multiple of 3.
                 */
                delta = -event.detail/3;
        }
        /** If delta is nonzero, handle it.
         * Basically, delta is now positive if wheel was scrolled up,
         * and negative, if wheel was scrolled down.
         */
        if (delta)
                handle(delta);
        /** Prevent default actions caused by mouse wheel.
         * That might be ugly, but we handle scrolls somehow
         * anyway, so don't bother here..
         */
        if (event.preventDefault)
                event.preventDefault();
	event.returnValue = false;
}

/** Initialization code. 
 * If you use your own event management code, change it as required.
 */
if (window.addEventListener)
        /** DOMMouseScroll is for mozilla. */
        window.addEventListener('DOMMouseScroll', wheel, false);
/** IE/Opera. */
window.onmousewheel = document.onmousewheel = wheel;