open_group = new Array();
current_opened_subgroup  = new Array();

group_empty_icon = new Image;
group_empty_icon.src = 'images/group_empty.gif';

group_non_empty_icon = new Image;
group_non_empty_icon.src = 'images/group_non_empty.gif';

group_sub_empty_icon = new Image;
group_sub_empty_icon.src = 'images/group_sub_empty.gif';

group_sub_non_empty_icon = new Image;
group_sub_non_empty_icon.src = 'images/group_sub_non_empty.gif';

function init (){
	open_group = unSerialize(getCookie('status'));
	current_opened_subgroup = unSerialize(getCookie('status_img'));
	tables = document.getElementById('catalogue');
	if(tables != null)
		{for(key in open_group)
			{
			document.getElementById ('positions_' + key).style.display = '';
			if(open_group[key])
				{
				document.images['group_' + key].src = current_opened_subgroup[key] == true ? group_sub_empty_icon.src : group_empty_icon.src;
				}
			}
		}
	document.body.style.display = '';
}

//subgroup == true - значит раскрываем подгруппу, subgroup == false - группу
function showPositions (id, subgroup)
{
//		alert(open_group);
		if (open_group[id])
		{
			//скрываем текущий открытый div позиций
			document.images['group_' + id].src = current_opened_subgroup[id] == true ? group_sub_non_empty_icon.src : group_non_empty_icon.src;
			document.getElementById ('positions_' + id).style.display = 'none';
			open_group[id] = false;
		}
		else{
			open_group[id] = true;
			document.images['group_' + id].src = subgroup == true ? group_sub_empty_icon.src : group_empty_icon.src;
			document.getElementById ('positions_' + id).style.display = '';
			current_opened_subgroup[id] = subgroup;
		}
		setCookie ('status', Serialize(open_group));
		setCookie ('status_img', Serialize(current_opened_subgroup));
	return false;
}

function Serialize(obj){
	var ret='';
	for(val in obj)
	{	if(obj[val])
			ret += val+'$'+obj[val]+'#';
	}
	return ret;
}

function unSerialize(str){
	var out=Array();
	if(str != null)
	{
		var ret=Array();
		ret = str.split('#');
		for(var i=0; i<ret.length-1; i++)
		{
			out[ret[i].slice(0, ret[i].indexOf('$'))]=eval(ret[i].slice(ret[i].indexOf('$')+1, ret[i].length));
		}
	}
	return out;
}

function setCookie (name, value, expires, path, domain, secure) {
      document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

function getCookie(name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}


