function showBasketItems(controlName)
{
	if (typeof (findObject) == "undefined") return;

	if (LGA_WebControls_ShoppingCart_Array.length % 2 != 0)
	{
		alert("ShoppingCart has a problem. Please check the page configuration.");
	}

	var d = extractData(getCookie("nationalfarm.cart"));

	var n = findObject("basket_items_number");
	var b = findObject("basket_image");

	if (n != null && b != null)
	{
		var i = 0;
		var s = 0;

		for (var a in d)
		{
			var value = parseInt(d[a]);

			if (!isNaN(value))
			{
				s += value;

				i++;
			}
		}

		b.src = i != 0 ? LGA_WebControls_ShoppingCart_Array[1] : LGA_WebControls_ShoppingCart_Array[0];

		n.innerHTML = i.toString();

		if (controlName != null)
		{
			var c = findObject(controlName);

			if (c != null)
			{
				c.innerHTML = s.toString();
			}
		}
	}
}

function roundNumber(number, precision)
{
	return Math.round(number * Math.pow(10, precision)) / Math.pow(10, precision)
}

function extractData(source, exclude)
{
	var AData = new Array();

	if (source != null && source != "")
	{
		var AD = source.split("-");

		if (source != "")
		{
			for (var i = 0; i < AD.length; i++)
			{
				var name = AD[i].split("/");

				if (exclude != null && exclude != "")
				{
					if (name[0] != exclude) AData[name[0]] = name[1];
				}
				else
				{
					AData[name[0]] = name[1];
				}
			}
		}
	}

	return AData;
}

function packData(aData)
{
	var s = "";

	for (var d in aData)
	{
		var value = parseInt(aData[d]);

		if (!isNaN(value))
		{
			s = s + (d + "/" + value + "-");
		}
	}

	return ((s == "") ? "" : s.substring(0, s.length - 1));
}

function updateItem(id, number)
{
	var d = extractData(getCookie("nationalfarm.cart"));

	var value = parseInt(number);

	if ((d[id] != null) && !isNaN(value))
	{
		d[id] = value;

		id = packData(d);

		setCookie("nationalfarm.cart", id);

		if (id != getCookie("nationalfarm.cart"))
		{
			alert("Your browser should be support \"cookie\", otherwise use basket is impossible.");
		}
	}
}

function addItem(id, number)
{
	var d = extractData(getCookie("nationalfarm.cart"));
	var i = 0;

	for (var a in d)
	{
		if (!isNaN(d[a]))
		{
			i++;
		}
	}

	var n = 1;

	if ((number != null) && (number != "") && !isNaN(number))
	{
		n = number;
	}

	if (i < 50)
	{
		if (d[id] == null)
		{
			d[id] = n;
		}
		else
		{
			var value = parseInt(d[id])

			if (!isNaN(value))
			{
				d[id] = value + n;
			}
		}

		id = packData(d);

		setCookie("nationalfarm.cart", id);

		if (id != getCookie("nationalfarm.cart"))
		{
			alert("Your browser should be support \"cookie\", otherwise use basket is impossible.");
		}
		else
		{
			showBasketItems();
		}
	}
	else
	{
		alert("Shopping cart can contain only 50 items.");

		return false;
	}

	return true;
}

function deleteItem(id)
{
	var d = extractData(getCookie("nationalfarm.cart"), id);

	id = packData(d);

	setCookie("nationalfarm.cart", id);

	if (id != getCookie("nationalfarm.cart"))
	{
		alert("Your browser should be support \"cookie\", otherwise use basket is impossible.");
	}
}

function setCookie(name, value)
{
	var D = new Date();

	D.setDate(D.getDate() + 1);

	document.cookie = name + "=" + escape(value) + "; expires=" + D.toGMTString() + "; path=/";
}

function getCookie(name)
{
	var s = name + "=";
	var i = 0;

	if (document.cookie.substring(0, s.length) != s)
	{
		s = "; " + s;
		i = document.cookie.indexOf(s)};

		if (i > -1)
		{
			i += s.length;
			
			var endstr = document.cookie.indexOf(";", i);

			if (endstr == -1) endstr = document.cookie.length;

			return unescape(document.cookie.substring(i, endstr))
		}
	else
	{
		return "";
	}
}

function deleteCookie(name)
{
	var D = new Date();

	D.setDate(D.getDate()-(7*365));

	value = getCookie(name);

	document.cookie = name + "=" + value + "; expires=" + D.toGMTString() + "; path=/";
}
