function _animationFluide(selecteurCSS, proprieteCSS, unite, valDeb, valFin, duree, departDiffere)
{	
	pas = 35; //Pas temporel entre 2 changements
	duree = pas * Math.floor(duree / pas); // Ajustement de la durée si elle n'est pas multiple du pas
	
	// Création d'un évènement toutes les 'pas' millisecondes 
	vPrec = 0;
	for (t=0; t<=duree; t+=pas)
	{
		rapport = (t*1.0) / (duree*1.0);		
		p = Math.pow(1 - Math.pow(rapport - 1, 2), 0.5);		
		v = p*valFin + (1-p)*valDeb;		
		if (v != vPrec)	setTimeout("modifierProprieteCSS('" + selecteurCSS + "','" + proprieteCSS + "','" + unite + "'," + v + ");", t+departDiffere);		
		vPrec = v;
	}
}

function modifierProprieteCSS(selecteurCSS, proprieteCSS, unite, valeur)
{		
	$(selecteurCSS).css(proprieteCSS, Math.round(valeur) + unite);
}

function _animationFluideGeneralisee(fonction, valDeb, valFin, duree, departDiffere)
{	
	pas = 35; //Pas temporel entre 2 changements
	duree = pas * Math.floor(duree / pas); // Ajustement de la durée si elle n'est pas multiple du pas
	
	// Création d'un évènement toutes les 'pas' millisecondes 
	vPrec = 0;
	for (t=0; t<=duree; t+=pas)
	{
		rapport = (t*1.0) / (duree*1.0);		
		p = Math.pow(1 - Math.pow(rapport - 1, 2), 0.5);		
		v = p*valFin + (1-p)*valDeb;
		
		if (v != vPrec) setTimeout(fonction + "(" + v + ");", t+departDiffere);
		vPrec = v;
	}
}
