function get(element) {
    if (element != null) {
      return document.getElementById(element);
    }
    return null;
  }
  /**
    * Elements with the given name, and className.
    *
    * @param pElementName The name or type of element to find
    * @param pClassName The name of the class this element should have
    * @return an array of elements of given name with class
  */
  function getElementsWithClassName(pElementName, pClassName) {
    var allElements = document.getElementsByTagName(pElementName);
    var elemColl = new Array();
    for (var i = 0; i< allElements.length; i++) {
      if (hasClass(allElements[i], pClassName)) {
        elemColl[elemColl.length] = allElements[i];
      }
    }
    return elemColl;
  }
  function hasClass(element, className) {
    if (!element.className) {
      return false;
    }
    return (element.className.search('(^|\\s)' + className + '(\\s|$)') != -1);
  }


  function clearMenuTimeout()
  {
    clearTimeout(timeOutMenuId);
  }

  // åpne toppmeny basert på ID
  function openTopMenu(id)
  {
    activeMenuElement = id;
    timeOutMenuId = setTimeout("doOpenTopMenu()", 250);
  }
  function doOpenTopMenu() {
    var displayBorder = 'tabHeim';
    var borderElements = getElementsWithClassName("li", "sectiondevider");

    for(var j = 0; j < borderElements.length; j++) {
      removeClassName(borderElements[j], "color");
    }
    for (var i = 0; i < tabs.length; i++) {
      var vis = false;

      if (tabs[i] == activeMenuElement) {

        vis = true;
        setElementClass(tabs[i], "active");
        var newBorders = getElementsWithClassName("li", tabs[i]);
        for(var k = 0; k < newBorders.length; k++) {
          addClass(newBorders[k], "color"+tabs[i]);
        }
        displayBorder = tabs[i];
      } else {
        vis = false;
        setElementClass(tabs[i], "");
      }
      toggle(get(tabs[i] + "_linker"), vis);
    }
    setElementClass("toppMenuUl", "displayBorder" + displayBorder);
  }
  function setElementClass(element, newClass) {
    var tmp = get(element);
    if(tmp != null) {
      tmp.className = newClass;
    }
  }
  function removeClassName(objElement, strClass) {
    if(objElement.className) {
      var arrList = objElement.className.split(' ');
      // find all instances and replace them
      for(var i = 0; i < arrList.length; i++) {
        if(arrList[i].startsWith(strClass)) {
          // remove array item
          arrList.splice(i, 1);
          // decrement loop counter as we have adjusted the array's contents
          i--;
        }
      }
      objElement.className = arrList.join(' ');
    }
  }
  function addClass(element, newClass) {
    element.className = element.className + " " + newClass;
  }

  // sett opp meny og åpne active tab/meny
  function initMeny()
  {
    var currentTab = "";

    if (sectionID != "") {
      for (var i = 0; i < tabs.length; i++) {
        var a = Array();
        a = tabs[tabs[i]];
        if (typeof(a) != "undefined") {
          // gå gjennom alle stedene under denne kategorien
          for (var j = 0; j < a.length; j++) {
            if (a[j] == sectionID) {
              currentTab = tabs[i];
            }
          }
        }
      }
      if (currentTab != "") {
        openTopMenu(currentTab);
      }
    }
    if (currentTab == "") {
      openTopMenu("tabLokalt");
    }
  }
  function toggle(element, vis){
    if(element != null) {
      if (vis) {
        element.className = element.className.replace("skjult", "synlig");
      } else {
        element.className = element.className.replace("synlig", "skjult");
      }
    }
  }
  function toggleElement(element, from, to) {
    element.className = "test";
  }

