<!--
//-----------------------------------------------------------------------------

var MAXITEM = 999;
var INCREMENT = "1";
var DECREMENT = "0";

var myWindow;

var sCookieName = "ShopCart";
var sMyModelPrefix = "";

//-----------------------------------------------------------------------------
//	Get Value from Cookies for passed Key -------------------------------------
//-----------------------------------------------------------------------------

function fnGetCookieKey (sName)
{
	var oCookie;
	var i, s;

	if (! (oCookie = new Cookie (document, sCookieName)))
		return null;

	oCookie.load ();

	if (! oCookie [(sMyModelPrefix + sName)])
		return null;

	else
		return oCookie [(sMyModelPrefix + sName)];
}

//-----------------------------------------------------------------------------
//	Put Value into Cookies ----------------------------------------------------
//-----------------------------------------------------------------------------

function fnSetCookieKey (sName, nValue)
{
	var oCookie;

	if (! (oCookie = new Cookie (document, sCookieName)))
		return null;

	oCookie.load ();

	if (nValue >= 1)
	{
		oCookie [(sMyModelPrefix + sName)] = nValue;
		oCookie.store ();
	}

	else
		if (oCookie [(sMyModelPrefix + sName)])
		{
			delete oCookie [(sMyModelPrefix + sName)];
			oCookie.store ();
		}
}

//--------------------------------------------------------------------------------
//	OnChange Handler for Quantity Field ------------------------------------------
//--------------------------------------------------------------------------------

function fnMyChange (sCName, oElm)
{
	var sMyId, arTmp, nQuantity, nOldQuantity, nOldSummn, nOldTotal, nNewSumm, nNewTotal, nCost, i, j, s;
	var nItemId, nVariant, nOtherCost, nOtherQuantity;
	var nOtherSumm = 0;
	var sRE = /^txtItem(\d+)_(\d+)$/;

	sCookieName = sCName;

	var oForm = document.forms ["frmOrder"];
	nOldTotal = new Number (oForm.elements ["txtTotal"].value);

	if ((arTmp = (oElm.id).match (sRE)) != null)
		if ((! isNaN (arTmp [1])) && (! isNaN (arTmp [2])) && ((nItemId = parseInt (arTmp [1], 10)) > 0) && ((nVariant = parseInt (arTmp [2], 10)) > 0))
		{
			sMyId = nItemId.toString () + "_" + nVariant.toString ();
			nVariant = 3 - nVariant;

			if (! isNaN (oElm.value))
			{
				if ((nQuantity = parseInt (oElm.value, 10)) >= 0)
				{
					if (nQuantity > MAXITEM)
					{
						alert ("Если Вас интересует наша продукция в таком количестве,\nперейдите в раздел \"Для связи\" сайта и оставьте запрос.\nМы предложим Вам оптовые цены.");
						nQuantity = MAXITEM;
					}
				}

				else
					nQuantity = 0;
			}

			else
			{

//-----------------------------------------------------------------------------
//	Restore old Value
//-----------------------------------------------------------------------------

				if (! (nOldQuantity = fnGetCookieKey (sMyId)))
					nOldQuantity = 0;

				oForm.elements [("txtItem" + sMyId)].value = (nOldQuantity > 0) ? nOldQuantity : "";
				return;
			}

//-----------------------------------------------------------------------------
//	Re-calculate and save new Value
//-----------------------------------------------------------------------------

			nOldSumm = new Number (oForm.elements [("txtItemSumm" + nItemId.toString ())].value);
			s = document.getElementById ("spnItemCost" + sMyId).innerHTML;

			if (s)
			{
				s = s.replace (/<\/?[^>]*>/gi, "");
				s = s.replace (/,/gi, ".");

				if (isNaN (s))
					nCost = 0;

				else
					nCost = new Number (s);
			}

			else
				nCost = 0;

			if (isNaN (nQuantity))
				nQuantity = 0;

			nQuantity = Math.round (nQuantity);

			if (isNaN (nOldSumm))
				nOldSumm = 0;

			if (nOldSumm > 0)
			{

//-----------------------------------------------------------------------------
//	If exists, get Quantity for second Portion Variant
//-----------------------------------------------------------------------------

				if (! (nOtherQuantity = fnGetCookieKey (nItemId.toString () + "_" + nVariant.toString ())))
					nOtherQuantity = 0;

				else
					if (s = document.getElementById ("spnItemCost" + nItemId.toString () + "_" + nVariant.toString ()).innerHTML)
					{
						s = s.replace (/<\/?[^>]*>/gi, "");
						s = s.replace (/,/gi, ".");

						if (isNaN (s))
							nOtherCost = 0;

						else
						{
							nOtherCost = new Number (s);
							nOtherSumm = new Number (nOtherQuantity * nOtherCost);
						}
					}
			}

//-----------------------------------------------------------------------------

			if (isNaN (nOldTotal))
				nOldTotal = 0;

			nQuantity = Math.round (nQuantity);
			fnSetCookieKey (sMyId, nQuantity);

			nNewSumm = new Number (nQuantity * nCost + nOtherSumm);
			nNewTotal = new Number (nOldTotal + nNewSumm - nOldSumm);

			oForm.elements [("txtItem" + sMyId)].value = (nQuantity > 0) ? nQuantity : "";
			oForm.elements [("txtItemSumm" + nItemId.toString ())].value = (nNewSumm > 0) ? fnToFixed (nNewSumm) : "";
			oForm.elements ["txtTotal"].value = (nNewTotal > 0) ? fnToFixed (nNewTotal) : "";
		}
}

