
//--------------------------------------------------------------------------------------------------
//  Référence : http://www.javascriptfr.com/codes/FONDU-ENCHAINER-ENTRE-PLUSIEURS-IMAGES_38868.aspx
//--------------------------------------------------------------------------------------------------

var incr_opacite = 0.02 ;  // avancement de l'opacité (50 pas: de 0 à 1)
var temps_fade   = 50 ;    // temps entre chaque changement d'opacité (ms) 50 pas => 50*50=2500ms
var temps_pause  = 3000 ;  // temps d'attente entre 2 changements d'images (ms)

// pas touche
var indice    = 0 ;
var imgDiapo  = null ;
var lienDiapo = null ;
var opacite   = 0.0 ;

var isIE = navigator.userAgent.toLowerCase().indexOf('msie')!=-1 ;
//var isIE    = false;
//if (document.all) isIE = true;

var tabImg  = new Array(); // tableau d'images (pour le préchargement)
var tabHref = new Array(); // tableau contenant les liens

function run_diapo(idDiapo, idLien)
{
	if (idDiapo) imgDiapo  = document.getElementById(idDiapo);
	if (idLien)  lienDiapo = document.getElementById(idLien);
  fade_out();   // Renseigner l'image si 1er run_diapo; changer d'image après stop_diapo
}

function stop_diapo()
{
	window.clearTimeout(timer);
	opacite = 1.0;
  (isIE) ? imgDiapo.filters.alpha.opacity = 100 : imgDiapo.style.MozOpacity = 1.0;
}

function fade_in()
{
	opacite += incr_opacite;

// Fin fade_in => laisser l'image
	if (opacite > 1.0) {
   	opacite = 1.0;
    (isIE) ? imgDiapo.filters.alpha.opacity = 100 : imgDiapo.style.MozOpacity = 1.0;
   	timer = window.setTimeout("fade_out()",temps_pause) ; // Après le délai d'affichage: fade out
   	return ;
  }

//bug// Si pas de ';' ci-dessous, la ligne suivante n'est pas exécutée sous IE !!!
// Maj opacité ;
  (isIE) ? imgDiapo.filters.alpha.opacity = opacite*100 : imgDiapo.style.MozOpacity = opacite;
 	timer = window.setTimeout("fade_in()",temps_fade) ; // fade in
// 	if (isIE) window.status= "alpha.opacity=" + imgDiapo.filters.alpha.opacity + " > " + parseInt(opacite*100);
}

function fade_out()
{
	opacite -= incr_opacite;

// Fin fade_out => changt d'image
	if (opacite < 0.0) {
   	opacite = 0.0;
    (isIE) ? imgDiapo.filters.alpha.opacity = 0 : imgDiapo.style.MozOpacity = 0.0;

    indice = Math.ceil( Math.random() * tabImg.length ) - 1;  // Choix au hasard
    imgDiapo.src = tabImg[indice].src;
    if (lienDiapo) lienDiapo.href = tabHref[indice];

		fade_in();
		return ;
  }

//bug// Si pas de ';' ci-dessous, la ligne suivante n'est pas exécutée sous IE !!!
// Maj opacité ;
  (isIE) ? imgDiapo.filters.alpha.opacity = opacite*100 : imgDiapo.style.MozOpacity = opacite;
 	timer = window.setTimeout("fade_out()",temps_fade) ; // fade out
// 	if (isIE) window.status= "alpha.opacity=" + imgDiapo.filters.alpha.opacity + " < " + parseInt(opacite*100);
}

