
var fader;

function setOpacity(id, opacity) { 
	var object = document.getElementById(id).style; 
	object.Opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}

function getOpacity(id) {
	var object = document.getElementById(id).style; 
	
	if(object.opacity) 
		return (object.opacity * 100);
	
	if(object.filter)
	{
		var opac = object.filter;
		var regOp = opac.match(/\d+/);
		return parseInt(regOp);
	}
	
	return (100);
}

function fade(id,time,fadeTo,direction)
{
	
	if(getOpacity(id) == fadeTo)
	{
		//alert('nix zu tun [fade]');
		return;
	}
	
	var steps = 40 * time;
	var curOpacity = getOpacity(id);
	var rate = curOpacity / steps;
	
	//fadeTo = fadeTo ? fadeTo : 100;
	
	targetId = id;
	targetRate = rate;
	targetTo = fadeTo;
	targetDir = direction;
	
	fader = window.setInterval("doFade(targetId,targetRate,targetTo,targetDir)","40");

}

function doFade(id,rate,fadeTo,direction)
{
	
	if(direction == 'out' && getOpacity(id) <= fadeTo)
	{
		window.clearInterval(fader);
		return;
	}
	
	if(direction == 'in' && getOpacity(id) >= fadeTo)
	{
		window.clearInterval(fader);
		return;
	}
	
	if(direction == 'out')
	{
		opacity = getOpacity(id) - rate;
	}
	else
	{
		opacity = getOpacity(id) + rate;
	}
	
	setOpacity(id,opacity);
}


