

var L_LoadingMsg_HTMLText = "Loading, click to cancel...";
var LoadDiv = '<DIV ONCLICK="loadFrame(true);" CLASS="clsLoadMsg">';
L_LoadingMsg_HTMLText = LoadDiv + L_LoadingMsg_HTMLText + "</LI>";

//var TreeServerAddress="http://194.165.5.2/teams/exec.asp?F=TreeNodeExpand&P=";
var ContentServerAddress="http://194.165.5.2/teams/exec.asp?F=TreeNodeClick&P=";
var TreeServerAddress="tree_children.htm";
var root;
//var ContentServerAddress="content_page.htm"


////////////////////////////////////////////
// Not sure why this is here, it puts a scrollbar up when none is needed
// if("object" == typeof(parent.document.all.fraPaneToc)) parent.document.all.fraPaneToc.scrolling = "yes";
////////////////////////////////////////////

var eSynchedNode = null;
var eCurrentUL = null;
var eCurrentLI = null;
var bLoading = false;
var prevBackColor = "#FFFFFF";

function LoadFrame( bStopLoad )
{
    if( "object" == typeof( eCurrentUL ) && eCurrentUL && !bStopLoad )
    {
      eCurrentUL.innerHTML = hiddenframe.chunk.innerHTML;
      hiddenframe.chunk.innerHTML = "";
      eCurrentUL = null;
      bLoading = false;
    }
    else if( "object" == typeof( eCurrentUL ) && eCurrentUL )
    {
      
      eCurrentUL.parentElement.children[1].className = "";
      eCurrentUL.parentElement.children[0].src = "images/plus.gif" ;
      eCurrentUL.parentElement.className = "clsHasChild";
      eCurrentUL.className = "clsHidden";
      eCurrentUL.innerHTML="";
      eCurrentUL = null;
      bLoading = false;
    }
    else
    {
      bLoading = false;
    }
    return;
}

function GetNextTag(eSrc, tagName)
{
    var eRef = eSrc;
    for(var i = 0; i < eRef.children.length; i++) if(tagName == eRef.children[i].tagName) 
     return eRef.children[i];
    return false;
}

function MarkSync(eSrc)
{
    if("object" == typeof(aNodeTree)) aNodeTree = null;
    if("LI" == eSrc.tagName.toUpperCase() && eSrc.children[1] && eSynchedNode != eSrc )
    {
        UnmarkSync();
        //eSrc.style.fontWeight = "bold";
		prevBackColor = eSrc.style.backgroundColor ;
		eSrc.style.backgroundColor = "#DDEFF6";
        eSynchedNode = eSrc;
    }
}

function UnmarkSync()
{
    if("object" == typeof(eSynchedNode) && eSynchedNode )
    {
        eSynchedNode.style.backgroundColor = prevBackColor;
        //eSynchedNode.style.fontWeight = "normal";
        eSynchedNode = null;
    }
}

function MarkActive(eLI)
{
    if( "object" == typeof( eLI ) && eLI && "LI" == eLI.tagName.toUpperCase() && eLI.children[1] && eLI != eCurrentLI )
    {
        MarkInActive();
        window.eCurrentLI = eLI;
        //window.eCurrentLI.children[1].className = "clsCurrentLI";
    }
}

function MarkInActive()
{
    if( "object" == typeof( eCurrentLI ) && eCurrentLI )
    {
        //window.eCurrentLI.children[1].className = "";
        window.eCurrentLI = null;
    }
}

function LoadContent( eLI )
{
    //eHref = eLI.GetNextTag(eLI, "a");
    parent._frmContent.location = eLI.path;
    //parent._frmContent.location = ContentServerAddress;
    MarkSync(eLI);
}
//----------------------------------------------------------
//----------------------------------------------------------
function ChangeState( eImg )
{
    var eLI = eImg.parentElement;
    if("clsNoChild" != eLI.className)
    {
        MarkActive(eLI);
        var eUL = GetNextTag(eLI,"UL");
        if(eUL && "clsVisibleChild" == eLI.className)
        {
           eLI.className = "clsHiddenChild";
           eUL.style.visibility = "hidden";
           eImg.src = "images/plus.gif";
           eUL.className = "clsHidden";
        }
        else if (eUL && "clsHiddenChild" == eLI.className)
        {
	        eLI.className = "clsVisibleChild";
		eImg.src = "images/minus.gif";
		eUL.style.visibility = "visible";
		eUL.className = "clsVisible";
        }
    }
}
//----------------------------------------------------------
//----------------------------------------------------------
function Tree_click()
{
    var eSrc = window.event.srcElement;
    event.returnValue = false;
    if("IMG" == eSrc.tagName.toUpperCase() && "LI" == eSrc.parentElement.tagName)
        ChangeState(eSrc);
        
    //else if("LI" == eSrc.tagName.toUpperCase())
    //    LoadContent( eSrc );
    else if("A" == eSrc.tagName.toUpperCase())    
    {  
      event.returnValue = true;
    }
    return event.returnValue;
}

function Toc_dblclick()
{
//
}
//----------------------------------------------------------
//----------------------------------------------------------
function mouse_over()
{
//    var eSrc = window.event.srcElement;
}
function Expand(ID)
{
  var eLI = document.all[ID];//FindNode(ID);
  eImg = GetNextTag(eLI, "IMG");
  ChangeState(eImg); // toggles the state of the node
  /*if("clsNoChild" != eLI.className)
    {
        MarkActive(eLI);
        var eUL = GetNextTag(eLI,"UL");
        if (eUL && "clsHiddenChild" == eLI.className)
        {
	        eLI.className = "clsVisibleChild";
		eImg.src = "images/minus.gif";
		eUL.style.visibility = "visible";
		eUL.className = "clsVisible";
        }
    }*/
}
//----------------------------------------------------------
function HierarchicalExpand(ID)
{
	if (ID== null)
		ID = "node1";
	var node = document.all[ID];
	if(node==null)
		alert("this id doesn't exist in the tree. Please run the Web Creator Application");
	while(node.id.toUpperCase() != "ULROOT")
	{
		if(node.tagName.toUpperCase() == "LI")
		{
			Expand(node.id);
		}
		node = node.parentElement;
	}	
}
//----------------------------------------------------------
//----------------------------------------------------------
function FindNode( nodeID)
{
  for(var i=0; i<document.all.tags( "LI" ).length; i++)
  {
    if(document.all.tags( "LI" )[i].id == nodeID)
      return document.all.tags( "LI" )[i];
  }
  return false;
}
//----------------------------------------------------------
//----------------------------------------------------------
function window_load()
{
    var objStyle = null;
    if( "object" == typeof ( ulRoot ) && "object" == typeof( objStyle = document.styleSheets[0] ) && "object" == typeof( objStyle.addRule ) )
    {
        window.eSynchedNode = document.all["eSynchedNode"];
        objStyle.addRule( "UL.clsHidden" , "display:none" , 0 );
        ulRoot.onclick=Tree_click;
        ulRoot.ondblclick=Toc_dblclick;
        document.onmouseover = mouse_over;
        if( window.eSynchedNode )
        {
            MarkActive(window.eSynchedNode);
            window.eSynchedNode.all.tags( "B" )[0].outerHTML = eSynchedNode.all.tags("B")[0].innerHTML;
            window.scrollTo(0,window.eSynchedNode.offsetTop-(document.body.clientHeight/2));
        }
        else
        {
            MarkActive(document.all.tags( "LI" )[0]);
        }
    }
	//HierarchicalExpand(<%=Request.QueryString("id")%>);
}


//----------------------------------------------------------
//----------------------------------------------------------


