﻿// Global parameters for site menu
var RKE_pageIdIndex = 0;
var RKE_pageNameIndex = 1;
var RKE_subMenuIndex = 2;

// Render the menu.
//
function RKE_RenderMenu() {
  // Currently selected page
  var selectedPageId = getUrlParameterValue("PageId");

  if (selectedPageId != "") {
    // Process menu top level items
    for (var levelIndex = 0; levelIndex < RKE_menuStructure.length; levelIndex++) {
      var isLevelOpen = RKE_IsPageInLevel(levelIndex, selectedPageId);
      var hasSubMenu = (RKE_menuStructure[levelIndex][RKE_subMenuIndex] != null);
      var subMenuParam = 0; // No sub menu

      if (hasSubMenu) {
        subMenuParam = 1;  // Sub menu exists
      }

      RKE_RenderMenuItem(subMenuParam, levelIndex, true, isLevelOpen, RKE_menuStructure[levelIndex][RKE_pageIdIndex], RKE_menuStructure[levelIndex][RKE_pageNameIndex]);

      if (hasSubMenu) {
        // Render menu sub level items
        subMenuParam = 2; // First item in submenu

        for (var subLevelIndex = 0; subLevelIndex < RKE_menuStructure[levelIndex][RKE_subMenuIndex].length; subLevelIndex++) {
          if (subLevelIndex == RKE_menuStructure[levelIndex][RKE_subMenuIndex].length - 1) {
            if (subLevelIndex == 0) {
              subMenuParam = 6; // First and last item in menu
            } else {
              subMenuParam = 4; // Last item in menu
            }
          } else if (subLevelIndex > 0) {
            subMenuParam = 1; // Menu item in 'middle'
          }

          RKE_RenderMenuItem(subMenuParam, levelIndex, false, isLevelOpen, RKE_menuStructure[levelIndex][RKE_subMenuIndex][subLevelIndex][RKE_pageIdIndex], RKE_menuStructure[levelIndex][RKE_subMenuIndex][subLevelIndex][RKE_pageNameIndex]);
        }
      }
    }
  }
}

// Check if page is in menu sublevel.
//
function RKE_IsPageInLevel(levelIndex, pageId) {
  // Is page on top level
  if (RKE_menuStructure[levelIndex][RKE_pageIdIndex] == pageId) {
    return true;
  }

  if (RKE_menuStructure[levelIndex][RKE_subMenuIndex] != null) {
    // Check menu sub level items
    for (var subLevelIndex = 0; subLevelIndex < RKE_menuStructure[levelIndex][RKE_subMenuIndex].length; subLevelIndex++) {
      if (RKE_menuStructure[levelIndex][RKE_subMenuIndex][subLevelIndex][RKE_pageIdIndex] == pageId) {
        return true;
      }
    }
  }

  return false;
}

// Render menu item.
//
function RKE_RenderMenuItem(subMenuParam, mainLevelIndex, isMainLevelItem, itemOpen, pageId, itemTitle) {
  var trId = "trMenu" + mainLevelIndex;
  var imgId = "imgMenu" + mainLevelIndex + "Arrow";
  var displayStyle = "display:none;"
  var arrowImagePath = "Images/Rakennuskemia/MenuClosed.png";

  if (itemOpen) {
    displayStyle = "display: block;";
    arrowImagePath = "Images/Rakennuskemia/MenuOpen.png";
  }

  if (isMainLevelItem) {
    if (subMenuParam > 0) {
      document.writeln("<tr style='cursor:pointer;' onclick=\"RKE_MenuItemClicked('" + trId + "', '" + imgId + "');\">");
    } else {
      document.writeln("<tr>");
    }

    document.writeln("<td class='sideMenuItem' align='left'>");
    document.writeln("<a style='text-decoration:none;' href='/Default.aspx?PageId=" + pageId + "&amp;WebSiteId=1'>&nbsp;" + itemTitle + "</a>");
    document.writeln("</td>");
    document.writeln("<td align='right'>");

    if (subMenuParam > 0) {
      document.writeln("<img style='border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px' id='" + imgId + "' alt='' src='" + arrowImagePath + "' />");
    }

    document.writeln("</td>");
    document.writeln("</tr>");
  } else {
    if ((subMenuParam == 2) || (subMenuParam == 6)) {
      document.writeln("<tr style='" + displayStyle + "' id='" + trId + "'>");
      document.writeln("<td colspan='2'>");
      document.writeln("<ul class='sideMenuItemLinks'>");
    }

    document.writeln("<li><a target='_self' href='/Default.aspx?PageId=" + pageId + "&amp;WebSiteId=1'>" + itemTitle + "</a></li>");

    if ((subMenuParam == 4) || (subMenuParam == 6)) {
      document.writeln("</ul>");
      document.writeln("</td>");
      document.writeln("</tr>");
    }
  }
}

// Change menu item when it is clicked.
//
function RKE_MenuItemClicked(menuRowId, arrowImageId) {
  var menuRow = document.getElementById(menuRowId);
  var arrowImage = document.getElementById(arrowImageId);

  if (menuRow.style.display == "block") {
    menuRow.style.display = "none";
    arrowImage.src = "Images/Rakennuskemia/MenuClosed.png";
  } else {
    menuRow.style.display = "block";
    arrowImage.src = "Images/Rakennuskemia/MenuOpen.png";
  }
}
