/* yep, IE doesn't have getElementsByClassName 
 * TODO: move this getElementByClassName() into some util.js file */
 
onload=function(){
	if (document.getElementsByClassName == undefined) {
		document.getElementsByClassName = function(className)
		{
			var hasClassName = new RegExp("(?:^|\\s)" + className + "(?:$|\\s)");
			var allElements = document.getElementsByTagName("*");
			var results = [];

			var element;
			for (var i = 0; (element = allElements[i]) != null; i++) {
				var elementClass = element.className;
				if (elementClass && elementClass.indexOf(className) != -1 && hasClassName.test(elementClass))
					results.push(element);
			}

			return results;
		}
	}
}

var ShoppingCart = {};

ShoppingCart.baseURL = null;

ShoppingCart.cartBusy = function ()
	{
		document.getElementById('shoppingcart_summary').innerHTML='<img src=images/misc/floatbox/loading_white_small.gif>';
	}

ShoppingCart.getAddButton = function(type, assetID)
	{
		return document.getElementById('shoppingcart_add_'+type+'_'+assetID);
	}

ShoppingCart.remFromCart = function(type, assetID)
	{
		this.cartBusy();
		ajaxRequest(this.baseURL+'/rem/'+type+'/'+assetID, 'shoppingcart_summary');
		elem = this.getAddButton(type,assetID);
		if (elem!=null)
			elem.style.display='block';
	}

ShoppingCart.addToCart = function(type, assetID)
	{
		this.cartBusy();
		ajaxRequest(this.baseURL+'/add/'+type+'/'+assetID, 'shoppingcart_summary');
		elem = this.getAddButton(type,assetID);
		if (elem!=null)
			elem.style.display='none';
	}
	
ShoppingCart.clear = function()
	{
		this.cartBusy();
		ajaxRequest(this.baseURL+'/clear','shoppingcart_summary');
		showButtons = document.getElementsByClassName('shoppingcart_add');
		
		for(i=0; i<showButtons.length; i++ )
		{
			showButtons[i].style.display='block';
		}
	}

