// JavaScript Document

function hideAll()
{
	var subNavCount = 6;
	var cntr=0;
	for (cntr = 1; cntr <= subNavCount; cntr++)
	{
		var element = document.getElementById('subNav'+cntr);
		if (element != null)
		{
			element.style.visibility = 'hidden';
		}
	}
	// Also hide the infoNav panel if it's around.
	var infoNav = document.getElementById('infoNav');
	if (infoNav != null)
	{
		infoNav.style.visibility = 'hidden';
	}
}
function showPanel(id)
{
	var element = document.getElementById(id);
	if (element != null)
	{
		hideAll();
		element.style.visibility = 'visible';
	}
}

var subnav_animateTime = 2000;	// Total time (roughly) to complete animation, in milliseconds
var subnav_animateTicks = 20;	// Number of segments to animate. More makes for a smoother animation but can slow things down significantly.
var subnav_tickDelay = subnav_animateTime / subnav_animateTicks;	// Calculated delay for setTimeout() calls.

function animateNavOpen(id,topOffset,currentTick)
{
	var movementPerTick = topOffset / subnav_animateTicks;	// Amount to adjust top: by for each tick that has passed.
	var animBoundBox = document.getElementById(id);
	var animatingElement = document.getElementById(id+'tray');
	
	if (animBoundBox != null && animatingElement != null)
	{
		if (currentTick == 0)
		{
			animatingElement.style.top = topOffset + 'px';
			animBoundBox.style.visibility = 'visible';
		}
		
		if (currentTick < subnav_animateTicks)
		{
			currentTick = currentTick + 1;
			var currentPosition = topOffset - (movementPerTick * currentTick);
			animatingElement.style.top = currentPosition + 'px';
			setTimeout("animateNavOpen('"+id+"',"+topOffset+","+currentTick+")", subnav_tickDelay);
		}
		else
		{
			animatingElement.style.top = 0 + 'px';
		}
	}
}

