function setAlpha(a, id)
{
	var elem = document.getElementById(id);
	elem.style.filter = "alpha(opacity=" + a * 100 + ")"; //IE < 5.5
	elem.style.filter = "progid:DXImageTransform.Microsoft.alpha(enabled=1,opacity=" + a * 100 + ")"; //IE
	elem.style.KhtmlOpacity = a; //Konqueror, Safari<1,2
	elem.style.MozOpacity = a; //ancien Fx
	elem.style.opacity = a; // normal
}

var max_width = 900; //taille de la barre défilante
var inc_alpha = 5;
var margin_alpha = 30;
var inc_x = 2;
var inc_a = 0.05;
var position = max_width;
var tabdef;
var totalmot;
var tabAlpha;

var zone;
var bd;
var bd_size = 0;
var bd_span_left = new Array();

function load_defil(txt) {

	//chaque mots dans un <span id="defil_x"> pour changer son opacitée...
	//le bloc qui défile: barre_defil
	tabdef = txt.split(' ');
	totalmot = tabdef.length;
	tabAlpha = new Array();
	//génération
	var txtdefil= "";
	for(i=0; i < totalmot; i++)
	{
		txtdefil += "<span id='defil_"+i+"' class='defil_x'>"+tabdef[i]+" </span>";
		tabAlpha[i] = 0;
	}
	zone	= document.getElementById("zone_defil");
	bd	= document.getElementById("barre_defil");
	zone.style.display= "block";
	zone.style.width = max_width+"px";
	bd.innerHTML = txtdefil;
	bd.style.left = max_width+"px";
	
	//bd_size = bd.offsetWidth;
	for(i=0; i < totalmot; i++)
	{
		bd_span_left[i] = bd_size;
		bd_size += document.getElementById("defil_"+i).offsetWidth;
	}
	bd.style.width= bd_size+"px";
}

function reset_alpha()
{
	for(i=0; i < totalmot; i++)
	{
		tabAlpha[i] = 0;
		setAlpha(tabAlpha[i], "defil_"+i);
	}
}

function defil()
{
	position -= inc_x;
	bd.style.left = position+"px";
	
	if(position < 0-bd_size)
	{
		position = max_width;
		reset_alpha();
	}
	
	
	for(i=0; i < totalmot; i++)
	{
		if( (position + bd_span_left[i] < margin_alpha) && tabAlpha[i] > 0)
		{
			// on rend transparent  
			tabAlpha[i] -= inc_a;
			setAlpha(tabAlpha[i], "defil_"+i);
		}
		else if ( (position + bd_span_left[i] < max_width) && tabAlpha[i] < 1 )
		{
			//on opacifie
			tabAlpha[i] += inc_a;
			setAlpha(tabAlpha[i], "defil_"+i);
		}
	}
	
	setTimeout("defil()", 40);
}