<!--

// calcule la valeur interpolée selon un ratio
function _animation_interpolatedValueFromRatio(minValue,maxValue,ratio,method)
{
	var pi = 3.141592653589;

	var multiplier = ratio;
	var delta = maxValue - minValue;
	
	if(delta==0) return minValue;
	
	var value = 0;

	if(step==0)
	{
		return minValue;
	}
	else if(ratio==1)
	{
		return maxValue;
	}

	if(method=='linear')
	{
		var value = minValue + (delta*multiplier);		
	}
	else if(method=='smooth')
	{
		var x = _animation_interpolatedValueFromRatio(-pi,0,ratio,'linear');
		var smoothMultiplier = (Math.cos(x)+1) / 2;
		
		var value = minValue + (delta*smoothMultiplier);
	}
	
	return value;
}

// calcule la valeur interpolée entre 2 points
function _animation_interpolatedValue(minValue,maxValue,step,nSteps,method)
{
	var pi = 3.141592653589;

	var multiplier = step/nSteps;
	var delta = maxValue - minValue;
	
	if(delta==0) return minValue;
	
	var value = 0;

	if(step==0)
	{
		return minValue;
	}
	else if(step==nSteps)
	{
		return maxValue;
	}



	if(method=='linear')
	{
		var value = minValue + (delta*multiplier);
		
		//alert('maxValue='+maxValue+' minValue='+minValue+' delta='+delta+' multiplier='+multiplier);		
	}
	else if(method=='smooth')
	{
		var x = _animation_interpolatedValue(-pi,0,step,nSteps,'linear');
		var smoothMultiplier = (Math.cos(x)+1) / 2;
		
		var value = minValue + (delta*smoothMultiplier);
	}
	
	return value;
}


//-->
