/*
 * @description Fade an element based on opacity.
 * @param strId id of the element to be manipulated.
 * @param strAction the action to take place. i.e. if fading an element, specify 'in' or 'out'.
 * @param intOrigin starting point.
 * @param intDestination stop point.
 * @param intSpeed the timeout interval.
 * @param intIncrement the offset size of each increment.
 * @returns null.
 */
function transitionEffect(strId, strEffect, intOrigin, intDestination, intSpeed, intIncrement)
{
	if (document.getElementById(strId))
	{
		if (intOrigin > intDestination)
		{
			// Decrement value.
			intOrigin -= intIncrement;
			if (intOrigin < intDestination)
			{
				intOrigin = intDestination;
				handleIDStyle(strId, 'display', 'none');
			}
		}
		else
		{
			// Increment value.
			intOrigin += intIncrement;
			handleIDStyle(strId, 'display', 'block');
			if (intOrigin > intDestination) 
			{
				intOrigin = intDestination;
			}
		}
		// Set new effect style.
		handleIDStyle(strId, strEffect, intOrigin);
		// Stop when destination is reached.
		if (intOrigin != intDestination)
		{
			setTimeout('transitionEffect(\'' + strId + '\', \'' + strEffect + '\', ' + intOrigin + ', ' + intDestination + ', ' + intSpeed + ', ' + intIncrement + ')', intSpeed);
		}
	}
}

function toggleTransitionEffect(strId, strEffect, intOrigin, intDestination, intSpeed, intIncrement)
{
	// If the current element's attribute is not set, or
	//alert (handleIDStyle(strId, strEffect) + ' - ' + intOrigin + ' - ' + intDestination); 
	if (handleIDStyle(strId, strEffect) == intDestination)
	{
		var intTempOrigin = intOrigin;
		intOrigin = intDestination;
		intDestination = intTempOrigin;
	}
	transitionEffect(strId, strEffect, intOrigin, intDestination, intSpeed, intIncrement);
}

function dualTransitionEffect(strId1, strId2, strEffect, intOrigin, intDestination, intSpeed, intIncrement, intDelay)
{
	transitionEffect(strId1, strEffect, intDestination, intOrigin, intSpeed, intIncrement);
	setTimeout('transitionEffect(\'' + strId2 + '\', \'' + strEffect + '\', ' + intOrigin + ', ' + intDestination + ', ' + intSpeed + ', ' + intIncrement + ')', intDelay);
}






















