
/*
	all these variables shood be set before any actual meniu/breadcrumb html is outputed
	
	var expand_cookie = 'js_tree_expand';
	var collapse_cookie = 'js_tree_collapse';
	var tree_expand = new Array();
	var tree_collapse = new Array();
	var all_nodes = new Array();
	
	These functions should be executed right after meniu output is completed
	parseExpandString();
	parseCollapseString();
	COLAPSE ALWAYS BEFORE EXPAND
	Collapse(); 
	Expand(); 
	mark_selected_link(); expandGroup();
*/
function Toggle(item) {
	parseExpandString();
	parseCollapseString();
	obj=document.getElementById("cont"+item);
	visible=(obj.style.display!="none");
	key=document.getElementById("xlink" + item);
	if (visible) {
		obj.style.display="none";
		key.innerHTML="<img src='img/tree/folder.gif' alt='' style='width: 16px; height: 12px; border: 0;'>";
		add_item(item, 'collapse');		
	} else {
		obj.style.display="block";
		key.innerHTML="<img src='img/tree/textfolder.gif' alt='' style='width: 16px; height: 12px; border: 0;'>";
		add_item(item, 'expand');		
	}
	saveExpandString();
	saveCollapseString();
	return false;
}

function expandGroup()
{		
	if (expanded_nodes)
	{		
		if (expanded_nodes.length>0)
		{
			CollapseGroups();
			var k = 0;
			for (k=0; k<expanded_nodes.length; k++)
			{
				var j = 0;
				for (j=0; j<catalog_menu_relation.length; j++)
				{					
					if (expanded_nodes[k] == catalog_menu_relation[j][0])
					{
						leaf = document.getElementById("cont" + catalog_menu_relation[j][1]);
						key = document.getElementById("xlink" + catalog_menu_relation[j][1]);
						if (leaf && key)
						{										
							parseExpandString();
							parseCollapseString();
							leaf.style.display = "block";
							key.innerHTML="<img src='img/tree/textfolder.gif' alt='' style='width: 16px; height: 12px; border: 0;'>";						
							add_item(catalog_menu_relation[j][1], 'expand');							
							saveExpandString();
							saveCollapseString();											
						}
					}				
				}			
			}			
			
			var change_active = expanded_nodes[expanded_nodes.length-1];			
			if (change_active)
			{				
				var i = 0;
				for (i=0; i<catalog_menu_relation.length; i++)
				{
					if (change_active == catalog_menu_relation[i][0])
					{						
						selected_link(catalog_menu_relation[i][1]);
						mark_selected_link();
					}
				}
			}			
		}
	}	
}

function CollapseGroups()
{
	if (top_nodes.length > 0)
	{
		var i = 0;
		for (i=0;i<top_nodes.length;i++)
		{
			leaf = document.getElementById("cont" + top_nodes[i]);
			key = document.getElementById("xlink" + top_nodes[i]);
			if (leaf && key)
			{										
				parseExpandString();
				parseCollapseString();
				leaf.style.display = "none";
				key.innerHTML="<img src='img/tree/folder.gif' alt='' style='width: 16px; height: 12px; border: 0;'>";						
				add_item(top_nodes[i], 'collapse');							
				saveExpandString();
				saveCollapseString();											
			}
		}
	}
}

function Expand() {
	
	if (tree_expand.length>0)
	{		
		for (i=0;i<tree_expand.length;i++)
		{	
			leaf = document.getElementById("cont" + tree_expand[i][0]);
			key = document.getElementById("xlink" + tree_expand[i][0]);
			if (leaf && key)
			{
				leaf.style.display = "block";
				key.innerHTML="<img src='img/tree/textfolder.gif' alt='' style='width: 16px; height: 12px; border: 0;'>";
			}
		}
	}
}

function Collapse() {
	if (all_nodes.length>0)
	{
		for (i=0;i<all_nodes.length;i++) {
			leaf = document.getElementById("cont" + all_nodes[i]);
			key=document.getElementById("xlink" + all_nodes[i]);
			if (leaf && key)
			{
				leaf.style.display="none";
				key.innerHTML="<img src='img/tree/folder.gif' alt='' style='width: 16px; height: 12px; border: 0;'>";
			}
		}
	}
}

