function InitGkcTree()
{
	my_array_li = $$('A.hmenu');

	for (i=0;i<my_array_li.length;i++)
	{
			Event.observe(my_array_li[i], 'click', function(){affiche_enfants(this.parentNode);}, false);
	}
}

function affiche_enfants(obj)
{
	cache_all($('gkctree'));

	objparent = obj;

	while (objparent.className != "niveau_01" && objparent.tagName != 'BODY')
	{
		if (objparent.tagName == "LI")
		{
			objparent.style.display = '';
		}
		objparent = objparent.parentNode;
	}

	parent_obj_enfants = obj.parentNode.childNodes;

	for (i=parent_obj_enfants.length;i>0;i--)
	{
		if (parent_obj_enfants[i-1].tagName == "LI")
		{
			parent_obj_enfants[i-1].style.display = '';
		}
	}

	obj_enfants = obj.childNodes;

	for (i=obj_enfants.length;i>0;i--)
	{
		if (obj_enfants[i-1].tagName == "LI")
		{
			obj_enfants[i-1].style.display = '';
		}else if(obj_enfants[i-1].tagName == "UL")
		{
			obj_enfants_enfants = obj_enfants[i-1].childNodes;

			for (j=obj_enfants_enfants.length;j>0;j--)
			{
				if (obj_enfants_enfants[j-1].tagName == "LI")
				{
					obj_enfants_enfants[j-1].style.display = '';
				}
			}
		}
	}
}

function cache_all(obj)
{
	var my_array = obj.childNodes;

	for (var i=0;i<obj.childNodes.length;i++)
	{
		if (my_array[i].tagName == 'LI' && my_array[i].className != 'niveau_01')
		{
			my_array[i].style.display = 'none';
		}
			cache_all(my_array[i]);
	}
}

Event.observe(window, 'load', InitGkcTree, false);
