<!-- 

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

	/**
	 * Ф-я кладет товар node в корину
	 */
	/* stekar: new function name */
	function MyShoppingCart( node ) {
	/* stekar: old function name
	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, '/');
	}
	
	/* stekar: countdown :begin */
	if (get_cookie('countdown') && document.getElementById('countdown'))
		document.getElementById('countdown').value=get_cookie('countdown');

	if (get_cookie('countdown') && document.getElementById('order'))
		document.getElementById('order').value=document.getElementById('order').value+"\n"+'Скидка: '+get_cookie('countdown')+'%';
	/* stekar: countdown :end */
	
	/* stekar: code replace. new code. 4 all browsers :begin */
	if (get_cookie('shoppingcart')) {
		var shoppingcart = get_cookie('shoppingcart').split(',');
		var total = 0;
		var price;

		if (document.getElementById('orderform') && document.getElementById('orderform').ShoppingCart) {
			if (document.getElementById('orderform').ShoppingCart.length) productlist = document.getElementById('orderform').ShoppingCart;
			else productlist = new Array(document.getElementById('orderform').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 (document.getElementById('orderform').hiddenprice) {
						if (document.getElementById('orderform').hiddenprice.length)
							price=document.getElementById('orderform').hiddenprice[i].value;
						else
							price=document.getElementById('orderform').hiddenprice.value;
						price = price.replace(new RegExp('^[^0-9]*([0-9]*\.?[0-9]+).*$'),"$1");
						price = price.replace(new RegExp('[^0-9.]+'), '');
						if (price.match(new RegExp('^[0-9]*\.?[0-9]+$')) ) {
							price = price.replace(new RegExp(','),".");
							total += node.value * price;
							}
						}
					}
				}
			}
		}
		/* stekar: countdown :begin */
		if (document.getElementById('countdown'))
			total=total-total*document.getElementById('countdown').value/100;
		/* stekar: countdown :end */
		if (document.getElementById('totalPrice'))
			document.getElementById('totalPrice').innerHTML=total;
	}
	/* stekar: code replace. oldcode :begin
	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");
							price = price.replace(new RegExp('[^0-9.]+'), '');
							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;
			}

		}
	}
	stekar: code replace :end */

/*
	onclick для кнопки "добавить в корзину"
*/

function addToCart() {
	sc = document.all['ShoppingCart'];
	if(!sc.length) sc=new Array(sc);
	for(i=0; i < sc.length; i++)
		if(sc[i].tagName=='INPUT') {
			if(sc[i].type=='text' && sc[i].value <= 0)
				sc[i].value = 1;
			if(sc[i].type=='checkbox' && !sc[i].checked)
				sc[i].checked = true;
			MyShoppingCart(sc[i]);
		}
	location.href = '/shoppingcart';
}
/* При нажатии на кнопку происходит добавление товара, но, в отличие от предыдущей функции, не делает редирект на /shoppingcart */
function FakeAddToCart() {
	alert('Добавлено в корзину.');
	sc = document.getElementById('ShoppingCart');
	if(sc.type=='text' && sc.value <= 0)
		{ sc.value = 1; }
	MyShoppingCart(sc);
}


function dynorderRequest(page, object)
{
	var xmlHttp = null;
    if (window.XMLHttpRequest) {
      xmlHttp = new XMLHttpRequest();
    }
    else
    {
      if (window.ActiveXObject) {
         xmlHttp = new ActiveXObject('MSXML2.XMLHTTP.3.0');
      }
    }
    xmlHttp.open("POST", "/system/content.dynorder.html", false);
    xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    xmlHttp.send('path=/'+page+'/'+object);
    if (xmlHttp.readyState!=4 || xmlHttp.status!=200) alert('Сбой передачи данных');
	else document.getElementById('object_frame').innerHTML = xmlHttp.responseText;

		if (get_cookie('shoppingcart')) {
		var shoppingcart = get_cookie('shoppingcart').split(',');

		if (document.getElementById('orderform').ShoppingCart) {
			if (document.getElementById('orderform').ShoppingCart.length) productlist = document.getElementById('orderform').ShoppingCart;
			else productlist = new Array(document.getElementById('orderform').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 (document.getElementById('orderform').hiddenprice) {
						if (document.getElementById('orderform').hiddenprice.length)
							price=document.getElementById('orderform').hiddenprice[i].value;
						else
							price=document.getElementById('orderform').hiddenprice.value;
						price = price.replace(new RegExp('^[^0-9]*([0-9]*\.?[0-9]+).*$'),"$1");
						price = price.replace(new RegExp('[^0-9.]+'), '');
						if (price.match(new RegExp('^[0-9]*\.?[0-9]+$')) ) {
							price = price.replace(new RegExp(','),".");
							total += node.value * price;
							}
						}
					}
				}
			}
		}
	}
}

// -->