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';}

// 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");
		TDItmssCol=TRCol.item(0).getElementsByTagName("td");
                //iniState=THCol.item(0).getAttribute("ECState");
		if (exempTH!=s)
		//if(iniState==0)
		{
			var str='<td class="bevArrowPLUS">';
			//THCol.item(0).insertAdjacentHTML("afterBegin", str);
			//THCol.item(0).insertAdjacentHTML("beforeEnd", "</td>");
			THCol.item(0).style.padding="0";
			THCol.item(0).setAttribute("class","bevArrowPLUS");
			THCol.item(0).setAttribute("className","bevArrowPLUS"); 
			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='<td class="bevArrowMINUS">';
			//THCol.item(0).insertAdjacentHTML("afterBegin", str);
			if(gettmURL(getmURL(THCol.item(0).innerHTML))==gettmURL(getwURL())){
                          THCol.item(0).setAttribute("class","bevArrowMINUS2");
                          THCol.item(0).setAttribute("className","bevArrowMINUS2");
                        } else { THCol.item(0).setAttribute("class","bevArrowMINUS");
                        THCol.item(0).setAttribute("className","bevArrowMINUS"); }
			THCol.item(0).style.padding="0";

                        THCol.item(0).setAttribute("ECState",1);
			for (c=1; c<TRCol.length; c++)
				{
					
                                        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).style.fontWeight="bold";
							TRCol.item(c).setAttribute("class","submactive");
                                                        TRCol.item(c).setAttribute("className","submactive");}
						else { TRCol.item(c).setAttribute("class","submitm");
                                                TRCol.item(c).setAttribute("className","submitm");}
					}
					else	{TRCol.item(c).style.display='table-row';
							//alert(gettmURL(getwURL()));
							if(gettmURL(getmURL(TRCol.item(c).innerHTML))==gettmURL(getwURL())){
                                                                TRCol.item(c).style.fontWeight="bold";
                                                                TRCol.item(c).setAttribute("class","submactive");
                                                                TRCol.item(c).setAttribute("className","submactive");}
							else { TRCol.item(c).setAttribute("class","submitm");
                                                        TRCol.item(c).setAttribute("className","submitm");}
					}  
                                        //TRCol.item(c).style.padding="0 0 0 60px";
				}
		}
		THCol.item(0).style.cursor="pointer";
		}
		else
		{
			THCol=SUBTABLECol.item(s).getElementsByTagName("th");
			//THCol.item(0).insertAdjacentHTML("afterBegin", "");
			THCol.item(0).style.padding="0";
			if(gettmURL(getmURL(THCol.item(0).innerHTML))==gettmURL(getwURL()))
                        { THCol.item(0).style.fontWeight="bold";
                        THCol.item(0).setAttribute("class","bevArrowNONE2");
                        THCol.item(0).setAttribute("className","bevArrowNONE2");}
                        else{THCol.item(0).setAttribute("class","bevArrowNONE");
                        THCol.item(0).setAttribute("className","bevArrowNONE");}
			
                        if (exempTH!=s){ THCol.item(0).style.fontWeight="normal"; }
			//else {
			//THCol.item(0).setAttribute("class","submactive");}
		}
	}
}

// :::::::::::::::::::::::::::
// :::: 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("class","bevArrowPLUS");}
			//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("class","bevArrowMINUS");}
			//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);}}
}



