////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var caution = false;
function Cookie(goodId, nameCookie, checked, action) // action (add, remove, replace)
{
	var alert_add = getCookie('alert_add'); //значения кука, которое указывает, что сообщение о добавлении товара в корзину выскакивало, или нет
	var alert_remove = getCookie('alert_remove'); //значения кука, которое указывает, что сообщение о удалении товара из корзины выскакивало, или нет
	goodId = goodId + '';
	var now = new Date();
	var str = getCookie(nameCookie);
	if(str == null || str == '') str = '·';
	var arr = new Array();
	ch = '·';
	if(goodId.indexOf(':') != -1) {
		ch = ':';
		arr = goodId.split(':');
	} else {
		arr[0] = goodId;
	}
	if((checked && action == 'add') || (!checked && action == 'remove'))//if количество товара не 0, или ставим галочку на добавление, или убираем галочку на удаление
	{
		if(alert_add == null) {
			if(nameCookie == 'complect') {
				alert('Комплект добавлен в корзину.\nЭто сообщение больше появляться не будет.');
			}
			if(nameCookie == 'cart') {
				alert('Товар добавлен в корзину.\nЭто сообщение больше появляться не будет.');
			}
			if(nameCookie == 'compare') {
				alert('Товар добавлен в сравнение.\nЭто сообщение больше появляться не будет.');
			}
			setCookie('alert_add', 1);
		}
		if(str == '·') {
			str = '·' + goodId + '·';
		} else {
			if(str.indexOf('·' + arr[0] + ch) == -1) //если чекбокс,
			{
				str = str + goodId + '·';
			}
			else //если количество товара изменено
			{
				str = str.replace(new RegExp(arr[0] + ':[0-9]+·'), goodId + '·');
			}
		}
	} else {
		if(checked && action == 'add+') {
			if(alert_add == null) {
				if(nameCookie == 'complect') {
					alert('Комплект добавлен в корзину.\nЭто сообщение больше появляться не будет.');
				}
				if(nameCookie == 'cart') {
					alert('Товар добавлен в корзину.\nЭто сообщение больше появляться не будет.');
				}
				if(nameCookie == 'compare') {
					alert('Товар добавлен в сравнение.\nЭто сообщение больше появляться не будет.');
				}
				setCookie('alert_add', 1);
			}
			if(str == '·') {
				str = '·' + goodId+'·';
			} else {
				if(str.indexOf('·' + arr[0] + ch) == -1) {
					str = str + goodId + '·';
				} else {
					var re = new RegExp('·' + arr[0] + ':([0-9]+)·');
					var ms = new Array();
					ms = str.match(re);
					if(ms[1] > 0) {
						count = parseInt(ms[1]) + parseInt(arr[1]);
						str = str.replace(re, '·' + arr[0] + ':' + count + '·');
					}
				}
			}
		} else {	//ставим галочку на удаление, или снимаем галочку на добавление, или ставим 0 в поле с количеством товара
			if(alert_remove == null) {
				if(nameCookie == 'complect') {
					alert('Комплект удалён из корзины.\nЭто сообщение больше появляться не будет.');
				}
				if(nameCookie == 'cart') {
					alert('Товар удалён из корзины.\nЭто сообщение больше появляться не будет.');
				}
				if(nameCookie == 'compare') {
					alert('Товар удалён из сравнения.\nЭто сообщение больше появляться не будет.');
				}
				setCookie('alert_remove', 1);
			}
			if(arr[1] == 0) {
				str = str.replace(new RegExp(arr[0] + ':[0-9]+·'), ''); //если ставим 0 в поле с количеством
			} else {
				str = str.replace(goodId + '·', '');
			}
		}
	}
	if (str == '·') {
		str = '';
	}
	setCookie(nameCookie, str);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function setCookie(name, value, expires, path, domain, secure) {
	path = "/";
//	alert('Name: ' + name);
//	alert('EsName: ' + escape(name));
	name = name.replace(/_/g, '%5F');
	var curCookie = name + '=' + escape(value) +
		((expires) ? '; expires=' + expires.toGMTString() : '') +
		((path) ? '; path=' + path : '') +
		((domain) ? '; domain=' + domain : '') +
		((secure) ? '; secure' : '');
	if(!caution || (name + '=' + escape(value)).length <= 4000) {
		document.cookie = curCookie;
	} else {
		if(confirm('Cookie exceeds 4KB and will be cut!')) {
			document.cookie = curCookie;
		}
	}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function getCookie(name) {
	name = name.replace(/_/g, '%5F');
	var prefix = name + '=';
	var cookieStartIndex = document.cookie.indexOf(prefix);
	if(cookieStartIndex == -1) return null;
	var cookieEndIndex = document.cookie.indexOf(';', cookieStartIndex + prefix.length);
	if(cookieEndIndex == -1) cookieEndIndex = document.cookie.length;
	return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function deleteCookie(name, path, domain) {
	if(getCookie(name)) {
		name = name.replace(/_/g, '%5F');
		document.cookie = name + '=' + ((path) ? '; path=' + path : '') +
			((domain) ? '; domain=' + domain : '') + '; expires=Thu, 01-Jan-70 00:00:01 GMT';
	}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function GetFull(nameCookie, nameObject, cart_empty, cart_full) {
//	определяет, полная корзина или нет, в зависимости от этого меняет пиктограмму заполнености корзины
	var cookieValue = getCookie(nameCookie);
	obj = document.getElementById(nameObject);
	if(obj) {
		if((cookieValue != null || cookieValue == '') && obj.className == 'cart_empty') obj.className = 'cart_full';
		if((cookieValue == null || cookieValue == '') && obj.className == 'cart_full') obj.className = 'cart_empty';
	} else {
		alert('No such object: ' + nameObject);
	}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////