function add_item(id, type)
{
	var found = false;
	if (type == "expand")
	{		
		if (tree_expand.length > 0)
		{			
			for(i=0; i<tree_expand.length; i++)
			{
				if (tree_expand[i][0] == id)
				{
					found = true;
					tree_expand[i][1] = 1;
				}
			}
			for(i=0; i<tree_collapse.length; i++)
			{
				if (tree_collapse[i][0] == id)
				{
					tree_collapse[i][1] = 0;
				}
			}
			if (!found)
			{
				tree_expand[tree_expand.length] = new Array(id, 1);
			}
		}
		else
		{			
			tree_expand[0] = new Array(id, 1);
			for(i=0; i<tree_collapse.length; i++)
			{
				if (tree_collapse[i][0] == id)
				{
					tree_collapse[i][1] = 0;
				}
			}
		}
	}
	else
	{
		found = false;
		if (tree_collapse.length > 0)
		{				
			for(i=0; i<tree_collapse.length; i++)
			{
				if (tree_collapse[i][0] == id)
				{
					found = true
					tree_collapse[i][1] = 1;
				}
			}
			for(i=0; i<tree_expand.length; i++)
			{
				if (tree_expand[i][0] == id)
				{
					tree_expand[i][1] = 0;
				}
			}
			if (!found)
			{
				tree_collapse[tree_collapse.length] = new Array(id, 1);
			}
		}
		else
		{			
			tree_collapse[0] = new Array(id, 1);
			for(i=0; i<tree_expand.length; i++)
			{
				if (tree_expand[i][0] == id)
				{
					tree_expand[i][1] = 0;
				}
			}
		}
	}	
}

function setTreeCookie(name, value)
{
	document.cookie = name + '=' + value + ';path=/';
}

function getTreeCookie(name)
{
	cook = document.cookie.split(name + '=');	
	if (cook.length < 2) {
		return null;
	}
	temp = cook[1];
	if (temp.indexOf(';') == -1) {
		return temp;
	}
	data = temp.split(';');
	return data[0];
}

function parseExpandString()
{	
	expandString = getTreeCookie(expand_cookie);
	tree_expand = new Array();
	if (expandString) {
		expanded = expandString.split('|');		
		for (i=0; i<expanded.length-1; i++) 
		{
			tree_expand[i] = new Array(expanded[i], 1);
		}
	}	
}

function parseCollapseString()
{
	
	collapseString = getTreeCookie(collapse_cookie);		
	tree_collapse = new Array();
	if (collapseString) {
		collapsed = collapseString.split('|');
		
		for (i=0; i<collapsed.length-1; i++) 
		{			
			tree_collapse[i] = new Array(collapsed[i], 1);			
		}
	}
}

function saveExpandString()
{	
	expandString = '';	
	for (i=0; i<tree_expand.length; i++) 
	{		
		if (tree_expand[i][1] == 1) 
		{			
			expandString += tree_expand[i][0] + '|';
		}
	}		
	setTreeCookie(expand_cookie, expandString);	
}

function saveCollapseString()
{	
	collapseString = '';
	for (i=0; i<tree_collapse.length; i++) 
	{
		if (tree_collapse[i][1] == 1) 
		{
			collapseString += tree_collapse[i][0] + '|';
		}
	}
	
	setTreeCookie(collapse_cookie, collapseString);	
}

function selected_link(id)
{
	link = getTreeCookie(expand_cookie+'_link');
	if (link)
	{
		actLink = document.getElementById("alink"+link);
		if (actLink)
		{
			actLink.className = '';
		}
	}	
	setTreeCookie(expand_cookie+'_link', id);
}

function mark_selected_link()
{
	var link = getTreeCookie(expand_cookie+'_link');	
	if (link)
	{
		actLink = document.getElementById("alink"+link);		
		if (actLink)
		{			
			actLink.className = 'active';
		}
	}
}



