var menuLabel = new Array(
  "Home",
  "Research",
  "Publications");
var menuParent = new Array(
  -1,
  -1,
  -1);
menuURL = new Array(
  "main.html",
  "main.html#research",
  "main.html#publications");
var menuObject = new Array();
var menuExpanded = new Array();
var menuRow = new Array();

function createMenu() {
  var menulayer = document.getElementById("menulayer");

  for (var i = 0; i < menuLabel.length; i++) {
    if (menuParent[i] == -1) {
      menulayer.insertRow(menulayer.rows.length);
      var row = menulayer.rows[menulayer.rows.length - 1];
      row.insertCell(0);
      var cell = row.cells[0];

      menuObject[i] = cell;
      menuExpanded[i] = false;
      menuRow[i] = menulayer.rows.length - 1;

      menuObject[i].id = "menuitem" + i;
      menuObject[i].innerHTML = menuLabel[i];
      menuObject[i].style.fontSize = "12px";
      menuObject[i].style.paddingLeft = "10px";
      menuObject[i].style.paddingRight = "10px";

      menuObject[i].onmouseover = onMouseOverMenu;
      menuObject[i].onmouseout = onMouseOutMenu;
      menuObject[i].onclick = onClickMenu;
    }
  }
}

function onClickMenu() {
  var menulayer = document.getElementById("menulayer");
  var element = this;
  var elementNo = 1 * element.id.substr(8, 3);
  menuExpanded[elementNo] = !menuExpanded[elementNo];

  var increment = 0;
  var last = -1;
  for (var i = 0; i < menuLabel.length; i++) {
    if (menuExpanded[elementNo] && (menuParent[i] == elementNo)) {
      rowIndex = menuRow[menuParent[i]] + increment + 1;
      menulayer.insertRow(rowIndex);
      var row = menulayer.rows[rowIndex];
      row.insertCell(0);
      var cell = row.cells[0];

      menuObject[i] = cell;
      menuExpanded[i] = false;
      menuRow[i] = rowIndex;

      menuObject[i].id = "menuitem" + i;
      menuObject[i].innerHTML = menuLabel[i];
      menuObject[i].style.fontSize = "10px";
      menuObject[i].style.paddingLeft = "20px";
      menuObject[i].style.paddingRight = "10px";

      menuObject[i].onmouseover = onMouseOverMenu;
      menuObject[i].onmouseout = onMouseOutMenu;
      menuObject[i].onclick = onClickMenu;

      increment++;
      last = i;
    } else if (!menuExpanded[elementNo] && (menuParent[i] == elementNo)) {
      menulayer.deleteRow(menuRow[i] + increment);

      increment--;
      last = i;
    }
  }
  for (var i = last + 1; i < menuLabel.length; i++) {
    menuRow[i] += increment;
  }    

  if (menuURL[elementNo] != "") {
    var URL = menuURL[elementNo];
    var target = "main";
    if (URL.indexOf(";") > -1) {
      target = URL.substr(0, URL.indexOf(";"));
      URL = URL.substr(URL.indexOf(";") + 1);
    }
    window.open(URL, target);
  }
}

function onMouseOverMenu() {
  var element = this;
  element.style.color = "#cc0000";
}

function onMouseOutMenu() {
  var menulayer = document.getElementById("menulayer");
  var element = this;
  element.style.color = menulayer.style.color;
}

function onMouseOverPrintable() {
  var printable = document.getElementById("printable");
  printable.href = window.parent.frames["main"].document.URL;
  printable.target = "_top";
}
