function addItemToTrolley(pageURL, id, multiple)
{
	showLightboxOverlay();

	var url = getBaseURL() + pageURL + "/";

	var ajax = new AJAX(showAddItemToTrolley);
	var payload = "ajax=true";

	var quantityElement = document.getElementById("quantity_" + id);
	var quantity = 0;

	if(quantityElement)
	{
		quantity = quantityElement.value;
	}

	var unitElement = null;

	if(multiple != null)
	{
		unitElement = document.getElementById("unit_" + id);
	}

	var unit = 0;

	if(unitElement)
	{
		unit = unitElement.value;
	}

	var message = null;
	if(!multiple && (quantity == 0))
	{
		message = "Please select a quantity";
	} 
	else if(multiple)
	{
		if((quantity == 0) && (unit == 0)) {
			message = "Please select a quantity and size";
		} else if (quantity == 0) {
			message = "Please select a quantity";
		} else if (unit == 0 || unit == "Sizes") {
			message = "Please select a size";
		}
	}

	if(message)
	{
		displayError(message);
		return false;
	}

	payload  += "&quantity=" + quantity;
	if(multiple != null)
	{
		payload  += "&unitID=" + unit;
	}
	ajax.setMethod("POST");
	ajax.setPayload(payload);
	ajax.request(url);

	return false;
}

function showAddItemToTrolley(args)
{
	var rootElement = XMLUtils.prototype.getRootElement(args['response'], "trolleyMessage");
	if(rootElement)
	{
		var status = XMLUtils.prototype.getElementValue(rootElement, "status");
		if(status == "true")
		{
			var div = showDialog();

			var message = XMLUtils.prototype.getElementValue(rootElement, "message");
			var responseMessage = '';
			
			responseMessage += '<div id="popupDivNarrow">';
			responseMessage += '<div class="shortMessage">' + message + '</div>';
			responseMessage += '<div class="popupButtons">';
			responseMessage += '<a class="popupButton" href="#" onclick="return closeAddItemToTrolley(this);">continue shopping</a>';
			responseMessage += '<a class="popupButton" href="' + getBaseURL() + 'shop/trolley/">checkout</a>';
			responseMessage += '</div></div>';

			div.innerHTML = responseMessage;
		}
		else
		{
			var message = XMLUtils.prototype.getElementValue(rootElement, "message");
			if(message)
			{
				displayError(message);
			}
			else
			{
				displayError("This product wasn't added to your cart" + message);
			}
		}
	} 
	else 
	{
		displayError("This product wasn't added to your cart");
	}

	updateTrolleySummary("trolleySummaryItems");
}


function displayError(message)
{
	var div = showDialog();

	var responseMessage = '';
			
	responseMessage += '<div id="popupDivNarrow">';
	responseMessage += '<div class="shortMessage">' + message + '</div>';
	responseMessage += '<div class="popupButtons">';
	responseMessage += '<a class="popupButton" href="#" onclick="return closeAddItemToTrolley(this);">return to shop</a>';
	responseMessage += '</div></div>';

	div.innerHTML = responseMessage;
}


function closeAddItemToTrolley()
{
	var popup = document.getElementById("popupWrapper");
	if(popup)
	{
		popup.parentNode.removeChild(popup);
	}
	hideLightboxOverlay();
}


function showDialog()
{
	var div = document.getElementById("popupWrapper");
	if(!div)
	{
		div = document.createElement("DIV");
		div.id="popupWrapper";
		document.body.appendChild(div);
	}

	return div;
}



function updateTrolleySummary(itemsID)
{
	var url = getBaseURL() + "shop/get-trolley-summary/";

	var sjax = new SJAX();
	sjax.setResponseFormat("JSON");

	var response = JSON.parse(sjax.request(url), null);

	if(response)
	{
		var numberOfItems = document.getElementById(itemsID);

		if(numberOfItems)
		{
			numberOfItems.innerHTML = response['numberOfItems'] + " item";
			if(response['numberOfItems'] != 1)
			{
				numberOfItems.innerHTML += "s";
			}
		}
	}
}
