/* treelist.js by Rob Smith
   Implements a 1 level tree list with nodes
   Trees can be expanded and compressed
*/
   

var loaded = 0;
var tree = new Array;
var treepos = 0;
var folder = "images-common/";
var imgW = 16;
var imgH = 16;

if (document.images) 
{
	loaded = 1;
	var GroupClosedOff = new Image;
	var GroupClosedOn = new Image;
	var GroupOpenOff = new Image;
	var GroupOpenOn = new Image;
	GroupClosedOff.src = folder + "groupclosedoff.gif";
	GroupClosedOn.src = folder + "groupclosedon.gif";
	GroupOpenOff.src = folder + "groupopenoff.gif";
	GroupOpenOn.src = folder + "groupopenon.gif";
}

function AddTreeItem(text)
{
	tree[treepos] = new Array();
	tree[treepos][0] = text;
	tree[treepos][1] = 0;
	tree[treepos][2] = 0;
	treepos++;
	return (treepos-1);
}

function AddSubTreeItem(text,index)
{
	tree[index][tree[index][1]+3] = text;
	tree[index][1]++;
}


function SetImage(index,url)
{
	eval("document.all.featimg"+index+".src=url");
	return true;
}

function mover1(index)
{
	if (tree[index][2]==0)
	{
		SetImage(index,GroupClosedOn.src); 
		self.status="Click to expand this branch";
	} else
	{
		SetImage(index,GroupOpenOn.src); 
		self.status="Click to close this branch";
	}
	return true;
}
function mout1(index)
{
	{if (tree[index][2]==0)
		SetImage(index,GroupClosedOff.src); else
		SetImage(index,GroupOpenOff.src); }
	self.status="";
	return true;
}

function clicknode(index)
{
	tree[index][2]=1-tree[index][2];
	mover1(index);
	var d=eval("featnode"+index);
	if (tree[index][2]==0)
	{
		d.style.visibility = "hidden";
		d.style.position = "absolute";
	} else
	{
		d.style.position = "relative";
		d.style.visibility = "visible";
	}
	return true;
}


function ShowFeatures()
{
	if (loaded==0) 
	{
		document.write('Error, feature list not available...');
	} else
	{
		var a=0;
		document.write('<table border=0 cellpadding=0 cellspacing=0 width=100%>');
		for (a=0; a<treepos; a++)		
		{
			document.write('<tr><td width='+(imgW+5)+' height='+imgH+' valign=top');
			if ((a>0)&&(a<treepos-1)) document.write(' background="images-common/featbg.gif"');
			document.write('>');
			if (tree[a][1]>0)
			{
				document.write('<img style="cursor: pointer" src="'+GroupClosedOff.src+'" width='+imgW+' height='+imgH+' border=0 alt="" name="featimg'+a+'" onclick="clicknode('+a+');" onmouseover="return mover1('+a+');" onmouseout="return mout1('+a+');">');
			} else
			{
				var s=folder+"g";
				if (a==0) s+="top"; else
				if (a==treepos-1) s+="bot"; else s+="mid";
				document.write('<img src="'+s+'.gif" width='+imgW+' height='+imgH+'>');
			}
			document.write('</td><td valign=top class="content-text-normal-1">'+tree[a][0]+'</td></tr>');
			if (tree[a][1]>0)
			{
				document.write('<tr><td');
				if (a!=treepos-1) document.write(' background="images-common/featbg.gif"');
				document.write('><img src="images-common/spacer.gif" width='+imgW+' height=1></td>');
				document.write('<td valign=top class="content-text-normal-1"><table id="featnode'+a+'" border=0 cellpadding=0 cellspacing=0 style="visibility: hidden; position: absolute; top: 0; left: 0;">');
				document.write('<tr><td width='+imgW+'><img src="images-common/spacer.gif" width='+imgW+' height=5></td><td background="images-common/featbg.gif" width='+imgW+' height=5><img src="images-common/spacer.gif" width='+imgW+' height=5></td></tr>');
				for (var b=0; b<tree[a][1]; b++)
				{
					var s=folder+"g";
					var sss;
					if (b>=tree[a][1]-1)
					{
						s+="bot";
						sss="";
					}else
					{
						s+="mid";
						sss="background=\"images-common/featbg.gif\"";
					}
					document.write('<tr><td></td><td width='+(imgW+5)+' height='+imgH+' valign=top '+sss+'><img src="'+s+'.gif" width='+imgW+' height='+imgH+'></td><td class="content-text-weak-1">');
					document.write(tree[a][3+b]+'</span></td></tr>');
				}
				document.write('<tr><td width='+imgW+'><img src="images-common/spacer.gif" width='+imgW+' height=5></td></tr>');
				document.write('</table></td></tr>');
			}
		}
		document.write('</table>');
	}
}

