var ns, ie, ie4, ie5;
bname = navigator.appName;
ver = navigator.appVersion;
int_ver = parseInt(ver);
if (bname.indexOf("Netscape") >= 0 && int_ver == 4) ns = 1;
if (bname.indexOf("Microsoft Internet Explorer") >=0 && int_ver >= 4) ie = 1;
if (navigator.userAgent.indexOf('MSIE 4')>0) ie4 = 1;
if (navigator.userAgent.indexOf('MSIE 5')>0) ie5 = 1;

currOpen = ""
currNode = ""

// supports nested references for netscape
function getObjStyle(objTree) {
	var objStrArr = objTree.split('.');
	var objStr = objStrArr[objStrArr.length-1];
	var strS = "";
	if (ns) {
		strS += "document.layers[objStrArr[0]]";
		if (objStrArr.length > 1) {
			for (var i=1; i<objStrArr.length; i++) {
				strS += ".document.layers[objStrArr["+i+"]]";
			}
		}
	return (eval(strS));
	}
	
	else if (ie) {
		return (document.all[objStr].style);
	}
}

function show(strObj, opaque) {
	var thisObj = getObjStyle(strObj);
	if (currOpen != "") hide(currOpen);
	if (ie) 
	{
		if (opaque)
		{
			thisObj.filter = "alpha(opacity=100)";
		}
		else
		{
			thisObj.filter = "alpha(opacity=80)";
		}
		thisObj.visibility = "visible";
	}
	if (ns) 
	{
		thisObj.visibility = "show";
	}
	currOpen=strObj;

}

function hide(strObj) {
	//alert("1")
	var thisObj = getObjStyle(strObj);
	//alert("2")
	if (ie)
	{
		//alert("3")
		var thisDoc = document.all[strObj];
		//alert("4")
		if (!(thisDoc.contains(window.event.toElement))) 
		{
			//alert("5")
			thisObj.filter = "alpha(opacity=0)";
			//alert("6")
			thisObj.visibility="hidden";
		}
	}
	if (ns) 
	{
		//alert("7")
		thisObj.visibility = "hide";
	}
	//alert("8")
	currOpen="";
}

function hideit (e) 
{
	var layname = e.target.name;
	var tar = e.target+"";
	if (tar.indexOf('Layer')>=0) 
	{
		hide(layname);
	}
	else 
	{
		routeEvent(e);
	}
}

	
function MouseOn(objName, ImagesDir)
{

	if (ImagesDir==null)
	{
		ImagesDir = "/images/"
	}

	//Close Menu if needed
	if (currOpen != "") hide(currOpen);
	
	//Set the higlight image, if needed
	if (self.document.images[objName]) self.document.images[objName].src = ImagesDir + "/top/top_" + objName + "_on.gif"
	
	//Set the arrow, if needed
	if (self.document.images[objName + "_arrow"]) self.document.images[objName + "_arrow"].src = ImagesDir + "/arrow_small.gif"

	//Set the pointer, if needed
	if (self.document.images[objName + "_pointer"]) self.document.images[objName + "_pointer"].src = ImagesDir + "/pointer_on.gif"
	
	
	//Set the rollover button, if needed
	if (self.document.images["button_" + objName]) self.document.images["button_" + objName].src = ImagesDir + "/button_" + objName + "_on.gif"
}

function MouseOff(objName, ImagesDir)
{
	if (ImagesDir==null)
	{
		ImagesDir = "/images/"
	}

	//Set the normal image, if needed
	if (self.document.images[objName]) self.document.images[objName].src = ImagesDir + "/top/top_" + objName + "_off.gif"
	
	//Remove the arrow, if needed
	if (self.document.images[objName + "_arrow"]) self.document.images[objName + "_arrow"].src = ImagesDir + "/arrow_blank.gif"

	//Set the pointer, if needed
	if (self.document.images[objName + "_pointer"]) self.document.images[objName + "_pointer"].src = ImagesDir + "/pointer_off.gif"
	
	//Set the normal button, if needed
	if (self.document.images["button_" + objName]) self.document.images["button_" + objName].src = ImagesDir + "/button_" + objName + "_off.gif"
}

function MenuOn(obj, ImageName, ImagesDir)
{
	if (ImagesDir==null)
	{
		ImagesDir = "/images"
	}
	
	if (ns)
	{
		var count = document.layers.length
		
		for (i=0; i<count; i++)
		{
			if (document.layers[i].document.images[ImageName]) document.layers[i].document.images[ImageName].src = ImagesDir + '/arrow_head.gif';
		}
	}	
	else 
	{
		obj.style.color="#FF6600"

		if (self.document.images[ImageName]) self.document.images[ImageName].src=ImagesDir + '/arrow_head.gif';
	}
	
}

function MenuOff(obj, ImageName, ImagesDir)
{
	if (ImagesDir==null)
	{
		ImagesDir = "/images/"
	}
	if (ns)
	{
		var count = document.layers.length
		
		for (i=0; i<count; i++)
		{
			if (document.layers[i].document.images[ImageName]) document.layers[i].document.images[ImageName].src = ImagesDir + '/spacer_pixel.gif';
		}
	}	
	else 
	{
		obj.style.color="#666666"

		if (self.document.images[ImageName]) self.document.images[ImageName].src=ImagesDir + '/spacer_pixel.gif';
	}
}

function TreeOn(node, level, ImagesDir)
{
	//Close dropdown Menu if needed
	if (currOpen != "") hide(currOpen);
	
	index = -1
	count = self.document.images.length
	
	for (i=0; i<count; i++)
	{
		currName = self.document.images[i].name
		if (currName == node) index = i
	}
	
	if (index >= 0)
	{

		if (level == 1)
		{
			image = ImagesDir + "/arrow_menu.gif"
		}
		else
		{
			image = ImagesDir + "/arrow_head_tree.gif"
		}
		self.document.images[index].src = image
	}
	
}

function TreeOff(node, level, ImagesDir)
{
	index = -1
	count = self.document.images.length
	
	for (i=0; i<count; i++)
	{
		currName = self.document.images[i].name
		if (currName == node) index = i
	}
	
	if (index >= 0)
	{
		self.document.images[index].src = ImagesDir + "/arrow_blank.gif"
	}
	
}

window.onload=init;
var loaded = 0;
function init() 
{
	if (ns) 
	{
		for (var i=0;i<document.layers.length;i++) {
			var thisObj = document.layers[i];
			thisObj.captureEvents(Event.MOUSEOUT);
			thisObj.onmouseout = hideit;
		}
	}
loaded = 1;
}

function OpenBranch(name, url)
{
	self.document.location = url + "?Node=" + name	
}

function OpenWindow(width, height, url, name, scroll)
{
	if (name)
	{
		windowName = name
	}
	else
	{
		windowName = "MessageBox"
	}
	
	if (scroll)
	{
		var optstr = "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizeable=no"
	}

	
	var widthstr="width=" + width
	var heightstr="height=" + height
	var outstr = optstr + "," + widthstr + "," + heightstr
	
	newwin = self.open(url,windowName,outstr)
	
	return newwin		
}

