// var steps = 45;
var steps = 1;
var step_delay = 20;

function print_debug (str)
{
	// Assumes existance of object named debug
	var ele = document.getElementById ("debug");
	ele.innerHTML = ele.innerHTML + " " + str;
}

function fade_in (obj_id)
{
	var ele;

	if (ele = document.getElementById (obj_id))
	{
		
		ele.style.opacity = 0.0;
		ele.style.filter = 'alpha(opacity=' + 0 + ')';
		ele.style.visibility = "visible";
					
		fade_to (obj_id, steps, 100);
	}
}


function fade_out (obj_id)
{
	var ele;

	if (ele = document.getElementById (obj_id))
	{
		ele.style.opacity = 1.0;
		ele.style.filter = 'alpha(opacity=' + 100 + ')';
		ele.style.visibility = "visible";
					
		fade_to (obj_id, steps, 0);
	}
}

function fade_to (obj_id, steps, fade_target)
{
	var ele;
	
	if (ele = document.getElementById (obj_id))
	{	
		if (steps == 0)
		{
			if (fade_target == 0)
			{
				ele.style.visibility="hidden";
			}
			return;
		}
		var cur_opacity = parseInt (ele.style.opacity * 100);
		var delta = fade_target - cur_opacity;
		var step_opacity = delta/steps;

		ele.style.opacity = (cur_opacity + step_opacity)/100;
		ele.style.filter = 'alpha(opacity=' + (cur_opacity + step_opacity) + ')';
		
		setTimeout ("fade_to('" + obj_id + "', " + (steps -1) + ", " + fade_target + ");", step_delay);
	}

}

