

function createMenu( argMenu ) {

  var m = argMenu;
  var createSubMenus = new Array( m.items.length );
  var curItem;
  var subMenuTopAdjust = 0;
    if( m.subMenuName ) subMenuTopAdjust = 1;

  // netscape specific menus
  if( browser.nn ) {
    menuString += '<layer id="' + m.name + '" visibility="hide" left="' + m.x + '" top="' + m.y + '" width="' + m.width + '" bgcolor="' + borderColor + '"';
    if( !m.subMenuName ) {
      menuString += ' onMouseOver="clearTimeout( '+ m.name + 'Timer ); "';
      menuString += ' onMouseOut="timedHideMenu( \'' + m.name + '\', 10 ); ">';
    } else {
      menuString += ' onMouseOver="clearTimeout( '+ m.subMenuName + 'Timer ); clearTimeout( '+ m.name + 'Timer ); hiliteBgColor( \'' + m.subMenuHilite + '\', \'' + foreColor + '\' ); "';
      menuString += ' onMouseOut="hideMenu( \'' + m.name + '\' ); timedHideMenu( \''+ m.subMenuName + '\', 10 ); hiliteBgColor( \'' + m.subMenuHilite + '\', \'' + backColor + '\' );">';
    }
    menuString += '<layer id="' + m.name + 'Border" left="1" top="' + subMenuTopAdjust + '" width="' + ( m.width - 2 ) + '" bgcolor="' + backColor + '">';
    for( var i = 0; i < m.items.length; i++ ) {
      curItem = "document.layers[\\'" + m.name + "\\'].document.layers[\\'" + m.name + "Border\\'].document.layers[\\'" + m.name + i + "\\']";
      menuString += '<layer id="' + m.name + i + '" class="menuItemNs' + macSuffix + '" top="' + ( i * lineHeight ) + '" width="' + ( m.width - 2 ) + '" bgcolor="' + backColor + '"';
      if( !m.items[i].subMenu ) {
        menuString += ' onMouseOver="hiliteBgColor( \'' + curItem + '\', \'' + foreColor + '\' );" onMouseOut="hiliteBgColor( \'' + curItem + '\', \'' + backColor + '\' );"';
        menuString += '><a class="menuText" href="' + m.items[i].url + '">' + m.items[i].value + '</a></layer>';
      } else {
        menuString += ' onMouseOver="hiliteBgColor( \'' + curItem + '\', \'' + foreColor + '\' ); showMenu( \'' + m.items[i].subMenu.name + '\' );"';
        menuString += ' onMouseOut="hiliteBgColor( \'' + curItem + '\', \'' + backColor + '\' ); timedHideMenu( \'' + m.items[i].subMenu.name + '\', 100 );">';
        menuString += '<img src="/img/subMenuArrowNS.gif" align="right" border="0" /><a class="menuText" href="#">' + m.items[i].value + '</a></layer>';
        createSubMenus[i] = m.items[i].subMenu;
        createSubMenus[i].x = ( m.x + m.width ) - 1;
        createSubMenus[i].y = ( ( i * lineHeight ) + ( m.y - 1 ) );
        createSubMenus[i].subMenuName = m.name;
        createSubMenus[i].subMenuHilite = curItem;
      }
    }
    menuString += '<layer top="' + ( ( m.items.length * lineHeight ) + 2 ) + '" width="' + ( m.width - 2 ) + '" height="1" bgcolor="' + borderColor + '"></layer></layer></layer>';
  }
  
  // internet explorer specific menus
  if( browser.ie ) {
  
    var heightAdjust = 0;
      if( browser.mac && ( browser.major < 5 ) ) heightAdjust = -1;
    var mac4fix = "";
      if( browser.mac && ( browser.major < 5 ) ) mac4fix = "4Mac";
  
    menuString += '<div id="'+ m.name + '" style="visibility:hidden; position:absolute; left:'+ m.x + '; top:'+ m.y + '; height:'+ ( ( ( ( m.items.length * lineHeight ) + 2 ) + heightAdjust ) + subMenuTopAdjust ) + '; width:'+ m.width + '; background-color:'+ borderColor + '; cursor:hand; z-index:100;"';
  
      menuString += ' onMouseOver="showMenu( \'' + m.name + '\' );"';
      menuString += ' onMouseOut="hideMenu( \'' + m.name + '\' );">';
    

    menuString += '<div id="' + m.name + 'Border" style="position:absolute; left:1; top:' + subMenuTopAdjust + '; width:' + ( m.width - 2 ) + '; background-color:' + backColor + ';">';
    for( var i = 0; i < m.items.length; i++ ) {
      curItem = "document.all[\\'" + m.name + i + "\\']";


      menuString += '<div id="' + m.name + i + '" class="menuItemIe' + mac4fix + '" style="position:absolute; top:' + ( i * lineHeight ) + '; width:' + ( m.width - 2 ) + '; background-color:' + backColor + ';"';



        menuString += ' onMouseOver="hiliteBgColor( \'' + curItem + '\', \'' + foreColor + '\' );"';
        menuString += ' onMouseOut="hiliteBgColor( \'' + curItem + '\', \'' + backColor + '\' );"';
        menuString += ' onClick="';
        var tempUrl = m.items[i].url;
        if( tempUrl.indexOf( "javascript" ) < 0 )
          tempUrl = "window.location=\'" + m.items[i].url + "\'";
        menuString += tempUrl + '">&nbsp; &nbsp;' + m.items[i].value + ' </div>';

    }
    menuString += '</div></div>';
  }
  
  // create saved subMenus
  for( var k = 0; k < createSubMenus.length; k++ ) {
    if( createSubMenus[k] ) createMenu( createSubMenus[k] );
  }
}