function AddToCart (itemIdentifier)

{

	var cookie = getCookie(COOKIE_NAME_CART);

	if (cookie == null){

		setCookie( COOKIE_NAME_CART, itemIdentifier, COOKIE_EXPIRES_CART, '/', COOKIE_DOMAIN, false );

		return;

	}

	cookie += '---' + itemIdentifier;

	setCookie( COOKIE_NAME_CART, cookie, COOKIE_EXPIRES_CART, '/', COOKIE_DOMAIN, false );

}



var cartAjaxRequest;

function RemoveFromCart (itemIdentifier, cartCookieValue)

{

	var cookie = getCookie(COOKIE_NAME_CART);

	if (cookie == null){

		top.location = '/cart/';

		return;

	}

	var url = '/scripts/cart_remove.php?id=' + itemIdentifier + '&c=' + cartCookieValue;

	cartAjaxRequest = createRequestObject();

	cartAjaxRequest.open('get', url);

	cartAjaxRequest.onreadystatechange = Callback_RemoveFromCart;

	cartAjaxRequest.send(null);	

}



function Callback_RemoveFromCart ()

{

	if (cartAjaxRequest.readyState == 4){

		var response = cartAjaxRequest.responseText;

		if (response.indexOf('ok-') > -1){

			top.location = '/cart/';

		}

		else{

			//	should never happen

			alert('ohh' . response);

		}

	}

}



function UpdateCartItemQuantity (itemIdentifier, quantity, price, cartCookieValue)

{

	if ((!IsNumeric(quantity)) || (quantity < 1))

		return;

	

	var span = document.getElementById('Price_' + itemIdentifier);

	span.innerHTML = CURRENCY_SYMBOL + '&nbsp;' + FormatPrice(price * quantity);


	var url = '/scripts/cart_quantity.php?id=' + itemIdentifier + '&q=' + quantity + '&c=' + cartCookieValue;

	cartAjaxRequest = createRequestObject();

	cartAjaxRequest.open('get', url);

	cartAjaxRequest.onreadystatechange = Callback_UpdateCartItemQuantity;

	cartAjaxRequest.send(null);		

}

function Callback_UpdateCartItemQuantity ()

{

	if (cartAjaxRequest.readyState == 4){

		var response = cartAjaxRequest.responseText;
		if (response.indexOf('ok-') > -1){


			var splitString = response.split('-');

			var amount = splitString[1];

			var subTotal = CURRENCY_SYMBOL + '&nbsp;' + amount;

			document.getElementById('SubTotal').innerHTML = subTotal;

			document.getElementById('Quantity').innerHTML = splitString[2];
			
			if (splitString[2] == '1'){

				document.getElementById('Quantifier').innerHTML = 'is';

				document.getElementById('QuantityPlural').innerHTML = 'item';

			}

			else{

				document.getElementById('Quantifier').innerHTML = 'are';

				document.getElementById('QuantityPlural').innerHTML = 'items';

			}

		}

		else{

			//	should never happen

			alert('oops' + response);

		}

	}

}



function FormatPrice(price)

{

	if (price < 10)

		return '&nbsp;&nbsp;&nbsp;' + price.toFixed(2);

	else if (price < 100)

		return '&nbsp;&nbsp;' + price.toFixed(2);

	else if (price < 1000)

			return '&nbsp;' + price.toFixed(2);

	else

		return price.toFixed(2);

}



function AreAddressDetailsFilledIn()
{
	if (document.getElementById('checkboxPickup').checked == true)
		return true;
	if (document.getElementById('delivery_address1').value == '')
		return false;
	else if (document.getElementById('delivery_address2').value == '')
		return false;
	else if (document.getElementById('delivery_city').value == '')
		return false;

	return true;
}

//	chance to check the delivery address prior to being paid for

//	insert new delivery address information into DB for future

function ConfirmDeliveryStatus ()

{

	if (!AreAddressDetailsFilledIn())

		return;

	var postVariables = 'name=' + document.getElementById('DeliveryName').value + '&';

	postVariables += 'add1=' + document.getElementById('DeliveryAddress1').value + '&';

	postVariables += 'add2=' + document.getElementById('DeliveryAddress2').value + '&';

	postVariables += 'city=' + document.getElementById('DeliveryCity').value + '&';

	postVariables += 'pc=' + document.getElementById('DeliveryPostalCode').value + '&';

	postVariables += 'notes=' + document.getElementById('DeliveryNotes').value + '&';

	postVariables += 'country=' + document.getElementById('DeliveryCountry').value + '&';

	

	var url = '/scripts/cart_address_confirm.php';

	cartAjaxRequest = createRequestObject();

	cartAjaxRequest.onreadystatechange = Callback_ConfirmDeliveryStatus;

	cartAjaxRequest.open('post', url);

	cartAjaxRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");

	cartAjaxRequest.send(postVariables);

}



function Callback_ConfirmDeliveryStatus ()

{

	if (cartAjaxRequest.readyState == 4){

		var response = cartAjaxRequest.responseText;

		if (response.indexOf('ok-') > -1){

			//	do nothing

			ShowHideDiv('address_attention');

			document.getElementById('address_message').innerHTML = 'Address Confirmed, thankyou.';

		}

		else{

			//	problem with address

			alert(response);

		}

	}	

}


function  CheckPOBox(textbox)
{
	var addressValue = textbox.value;
	if ((addressValue.toLowerCase().indexOf('po box', 0) > -1)|| (addressValue.toLowerCase().indexOf('p.o box', 0) > -1) || (addressValue.toLowerCase().indexOf('p o box', 0) > -1)){
		alert('We cannot deliver to a PO Box, please change your delivery address.');
		textbox.value = '';
	}
}




function CopyAddress(checkboxElement)

{

	if (checkboxElement.checked == true)

	{
		document.getElementById('billing_firstName').value = document.getElementById('delivery_firstName').value;
		document.getElementById('billing_lastName').value = document.getElementById('delivery_lastName').value;
		document.getElementById('billing_homePhone').value = document.getElementById('delivery_homePhone').value;
		document.getElementById('billing_mobilePhone').value = document.getElementById('delivery_mobilePhone').value;
		document.getElementById('billing_workPhone').value = document.getElementById('delivery_workPhone').value;

		document.getElementById('billing_address1').value = document.getElementById('delivery_address1').value;
		document.getElementById('billing_address2').value = document.getElementById('delivery_address2').value;
		document.getElementById('billing_city').value = document.getElementById('delivery_city').value;

		var deliverySelectElement = document.getElementById('delivery_country');
		var country = deliverySelectElement.options[deliverySelectElement.selectedIndex].value;
		var billingSelectElement = document.getElementById('billing_country');
		billingSelectElement.options[billingSelectElement.selectedIndex].selected = 'false';
		for (var i = 0; i < billingSelectElement.options.length; i++)
			if (billingSelectElement.options[i].value == country)
				billingSelectElement.options[i].selected = 'true';

		document.getElementById('billing_code').value = document.getElementById('delivery_code').value;

	}

	else{
		document.getElementById('billing_firstName').value = '';
		document.getElementById('billing_lastName').value = '';
		document.getElementById('billing_homePhone').value = '';
		document.getElementById('billing_mobilePhone').value = '';
		document.getElementById('billing_workPhone').value = '';
		document.getElementById('billing_address1').value = '';
		document.getElementById('billing_address2').value = '';
		document.getElementById('billing_city').value = '';
		document.getElementById('billing_code').value = '';
		//document.getElementById('billing_notes').value = '';

	}

}

