
  var elements;

  var headHTML = "";
  var midTopHTML;
  var afterTopHTML;
  var tailHTML;
  var topTekst;
  var topBilledeID;
  var sTop;
  var EmneOrdRand = null;

  var nClicked = 0;
  var soegetekst;
  var soegei;
  var soegekategori;
  var soegemetode;
  var AuxEO;

  var EmneOrd;
  var EmneOrdLookup = new Object();
  var EMNEORD_ID = 0;
  var EMNEORD_CHECKED = 1;
  var EMNEORD_OPEN = 2;
  var EMNEORD_TEKST = 3;
  var EMNEORD_CHILDREN = 4;
  var EMNEORD_PARENT = 5;

  function getEmneOrd(id,eo) {
    var children = eo[EMNEORD_CHILDREN];
    var child;
    var ans = null;
    if (children && eo[EMNEORD_OPEN]) {
      for (var i = 0; i < children.length; i++) {
        child = children[i]
        if (child[EMNEORD_ID] == id) {
          return child;
        }
        else {
          ans = toggleAux(id,child);
          if (ans)
            return ans;
        }
      }
    }
    return false;
  }

  function toggle(id) {
    var eo = EmneOrdLookup["EO" + id];
    if (!eo) {
      EmneOrd = makeEmneOrds(window.frames[2].EmneOrd,null);
      eo = EmneOrdLookup["EO" + id];
    }
    //alert("EO" + eo[EMNEORD_ID] + ": " + eo[EMNEORD_OPEN]);
    eo[EMNEORD_OPEN] = !eo[EMNEORD_OPEN];
    //alert("EO" + eo[EMNEORD_ID] + ": " + eo[EMNEORD_OPEN]);
    //alert(eo[EMNEORD_PARENT][EMNEORD_ID] == EmneOrd);
    writeEmneOrd();
  }

  function emneOrdFlip(eo,open) {
    var children = eo[EMNEORD_CHILDREN];
    var child;
    if (children)
      for (var i = 0; i < children.length; i++) {
        child = children[i];
        child[EMNEORD_OPEN] = open;
        emneOrdFlip(child,open)
      }
  }

  function visAlle() {
    if (!EmneOrd)
      EmneOrd = makeEmneOrds(window.frames[2].EmneOrd,null);
    emneOrdFlip(EmneOrd,true);
    writeEmneOrd();
  }

  function gemAlle() {
    if (!EmneOrd)
      EmneOrd = makeEmneOrds(window.frames[2].EmneOrd,null);
    emneOrdFlip(EmneOrd,false);
    writeEmneOrd();
  }

  function checkChildren(eo,isVisible,b) {
    var children = eo[EMNEORD_CHILDREN];
    var child;
    if (children) {
      for (var i = 0; i < children.length; i++) {
        child = children[i];
        child[EMNEORD_CHECKED] = b;
        if (isVisible)
          window.frames[2].document.forms[0].elements["EO" + child[EMNEORD_ID]].checked = b;
        checkChildren(child,child[EMNEORD_OPEN] && isVisible,b)
      }
    }
  }

  function doClick(id) {
    var eo = EmneOrdLookup["EO" + id]
    if (!eo) {
      EmneOrd = makeEmneOrds(window.frames[2].EmneOrd,null);
      eo = EmneOrdLookup["EO" + id];
    }
    eo[EMNEORD_CHECKED] = window.frames[2].document.forms[0].elements["EO" + id].checked;
    checkChildren(eo,eo[EMNEORD_OPEN],eo[EMNEORD_CHECKED]);
  }

  function emneChildrenOrd2HTML(eo,indent) {
    var children = eo[EMNEORD_CHILDREN];
    var ans = "";
    var column = 1;
    if (indent == 0)
      ans += "<table><tr><td width=\"50%\" valign=\"top\">";
    var child;
    //alert("EO" + eo[EMNEORD_ID] + ": " + eo[EMNEORD_OPEN]);
    if (eo[EMNEORD_OPEN] && children) {
      for (var i = 0; i < children.length; i++) {
        child = children[i];
        ans += "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tr><td nowrap align=\"right\" width=\"" + (15 * indent + 10) + "\" nowrap valign=\"top\">";
        if (child[EMNEORD_CHILDREN]) {
          ans += "<a href=\"#\" onclick=\"parent.toggle(" + child[EMNEORD_ID] + ");return false;\">";
          if (child[EMNEORD_OPEN])
            ans += "<img border=\"0\" src=\"/Search/minus.gif\">";
          else
            ans += "<img border=\"0\" src=\"/Search/plus.gif\">";
          ans += "</a>";
        }
        else
          ans += "<img border=\"0\" src=\"/Search/dot.gif\">";
        ans += "</td><td nowrap valign=\"top\">"
        ans += "<input onclick=\"parent.doClick('" + child[EMNEORD_ID] + "');\" type=\"checkbox\" name=\"EO" + child[EMNEORD_ID] + "\" id=\"EO" + child[EMNEORD_ID] + "\"></td><td valign=\"top\" style=\"padding-top:2px;\">";
        ans += child[EMNEORD_TEKST];
        ans += "</td></tr></table>\n";
        ans += emneChildrenOrd2HTML(child,indent + 1);
        if ((indent == 0) && ((i + 1) > (children.length / 2)) && column == 1) {
          ans += "</td><td width=\"50%\" valign=\"top\">";
          column = 2;
        }
      }
    }
    if (indent == 0) {
      ans += "</td></tr></table>";
      //alert(ans);
    }
    return ans;
  }

  function checkEmneOrdAux(eo) {
    if (eo[EMNEORD_CHECKED])
      elements["EO" + eo[EMNEORD_ID]].checked = true;
    var children = eo[EMNEORD_CHILDREN];
    if (children && eo[EMNEORD_OPEN])
      for (var i = 0; i < children.length; i++)
        checkEmneOrdAux(children[i])
  }

  function checkEmneOrd(eo) {
    var contentFrame = window.frames[2];
    elements = contentFrame.document.forms[0].elements;
    var children = eo[EMNEORD_CHILDREN];
    if (children && eo[EMNEORD_OPEN])
      checkEmneOrdAux(eo);
  }

  function makeEmneOrds(eo,parent) {
    var ans;
    var children;
    var origChildren = eo[EMNEORD_CHILDREN];
    ans = new Array(eo[EMNEORD_ID],eo[EMNEORD_CHECKED],eo[EMNEORD_OPEN],eo[EMNEORD_TEKST],null,parent);
    if (origChildren) {
      var l = origChildren.length;
      children = new Array(l);
      for (var i = 0; i < l; i++)
        children[i] = makeEmneOrds(origChildren[i],ans);
    }
    else
      children = null;
    ans[EMNEORD_CHILDREN] = children;
    EmneOrdLookup["EO" + ans[EMNEORD_ID]] = ans;
    return ans;
  }

  function initEmneOrd() {
    var contentFrame = window.frames[2];
    headHTML = contentFrame.headHTML;
    midTopHTML = contentFrame.midTopHTML;
    afterTopHTML = contentFrame.afterTopHTML;
    tailHTML = contentFrame.tailHTML;
    topTekst = contentFrame.topTekst;
    topBilledeID = contentFrame.topBilledeID;
    EmneOrd = makeEmneOrds(contentFrame.EmneOrd,null);
    //elements = contentFrame.document.forms[0].elements;
  }

  function writeEmneOrd() {
    var contentFrame = window.frames[2];
    sTop = null;
    sLeft = null;
    if (contentFrame.pageYOffset) {
      sTop = contentFrame.pageYOffset;
      sLeft = contentFrame.pageXOffset;
    }
    else if (contentFrame.document.body)
      if (contentFrame.document.body.scrollTop) {
        sTop = contentFrame.document.body.scrollTop;
        sLeft = contentFrame.document.body.scrollLeft;
      }

    preFields();
    contentFrame.document.open("text/html","replace");
    contentFrame.document.write("" +
    headHTML + topBilledeID + midTopHTML + topTekst + afterTopHTML + emneChildrenOrd2HTML(window.EmneOrd,0) + tailHTML
    );
    //EmneOrd[0] + (++nClicked) + EmneOrd[1]
    contentFrame.document.close();
    if (window.setTimeout)
      window.setTimeout("writeEmneOrdAux();",300);
    else
      writeEmneOrdAux();
  }

  function writeEmneOrdAux() {
    var contentFrame = window.frames[2];
    postFields();
    if (sTop) {
      contentFrame.scrollTo(sLeft,sTop);
    }
  }

  function preFields() {
    var contentFrame = window.frames[2];
    var elements = contentFrame.document.forms[0].elements;
    soegetekst = elements["soegetekst"].value;
    soegei = elements["soegei"].selectedIndex;
    soegekategori = elements["soegekategori"].selectedIndex;
    soegemetode = elements["soegemetode"].selectedIndex;
    if (elements['soegei'].style) {
      elements['soegekategori'].style.visibility = "hidden";
      elements['soegemetode'].style.visibility = "hidden";
      elements['soegei'].style.visibility = "hidden";
    }
  }

  function postFields() {
    var contentFrame = window.frames[2];
    if (contentFrame.document) {
      var elements = contentFrame.document.forms[0].elements;
      elements["soegetekst"].value = soegetekst;
      elements["soegei"].selectedIndex = soegei;
      elements["soegekategori"].selectedIndex = soegekategori;
      elements["soegemetode"].selectedIndex = soegemetode;
      elements["AuxEO"].value = AuxEO;
      checkEmneOrd(EmneOrd);
      if (elements['soegei'].style) {
        elements['soegekategori'].style.visibility = "inherit";
        elements['soegemetode'].style.visibility = "inherit";
        elements['soegei'].style.visibility = "inherit";
      }
    }
  }

  function getCheckedEmneOrd(eo) {
    ans = "";
    var children = eo[EMNEORD_CHILDREN];
    var child;
    if (children)
      for (var i = 0; i < children.length; i++) {
        child = children[i];
        if (child[EMNEORD_CHECKED])
          ans += "," + child[EMNEORD_ID]
        ans += getCheckedEmneOrd(child)
      }
    return ans;
  }

  function setEmneOrd(){
    var contentFrame = window.frames[2];
    if (contentFrame.document) {
      var elements = contentFrame.document.forms[0].elements;
      soegetekst = elements["soegetekst"].value;
      soegei = elements["soegei"].selectedIndex;
      soegekategori = elements["soegekategori"].selectedIndex;
      soegemetode = elements["soegemetode"].selectedIndex;
      elements["AuxEO"].value = getCheckedEmneOrd(EmneOrd);
      EmneOrdRandom = contentFrame.EmneOrdRandom;
      AuxEO = elements["AuxEO"].value;
    }
  }