labVisible = Array();
labTxt = Array();
labHei = Array();
labNum = 0;
function buildLabMenu() {
for (l=0; l <document.getElementById("labmenu").childNodes.length; l++) {
	var element = document.getElementById("labmenu").childNodes[l];
    if (element.nodeName == "DIV") {
       if (element.id.substring(0,1) == "m") {
          labNum = element.id.substring(1,element.id.length) / 1;
          if (element.getAttribute("opened") == "1") {
             labVisible[element.id.substring(1,element.id.length) / 1] = true;
             } else {
             labVisible[element.id.substring(1,element.id.length) / 1] = false;
             }
          labHei[element.id.substring(1,element.id.length) / 1] = document.getElementById("n" + element.id.substring(1,element.id.length)).clientHeight;
          if (element.getAttribute("opened") == "1") {
             document.getElementById("n" + element.id.substring(1,element.id.length)).style.display = "";
             } else {
             document.getElementById("n" + element.id.substring(1,element.id.length)).style.display = "none";
             }
          labTxt[element.id.substring(1,element.id.length) / 1] = element.innerHTML;
          for (q = 0; q < document.getElementById("n" + element.id.substring(1,element.id.length)).childNodes.length; q++) {
              if (document.getElementById("n" + element.id.substring(1,element.id.length)).childNodes[q].nodeName == "DIV") {
                 if (element.getAttribute("opened") == "1") {
                     document.getElementById("n" + element.id.substring(1,element.id.length)).childNodes[q].style.paddingLeft = "0px";
                     } else {
                     document.getElementById("n" + element.id.substring(1,element.id.length)).childNodes[q].style.paddingLeft = "170px";
                     }
                 registerEventZwo(document.getElementById("n" + element.id.substring(1,element.id.length)).childNodes[q], 'click');
                 registerHover2(document.getElementById("n" + element.id.substring(1,element.id.length)).childNodes[q], 'mouseover');
                 registerUnHover2(document.getElementById("n" + element.id.substring(1,element.id.length)).childNodes[q], 'mouseout');
                 }
              }
          if (element.getAttribute("opened") == "1") {
             element.innerHTML = '<font color="#FFFFFF">[ - ]</font> ' + element.innerHTML;
             } else {
             element.innerHTML = '<font color="#FFFFFF">[ + ]</font> ' + element.innerHTML;
             }
          registerEvent(element, 'click');
          registerHover(element, 'mouseover');
          registerUnHover(element, 'mouseout');
          }
       }
    }
}
function doShow(i,n) {
document.getElementById("n" + i).style.height = labHei[i] / 10 * n + "px";
for (q = 0; q < document.getElementById("n" + i).childNodes.length; q++) {
    if (document.getElementById("n" + i).childNodes[q].nodeName == "DIV") {
       document.getElementById("n" + i).childNodes[q].style.paddingLeft = (10 - n) * 17 + "px";
       }
    }
if (n < 10) {
   setTimeout("doShow(" + i + "," + (n + 1) + ")",30);
   }
}
function doHide(i,n) {
document.getElementById("n" + i).style.height = labHei[i] / 10 * n + "px";
for (q = 0; q < document.getElementById("n" + i).childNodes.length; q++) {
    if (document.getElementById("n" + i).childNodes[q].nodeName == "DIV") {
       document.getElementById("n" + i).childNodes[q].style.paddingLeft = (10 - n) * 17 + "px";
       }
    }
if (n > 0) {
   setTimeout("doHide(" + i + "," + (n - 1) + ")",30);
   } else {
   document.getElementById("n" + i).style.display = "none";
   }   
}
function clicken2(e) {
top.location = e.element.getAttribute("link");
}
function clicken(e) {
i = e.element.id.substring(1,e.element.id.length) / 1;
if (labVisible[i] == false) {
   labVisible[i] = true;
   document.getElementById("n" + i).style.height = "0";
   document.getElementById("n" + i).style.display = "";
   document.getElementById("m" + i).innerHTML = '<font color="#FFFFFF">[ - ]</font> ' + labTxt[i];
   if (autoCollapse == true) {
      for (x = 1; x <= labNum; x++) {
          if (labVisible[x] == true && x != i) {
             document.getElementById("m" + x).innerHTML = '<font color="#FFFFFF">[ + ]</font> ' + labTxt[x];
             labVisible[x] = false;
             doHide(x,9);
             }
          }
      }
   doShow(i,1);
   } else {
   labVisible[i] = false;
   document.getElementById("m" + i).innerHTML = '<font color="#FFFFFF">[ + ]</font> ' + labTxt[i];
   doHide(i,9);
   }
}
function registerEvent(target,type,args) {
var self = this;
if (target.addEventListener){ target.addEventListener(type,onEvent,true);
    } else if (target.attachEvent) { target.attachEvent('on'+type,onEvent); }
	function onEvent(e)	{
	e = e||window.event;
	e.element = target;
	return clicken(e, args);
	}
}
function registerEventZwo(target,type,args) {
var self = this;
if (target.addEventListener){ target.addEventListener(type,onEvent,true);
    } else if (target.attachEvent) { target.attachEvent('on'+type,onEvent); }
	function onEvent(e)	{
	e = e||window.event;
	e.element = target;
	return clicken2(e, args);
	}
}
function registerUnHover(target,type,args) {
var self = this;
if (target.addEventListener){ target.addEventListener(type,onEvent,true);
    } else if (target.attachEvent) { target.attachEvent('on'+type,onEvent); }
	function onEvent(e)	{
	e = e||window.event;
	e.element = target;
	e.element.className = "labmenu1";
    }
}
function registerHover(target,type,args) {
var self = this;
if (target.addEventListener){ target.addEventListener(type,onEvent,true);
    } else if (target.attachEvent) { target.attachEvent('on'+type,onEvent); }
	function onEvent(e)	{
	e = e||window.event;
	e.element = target;
    e.element.className = "labmenu1hover";
	}
}
function registerUnHover2(target,type,args) {
var self = this;
if (target.addEventListener){ target.addEventListener(type,onEvent,true);
    } else if (target.attachEvent) { target.attachEvent('on'+type,onEvent); }
	function onEvent(e)	{
	e = e||window.event;
	e.element = target;
	e.element.className = "labmenu3";
    }
}
function registerHover2(target,type,args) {
var self = this;
if (target.addEventListener){ target.addEventListener(type,onEvent,true);
    } else if (target.attachEvent) { target.attachEvent('on'+type,onEvent); }
	function onEvent(e)	{
	e = e||window.event;
	e.element = target;
    e.element.className = "labmenu3hover";
	}
}


