/* Copyright Commcam Limited 2008. All rights reserved. (See licence/licence.txt) */
function updateCarriage(objSelect)
{
	var objValue = document.getElementById("carriageValue");
	var dValue = 0;
	var objOption = document.getElementById("carriage_" + objSelect.value);
	var objBasketTotal = document.getElementById("basketTotal");
	var dTotalPrice = parseFloat(getFormValue("total"));

	if (objOption)
	{
		dValue = objOption.getAttribute("money");
		dTotalPrice += parseFloat(dValue);
	}
	
	objValue.innerHTML = currencyFormatted(dValue);
	objBasketTotal.innerHTML = currencyFormatted(dTotalPrice);
}

function proceedToCheckOut()
{
	startLoading("_updateBasket('CHECKOUT', '', 'B')");
}

function _proceedToCheckOut()
{
	var objAjax = new CAjax();
	
	if (objAjax.open("dynamic/basketControl.php?mode=CHECKOUT", true))
	{
		var objDiv = g_objTabs.addTab("basket", "Basket", true, true);
		objDiv.innerHTML = objAjax.getResponse();
	}
	
	_displayQuickBasket();
	
	endLoading();
}

function completeOrder(cOrderType)
{
	startLoading("_completeOrder('" + cOrderType + "')");
}

function _completeOrder(cOrderType)
{
	var objAjax = new CAjax();
	var bUseBudget = getFormValue("usebudget");
	var dCreditRemaining = getFormValue("creditremaining");
	var dTotalPrice = parseFloat(getFormValue("total"));
	var strUserType = getFormValue("usertype");
	var objCarriage = document.getElementById("carriage");
	var objOption;
	var bOver = false;
	
	if (objCarriage)
	{
		objOption = document.getElementById("carriage_" + objCarriage.value);
	}

	if (parseInt(getFormValue("carriageCount")) > 0)
	{	
		if (objCarriage.value == "")
		{
			alert("Please select a carriage type");
			return;
		}
		
		if (objOption)
		{
			dValue = parseFloat(objOption.getAttribute("money"));
			dTotalPrice += dValue;
		}
	}
	
	if (bUseBudget == 1)
	{
		if (parseInt(dCreditRemaining) < parseInt(dTotalPrice))
		{
			alert("Your remaining credit is " + dCreditRemaining + ", which exceeds the cost of this sale");
			
			if (strUserType == "B")
			{
				bOver = true;
			}
		}
	}
	
	if (!bOver && objAjax.open("dynamic/ordering.php?mode=COMPLETEORDER&ordertype=" + cOrderType + "&carriage=" + getFormValue("carriage"), true))
	{
		var objDiv = document.getElementById("innerContent");
		
		objDiv.innerHTML = objAjax.getResponse();
	}
		
	endLoading();
}

function processCreditCard()
{
	var objForm = document.getElementById("creditCard");
	
	if (validateForm(objForm))
	{
		startLoading("_processCreditCard()");
	}
}

function _processCreditCard()
{
	var objDeliveryDoc = xml_createXmlDom();

	var objAjax, objDeliveryNode, objDiv;
	
	objDeliveryDoc.loadXML("<creditCard/>");
	
	objDeliveryNode = objDeliveryDoc.selectSingleNode("/delivery");

	xml_createNode(objDeliveryNode, "firstName", getFormValue("firstname"));
	xml_createNode(objDeliveryNode, "surname", getFormValue("surname"));
	xml_createNode(objDeliveryNode, "cardType", getFormValue("cardtype"));
	xml_createNode(objDeliveryNode, "cardno", getFormValue("cardNo"));
	xml_createNode(objDeliveryNode, "validfrom", getFormValue("validfrom"));
	xml_createNode(objDeliveryNode, "validto", getFormValue("validto"));
	xml_createNode(objDeliveryNode, "cvv", getFormValue("cvv"));
	xml_createNode(objDeliveryNode, "address1", getFormValue("address1"));
	xml_createNode(objDeliveryNode, "address2", getFormValue("address2"));
	xml_createNode(objDeliveryNode, "address3", getFormValue("address3"));
	xml_createNode(objDeliveryNode, "address4", getFormValue("address4"));
	xml_createNode(objDeliveryNode, "postcode", getFormValue("postcode"));
	
	objAjax = new CAjax();
	
	if (objAjax.open("dynamic/ordering.php?mode=CREDITCARD", false))
	{
		objDiv = document.getElementById("innerContent");
		objAjax.send(objDeliveryDoc.xml);
		objDiv.innerHTML = objAjax.getResponse();	
	}
	
	endLoading();
}

function processOrder()
{
	var objForm = document.getElementById("deliveryDetails");
	
	objCheck = document.getElementById("tocCheck");
	
	if (!objCheck.checked)
	{
		alert("Please confirm you have read the terms and conditions");
		return;
	}
	
	if (validateForm(objForm))
	{
		if (confirm("Are you sure you want to process this order?"))
		{
			startLoading("_processOrder()");
		}
	}
}

function _processOrder()
{
	var objDeliveryDoc = xml_createXmlDom();

	var objAjax, objDeliveryNode, objDiv;
	
	objDeliveryDoc.loadXML("<delivery/>");
	
	objDeliveryNode = objDeliveryDoc.selectSingleNode("/delivery");

	xml_createNode(objDeliveryNode, "requiredDate", getFormValue("requireddate"));
	xml_createNode(objDeliveryNode, "instructions", getFormValue("instructions"));
	xml_createNode(objDeliveryNode, "reference", getFormValue("reference"));
	xml_createNode(objDeliveryNode, "contact", getFormValue("contact"));
	xml_createNode(objDeliveryNode, "address1", getFormValue("address1"));
	xml_createNode(objDeliveryNode, "address2", getFormValue("address2"));
	xml_createNode(objDeliveryNode, "address3", getFormValue("address3"));
	xml_createNode(objDeliveryNode, "address4", getFormValue("address4"));
	xml_createNode(objDeliveryNode, "postcode", getFormValue("postcode"));
	
	objAjax = new CAjax();
	
	if (objAjax.open("dynamic/ordering.php?mode=PROCESS", false))
	{
		objDiv = document.getElementById("innerContent");
		objAjax.send(objDeliveryDoc.xml);
		objDiv.innerHTML = objAjax.getResponse();	
		
		_displayQuickBasket();
	}
	
	endLoading();
}

function toggleDefaultDeliveryAddress(objCheck)
{
	var objAddress1, objAddress2, objAddress3, objAddress4, objPostCode, objContactName;
	
	objAddress1 = document.getElementById("address1");
	objAddress2 = document.getElementById("address2");
	objAddress3 = document.getElementById("address3");
	objAddress4 = document.getElementById("address4");
	objPostCode = document.getElementById("postcode");
	objContactName = document.getElementById("contact");
	
	if (objCheck.checked)
	{
		objAddress1.value = getFormValue("default_address1");
		objAddress2.value = getFormValue("default_address2");
		objAddress3.value = getFormValue("default_address3");
		objAddress4.value = getFormValue("default_address4");
		objPostCode.value = getFormValue("default_postcode");
		objContactName.value = getFormValue("default_contact");
	}
	
/*	objAddress1.disabled = objCheck.checked;
	objAddress2.disabled = objCheck.checked;
	objAddress3.disabled = objCheck.checked;
	objAddress4.disabled = objCheck.checked;
	objPostCode.disabled = objCheck.checked;
	objContactName.disabled = objCheck.checked;
	*/
}

function toc()
{
	window.open("toc.php", "_toc");
}
