var alpha_src;
var alpha_dst;
var intervale = 0.1;
var pas = 10;
var src;
var dst;

/*
 * déclenche un effet de transition Alpha entre 2 éléments
 * src : element a faire disparaitre
 * dst : element qui doit apparaitre
 * intervale : l'intervale entre chaque modification d'alpha (0.1 secondes par defaut)
 * pas : la variation d'alpha à appliquer à chaque intervale (10 par defaut) 
 */
function alphaTransitionFx(src, dst, intervale, pas) {
	fxTimer(src, dst, intervale, pas, 100, 0);
}

/*
 * fonction "privée" gerant le timer
 */
function fxTimer(src, dst, intervale, pas, alpha_src, alpha_dst) {
	if (alpha_dst <= 100) {
		setAlpha(src, alpha_src);
		setAlpha(dst, alpha_dst); 

		if ( alpha_dst == 0) {
			dst.style.display = 'block';
		}

		/*if ( alpha_src == 0) {	
			src.style.display = 'none';	
		}*/

		alpha_src -= pas;
		alpha_dst += pas;	
		setTimeout(function() {fxTimer(src, dst, intervale, pas, alpha_src, alpha_dst)},1000*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 + ')';
	}
}
