/* Make a 2 levels Menu          */
/* and an external third level  */
function _build4Level(level1, level2, level3, level4, strKey)
{
  var htmlContent = "";
  var html3rdLevel = "";
  
  for (section = 0 ; section < rootNav.itemArray.length ; section++ )
  {
    level1Bool = ( rootNav.itemArray[section] == level1 ) ? 1 : 0; 
    htmlContent += _drawLevel1(titleHash[rootNav.itemArray[section]],
                               linkHash [rootNav.itemArray[section]],rootNav.colorStyle,level1Bool);
    if ( level1Bool == 1)
    {
      sectnav = componentsHash[rootNav.itemArray[section]];
      for (subsection = 0 ; subsection < sectnav.itemArray.length ; subsection++ )
      {
        level2Bool = ( sectnav.itemArray[subsection] == level2 ) ? 1 : 0; 
        htmlContent += _drawLevel2(titleHash[sectnav.itemArray[subsection]],
                                   linkHash [sectnav.itemArray[subsection]],sectnav.colorStyle,level2Bool);
        
        if ( level2Bool == 1)
        {
          content = componentsHash[sectnav.itemArray[subsection]];
          for (subsubsection = 0, pipe="" ; subsubsection < content.itemArray.length ; subsubsection++ )
          {
            level3Bool = ( content.itemArray[subsubsection] == level3 ) ? 1 : 0; 
            html3rdLevel += _drawExternalLevel(pipe, titleHash[content.itemArray[subsubsection]],
                                            linkHash [content.itemArray[subsubsection]], content.colorStyle,level3Bool);

            pipe = (subsubsection == (content.itemArray.length-1)) ? "" : "&nbsp;&nbsp;|&nbsp;&nbsp;";
          }
        }
      }
    }
  }
  if ( html3rdLevel.length != 0 )
    html3rdLevel += "<hr class=\"LFTruler\" />";

  if (displaySQ == 1)
  {
    html3rdLevel += _drawSequenceTable(strKey);
    html3rdLevel += "<hr class=\"LFTruler\" />";
  }

  document.getElementById('level3rd').innerHTML = html3rdLevel;
  return htmlContent;
}