
// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

var globalIds = new Array();

var revealInterval = 50;

var timeouts = new Array();

// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

function setOpacity(elem,opacity)
{
	opacity = Math.max(opacity,0.0);
	opacity = Math.min(opacity,1.0);

	elem.style.opacity = opacity;
	elem.style.filter = 'alpha(opacity=' + (100*opacity) + ')';
}

// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

function revealMore(globalId, interval)
{
	var elems = globalIds[globalId];

	var finished = true;

	for (i = 0; i < elems.length; i++)
	{
		elem = elems[i];

		elem.vbrlOpacity += 0.1;

		if (elem.vbrlOpacity < 1.0)
		{
			finished = false;
		}

		setOpacity(elem,elem.vbrlOpacity);
	}

	if (!finished)
	{
		timeouts.push(setTimeout( 'revealMore(' + globalId + ',' + interval + ')', interval));
	}
}

// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

function hideMore(globalId, interval, finishCallback)
{
	var elems = globalIds[globalId];

	var finished = true;

	var minOpacity = 0.1;

	for (i = 0; i < elems.length; i++)
	{
		elem = elems[i];

		elem.vbrlOpacity -= 0.1;
		elem.vbrlOpacity = Math.max(elem.vbrlOpacity,minOpacity);

		if (elem.vbrlOpacity > minOpacity)
		{
			finished = false;
		}
		

//		setOpacity(elem,Math.max(elem.vbrlOpacity,0.1));
		setOpacity(elem,elem.vbrlOpacity);
	}

	if (!finished)
	{
		timeouts.push(setTimeout('hideMore(' + globalId + ',' + interval + ',"' + finishCallback + '")', interval));
	}
	else
	{
		if (finishCallback != undefined)
		{
			eval(finishCallback);
		}		
	}
}

// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

function revealAll(elems)
{
	if (elems == undefined)
	{
		return;
	}

	// ---

	for (i = 0; i < elems.length; i++)
	{
		elem = elems[i];
		setOpacity(elem,1.0);
	}
}

// -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

function disableReveal()
{
	for (i = 0; i < timeouts.length; i++)
	{
		clearTimeout(timeouts[i]);
	}

	timeouts = new Array();
}

// --------------------------------------------------------------------------------------------------------------------------------------------------------------------


