var active = null;

function addItem(oid, text, pid, url) {
  pid = document.getElementById(pid);

  if (pid.getElementsByTagName("span").length == 0)
    pid = createTag("span", pid);
  else
    pid = pid.getElementsByTagName("span")[0];

  mi = createTag("div", pid);
  mi.id = oid;

  miImg = createTag("img", mi);
  //miImg.align = "absbottom";
  miImg.className = "ico";

  mia = createTag("a", mi);
  mia.innerHTML = text;
  mia.className = "mi";
  mia.onclick = function(e){mi_click(e)};
  mia.onfocus = function(e){mi_focus(e)};

  if (url != null) mia.href = url;

  createTag("br", mi);
}


function createTag(tag, pel) {
  el = document.createElement(tag);
  return pel.appendChild(el);
}


function initMenu(act) {
  root = document.getElementById("menu");

  els = root.getElementsByTagName("a");
  for (i = 0; i < els.length; i++) {
    if (i == 0) els[0].parentNode.className = "lsroot"; // для div корня дерева стиль без отступа
    else els[i].parentNode.className = els[i].parentNode.nextSibling != null ? "lsbg" : "ls"; //div style

    img = els[i].parentNode.getElementsByTagName("img")[0]; //block image
    if (els[i].parentNode.getElementsByTagName("span")[0] != null) { //block subblock
      els[i].parentNode.getElementsByTagName("span")[0].style.display = 'none';
      img.src = imgClosedFolder;
      img.onclick = function(e){img_click(e)};
    } else {
      img.src = els[i].parentNode.nextSibling != null ? imgFile : imgFileEnd;
    }
  }

  if (act != null) node_open(act);
}


function mi_click(e) {
  obj = eventHandler(e);
  node_activate(obj);
  if ((node = obj.parentNode.getElementsByTagName("span")[0]) == null) return;
  if (node.style.display != "block") {
    node.style.display = "block";
    obj.parentNode.firstChild.src = imgOpenFolder;
  }
}


function img_click(e) {
  obj = eventHandler(e);

  if ((node = obj.parentNode.getElementsByTagName("span")[0]) == null) return;

  if (node.style.display != "block") {
    node.style.display = "block";
    obj.src = imgOpenFolder;
  } else {
    node.style.display = "none";
    obj.src = imgClosedFolder;
  }
}


function mi_focus(e) {
  obj = eventHandler(e);
  obj.blur();
}


function node_open(node_id) {
  if ((node = document.getElementById(node_id)) == null) return;

  obj = node.getElementsByTagName("a")[0];

  if ((childnode = obj.parentNode.getElementsByTagName("span")[0]) != null) {
    if (childnode.style.display != "block") {
      childnode.style.display = "block";
      obj.parentNode.firstChild.src = imgOpenFolder;
    }
  }

  node_activate(node.getElementsByTagName("a")[0]);

  while (node.id != root_id) {
    node = node.parentNode;
    node.style.display = "block";
    if (node.tagName == "DIV") node.getElementsByTagName("img")[0].src = imgOpenFolder;
  }
}


function node_activate(node_a) {
  if (active != null) active.className='mi';
  active = node_a;
  active.className += 'act';
}


function eventHandler(e) {
  return window.event ? window.event.srcElement : e.currentTarget;
}
