
function ajaxAddToCart(itemType, itemSerial) {
	var ajaxRequest = new Ajax.Request	(
											'/ajax/add_to_cart.php?type='+itemType+'&serial='+itemSerial,
											{
												onSuccess: function(transport) {
													//alert(transport.responseText);
												}
											}
										);
	return false;
}

function animateAddToCart(itemImageId, itemType, itemSerial) {
	var ajaxRequest = new Ajax.Request	(
											'/ajax/add_to_cart.php?type='+itemType+'&serial='+itemSerial,
											{
												onFailure: function(transport) {
													//alert(transport.responseText);
												},
												onSuccess: function(transport) {
													//alert(transport.responseText);
													var xmlDoc = transport.responseXML.documentElement;
													var xmlSuccess = xmlDoc.getElementsByTagName('success')[0];
													//alert(xmlSuccess);
													
													if(xmlSuccess.childNodes[0].nodeValue == 1) {
														var div_Basket = document.getElementById('basket_main_div');
														var bol_DupeItem = false;
														//alert(div_Basket.innerHTML);
														
														if (xmlDoc.getElementsByTagName('alreadyinbasket')) {
															//alert('dupe');
															for (i=0;i<div_Basket.childNodes.length;i++) {
																//alert(div_Basket.childNodes[i].getAttribute('itemtype'));
																//alert(div_Basket.childNodes[i].className);
																if(div_Basket.childNodes[i].getAttribute('itemtype') == xmlDoc.getElementsByTagName('type')[0].childNodes[0].nodeValue) {
																	//alert('itemtype matched');
																	if(div_Basket.childNodes[i].getAttribute('itemid') == xmlDoc.getElementsByTagName('id')[0].childNodes[0].nodeValue) {
																		//alert('itemid matched');
																		bol_DupeItem = true;
																		var div_DupeItem = div_Basket.childNodes[i];
																	}
																}
															}
														}
														
														var theImg1 = document.getElementById(itemImageId);
														var basketImg = document.getElementById('img_MainBasket');
														var int_Img1Left = getRelativePos(theImg1).offsetLeft;
														var int_Img1Top = getRelativePos(theImg1).offsetTop;
														var theImg = theImg1.cloneNode(true);
														theImg.style.position = 'absolute';
														theImg.style.left = int_Img1Left;
														theImg.style.top = int_Img1Top;
														theImg.id = 'tempImage';
														document.body.appendChild(theImg);
														var int_MoveX = getRelativePos(basketImg).offsetLeft - getRelativePos(theImg).offsetLeft;
														var int_MoveY = getRelativePos(basketImg).offsetTop - getRelativePos(theImg).offsetTop;
														theImg.style.zIndex=1;
														Effect.Queue.interval = 0;
														new Effect.Opacity(theImg, { from: 1.0, to: 0.3, duration: 0.001 });
														new Effect.Move(theImg,{x:int_MoveX,y:int_MoveY,duration:0.8,transition: Effect.Transitions.sinoidal});
														//new Effect.Shrink(theImg, {duration:0.8,from:0.2,to:1});
														new Effect.Scale(theImg, 5, {duration:0.8});
														//new Effect.Scale(theImg, 0, {duration:0, queue:'end'});
														new Effect.Fade(theImg, {duration:0, from:0, to:0, queue:'end'});
														
														//setTimeout(theImg.parentElement.removeChild(theImg), 1);
														//alert('x');
														
														//alert(div_Basket.innerHTML);
														
														if (bol_DupeItem == true) {
															new Effect.Highlight(div_DupeItem, {duration:1.5,startcolor: '#ffff99', queue:'end'});
															//new Effect.Shake(div_DupeItem);
														} else {
															//alert('new item');
															
															var div_BasketItem = document.createElement("div");
															var str_ItemType = xmlDoc.getElementsByTagName('type')[0].childNodes[0].nodeValue;
															var int_ItemID = xmlDoc.getElementsByTagName('id')[0].childNodes[0].nodeValue;
															var str_ItemSerial = xmlDoc.getElementsByTagName('serial')[0].childNodes[0].nodeValue;
															
															div_BasketItem.setAttribute('itemtype', str_ItemType);
															div_BasketItem.setAttribute('itemid', int_ItemID);
															div_BasketItem.style.display = 'none';
															try {
																var div_LastItem = div_Basket.lastChild.previousSibling.previousSibling.previousSibling.previousSibling;
																if (div_LastItem.id == 'basket_empty_div') {
																	div_BasketItem.className = 'greyRow';
																} else {
																	if (div_LastItem.className.indexOf('greyRow') > -1) {
																		div_BasketItem.className = 'basketItem tanRow';
																	} else {
																		div_BasketItem.className = 'basketItem greyRow';
																	}
																}
															} catch(err) {
																div_BasketItem.className = 'basketItem greyRow';
															}
															var div_BasketItemRemove = document.createElement('div');
															div_BasketItemRemove.className = 'basketRemove';
															var a_BasketItemRemoveLink = document.createElement('a');
															a_BasketItemRemoveLink.href = 'remove_from_cart.php?type='+str_ItemType+'&serial='+str_ItemSerial;
															a_BasketItemRemoveLink.onclick = function() {
																return animateRemoveFromCart(str_ItemType,str_ItemSerial);
															}
															var img_BasketItemRemoveIcon = document.createElement('img');
															img_BasketItemRemoveIcon.src = '/images/icons/icon_remove_trolley.gif';
															img_BasketItemRemoveIcon.width = 20;
															img_BasketItemRemoveIcon.height = 20;
															img_BasketItemRemoveIcon.alt = 'Remove item';
															img_BasketItemRemoveIcon.title = 'Remove item';
															img_BasketItemRemoveIcon.style.border = '1px solid black';
															
															a_BasketItemRemoveLink.appendChild(img_BasketItemRemoveIcon);
															div_BasketItemRemove.appendChild(a_BasketItemRemoveLink);
															
															div_BasketItem.appendChild(div_BasketItemRemove);
															
															var div_BasketItemLeft = document.createElement('div');
															div_BasketItemLeft.className = 'basketLeft';
															div_BasketItemLeft.appendChild(document.createTextNode(xmlDoc.getElementsByTagName('artistname')[0].childNodes[0].nodeValue));
															div_BasketItemLeft.appendChild(document.createElement('br'));
															div_BasketItemLeft.appendChild(document.createTextNode(xmlDoc.getElementsByTagName('itemname')[0].childNodes[0].nodeValue));
															div_BasketItem.appendChild(div_BasketItemLeft);
															
															var div_BasketItemRight = document.createElement('div');
															div_BasketItemRight.className = 'basketRight';
															div_BasketItemRight.appendChild(document.createTextNode(xmlDoc.getElementsByTagName('pricestring')[0].childNodes[0].nodeValue));
															div_BasketItem.appendChild(div_BasketItemRight);
															
															div_BasketItemClear = document.createElement('div');
															div_BasketItemClear.style.clear = 'both';
															div_BasketItem.appendChild(div_BasketItemClear);
															
															var div_SpacerRow = document.createElement('div');
															div_SpacerRow.style.display = 'none';
															div_SpacerRow.className = 'basketSpacerDiv';
															
															div_BasketTotal = document.getElementById('basket_total_div');
															div_Basket.insertBefore(div_BasketItem, div_BasketTotal);
															div_Basket.insertBefore(div_SpacerRow, div_BasketTotal);
															
															//num_BasketTotal = parseFloat(div_BasketTotal.getAttribute('rawvalue')) + parseFloat(xmlDoc.getElementsByTagName('price')[0].childNodes[0].nodeValue);
															str_BasketTotal = xmlDoc.getElementsByTagName('baskettotal')[0].childNodes[0].nodeValue;
															//div_BasketTotal.setAttribute('rawvalue', num_BasketTotal)
															//alert(num_BasketTotal);
															//alert(div_BasketTotal.childNodes[1].className);
															
															
															var emptyBasketDiv = document.getElementById('basket_empty_div');
															if (emptyBasketDiv) {
																new Effect.BlindUp(emptyBasketDiv, {duration:0.5, queue:'end'});
															}
															new Effect.BlindDown(div_SpacerRow, {duration:0.01, queue:'end'});
															new Effect.BlindDown(div_BasketItem, {duration:0.5, queue:'end', afterFinish: function() { div_BasketTotal.childNodes[1].childNodes[0].nodeValue = str_BasketTotal; }});
														}
													} else {
														if(xmlDoc.getElementsByTagName('reason')) {
															switch (xmlDoc.getElementsByTagName('reason')[0].childNodes[0].nodeValue) {
																case 'currency':
																	alert('Your basket can only contain items in one currency.');
																	break;
															}
														}
													}
												}
											}
										);
	return false;
}


