/* Copyright Commcam Limited 2008. All rights reserved. (See licence/licence.txt) */

function addToBasket(strCode, strAreaCode)
{
	startLoading("_addToBasket('" + strCode + "', '" + strAreaCode + "')");
}

function displayQuickBasket()
{
	startLoading("_displayQuickBasket()");
}

function _displayQuickBasket()
{
	var objQuickBasket = document.getElementById("quickBasketInner");
	var objAjax = new CAjax();
	
	if (objQuickBasket)
	{
		if (objAjax.open("dynamic/quickBasket.php", true))
		{
			objQuickBasket.innerHTML = objAjax.getResponse();
		}
	}
	
	endLoading();
}

function toggleNoteRow(strId)
{
	var objRow = document.getElementById(strId);
	
	if (objRow.getAttribute("shown") == 'true')
	{
		objRow.style.display = "none";
		objRow.setAttribute("shown", "false");
	}
	else
	{
		objRow.style.display = "block";
		objRow.setAttribute("shown", "true");
	}
}

function quickAdd(strCode)
{
		startLoading("_quickAdd('" + strCode + "')");
}

function _quickAdd(strCode)
{
	var objAjax = new CAjax();
	
	if (objAjax.open("dynamic/basketControl.php?mode=ADD&code=" + strCode + "&quantity=1&variant=", true))
	{
		var objDiv = g_objTabs.addTab("basket", "Basket", true, true);
		
		objDiv.innerHTML = objAjax.getResponse();
	}
	
	_displayQuickBasket();
	
	endLoading();
}

function _addToBasket(strCode, strAreaCode)
{
	var objQuantity = document.getElementById("quantity_" + strAreaCode + "_" + strCode);
	var strVariant = getFormValue("variant_" + strAreaCode + "_" + strCode);

	var objAjax = new CAjax();
	
	if (objAjax.open("dynamic/basketControl.php?mode=ADD&code=" + strCode + "&quantity=" + objQuantity.value + "&variant=" + strVariant, true))
	{
		var objDiv = g_objTabs.addTab("basket", "Basket", true, true);
		
		objDiv.innerHTML = objAjax.getResponse();
	}
	
	_displayQuickBasket();
	
	endLoading();
}

function emptyBasket()
{
	if (confirm("Are you sure you want to empty your basket?"))
	{
		startLoading("_emptyBasket()");
	}
}

function _emptyBasket()
{
	var objAjax = new CAjax();
	
	if (objAjax.open("dynamic/basketControl.php?mode=EMPTY", true))
	{
		var objDiv = g_objTabs.addTab("basket", "Basket", true, true);
		
		objDiv.innerHTML = objAjax.getResponse();
	}
	
	_displayQuickBasket();
	endLoading();
}

function removeFromBasket(strCode)
{
	startLoading("_removeFromBasket('" + strCode + "')");
}

function _removeFromBasket(strCode)
{
	var objAjax = new CAjax();
	
	if (objAjax.open("dynamic/basketControl.php?mode=REMOVE&code=" + strCode, true))
	{
		var objDiv = g_objTabs.addTab("basket", "Basket", true, true);
		
		objDiv.innerHTML = objAjax.getResponse();
	}
	
	_displayQuickBasket();
	endLoading();
}

function showBasket()
{
	startLoading("_showBasket()");
}

function _showBasket()
{
	var objContent = document.getElementById("innerContent");
	var objAjax = new CAjax();
	showMenu("PRODUCTS");
	
	if (objContent)
	{
		if (objAjax.open("dynamic/basketControl.php?mode=VIEW", true))
		{
			var objDiv = g_objTabs.addTab("basket", "Basket", true, true);
			objDiv.innerHTML = objAjax.getResponse();
		}	
	}	
	
	_displayQuickBasket();
	
	endLoading();
}

function updateBasket()
{
	startLoading("_updateBasket('UPDATE', '', 'B')");
}

function showFavouriteName()
{
	var objDiv = document.getElementById("saveFavourite");
	objDiv.style.display = "block";
}

function saveFavourite()
{
	var objForm = document.getElementById("favouriteNameForm");
	var strName = getFormValue("favouriteName");
	
	if (validateForm(objForm))
	{
		startLoading("_updateBasket('SAVEFAV', '" + strName  + "')");
	}
}

function addFavouritesToBasket()
{
	if (confirm("Are you sure you want to add your favourites to you basket?"))
	{
		startLoading("_updateBasket('ADDFAVOURITES', '', 'F')");
	}
}

function replaceBasket()
{
	if (confirm("Are you sure you want to replace your basket with your favourites?"))
	{
		startLoading("_updateBasket('REPLACE', '', 'F')");
	}
}

function _updateBasket(strMode, strName, strAreaCode)
{
	var objBasketDoc = xml_createXmlDom();
	var objBasketNode, objProductNode;
	var objInputs, objAjax;
	
	objBasketDoc.loadXML("<basket/>");
	
	objBasketNode = objBasketDoc.selectSingleNode("/basket");
	
	objInputs = document.getElementsByTagName("input");
	
	for (var i = 0; i < objInputs.length; i++)
	{
		strInputId = objInputs[i].getAttribute("id");
	
		if (strInputId && strInputId.substr(0,11) == "quantity_" + strAreaCode + "_")
		{
			strProductCode = strInputId.substr(11);
			
			objProductNode = xml_createNode(objBasketNode, "product");
			xml_createNode(objProductNode, "productCode", strProductCode);
			objProductNode.setAttribute("quantity", objInputs[i].value);
			
			objProductNode.setAttribute("variant", getFormValue("variant_" + strAreaCode + "_" + strProductCode));
			objProductNode.setAttribute("note", getFormValue("note_" + strAreaCode + "_" + strProductCode));
		}
	}
	
	objAjax = new CAjax();
	
	if (objAjax.open("dynamic/basketControl.php?mode=" + strMode + "&name=" + strName, false))
	{
		objAjax.send(objBasketDoc.xml);
		
		var objDiv = g_objTabs.addTab("basket", "Basket", true, true);
		objDiv.innerHTML = objAjax.getResponse();	
	}
	
	_displayQuickBasket();
	endLoading();
	
}

function backToBasket()
{
	var objDiv = document.getElementById("innerContent");
	objDiv.innerHTML = "";
	showBasket();
}