var sb_alpha;
var sb_remanence;
var sb_intervale;
var sb_pas;
var sb_element;

/*
 * déclenche l'affichage et la disparition lente d'un element
 * element : element de la page
 * msg : le innerHTML de l'element
 * intervale : l'intervale entre chaque modification d'alpha (0.1 secondes par defaut)
 * remanence : le nombre d'intervales pendant lequel l'element reste 100% visible (40 par defaut, donc 4 secondes par defaut)
 * pas : la variation d'alpha à appliquer à chaque intervale (10 par defaut) 
 */
function smoothPrint(element, msg, intervale, remanence, pas) {
	sb_alpha = 0;
	if ( remanence ) {
		sb_remanence = remanence;
	} else {
		sb_remanence = 40;
	}
	if (intervale) {
		sb_intervale = intervale;
	} else {
		sb_intervale = 0.1;
	}
	if (pas) {
		sb_pas = pas;
	} else {
		sb_pas = 10;
	}
	sb_element = element;
	if (msg) {
		if (msg != "") {
			sb_element.innerHTML = msg;
		} else {
			sb_element.innerHTML = "&#160;";
		}
	}
	smoothTimer();
}

/*
 * fonction "privée" gerant le timer
 */
function smoothTimer() {
	if ( sb_alpha == 0 && sb_remanence == 0 ) {
		sb_element.style.display = 'none';
	} else if ( sb_alpha == 0 && sb_remanence > 0 ) {
		sb_element.style.display = 'block';
		sb_alpha += sb_pas;
		setAlpha(sb_element, sb_alpha);
		setTimeout("smoothTimer()",1000*sb_intervale);
	} else if ( sb_alpha < 100 && sb_remanence > 0 ) {
		sb_alpha += sb_pas;
		setAlpha(sb_element, sb_alpha);
		setTimeout("smoothTimer()",1000*sb_intervale);
	} else if ( sb_alpha <= 100 && sb_remanence == 0 ) {
		sb_alpha -= sb_pas;
		setAlpha(sb_element, sb_alpha);
		setTimeout("smoothTimer()",1000*sb_intervale);
	} else if (sb_alpha == 100 ) {
		sb_remanence --;
		setTimeout("smoothTimer()",1000*sb_intervale);
	}
}

/*
 * modifie le alpha d'un element
 * alpha est une valeur entre 0 et 100
 */
function setAlpha(element,alpha) {
	element.style.opacity = alpha / 100;
	if (document.body.filters != undefined) {
		// pour IE
		element.style.filter = 'alpha(opacity:' + alpha + ')';
	}
}
