function prefix() 
{
	var ref = '';
	if (document.layers) { ref = 'document.' }
	else if (document.all) { ref = 'document.all.'; }
	return ref;
}

var prev = new Array();

function min(a,b)
{
	return (a < b) ? a : b;
}
function add(gid) 
{
	for (var i=0; i < prev.length; i++)
		if (prev[i].valueOf() == gid) return;
	prev[prev.length] = gid;
}

function remove(gid) 
{
	var ar = new Array();
	for (var i=0; i<prev.length; i++)
	{
		var p = prev[i].valueOf().toString();
		var len = min(gid.length, p.length);
		//alert(gid.substring(0,len) + '\n' + p.substring(0,len));
		if (gid.substring(0,len)!=p.substring(0,len))
		{
			hide(prev[i]);
		}
		else
			ar[ar.length] = prev[i];
	}
	prev = ar;
}
function show(hoverID)
{
	remove(hoverID);
	add(hoverID);

	var ref = prefix();
	var i = 0;
	var eltID = hoverID + '_' + String(i);
	var elt = eval(ref + eltID);
	while (elt)
	{
		elt.style.display = 'inline';
		i++;
		eltID = hoverID + '_' + String(i);
		elt = eval(ref + eltID);
	}
}
function hide(hoverID)
{
	var ref = prefix();
	var parentElt = eval(ref + hoverID);
	var i = 0;
	var eltID = hoverID + '_' + String(i);
	var elt = eval(ref + eltID);
	while (elt)
	{
		elt.style.display = 'none';
		i++;
		eltID = hoverID + '_' + String(i);
		elt = eval(ref + eltID);
	}
}

