var mainNavHolder="mainNav";
var hiddenFormFieldId="ctl00_hdnNavOpenItems";

// Configuration 
var nm_config = { 
    persistance    : true,                                // Toogle cookie-based persistence 
    images        : true,                                // Toggle list-style-image support 
    is            : new nm_bs(),                        // Browser sniffer object 
    count        : 0,                                // Placeholder for counting 
    parseType    : null,                                // Placeholder for open/save parsing type 
    operation    : null                                // Placeholder for operation type 
}

function onLoadMethod()
{
	initialiseMenu('treeNav0List0');
	attachHover(document.getElementById("resultstable"));
	attachClick(document.getElementById("attachments"), null, null);
}

// Inits menu.  Ignores process if browser not compatible 
function initialiseMenu( id ) 
{ 
	node=document.getElementById(id);
	// reload the main navigation div element to clear Firefox display bugs
    if ( !nm_config.is.dom || nm_config.is.mac ) return; 
    var menu = document.getElementById( id ); 
    if ( menu == null ) return; 

    if ( nm_config.is.norm ) menu.normalize(); 
    // recursive menu build
    closeItems( menu, "UL" );
    var hiddenElement=document.getElementById(hiddenFormFieldId);
   
    var strElement = hiddenElement.value;

	var arrElements = strElement.split(",");

	for (i=0; i < arrElements.length; i++) 
	{	
		if (arrElements[i].length > 0){
            
			node=document.getElementById(arrElements[i] + "node");
			node.className="open";
		}
	}
}
// Closed all nodes and hides child ul lists
function closeItems( oNode, type ) 
{
    var i = 0;
    while( i < oNode.childNodes.length ) 
    { 

        var currNode = oNode.childNodes[i]; 
        if ( currNode.childNodes.length > 0 ) 
            closeItems( currNode, type ); 
        if ( currNode.nodeName == type ) 
        { 
			// hide item
			//currNode.style.display="none";
			// set the className of the ul's parent li to closed
			oNode.className="closed";
        }
        i++; 
    }
	navNode=document.getElementById('mainNav');
	// reload the main navigation div element to clear Firefox display bugs
	navNode.style.display="none";
	navNode.style.display="block";
} 

// Closed all nodes and hides child ul lists
function closeItemChildren( oNode, type ) 
{
    var i = 0;
    if(oNode!=null)
    {
		while( i < oNode.childNodes.length ) 
		{ 
			var currNode = oNode.childNodes[i]; 
			if ( currNode.childNodes.length > 0 )
				closeItemChildren( currNode, type ); 
			if ( currNode.nodeName == type ) 
			{
				// hide item
				currNode.style.display="none";
			}
			i++; 
		}
    }
} 

// Closed all nodes and hides child ul lists
function toggleItemVisibility( oNode, type ) 
{
    var i = 0;
    while( i < oNode.childNodes.length ) 
    { 
        var currNode = oNode.childNodes[i]; 
        if ( currNode.childNodes.length > 0 )
        {
            toggleItemVisibility( currNode, type); 
			if ( (currNode.nodeName == type) && (currNode.style.display=="block"))
			{ 
				currNode.style.display="none";
			} 
			else if ((currNode.nodeName == type) && (currNode.style.display=="none"))
			{ 
				currNode.style.display="block";
			}  
		}
		i++;
    }
}
function attachHover(tableparent) 
{
	// Find the Results table
	if(tableparent!=null)
	{
		//tableparent has only one child, which is the TBody tag
		var table = tableparent.firstChild;
		//start at 1 to ignore the header row
		for(i = 1; i < table.childNodes.length; i++)
		{
			table.childNodes[i].onmouseover=function(){this.className+=" over";}
			table.childNodes[i].onmouseout=function() {this.className=this.className.replace(" over", "");}
		}
	}
}
function attachClick(oNode, parentType, childType) {
    if(oNode != null)
    {
		var i = 0;
		while( i < oNode.childNodes.length ) 
		{	
			node = oNode.childNodes[i];
			if ( node.childNodes.length > 0 )
			{
				if (node.nodeName == "UL")
				{
					node.onclick=function() {
						toggleItemVisibility(this,"LI");
					}
					node.onrightclick=function() {
						toggleItemVisibility(this,"LI");
					}
				}
				attachClick( node, parentType, childType ); 
			}
			i++;
		}
	}
} 
// Browser sniffer constructor 
function nm_bs() 
{ 
    this.dom     = Boolean( document.getElementById ); 
    this.ie     = Boolean( document.all ); 
    this.gecko     = Boolean( ( navigator.product ) && ( navigator.product.toLowerCase()=="gecko" ) ); 
    this.norm     = Boolean( document.normalize ); 
    this.mac     = Boolean( navigator.userAgent.indexOf("Mac") > -1 ); 
} 
function toggleNavDisplay() 
{
	node=getElementById('htgBody');
	if (node.className=="mainView"){
		node.className="toggledView";
	}
	else {
		node.className="mainView";
	}
	return false;
}

