var timeOut;
var timeOutActive = 0;

function fadeOpacity(idName, fromOpacity, toOpacity, time, fps)
{
	if(timeOutActive) 
	{
		timeOutActive = 0;
		clearTimeout(timeOut);
		setOpacity(idName, toOpacity);
		return true;
	}

	if (time == null) time = 2000;
	if (fps == null) fps = 10;

	var steps = Math.ceil(fps * (time / 1000));
	var delta = (toOpacity - fromOpacity) / steps;
	var timePerStep = time / steps;

	timeOutActive = 1;

	for (var counter=0; counter<=steps; counter++)
	{
		var opacity = Math.round(parseInt(fromOpacity) + (delta * counter));
		timeOut = setTimeout("setOpacity('" + idName + "', " + opacity + ")", counter*timePerStep);
	}
	timeOut = setTimeout("timeOutActive = 0", counter*timePerStep);
}
function setOpacity(idName, value)
{
	if(timeOutActive) 
	{
		timeOutActive = 0;
		clearTimeout(timeOut);
		setOpacity(idName, value);
		return true;
	}
	var myObject;
	myObject = document.getElementById(idName);
	if (myObject)
	{
		myObject.style.filter = 'alpha(opacity=' + value + ')';
		myObject.style.opacity = ( value / 100 );
		myObject.style.MozOpacity = ( value / 100 );
		myObject.style.KhtmlOpacity = ( value / 100 );
	}
}

