
function update_cart(obj) {
	if (obj.checked)
		add_to_cart(obj.id);
	else
		del_from_cart(obj.id);
}


function add_to_cart(obj_id) {
	var sCartCookie = getCookie(dataset);
	var aCart = new Array();
	var aCartNew = new Array();
	var update_flag= true;
	if (sCartCookie==null) {
		aCartNew.push(obj_id);
	} else {
		aCart=sCartCookie.split(',');
		for (var i = 0; i < aCart.length; i++) {
			if (aCart[i]==obj_id) update_flag = false;
			if (aCart[i].length>0) aCartNew.push(aCart[i]);
		}
		if (update_flag) {
			aCartNew.push(obj_id);
		}
	}
	if (update_flag) {
		setCookie(dataset, aCartNew.join(','));
		cart_count=aCartNew.length;
	}
	update_cart_msg ();
}

function del_from_cart(obj_id) {
	var sCartCookie = getCookie(dataset);
	var aCart = new Array();
	var aCartNew = new Array();
	var update_flag= false;
	if (sCartCookie!=null) {
		aCart=sCartCookie.split(',');
		for (var i = 0; i < aCart.length; i++) {
			if (aCart[i]!=obj_id && aCart[i].length>0) {
				aCartNew.push(aCart[i]);
			} else {
				update_flag= true;
			}
		}
	}
	if (update_flag) {
		setCookie(dataset, aCartNew.join(','));
		cart_count=aCartNew.length;
	}
	update_cart_msg ();
}


/**
 * очистить корзину (список отмеченных товаров)
 * @access public
 * @return void
 **/
function empty_cart(){
	setCookie(dataset, '', 'Thu, 01-Jan-70 00:00:01 GMT');
	if (document.getElementsByTagName){
		var aInputs = document.getElementsByTagName("input");
		var sClassName = 'cart_cb';
		// loop through all input tags
		for (var i=0; i<aInputs.length; i++){
			var oInputTag = aInputs[i];
			if (oInputTag.type=='checkbox' && oInputTag.className==sClassName){
				oInputTag.checked=false;
			}
		}
	}
	cart_count=0;
	update_cart_msg ();

}


function update_cart_msg () {
	var sMsg='&nbsp;';
	if (cart_count>0) {
		var sWord1=formatWord(cart_count,'отмечен','','о','о');
		var sWord2=formatWord(cart_count,'товар','','а','ов');
		var sEmptyCart = '';
		if (document.getElementsByTagName){
			sEmptyCart = '; <a href="javascript:empty_cart();">очистить список</a>';
		}
		sMsg='<i>('+sWord1+' '+cart_count+' '+sWord2+sEmptyCart+')</i> :: <b><a href="'+compare_page+'" class="a_compare">посмотреть выбранные</a></b>&nbsp;::';
	}
	var msgElm1 = (document.all) ? document.all['cart_msg_1'] : document.getElementById('cart_msg_1');
	var msgElm2 = (document.all) ? document.all['cart_msg_2'] : document.getElementById('cart_msg_2');
	if (msgElm1) msgElm1.innerHTML=sMsg;
	if (msgElm2) msgElm2.innerHTML=sMsg;
}

function formatWord (num,wordroot,end1,end2,end3) {
	var temp=end3;
	var last=num+"";
	if (num>20)
	last=last.substr((last.length-1),last.length);
	if (last==1) temp=end1;
	if (last==2 || last==3 || last==4) temp=end2;
	return (wordroot+temp);
}


function getCookie(name) {
	var sCookie = " " + document.cookie;
	var sFind = " " + name + "=";
	var sValue = null;
	var offset = 0;
	var end = 0;
	if (sCookie.length > 0) {
		offset = sCookie.indexOf(sFind);
		if (offset != -1) {
			offset += sFind.length;
			end = sCookie.indexOf(";", offset)
			if (end == -1) {
				end = sCookie.length;
			}
			sValue = unescape(sCookie.substring(offset, end));
		}
	}
	return(sValue);
}


function setCookie (name, value, expires, path, domain, secure) {
	if (!expires) {
		var oDate = new Date();
		oDate.setHours(oDate.getHours()+4);
		expires=oDate.toGMTString();
	}
	if (!path)  path="/";
	document.cookie = name + "=" + escape(value) +
	((expires) ? "; expires=" + expires : "") +
	((path) ? "; path=" + path : "") +
	((domain) ? "; domain=" + domain : "") +
	((secure) ? "; secure" : "");
}



/**
 * Начальные установки при загрузке страницы
 * @access public
 * @return void
 **/
function init_cart_checkboxes(){
	if (!document.getElementsByTagName){ return; }

	var sCartCookie = getCookie(dataset);
	var aCart = new Array();
	var aCartChecked = new Array();
	cart_count=0;
	if (sCartCookie!=null) {
		aCart=sCartCookie.split(',');
		for (var i = 0; i < aCart.length; i++) {
			if (aCart[i].length>0) {
				aCartChecked[aCart[i]] = 1;
				++cart_count;
			}
		}
		update_cart_msg ();
	}

	var aSpans = document.getElementsByTagName("span");
	var sFind = 'prodselect_';
	var nOffset = sFind.length;
	// loop through all span tags
	for (var i=0; i<aSpans.length; i++){
		var oSpantag = aSpans[i];
		if (oSpantag.id){
			var isFound = oSpantag.id.indexOf(sFind);
			if (isFound != -1) {
				var sCheckboxId = oSpantag.id.substring(nOffset, oSpantag.id.length);

				if (aCartChecked[sCheckboxId]) {
					oSpantag.innerHTML='<input type="checkbox" class="cart_cb" id="'+sCheckboxId+'" checked="checked" onClick="update_cart(this)">';
				}
				else {
					oSpantag.innerHTML='<input type="checkbox" class="cart_cb" id="'+sCheckboxId+'" onClick="update_cart(this)">';
				}
			}
		}
	}
	return true;
}



//
// addLoadEvent()
// Adds event to window.onload without overwriting currently assigned onload functions.
// Function found at Simon Willison's weblog - http://simon.incutio.com/
//
function addLoadEvent(func)
{
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){
    	window.onload = func;
	} else {
		window.onload = function(){
		oldonload();
		func();
		}
	}

}



addLoadEvent(init_cart_checkboxes);	// run  onLoad




