//*******************************************************************************************
// Fading div stuff
//*******************************************************************************************
vanishingCancel = new Array();
index_step = 2;

function reappearingDiv(divID)
{
	if( isNaN(vanishingCancel[divID]) )
		vanishingCancel[divID] = -1;

	vanishingCancel[divID]++;

	var timeout = 0;
	var fadetime = 50;

	if( document.getElementById(divID).style.display == 'none')
		setOpacity(0, divID); // First make sure that its faded
	
	document.getElementById(divID).style.display="block"; // display the element

	setTimeout("showDiv('" + divID + "', " + fadetime + ")", timeout);
}

function vanishingDiv(divID)
{
	var timeout = 500; // wait to fade
	var fadetime = 250; // fade over time

	setTimeout("hideDiv('" + divID + "', " + fadetime + ")", timeout);
}

function hideDiv(divID, milli)
{
	vanishingCancel[divID]--;

	if( document.getElementById(divID).style.opacity < 1 )
	{
		return;
	}

	if( vanishingCancel[divID] >= 0 )
	{
		return;
	}

	var timer = 0;
	var speed = Math.round(milli / 100);

	for( index = 100; index >= 0; index -= index_step )
	{
		setTimeout( "setOpacity(" + index + ", '" + divID + "')", (timer * speed) );
		timer++;
	}
	
	setTimeout( "clearDiv('" + divID + "')", milli);
}

function showDiv(divID, milli)
{
	var timer = 0;
	var speed = Math.round(milli / 100);

	index = document.getElementById(divID).style.opacity * 100;

	for( index; index <= 100; index += index_step )
	{
		setTimeout( "setOpacity(" + index + ", '" + divID + "')", (timer * speed) );
		timer++;
	}
}

function clearDiv(divID)
{
	if( vanishingCancel[divID] == -1 )
		document.getElementById(divID).style.display='none';
}

function setOpacity(opacity, id)
{
	var element = document.getElementById(id).style;
	
	element.opacity = (opacity / 100);	// Official CSS Method
	element.MozOpacity = (opacity / 100);	// What actually works for Mozzila / Firefox
	element.filter = "alpha(opacity=" + opacity + ")"; // What actually works for MSIE
	element.KhtmlOpacity = (opacity / 100); // What actually works in Safari
}

function hoveringDiv(divID)
{
	vanishingCancel[divID]++;
}

function leftDiv(divID)
{
	vanishingDiv(divID);
}
//*******************************************************************************************
// End of fading div stuff
//*******************************************************************************************

