var oneBranch='yes';
var handlerTYPE='click';
var TValue=100;
var ImagePlacement='before';
var imagePLUS='../../media/menus/bevArrowPLUS.gif';
var imageMINUS='../../media/menus/bevArrowMINUS.gif';

if(typeof HTMLElement!="undefined" && !HTMLElement.prototype.insertAdjacentElement){
	HTMLElement.prototype.insertAdjacentElement = function(where,parsedNode)
	{
		switch (where){
		case 'beforeBegin':
			this.parentNode.insertBefore(parsedNode,this);
			break;
		case 'afterBegin':
			this.insertBefore(parsedNode,this.firstChild);
			break;
		case 'beforeEnd':
			this.appendChild(parsedNode);
			break;
		case 'afterEnd':
			if (this.nextSibling) this.parentNode.insertBefore(parsedNode,this.nextSibling);
			else this.parentNode.appendChild(parsedNode);
			break;
		}
	}

	HTMLElement.prototype.insertAdjacentHTML = function(where,htmlStr)
	{
		var r = this.ownerDocument.createRange();
		r.setStartBefore(this);
		var parsedHTML = r.createContextualFragment(htmlStr);
		this.insertAdjacentElement(where,parsedHTML)
	}

	HTMLElement.prototype.insertAdjacentText = function(where,txtStr)
	{
		var parsedText = document.createTextNode(txtStr);
		this.insertAdjacentElement(where,parsedText);
	}
}
//----------------------end insertAdjacent code-------------------------------------------------------

// ::::::::::::::::
// :::: Styles :::
// ::::::::::::::::
function setSTYLES(exempTH)
{
mainTABLEElement=document.getElementById("mainTable");
TDCol=mainTABLEElement.getElementsByTagName("td");
for (s=0; s<TDCol.length; s++)
	{TDCol.item(s).style.verticalAlign='middle';}
	
// Set Transparency level
if(navigator.appName == 'Microsoft Internet Explorer')
	{document.getElementById('menuSystem').style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+TValue+")";}
else
	{document.getElementById('menuSystem').style.MozOpacity=1;
	 TValue=parseFloat(TValue/100-.001); // .001 is fix for moz opacity/image bug
	 document.getElementById('menuSystem').style.MozOpacity=TValue;}
// Collection used to determine if section has children
SUBTABLECol=mainTABLEElement.getElementsByTagName("table");
for (s=0; s<SUBTABLECol.length; s++)
	{
	TDChildrenCol=SUBTABLECol.item(s).getElementsByTagName("td");
	// If children then insert image depending on ECState
	if(TDChildrenCol.length>0)
		{
		THCol=SUBTABLECol.item(s).getElementsByTagName("th");
		TRCol=SUBTABLECol.item(s).getElementsByTagName("tr");
		
		//iniState=THCol.item(0).getAttribute("ECState");
		if (exempTH!=s)
		//if(iniState==0)
		{
			var str='&nbsp;<IMG border="0" src="'+imagePLUS+'" align="bottom" />&nbsp;';
			THCol.item(0).insertAdjacentHTML("afterBegin", str);
			THCol.item(0).style.fontWeight="normal";
			THCol.item(0).setAttribute("ECState",0);
			for (c=1; c<TRCol.length; c++) {TRCol.item(c).style.display='none';	}
			
		}
		else	 //if(iniState==1)
		{
			var str='&nbsp;<IMG border="0" src="'+imageMINUS+'" align="bottom" />&nbsp;';
			THCol.item(0).insertAdjacentHTML("afterBegin", str);
			if(gettmURL(getmURL(THCol.item(0).innerHTML))==gettmURL(getwURL())){THCol.item(0).setAttribute("bgColor","#FFFFFF");}
			THCol.item(0).setAttribute("ECState",1);
			for (c=1; c<TRCol.length; c++)
				{
					//alert("hi");
					//alert(gettmURL(getwURL()));
					if(navigator.appName == 'Microsoft Internet Explorer')
					{
						if(navigator.userAgent.indexOf('Opera') != -1)
							{TRCol.item(c).style.display='table-row';}
						else	{TRCol.item(c).style.display='block';}
						//alert(gettmURL(getwURL()));
						if(gettmURL(getmURL(TRCol.item(c).innerHTML))==gettmURL(getwURL())){
							TRCol.item(c).setAttribute("bgColor","#FFFFFF");
							TRCol.item(c).style.fontWeight="bold";}
					}
					else	{TRCol.item(c).style.display='table-row';
							//alert(gettmURL(getwURL()));
							if(gettmURL(getmURL(TRCol.item(c).innerHTML))==gettmURL(getwURL())){
								TRCol.item(c).setAttribute("bgColor","#FFFFFF");
								TRCol.item(c).style.fontWeight="bold";}
					}
				}
		}
		THCol.item(0).style.cursor="pointer";
		}
		else
		{
			THCol=SUBTABLECol.item(s).getElementsByTagName("th");
			THCol.item(0).insertAdjacentHTML("afterBegin", "&nbsp;&nbsp;&nbsp;&nbsp;");
			if(gettmURL(getmURL(THCol.item(0).innerHTML))==gettmURL(getwURL())){THCol.item(0).setAttribute('bgColor','#FFFFFF');}
			if (exempTH!=s){
			THCol.item(0).style.fontWeight="normal";
			}
			//else {
			//THCol.item(0).setAttribute('bgColor','#FFFFFF')}
		}
	}
}

