// $Id: tree2.js,v 1.6 2007/02/15 00:21:50 patrick Exp $ 

function toggle(elm) {
 var newDisplay = "none";
 elm.style.backgroundImage = 'url(http://infotek.fph.ch/common/images/2007.01/folder-closed.gif)';
 var e = elm.nextSibling; 
 while (e != null) {
  if (e.nodeName == "OL" || e.nodeName == "ol") {
   if (e.style.display == "none") {
    newDisplay = "block";
    elm.style.backgroundImage = 'url(http://infotek.fph.ch/common/images/2007.01/folder-open.gif)';
   }
   break;
  }
  e = e.nextSibling;
 }
 while (e != null) {
  if (e.nodeName == "OL" || e.nodeName == "ol") e.style.display = newDisplay;
  e = e.nextSibling;
 }
}

function collapseAll(start) {
 var e = document.getElementById(start);
 if (! e) return;
 var lists = e.getElementsByTagName('ol');
 for (var j = 0; j < lists.length; j++)
 {
  lists[j].style.display = "none";
  lists[j].parentNode.firstChild.style.backgroundImage = 'url(http://infotek.fph.ch/common/images/2007.01/folder-closed.gif)';
 }
 e.style.display = "block";


 var firstlevel=e.childNodes;
 for (var jj=0; jj < firstlevel.length; jj++)
 {
  if ((firstlevel[jj].nodeName=='li' || firstlevel[jj].nodeName == 'LI') && firstlevel[jj].className != 'doc')
  {
   firstlevel[jj].firstChild.style.backgroundImage = 'url(http://infotek.fph.ch/common/images/2007.01/folder-closed.gif)';
  }
 }
}

function openAll(start)
{
 var e = document.getElementById(start);
 if (! e) return;
 var lists = e.getElementsByTagName('ol');
 for (var j = 0; j < lists.length; j++)
 {
  lists[j].style.display = "block";
  lists[j].parentNode.firstChild.style.backgroundImage = 'url(http://infotek.fph.ch/common/images/2007.01/folder-open.gif)';
 }

 e.style.display = "block";
 var firstlevel=e.childNodes;
 for (var jj=0; jj < firstlevel.length; jj++)
 {
  if ((firstlevel[jj].nodeName=='li' || firstlevel[jj].nodeName == 'LI') && firstlevel[jj].className != 'doc')
  {
   firstlevel[jj].firstChild.style.backgroundImage = 'url(http://infotek.fph.ch/common/images/2007.01/folder-open.gif)';
  }
 }
}

//function openBookMark() {
// var h = location.hash;
// if (h == "") h = "default";
// if (h == "#") h = "default";
// var ids = h.split(/[#.]/);
// for (i = 0; i < ids.length; i++) {
//  if (ids[i] != "") toggle(document.getElementById(ids[i]));
// }
//}

function openListes(start,toopen)
{
 collapseAll(start);
 var top=document.getElementById(start);
 if (! top) return;

 for (var j = 0; j < toopen.length; j++)
 {
  var e=document.getElementById(toopen[j]); // LI tag 
  var hasol=e.getElementsByTagName('ol');
  if (hasol.length > 0) // Si OL en dessous, alors c'est un folder à ouvrir
  {
   e.firstChild.style.backgroundImage = 'url(http://infotek.fph.ch/common/images/2007.01/folder-open.gif)'; // A node
   hasol[0].style.display='block'; // OL node
  }
  while (e != null)
  {
   e=e.parentNode;
   if (e == top) break;
   if (e.nodeName=='ol' || e.nodeName=='OL')
   {
    e.style.display = "block";
    e.parentNode.firstChild.style.backgroundImage = 'url(http://infotek.fph.ch/common/images/2007.01/folder-open.gif)';
   }
   e=e.parentNode;
  }
 }
}

function tree2_add_dblclick (start)
{
 var e = document.getElementById(start);
 if (! e) return;
 var lists = e.getElementsByTagName('li');
 for (var j = 0; j < lists.length; j++)
 {
  if (lists[j].className != 'panel') continue;
//  lists[j].ondblclick=function (e) { this.firstChild.onclick(); e.stopPropagation(); return false; };
  lists[j].addEventListener('dblclick',function (e) { this.firstChild.onclick(); e.stopPropagation(); return false; },false);
 }
}

function tree2_setup (id)
{
 collapseAll(id);
 tree2_add_dblclick(id);
}


