function removeItemFromTrolley(pageURL, index, itemId)
{
	var url = getBaseURL() + pageURL + "/remove-item-from-trolley/" + index + "/?ajax=true";
	var callbackArgs = new Array();
	callbackArgs['index'] = index;
	callbackArgs['url'] = getBaseURL() + pageURL + "/get-trolley-summary/";
	if(itemId)
	{
		callbackArgs['productUnitId'] = itemId;
	}

	var ajax = new AJAX(showRemoveItemFromTrolley, callbackArgs);	
	ajax.setResponseFormat("JSON");
	ajax.request(url);
	return false;
}


function showRemoveItemFromTrolley(args)
{
	hideRemoveItemPopup('removeItemPopup_' + args['index']);

	var response = JSON.parse(args['response']);
	if(response && response['success'] == true)
	{
		$('#trolleyItem_' + args['index']).slideUp();
		$('#itemsTotalDollars').html(response['itemsTotalDollars']);
		$('#itemsTotalCents').html('.' + response['itemsTotalCents']);

		$('#itemsMinimumMonthlyDollars').html(response['minimumMonthlySpendDollars']);
		$('#itemsMinimumMonthlyCents').html('.' + response['minimumMonthlySpendCents']);
		updateTrolleySummary(args['url']);
	}
}


function updateTrolleyItem(pageURL, index)
{
	var url = getBaseURL() + pageURL + "/update-item-in-trolley/" + index + "/?ajax=true";

	var callbackArgs = new Array();
	callbackArgs['index'] = index;
	callbackArgs['url'] = getBaseURL() + pageURL + "/get-trolley-summary/";

	var quantity = document.getElementById("quantity_" + index);
	if(quantity)
	{
		url += "&quantity=" + quantity.value;
	}

	var ajax = new AJAX(showUpdateTrolleyItem, callbackArgs);	
	ajax.setResponseFormat("JSON");
	ajax.request(url);
	return false;
}


function showUpdateTrolleyItem(args)
{
	var response = JSON.parse(args['response']);
	if(response && response['updated'] == true)
	{
		$('#itemTotal_' + args['index']).html('<sup>$</sup><span>' + 
			response['itemTotalDollars'] + 
			'</span><sup><span>.' + response['itemTotalCents'] + '</span></sup>');

		$('#itemMinimumMonthlySpend_' + args['index']).html('<sup>$</sup><span>' + 
			response['itemMinimumMonthlySpendDollars'] + 
			'</span><sup><span>.' + response['itemMinimumMonthlySpendCents'] + '</span></sup>');

		$('#itemMonthlyCost_' + args['index']).html('<sup>$</sup><span>' + 
			response['itemMonthlyCostDollars'] + 
			'</span><sup><span>.' + response['itemMonthlyCostCents'] + '</span></sup>');

		$('#itemsTotalDollars').html(response['itemsTotalDollars']);
		$('#itemsTotalCents').html('.' + response['itemsTotalCents']);

		$('#itemsMinimumMonthlyDollars').html(response['minimumMonthlySpendDollars']);
		$('#itemsMinimumMonthlyCents').html('.' + response['minimumMonthlySpendCents']);
		updateTrolleySummary(args['url']);
	}
}


function updateTrolleySummary(url)
{
	asyncRequest(url, updateTrolleySummaryCallback);
}


function updateTrolleySummaryCallback(callbackArgs)
{
	var trolleySummary = JSON.parse(callbackArgs['response']);
	for(var key in trolleySummary)
	{
		var element = document.getElementById("crazyJohnsTrolleySummary" + key.capitalise());
		if(element)
		{
			element.innerHTML = trolleySummary[key]; 
		}
	}
}


String.prototype.capitalise = function() {
	return this.toLowerCase().replace(/\b\S/g, function(x) { 
		return x.toUpperCase(); 
	});
}


function showRemoveItemPopup(id)
{
	var element = document.getElementById(id);
	if(!element)
	{
		return false;
	}
	element.style.visibility = 'visible';
	return false;
}


function hideRemoveItemPopup(id)	
{
	var element = document.getElementById(id);
	if(!element)
	{
		return false;
	}

	element.style.visibility = 'hidden';

	return false;
}


function toggleShoppingCartUnavailablePopup()
{
	var element = document.getElementById('shoppingCartUnavailable');
	if(element)
	{
		if(element.style.visibility == 'visible')
		{
			element.style.visibility = 'hidden';
		}
		else
		{
			element.style.visibility = 'visible';
		}
	}
}


function hideShoppingCartUnavailablePopup()
{
	var element = document.getElementById('shoppingCartUnavailable');
	if(element)
	{
		element.style.visibility = 'hidden';
	}
}