// :::::::::::::::::::::::::::
// :::: Global Functions :::
// :::::::::::::::::::::::::::
//window.onload=InitializePage;

function InitializePage(exTH)
{
if (!exTH) var exTH = -1;
hideALL(); setSTYLES(exTH-1); attachEventhandlers();
document.getElementById('menuSystem').style.visibility = "visible";
}
//

// Attach event handlers to all images within container
function attachEventhandlers()
{
mainTABLEElement=document.getElementById("mainTable");
TABLECol=mainTABLEElement.getElementsByTagName("table");

if (TABLECol!=null)
	{for (l=0; l<TABLECol.length; l++)
		{
		THCol=TABLECol.item(l).getElementsByTagName("th");
		THCol.item(0).setAttribute('id',l);
		if(handlerTYPE=='mouseover')
			{THCol.item(0).onmouseover=eHandler;
			 document.getElementsByTagName("body").item(0).onclick=eHandler;}
		else if(handlerTYPE=='click')
			{document.getElementsByTagName("body").item(0).onclick=eHandler;}
		}
	}
}

function getmURL(symurl)
{
   symurl1=symurl.substring((symurl.indexOf('href=')+6),((symurl.indexOf('href=')+6)+(symurl.substring(symurl.indexOf('href=')+6).indexOf('"'))));  
   symurl2=symurl1;
   if(symurl1.indexOf('#')>-1){
   symurl2=symurl1.substring(0,(symurl1.indexOf('#')));}
   if(symurl1.indexOf('?')>-1){
   symurl2=symurl1.substring(0,(symurl1.indexOf('?')));}
   return symurl2;
}

function getwURL()
{
   sywurl=document.location.href;
   sywurl1=sywurl.substring(sywurl.lastIndexOf('/')+1);
   sywurl2=sywurl1;
   if(sywurl1.indexOf('#')>-1){
   sywurl2=sywurl1.substring(0,(sywurl1.indexOf('#')));}
   if(sywurl1.indexOf('?')>-1){
   sywurl2=sywurl1.substring(0,(sywurl1.indexOf('?')));}
   return sywurl2;
}