function GetChildElem(eSrc,sTagName)
{
 var cKids = eSrc.childNodes;
 
  for (var i=0; i<cKids.length;i++)
  {
   if (sTagName == cKids[i].tagName) return cKids[i];
  }
  return false;
}

function linkclick(e)
{
 var unicode=e.keyCode? e.keyCode : e.charCode

  if((unicode==13)||(unicode==null)||(unicode==0)){
     var eSrcLink;
     var eSrcLinkId;
     
     //mask events for multi browser compatibility.  
     if (window.event) e = window.event;  eSrcLink = e.srcElement? e.srcElement : e.target; 
     
     // remove hierarchichal _ joined asp.net control hierarchichal parts
     eSrcLinkParts=eSrcLink.id.split("_");
     eSrcLinkId=eSrcLinkParts[eSrcLinkParts.length-1];
      
     if (eSrcLinkId != "")
     {
     //alert("source id not blank");
      var eSrc = document.getElementById(eSrcLinkId + "node");
      var hiddenElement=document.getElementById(hiddenFormFieldId);
      var strElement = hiddenElement.value;

      var arrElements = strElement.split(",");	
      if (eSrc != null)
      {
	    if (eSrc.className == "closed")
	    {
    	

		    arrElements[arrElements.length]=eSrcLinkId;
		    var strFinishedElements=arrElements.join(",");
		    document.getElementById(hiddenFormFieldId).value=strFinishedElements;
		    // set the parent li class to open
		    eSrc.className="open";
		    node=document.getElementById('mainNav');
		    // reload the main navigation div element to clear Firefox display bugs
		    node.style.display="none";
    	    node.style.display="block";
	    }
	    else
	    {	  
		    for (i=0; i < arrElements.length; i++) 
		    {
			    if (eSrcLinkId == arrElements[i])
			    {
				    removed=arrElements.splice(i,1);
				    var strFinishedElements=arrElements.join(",");
				    document.getElementById(hiddenFormFieldId).value=strFinishedElements;
			    }
		    }
		    // set the parent li class to closed
		    eSrc.className="closed";
		    node=document.getElementById('mainNav');
		    // reload the main navigation div element to clear Firefox display bugs
		    node.style.display="none";
    	    node.style.display="block";
	    }
      }
     }
   }
   if (unicode==9){
    return unicode;
   }
   else {
    return false;
   }
}
function CJL_getCurrentStyle(elem, prop)
{
   if( elem.currentStyle )
   {  
      var ar = prop.match(/\w[^-]*/g);
      var s = ar[0];
      
      for(var i = 1; i < ar.length; ++i)		   
      {
         s += ar[i].replace(/\w/, ar[i].charAt(0).toUpperCase());
      }
           
      return elem.currentStyle[s]
   }
   else if( document.defaultView.getComputedStyle )
   {
      return document.defaultView.getComputedStyle(elem, null).getPropertyValue(prop);
   }
}
