// JavaScript Document

//Gérées par le script
var msg_to_display = -1;	//ID de l'image actuellement en premier plan
var timer = 0;				//Conteneur du timer
//Paramètres
var intervale = 0.05;		//Quantité de changement d'opacité à chaque variation
var time = 50;				//Intervale temps du timer en millisecondes
var pre = 'msg';			//prefixe des id des images
var seuil_top = 1;			//seuil d'opacité maximal
var seuil_bottom = 0;		//seuil d'opacité minimal

//Initialise l'opacité de toutes les images à seuil_top
function initFade ()
{
	for (i = 0; document.getElementById(pre + i) != null; ++i)
	{
		elem = document.getElementById(pre + i);
		elem.style.opacity = seuil_bottom;
		category = document.getElementById("category" + i);
		category.indice = i;
		category.onmouseover = function() { SetFade(this.indice); };
		category.onmouseout = function() { UnsetAll(); };
	}
}

//Signale une image passant en premier plan
function SetFade(img)
{
	msg_to_display = img;
	if (timer == 0)
		timer = setInterval("Fade()", time);
}

//Signale qu'aucune image n'est en premier plan
function UnsetAll()
{
	msg_to_display = -1;
	if (timer == 0)
		timer = setInterval("Fade()", time);
}

//Eteint le timer
function CancelFade()
{
	if (timer == 0) return;
	clearInterval(timer);
	timer = 0;
}

//Gère le fading en fonction des informations données
function Fade()
{
	var elem;
	var modified = false;
	
	for (i = 0; document.getElementById(pre + i) != null; ++i)
	{
		elem = document.getElementById(pre + i);
		
		iOpacity = elem.style.opacity;
	
		if (i == msg_to_display)
		{
			if (iOpacity < seuil_top)
			{
				iOpacity = iOpacity * 1 + intervale * 1;
				modified = true;
			}
		}
		else
		{
			if (iOpacity > seuil_bottom)
			{
				iOpacity = iOpacity * 1 - intervale * 1;
				modified = true;
			}
		}
		
		elem.style.opacity = iOpacity;
		elem.style.MozOpacity = iOpacity;
		elem.style.KhtmlOpacity = iOpacity;
		elem.style.filter = "alpha(opacity=" + iOpacity * 100 + ")";
	}
	
	if (!modified)
		CancelFade ();

}