//-----------------------------------------------------------------------------
//	Change Item Quantity into Cart --------------------------------------------
//-----------------------------------------------------------------------------

function fnAddItem (sCName, sItemIdRaw, nOperation)
{
	var nNewSumm, nNewTotal, nCost, nItemId, nVariant, nOldSumm, nOldTotal, arTmp;
	var nOtherCost, nOtherQuantity, i, j, s;
	var nOtherSumm = 0;
	var oForm = document.forms ["frmOrder"];
	var nQuantity = new Number (oForm.elements [("txtItem" + sItemIdRaw)].value);

	sCookieName = sCName;

	if ((arTmp = sItemIdRaw.split ("_")) && (arTmp.length == 2))
		if ((! isNaN (arTmp [0])) && (! isNaN (arTmp [1])) && ((nItemId = parseInt (arTmp [0], 10)) > 0) && ((nVariant = parseInt (arTmp [1], 10)) > 0))
		{
			nVariant = 3 - nVariant;

			nOldTotal = new Number (oForm.elements ["txtTotal"].value);
			nOldSumm = new Number (oForm.elements [("txtItemSumm" + nItemId.toString ())].value);

			s = document.getElementById ("spnItemCost" + sItemIdRaw).innerHTML;

			if (s)
			{

//-----------------------------------------------------------------------------
//	BugFixed 05.07.2005 13:54
//	Changed from s = s.replace (/<\/?[^>]*>/gim, "");
//	Mac did not understand "m" in RegExp
//-----------------------------------------------------------------------------

				s = s.replace (/<\/?[^>]*>/gi, "");
				s = s.replace (/,/gi, ".");

				if (isNaN (s))
					nCost = 0;

				else
					nCost = new Number (s);
			}

			else
				nCost = 0;

			if (isNaN (nQuantity))
				nQuantity = 0;

			nQuantity = Math.round (nQuantity);

			if (isNaN (nOldSumm))
				nOldSumm = 0;

			if (nOldSumm > 0)
			{

//-----------------------------------------------------------------------------
//	If exists, get Quantity for second Portion Variant
//-----------------------------------------------------------------------------

				if (! (nOtherQuantity = fnGetCookieKey (nItemId.toString () + "_" + nVariant.toString ())))
					nOtherQuantity = 0;

				else
					if (s = document.getElementById ("spnItemCost" + nItemId.toString () + "_" + nVariant.toString ()).innerHTML)
					{
						s = s.replace (/<\/?[^>]*>/gi, "");
						s = s.replace (/,/gi, ".");

						if (isNaN (s))
							nOtherCost = 0;

						else
						{
							nOtherCost = new Number (s);
							nOtherSumm = new Number (nOtherQuantity * nOtherCost);
						}
					}
			}

//-----------------------------------------------------------------------------

			if (isNaN (nOldTotal))
				nOldTotal = 0;

			if (nOperation == INCREMENT)
			{
				if ((nQuantity + 1) >= (MAXITEM + 1))
				{
					alert ("Если Вас интересует наша продукция в таком количестве,\nперейдите в раздел \"Для связи\" сайта и оставьте запрос.\nМы предложим Вам оптовые цены.");
					nQuantity = MAXITEM;
				}

				else
					nQuantity += 1;

//				alert (sCookieName + ", " + sItemIdRaw + " = " + nQuantity);
				fnSetCookieKey (sItemIdRaw, nQuantity);
			}


			if (nOperation == DECREMENT)
			{
				if ((nQuantity - 1) < 1)
					nQuantity = 0;

				else
					nQuantity -= 1;

				if (nQuantity >= MAXITEM)
				{
					alert ("Если Вас интересует наша продукция в таком количестве,\nперейдите в раздел \"Для связи\" сайта и оставьте запрос.\nМы предложим Вам оптовые цены.");
					nQuantity = MAXITEM;
				}

//				alert (sCookieName + ", " + sItemIdRaw + " = " + nQuantity);
				fnSetCookieKey (sItemIdRaw, nQuantity);
			}

			nNewSumm = new Number (nQuantity * nCost + nOtherSumm);
			nNewTotal = new Number (nOldTotal + nNewSumm - nOldSumm);

			oForm.elements [("txtItem" + sItemIdRaw)].value = (nQuantity > 0) ? nQuantity : "";
			oForm.elements [("txtItemSumm" + nItemId.toString ())].value = (nNewSumm > 0) ? fnToFixed (nNewSumm) : "";
			oForm.elements ["txtTotal"].value = (nNewTotal > 0) ? fnToFixed (nNewTotal) : "";
//			alert ("|" + unescape (document.cookie.toString()) + "|");
		}
}

//-----------------------------------------------------------------------------
//	Function toFixed () Implementation ----------------------------------------
//-----------------------------------------------------------------------------

function fnToFixed (nValue)
{
	var s, s2, arS;
	s = new String (Math.round (nValue * 100) / 100);
	s2 = s;
	arS = s.split (".");
	if (arS.length == 2)
	{
		if (arS [1].length == 1)
			s2 = s + "0";
	}

	else
		s2 = s + ".00";

	return s2;
}

//-----------------------------------------------------------------------------
//	Open New Window -----------------------------------------------------------
//-----------------------------------------------------------------------------

function fnNewWindow (n, k, l)
{
	if (myWindow)
		if (! myWindow.closed)
			myWindow.close();

	myWindow =  window.open (n, k, l);
}

//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//-->