//check for browser type and call load function accordingly
window.onload = onLoad;

var allCollapsed = false;
var sa = "";
var collapsedTextNode = "";
var expandedTextNode = "";


function checkElement(currentEvent)
{
    if(currentEvent == null)
    {
        //IE
        //use event.srcElement.tagName
    }
    else
    {
        //firefox
        //use currentEvent.target.nodeName
    }
}

function onLoad()
{
    if(typeof(IsPrinterFriendly) == "undefined")
    {
        showExpandAll();
        collapseHiddenSections();
    }
    else
    {
        sa = document.getElementById("chkViewAll");

        if (sa != null)
        {
            sa.checked = false;
        }
    }
    
    collapsedTextNode = document.getElementById("chkViewAllTextCollapse");
    expandedTextNode = document.getElementById("chkViewAllTextExpand");
    
    
    if(typeof init == 'function') {
        init();
    } 
	
	//Herbst

	//Herbst
    
}

function showExpandAll()
{
    var elem = document.getElementById("selectAll");
    if (elem != null)
    {
        elem.style.display ='';
    }
}

function collapseHiddenSections()
{
    var sections = document.getElementsByTagName("tr");
    for (var i = 0; i < sections.length; i++)
    {
        if (sections[i].className=="collapse")
        {
            showPieceFindIcon( false, sections[i]);
        }
    }
}

function toggleAllCollapsedSections()
{
    sa = document.getElementById("chkViewAll");
    var ch = sa.checked;
    var sections = document.getElementsByTagName("tr");
    var visibleClass;
    for (var i = 0; i < sections.length; i++)
    {
        if (sections[i].className=="expand" || sections[i].className=="collapse")
        {
            showPieceFindIcon( ch, sections[i]);
        }
    }
    
    toggleMasterExpandCollapse();
}

function toggleV(id)
{
    var elem = document.getElementById("eC"+id);
    var icon = document.getElementById("ico"+id);
    var show = (elem.style.display != '');
    showPiece(show, elem, icon);

    toggleMasterExpandCollapse();
}

function showPieceFindIcon( show, elem )
{
    var iconId = "ico"+elem.id.slice(2);
    var icon = document.getElementById(iconId);
    showPiece(show, elem, icon);
}

function showPiece( show, elem, icon )
{
    if ( elem == null || icon == null)
    {
        return;
    }
    
    if (show)
    {
        elem.style.display ='';
           icon.innerHTML = "<img src='/img/menu/gl_arrow_down_static.gif'/>";
    }
    else
    {
        elem.style.display = 'none';
        icon.innerHTML = "<img src='/img/menu/gl_arrow_up_static.gif'/>";
        sa = document.getElementById("chkViewAll");
        
        if (sa != null)
        {
            sa.checked = false;
        }
    }
}

function hoverIcon(id,state)
{
    var statString='static';
    var hovString='hover';
    var icon;
    if(id=='displayAll')
    {
      statString='.gif';
      hovString='_hover.gif';
      icon=document.getElementById('chkViewAllImg');
      var tagAll=new String(icon.outerHTML);
      switch(state)
      {
        case 'on':
          icon.outerHTML=tagAll.replace(statString,hovString);
          break;
        case 'off':
          icon.outerHTML=tagAll.replace(hovString,statString);
          break;
      }
    }
    else
    {
      icon = document.getElementById('ico'+id);
      var tag = new String(icon.innerHTML);
      
      switch(state)
      {
        case 'on':
          icon.innerHTML=tag.replace(statString,hovString);
          break;
        case 'off':
          icon.innerHTML=tag.replace(hovString,statString);
          break;
      }
    }
}

function closep(id)
{
    var a = document.getElementById("ch_"+id);
    if (a != null)
    {
        a.checked = true;
    }
    
    var t = document.getElementById(id);
    if (t!=null)
    {
        t.style.display = "none";
    }
    
}

