function cart_dialog_resetText() {
	document.getElementById('cartDialogContentText').innerHTML = '<img src="/themes/standard/images/async_progress.gif" alt="Asynchronous Progress" />';
}

function cart_add(itemId) {
	itemQuantity = document.getElementById('item'+itemId+'Qty').value;
	document.getElementById('cartDialogContentHeader').innerHTML = '<b>Adding Item to Cart...</b>';
	document.getElementById('cartDialogOverlay').style.display = 'block';
	url = '/ajax/cartAdd.php?p='+itemId+'&q='+itemQuantity;
	setTimeout('xmlHTTPGet_xml(\''+url+'\', \'cart_add_responseHandler\')',500);
}

function cart_add_responseHandler(responseXml) {
	xmlDoc = responseXml.documentElement;

	result = xmlDoc.getElementsByTagName('result')[0].childNodes[0].nodeValue;

	if(result == 'true') {
		itemName = xmlDoc.getElementsByTagName('name')[0].childNodes[0].nodeValue;
		itemQty  = +xmlDoc.getElementsByTagName('quantity')[0].childNodes[0].nodeValue;

		if(itemQty > 1) plural = 's';
		else plural = '';

		document.getElementById('cartDialogContentText').innerHTML = itemQty+' '+itemName+plural+' added to cart.';
	} else {
		document.getElementById('cartDialogContentText').innerHTML = 'Failed to Add Item';
		errorString = xmlDoc.getElementsByTagName('error')[0].childNodes[0].nodeValue;
		alert(errorString);
	}

	document.getElementById('cartStatus').innerHTML = xmlDoc.getElementsByTagName('cartHtml')[0].childNodes[0].nodeValue;

	setTimeout(function(){document.getElementById('cartDialogOverlay').style.display='none';cart_dialog_resetText();}, 1000);
}

function cart_empty() {
	if(confirm('Are you sure you want to empty your cart?')) {
		document.getElementById('cartDialogContentHeader').innerHTML = '<b>Emptying Your Cart...</b>';
		document.getElementById('cartDialogOverlay').style.display = 'block';
		url = '/ajax/cartEmpty.php';
		setTimeout('xmlHTTPGet_xml(\''+url+'\', \'cart_empty_responseHandler\')',300);
	}
}

function cart_empty_responseHandler(responseXml) {
	xmlDoc   = responseXml.documentElement;

	result   = xmlDoc.getElementsByTagName('result')[0].childNodes[0].nodeValue;
	cartHtml = document.getElementById('cartStatus').innerHTML = xmlDoc.getElementsByTagName('cartHtml')[0].childNodes[0].nodeValue;

	if(result == 'true') dialogText = 'Your cart has been emptied.';
	else dialogText = 'An error occurred.';

	document.getElementById('cartDialogContentText').innerHTML = dialogText;

	document.getElementById('cartStatus').innerHTML = xmlDoc.getElementsByTagName('cartHtml')[0].childNodes[0].nodeValue;
	document.getElementById('cartDetail').innerHTML = xmlDoc.getElementsByTagName('cartDetailHtml')[0].childNodes[0].nodeValue;

	setTimeout(function(){document.getElementById('cartDialogOverlay').style.display='none';cart_dialog_resetText();}, 1000);
}

function cart_quantity_update(productId, quantity) {
	if(!quantity) quantity = document.getElementById(productId+'Qty').value;

	document.getElementById('cartDialogContentHeader').innerHTML = '<b>Updating Quantity...</b>';
	document.getElementById('cartDialogOverlay').style.display = 'block';
	url = '/ajax/cartQuantityChange.php?p='+productId+'&q='+quantity;
	setTimeout('xmlHTTPGet_xml(\''+url+'\', \'cart_quantity_update_responseHandler\')',500);
}

function cart_quantity_update_responseHandler(responseXml) {
	xmlDoc = responseXml.documentElement;

	result = xmlDoc.getElementsByTagName('result')[0].childNodes[0].nodeValue;

	if(result == 'true') {
		newQuantity = xmlDoc.getElementsByTagName('quantity')[0].childNodes[0].nodeValue;

		if(newQuantity == 0) message = 'Item removed from cart';
		else message = 'Quantity changed to '+newQuantity+'.';

		document.getElementById('cartDialogContentText').innerHTML = message;

		document.getElementById('cartStatus').innerHTML = xmlDoc.getElementsByTagName('cartHtml')[0].childNodes[0].nodeValue;
	} else {
		document.getElementById('cartDialogContentText').innerHTML = 'Failed to Change Quantity';
		errorString = xmlDoc.getElementsByTagName('error')[0].childNodes[0].nodeValue;
	}

	document.getElementById('cartDetail').innerHTML = xmlDoc.getElementsByTagName('cartDetailHtml')[0].childNodes[0].nodeValue;

	setTimeout(function(){document.getElementById('cartDialogOverlay').style.display='none';cart_dialog_resetText();}, 1000);
}