/**
 * These functions deal with domcollapse 
 * show and hide menus based on click
 */
 
var expandedTriggerClass='triggerexpanded';
var normalTriggerClass='triggernormal';
var hoverTriggerClass='triggerhover';
var normalElementClass='elementnormal';
var collapsedElementClass='elementcollapsed';
var collapsedElements=new Array();
var triggerElements=new Array();
var gPrevOpenedSelect = "";
var gPrevOpenedTrigger = "";

var ILEFormModified = false;
  
function domCollapse()
{
  if(document.getElementById && document.createTextNode)
  {
    
    var triggerClass=/trigger/;
 
    var elms,tohide,colobj,elementsToCheck,triggerelements,parentElementId;
    elementsToCheck=triggerelements?triggerelements:'div';
    
    if(parentElementId)
    {
      elms=document.getElementById('parentElementId').getElementsByTagName(elementsToCheck);
    } else {
      elms=document.getElementsByTagName(elementsToCheck);
    }

    for (i=0;i<elms.length;i++)
    {
      if(triggerClass.test(elms[i].className))
      {
        tohide=elms[i].nextSibling;
        while(tohide.nodeType!=1)
        {
          tohide=tohide.nextSibling;
        }

        collapsedElements.push(tohide)
        triggerElements.push(elms[i])
        elms[i].colobj=tohide;
        elms[i].onmouseover=function(){doTriggerHover(this);}
        elms[i].onmouseout=function(){juggleClass(this,hoverTriggerClass,0);}
        elms[i].onclick=function(){doDomCollapse(this,this.colobj);return false}
      }
    }
  }
}
  
function doTriggerHover(o)
{
  if(o.className.indexOf(hoverTriggerClass)==-1 && 
     o.className.indexOf(expandedTriggerClass)==-1)
  {
    juggleClass(o,hoverTriggerClass,1)
  }
}
  
function doDomCollapse(o,t)
{
  if(t)
  {
    if(t.className.indexOf(collapsedElementClass)!=-1)
    {
      juggleClass(t,collapsedElementClass,0);
      juggleClass(t,normalElementClass,1);
      juggleClass(o,normalTriggerClass,0);
      juggleClass(o,expandedTriggerClass,1);

      if (gPrevOpenedSelect && gPrevOpenedSelect.className && gPrevOpenedSelect != t &&
          gPrevOpenedTrigger && gPrevOpenedTrigger.className && gPrevOpenedTrigger != o) 
      {
        juggleClass(gPrevOpenedSelect,normalElementClass,0);
        juggleClass(gPrevOpenedSelect,collapsedElementClass,1);
        juggleClass(gPrevOpenedTrigger,expandedTriggerClass,0);
        juggleClass(gPrevOpenedTrigger,normalTriggerClass,1);
      }

      gPrevOpenedSelect = t;
      gPrevOpenedTrigger = o;
    }else{
      juggleClass(t,normalElementClass,0);
      juggleClass(t,collapsedElementClass,1);
      juggleClass(o,expandedTriggerClass,0);
      juggleClass(o,normalTriggerClass,1);

    }
  }
}
  
function doDomCollapseAll(state)
{
  var i,o,t;
  for(i=0;i<collapsedElements.length;i++)
  {
    t=collapsedElements[i]; 
    o=triggerElements[i]; 

    if(state==1)
    {
      juggleClass(t,collapsedElementClass,0);
      juggleClass(t,normalElementClass,1);
      juggleClass(o,normalTriggerClass,0);
      juggleClass(o,expandedTriggerClass,1);
    } else {
      juggleClass(t,normalElementClass,0);
      juggleClass(t,collapsedElementClass,1);
      juggleClass(o,expandedTriggerClass,0);
      juggleClass(o,normalTriggerClass,1);
    }
  }
}
  
function juggleClass(o,c,s)
{
   o.className=s==1?o.className+' '+c:o.className.replace(' '+c,''); 
}
 
     
window.onload=domCollapse;


