
/*·························  © Webacumen 2007. All rights reserved  ··········································

Project			:	standard template
Module Name		:	shop.js
Purpose			:	Functions unique to the shopping page
············································································································
Revision History

Date			Rev			CA Number		Changes Made
06/10/06		1			D001/0000		Initial Review
··········································································································*/

var mobjBktTimerID = null;
var mintBlinkCount = 0;
var mstrBlinkColor = "";

function onAddToBasket(intPrd)
{
	try
	{
		var strSty = getControlValue("cboSty"+intPrd);
		var strCol = getControlValue("cboCol"+intPrd);
		var strSiz = getControlValue("cboSiz"+intPrd);
		var intQty = getControlValue("txtQty"+intPrd);

		if (strSty == "0"){alert("Please select a style.");}
		else
		{
			if (strCol == "0"){alert("Please select a colour.");}
			else
			{
				if (strSiz == "0"){alert("Please select a size.");}
				else
				{
					if (intQty == 0){alert("Please enter a quantity.");}
					else
					{
						var strMethod = "onAddToBasketClick?prm="+intPrd+"."+strSty+"."+strCol+"."+strSiz+"."+intQty;
						dnaFetch("POST", "fldsys/controller.asmx/"+strMethod, onAddToBasketReturn, "");
					}
				}
			}
		}
	}

	catch(exception)
	{
		onErrorHandler("onAddToBasket: " + exception.message, "shop.js", 0);
	}
}

function onAddToBasketReturn()
{
	try
	{
		var strData = dnaCatch();
		if (strData.length > 0)
		{
			strData = cleanReturnedData(strData);
			var decVal = getResultData(strData, "valu");
			var intItm = getResultData(strData, "item");
			onAddToBasketUpdate(decVal, intItm);
		}
	}

	catch(exception)
	{
		onErrorHandler("onAddToBasketReturn: " + exception.message, "shop.js", 0);
	}
}

function onAddToBasketUpdate(decVal, intItm)
{
	try
	{
		var objBkt = null;
	
		objBkt = document.getElementById("divBasketV");
		if (objBkt != null)
		{
			objBkt.innerHTML = "Value: &pound;" + decVal;
		}
		objBkt = document.getElementById("divBasketI");
		if (objBkt != null)
		{
			objBkt.innerHTML = "Items: " + intItm;
		}
		
		mobjBktTimerID = null;
		mintBlinkCount = 0;
		mstrBlinkColor = "";
		objSum = document.getElementById("divBasket");
		if (objSum != null)
		{
			mstrBlinkColor = objSum.style.backgroundColor.toUpperCase();
		}
		mobjBktTimerID = window.setInterval("blinkBasket()", 100);
	}

	catch(exception)
	{
		onErrorHandler("onAddToBasketUpdate: " + exception.message, "shop.js", 0);
	}
}

function blinkBasket()
{
	try
	{
		var objBkt = document.getElementById("divBasket");
		if (objBkt != null)
		{
			if (objBkt.style.backgroundColor.toUpperCase() == "MINTCREAM")
			{objBkt.style.backgroundColor = "ALICEBLUE";}
			else
			{objBkt.style.backgroundColor = "MINTCREAM";}
		}
		if (mintBlinkCount > 4)
		{
			window.clearInterval(mobjBktTimerID);
			mobjBktTimerID = null;
			mintBlinkCount = 0;
			objBkt.style.backgroundColor = mstrBlinkColor;
		}
		else
		{
			mintBlinkCount = mintBlinkCount + 1;
		}
	}

	catch(exception)
	{
		onErrorHandler("blinkBasket: " + exception.message, "shop.js", 0);
	}
}


function getControlValue(strControl)
{
	try
	{
		var strRet = "";	//Indicates the control is not available
		var objCtr = document.getElementById(strControl);
		if (objCtr != null)
		{
			strRet = objCtr.value;
		}
		return strRet;
	}

	catch(exception)
	{
		onErrorHandler("getControlValue: " + exception.message, "shop.js", 0);
		return -1;
	}
}