function gettmURL(tmurl)
{
   sywurl=tmurl;
   sywurl1=sywurl.substring(sywurl.lastIndexOf('/')+1);
   sywurl2=sywurl1;
   if(sywurl1.indexOf('#')>-1){
   sywurl2=sywurl1.substring(0,(sywurl1.indexOf('#')));}
   if(sywurl1.indexOf('?')>-1){
   sywurl2=sywurl1.substring(0,(sywurl1.indexOf('?')));}
   return sywurl2;
}

function hideALL()
{
mainTABLEElement=document.getElementById("mainTable");
TABLECol=mainTABLEElement.getElementsByTagName("table");
for (a=0; a<TABLECol.length; a++)
	{
	IMGCol=TABLECol.item(a).getElementsByTagName("IMG");
	if (IMGCol.item(0)!=null){IMGCol.item(0).setAttribute('src','/'+imagePLUS);}
	
	THCol=TABLECol.item(a).getElementsByTagName("th");
	for (b=0; b<THCol.length; b++)
		{THCol.item(b).setAttribute("ECState",0);}
		
	TRCol=TABLECol.item(a).getElementsByTagName("tr");
	for (c=1; c<TRCol.length; c++)
		{
		TRCol.item(c).style.display='none';
		}
	}
}

function showSingle()
{
mainTABLEElement=document.getElementById("mainTable");
TABLECol=mainTABLEElement.getElementsByTagName("table");

if (TABLECol!=null)
	{
	for (z=0; z<TABLECol.length; z++)
		{
		TRCol=TABLECol.item(z).getElementsByTagName("tr");
		THCol=TABLECol.item(z).getElementsByTagName("th");
		IMGCol=TABLECol.item(z).getElementsByTagName("IMG");

		// Grab ECState and expand or collapse branch
		State=THCol.item(0).getAttribute("ECState");
		if(State==0)
			{
			// ECState is COLLAPSED (+) (0)
			
			if (IMGCol.item(0)!=null){IMGCol.item(0).setAttribute('src',imagePLUS);}
			//if (THCol.item(0)!=null){THCol.item(0).setAttribute('bgColor','#FFFFFF');}
			for (l=1; l<TRCol.length;l++)
				{
				TRCol.item(l).style.display='none';
				}
			}
		else	 if(State==1)
			{
			// ECState is EXPANDED (-) (1)
			
			if (IMGCol.item(0)!=null){IMGCol.item(0).setAttribute('src',imageMINUS);}
			//if (THCol.item(0)!=null){THCol.item(0).setAttribute('bgColor','#DCEEFF');}
				for (m=0; m<TRCol.length; m++)
				{// Brow'er compatibility code
				if(navigator.appName == 'Microsoft Internet Explorer')
					{
					if(navigator.userAgent.indexOf('Opera') != -1)
						{TRCol.item(m).style.display='table-row';}
					else	{TRCol.item(m).style.display='block';}
					}
				else	{TRCol.item(m).style.display='table-row';}
				}
			}
		}
	}
}

// ::::::::::::::::::::::::::
// ::::  Event Handlers  ::::
// ::::::::::::::::::::::::::
var targ;
var previousTargID

function eHandler(e)
{
// Browser compatibility code
if (!e) var e = window.event;
if (e.target) targ = e.target;
else if (e.srcElement) targ = e.srcElement;
if(targ.nodeType == 3) // defeat Safari bug
	targ=targ.parentNode;
THElement=findTH(targ);
if(THElement!=null)
	{
	if(THElement.id!=previousTargID && oneBranch=='yes' )
		{hideALL();}
	if(handlerTYPE=='mouseover')
		{hideALL();}		
	previousTargID=THElement.id
	// Toggle ECState
	State=THElement.getAttribute("ECState");
		if(State==0){THElement.setAttribute("ECState",1);}
		else{THElement.setAttribute("ECState",0);}
	showSingle();
	}
else{}
}

function findTH(t)
{
if(t.tagName!=null){
  if(t.tagName.toLowerCase()=="th")
  	{
  	return t;}
  else if(t.tagName == "body")
  	{  	return null;}
  else
  {return findTH(t.parentNode);}}
}


