function toggleCart(ev)
{
	var cartDetail = document.getElementById('cart_detail');
	var links = document.getElementById('top_shopping_cart').getElementsByTagName('a');
	
	for(var i = 0; i < links.length; i++)
	{
		if(classExists(links[i], 'button'))
		{
			if(cartDetail.style.display != 'block')
			{
				addClass(links[i], 'active');
			}
			else
			{
				removeClass(links[i], 'active');
			}
		}
	}
	if(cartDetail.style.display != 'block')
	{
		cartDetail.style.display = 'block';
	}
	else
	{
		cartDetail.style.display = 'none';
	}
}

function init()
{
	var cart = document.getElementById('top_shopping_cart');
	
	if(document.addEventListener && cart)
	{
		cart.addEventListener('mouseover', toggleCart, false);
		cart.addEventListener('mouseout', toggleCart, false);
	}
	if(document.attachEvent && cart)
	{
		cart.attachEvent('onmouseover', toggleCart);
		cart.attachEvent('onmouseout', toggleCart);
	}
}

if(document.addEventListener)
{
	window.addEventListener('load', init, false);
}
if(document.attachEvent)
{
	window.attachEvent('onload', init);
}

function addClass(element, classToAdd)
{
	if(classExists(element, classToAdd))
	{
		return false;
	}
	element.className += ' ' + classToAdd;
}

function classExists(element, classToCheck)
{
	var classes = element.className.split(' ');
	for(i = 0; i < classes.length; i++)
	{
		if(classes[i] == classToCheck)
		{
			return true;
		}
	}
	return false;
}

function removeClass(element, classToRemove)
{
	var classes = element.className.split(' ');
	var newClassString = '';
	var firstClass = true;
	for(i = 0; i < classes.length; i++)
	{
		if(classes[i] == classToRemove)
		{
			continue;
		}
		if(firstClass)
		{
			firstClass = false;
		}
		else
		{
			newClassString += ' ';
		}
		newClassString += classes[i];
	}
	element.className = newClassString;
}