function p(id, num)
{
    var a = document.getElementById(num+"_"+id);
    var elem = a;
    
    var defPop = document.getElementById(id);
    var x = 0;
    var y = elem.offsetHeight * 2;


    if(defPop.style.display=="none")
    {
        closeOtherGlossaryDefs();        
        if (defPop.clientHeight > 200)
        {
            defPop.style.height = 200;
        }
        if(navigator.appVersion.indexOf('MSIE 7')>-1)
        {
          while (elem.tagName != "BODY")
          {
            y += elem.offsetTop;
            x += elem.offsetLeft;
            
            elem = elem.offsetParent;
          }
        
          if (x + defPop.clientWidth > document.body.clientWidth - 8 )
          {
              var temp = document.body.clientWidth - defPop.clientWidth - 8;
            if (temp < 0)
            {
                temp = 0
            }
            
            x = temp;
          }

          defPop.style.top = y - 10;
          defPop.style.left = x;
          defPop.style.display="block";
          a.setCapture();
            event.returnValue = false;
        }
        else if(navigator.appVersion.indexOf('MSIE 6')>-1)
        {
          x+=elem.offsetLeft;
          x+=elem.offsetParent.offsetLeft;
          
          while (elem.tagName != "BODY")
          {
            y += elem.offsetTop;
            elem = elem.offsetParent;
        
          }
          if (x + defPop.clientWidth > document.body.clientWidth - 8 )
          {
              var temp = document.body.clientWidth - defPop.clientWidth - 8;
            if (temp < 0)
            {
                temp = 0
            }
            
            x = temp;
          }
          defPop.style.top = y - 215;
          defPop.style.left = x;
          defPop.style.display="block";
          a.setCapture();
            event.returnValue = false;
         }
        else
        {
        
          elem.style.position='relative';
          elem.style.zIndex='1';
          defPop.style.top=elem.offsetTop + 45;
          defPop.style.left=elem.offsetLeft;
          defPop.style.display="block";
          a.setCapture();
          event.returnValue=false;
          }
    }  
    else
    {
        defPop.style.display="none";
        a.releaseCapture();
        event.returnValue = false;
    }
}

function closeOtherGlossaryDefs()
{
    var defs = document.getElementsByTagName("div");
    for (var i = 0; i < defs.length; i++)
    {
        if (defs[i].className=="glossaryItem")
        {
            defs[i].style.display = "none";
        }
    }
}

function chkViewAllLinkUpdate(currentNode, action)
{
    //action is optional. If it exists, use it to click on the specifed node
    if(action == 'click')
    {
        currentNode.parentNode.childNodes[0].click();
    }
    
    if(currentNode.parentNode.childNodes[0].checked)
    {
        currentNode.childNodes[0].innerHTML = collapsedTextNode.innerHTML;
    }
    else
    {
        currentNode.childNodes[0].innerHTML = expandedTextNode.innerHTML;
    }
}

function toggleMasterExpandCollapse()
{
    var tableRows = document.getElementsByTagName("tr");
    var chkViewElement = document.getElementById("chkViewAll");
    var allRowsVisible = true;
    
    for (var i = 0; i < tableRows.length; i++)
    {
        if (tableRows[i].className=="expand" || tableRows[i].className=="collapse")
        {
            if((tableRows[i].style.display == 'none'))
            {
                allRowsVisible = false;
            }
        }
    }
    
    //update check box and text
    if(allRowsVisible)
    {
        chkViewElement.checked = true;
        chkViewElement.parentNode.childNodes[1].childNodes[0].innerHTML = collapsedTextNode.innerHTML;
    }
    else
    {
        chkViewElement.parentNode.childNodes[1].childNodes[0].innerHTML = expandedTextNode.innerHTML;
        chkViewElement.checked = false;
    }
    
    //update graphic
    chkViewAllLinkUpdate(chkViewElement.parentNode.childNodes[1]);

}



// JavaScript Document
