// CLOSED_IMAGE='img/orange_arrow.png';
// OPEN_IMAGE='img/orange_arrow_down.png';

/* makeCollapsible - makes a list have collapsible sublists
 * 
 * listElement - the element representing the list to make collapsible
 */
function makeCollapsible(listElement,stat){

  // removed list item bullets and the space they occupy
  listElement.style.listStyle='none';
  listElement.style.listStylePosition='outside';
  listElement.style.marginLeft='0';
  listElement.style.paddingLeft='0';

  // loop over all child elements of the list
  var child=listElement.firstChild;
  while (child!=null){

    // only process li elements (and not text elements)
    if (child.tagName=='LI'){

      // build a list of child ol and ul elements and hide them
      var list=new Array();
      var grandchild=child.firstChild;
      while (grandchild!=null){
        if (grandchild.tagName=='OL' || grandchild.tagName=='UL'){
			if (stat!='open') {
		   	  grandchild.style.display='none';
          	  list.push(grandchild);
			} else {
		   	  grandchild.style.display='block';
          	  list.push(grandchild);
			}
        }
        grandchild=grandchild.nextSibling;
      }

      // add toggle buttons
      var node=document.createElement('img');
if (stat!='open') {
      node.setAttribute('src',CLOSED_IMAGE);
      node.setAttribute('class','collapsibleClosed');
} else {
      node.setAttribute('src',OPEN_IMAGE);
      node.setAttribute('class','collapsibleOpen');
}
      node.onclick=createToggleFunction(node,list);
      child.insertBefore(node,child.firstChild);


    }

    child=child.nextSibling;

 
  }

}

/* createToggleFunction - returns a function that toggles the sublist display
 * 
 * toggleElement  - the element representing the toggle gadget
 * sublistElement - an array of elements representing the sublists that should
 *                  be opened or closed when the toggle gadget is clicked
 */
function createToggleFunction(toggleElement,sublistElements){

  return function(){

    // toggle status of toggle gadget
    if (toggleElement.getAttribute('class')=='collapsibleClosed'){
      toggleElement.setAttribute('class','collapsibleOpen');
      toggleElement.setAttribute('src',OPEN_IMAGE);
    }else{
      toggleElement.setAttribute('class','collapsibleClosed');
      toggleElement.setAttribute('src',CLOSED_IMAGE);
    }

    // toggle display of sublists
    for (var i=0;i<sublistElements.length;i++){
      sublistElements[i].style.display=(sublistElements[i].style.display=='block')?'none':'block';
    }

  }

}

