function initialize()
{
	var	cart	= document.getElementById("shoppingCartDetails");

	cart.status			= "hidden";
	cart.timer			= null;
	cart.mouseOver		= false;
	cart.style.height	= "";
	cart.maxHeight		= cart.offsetHeight;
	cart.refreshRate	= 10;
	cart.growthRate		= 15;
	cart.shrinkDelay	= 1000;
}
function cartMouseOver()
{
	var	cart	= document.getElementById("shoppingCartDetails");
	
	if(cart.status == "hidden")
	{
		cart.status		= "grow";
		cart.timer		= window.setTimeout("cartRefresh();", cart.refreshRate);
	}
	else if(cart.status == "visible" && cart.mouseOver == false)
	{
		window.clearTimeout(cart.timer);
	}
	else if(cart.status == "shrink")
	{
		cart.status		= "grow";
	}

	cart.mouseOver	= true;
}
function cartRefresh()
{
	var	cart	= document.getElementById("shoppingCartDetails");
	
	if(cart.status == "grow")
	{
		if(cart.style.visibility == "")
		{
			cart.style.height		= "0px";
			cart.style.visibility	= "visible";
		}
		
		var	nextHeight	= Math.min(parseInt(cart.style.height) + cart.growthRate, cart.maxHeight);
		
		cart.style.height	= nextHeight+"px";
		
		if(nextHeight < cart.maxHeight)
		{
			cart.timer	= window.setTimeout("cartRefresh();", cart.refreshRate);
		}
		else
		{
			cart.status	= "visible";
			
			if(!cart.mouseOver)
			{
				cart.timer	= window.setTimeout("cartRefresh();", cart.shrinkDelay);
			}
		}
	}
	else if(cart.status == "visible")
	{
		cart.status	= "shrink";
		cart.timer	= window.setTimeout("cartRefresh();", cart.refreshRate);
	}
	else if(cart.status == "shrink")
	{
		var	nextHeight	= Math.max(parseInt(cart.style.height) - cart.growthRate, 0);
		
		cart.style.height	= nextHeight+"px";
		
		if(nextHeight > 0)
		{
			cart.timer	= window.setTimeout("cartRefresh();", cart.refreshRate);
		}
		else
		{
			cart.status	= "hidden";
			
			cart.style.visibility	= "";
		}
	}
}
function cartMouseOut()
{
	var	cart	= document.getElementById("shoppingCartDetails");
	
	if(cart.status == "visible")
	{
		cart.timer		= window.setTimeout("cartRefresh();", cart.shrinkDelay);
	}

	cart.mouseOver	= false;
}
function toggleLoginPanel()
{
	var	loginPanel	= document.getElementById("loginPanel");
	var	display		= (loginPanel.style.display == "") ? "block" : "";
	
	if(arguments.length == 1)
	{
		/// Override
		display	= arguments[0];
	}
	
	loginPanel.style.display	= display;
}
function toggleProductDescription(id)
{
	var divProductDescription	= document.getElementById(id);
	var	parentNode				= divProductDescription.parentNode;
	
	if(divProductDescription.style.display == "block")
	{
		divProductDescription.style.display = "";
		parentNode.style.zIndex				= "1";
	}
	else
	{
		divProductDescription.style.display = "block";
		parentNode.style.zIndex				= "2";
	}
}
