<!-- 

//------------------------------------------------------------------------------
// (C) 2002-2004 ООО "Стандартные технологии"
// название файла: /admin/system/jslib/cart.js
// назначение файла: работа с корзиной заказа
// разработчик: 
// версия: 1.0
//------------------------------------------------------------------------------

	/**
	 * Ф-я кладет товар node в корину
	 */
	function ShoppingCart( node ) {

		// node - текстовое поле ввода
		// node.parentNode.id - ID товара

		var id = node.parentNode.id;

		// в куке 'shoppingcart' лежит список пар ID товара и
		// заказанного количества, разделенных запятой:
		// ID1:NUM1,ID2:NUM2,ID3,NUM3

		var shoppingcart = 'shoppingcart';
		var data = get_cookie(shoppingcart);
		if( !data ) {
			data = ',';
		} else {
			data = ','+data+',';
		}

		var val = 0;

		switch(node.type.toUpperCase()) {
			case 'CHECKBOX' :
				val = node.checked ? 1 : 0;
				break;

			case 'TEXT' :
				val = node.value > 0 ? node.value : 0;
				break;

			default:
		}

		var template = new RegExp(","+id+":[0-9]*,") 

		data = data.replace(template, ',');
		if (val > 0) {
			node.style.color = "red";
			data = data + id + ':' + val + ',';
		}

		data = data.substring(1,data.length-1);

		set_cookie(shoppingcart, data, './');
	}

	
	if (get_cookie('shoppingcart')) {

		var shoppingcart = get_cookie('shoppingcart').split(',');
		var total = 0;
		var price;

		if (document.all['ShoppingCart']) {

			if (document.all['ShoppingCart'].length) productlist = document.all['ShoppingCart'];
			else productlist = new Array(document.all['ShoppingCart']);

			price = 1;
			for( i = 0; i < productlist.length; i++ ) {
				for ( j = 0; j < shoppingcart.length; j++ ) {
					node = productlist[i];
					if( shoppingcart[j].indexOf(node.parentNode.id+":") == 0 ) {
						ind = shoppingcart[j].indexOf(":");

						node.value = shoppingcart[j].substring(ind+1);
						if (node.type.toUpperCase() == 'CHECKBOX' ) {
							node.checked = true;
						} 

						if( node.parentNode.price ) {
							price = node.parentNode.price.replace(new RegExp('^[^0-9]*([0-9]*\.?[0-9]+).*$'),"$1");
							if (price.match(new RegExp('^[0-9]*\.?[0-9]+$')) ) {
								price = price.replace(new RegExp(','),".");
								total += node.value * price;
							}
						}
					}
				}
			}
		}
		if (document.all['totalPrice']) {
			var totals = (document.all['totalPrice'].length)
				? document.all['totalPrice']
				: new Array(document.all['totalPrice']);

			var str = ''+total;
			if (str.match(/\./i)) { 
				total = parseFloat(str.substr(0,str.indexOf('.')+3));
			}

			for (i=0; i<totals.length; i++) {
				totals[i].innerText = total;
			}

		}
	}

// -->