function animateRemoveFromCart(itemType, itemSerial) {
	var ajaxRequest = new Ajax.Request	(
											'/ajax/remove_from_cart.php?type='+itemType+'&serial='+itemSerial,
											{
												onSuccess: function(transport) {
													//alert(transport.responseText);
													var xmlDoc = transport.responseXML.documentElement;
													var xmlSuccess = xmlDoc.getElementsByTagName('success')[0];
													//alert(xmlSuccess);
													
													if(xmlSuccess.childNodes[0].nodeValue == 1) {
														var div_Basket = document.getElementById('basket_main_div');
														var div_BasketTotal = document.getElementById('basket_total_div');
														
														var str_ItemType = xmlDoc.getElementsByTagName('type')[0].childNodes[0].nodeValue;
														var int_ItemID = xmlDoc.getElementsByTagName('id')[0].childNodes[0].nodeValue;
														var str_BasketTotal = xmlDoc.getElementsByTagName('baskettotal')[0].childNodes[0].nodeValue;
																			
														for (i=0;i<div_Basket.childNodes.length;i++) {
															//alert(div_Basket.childNodes[i].getAttribute('itemtype'));
															//alert(div_Basket.childNodes[i].className);
															if(div_Basket.childNodes[i].getAttribute('itemtype') == str_ItemType) {
																//alert('itemtype matched');
																if(div_Basket.childNodes[i].getAttribute('itemid') == int_ItemID) {
																	//alert('itemid matched');
																	var div_BasketItem = div_Basket.childNodes[i];
																	var div_SpacerRow = div_Basket.childNodes[i+1];
																	new Effect.BlindUp(div_BasketItem, {duration:0.5, queue:'end', 
																		afterFinish: function() {
																			div_SpacerRow.parentNode.removeChild(div_SpacerRow);
																			div_BasketItem.parentNode.removeChild(div_BasketItem);
																			div_BasketTotal.childNodes[1].childNodes[0].nodeValue = str_BasketTotal;
																			resetBasketBackgroundColours();
																		}
																	});
																}
															}
														}
													}
												}
											}
										);
	return false;
}


function resetBasketBackgroundColours() {
	var div_Basket = document.getElementById('basket_main_div');
	
	var arr_ItemDivs = div_Basket.childNodes;
	var i = 0;
	var itemCounter = 0;
	for (i=0;i<arr_ItemDivs.length;i++) {
		if (arr_ItemDivs[i].className.indexOf('greyRow') > -1) {
			itemCounter++;
			arr_ItemDivs[i].style.backgroundColor = '';
			if (itemCounter % 2 == 0) {
				arr_ItemDivs[i].className = arr_ItemDivs[i].className.replace('greyRow','tanRow');
			}
		} else if (arr_ItemDivs[i].className.indexOf('tanRow') > -1) {
			itemCounter++;
			arr_ItemDivs[i].style.backgroundColor = '';
			if (itemCounter % 2 == 1) {
				arr_ItemDivs[i].className = arr_ItemDivs[i].className.replace('tanRow','greyRow');
			}
		}
	}
}