var wdName = "wd" + sysName.replace(/\W/g,"")
function AddAdminMenus ()
{
  var tree  = mainMenu.AddMainMenuItem ("AdminSetup_web.png", strADMINSETTINGS_TITLE, "a_syssettings.htm")
  var child_1 = mainMenu.AddChildMenu (tree.root, "", strGENSETUP, "", "", "", "")
  var child_1_1 = mainMenu.AddChildMenu (child_1, "", strSYSSETTINGS, "a_syssettings.htm", strHELPTEXT_SYSSETTINGS, "", "")
  var child_1_2 = mainMenu.AddChildMenu (child_1, "", strPERSONSETTINGS, "a_syspersonality.htm", strHELPTEXT_HOMESETTINGS, "", "")
  var child_1_2b = mainMenu.AddChildMenu (child_1, "", strJSITES, "a_sites.htm", strHELPTEXT_HOMESETTINGS, "", "")
  var child_1_3 = mainMenu.AddChildMenu (child_1, "", strSEC, "a_security.htm", strHELPTEXT_SECURITY, "", "")
  var child_1_4 = mainMenu.AddChildMenu (child_1, "", strLOCALIZ, "a_localization.htm", strHELPTEXT_LOCATION, "", "")
  var child_1_4b = mainMenu.AddChildMenu (child_1, "", strDATE_TIME, "a_time.htm", strHELPTEXT_DATETIME, "", "")
  var child_1_6 = mainMenu.AddChildMenu (child_1, "", strSERIAL_TITLE, "a_serialport.htm", strHELPTEXT_SERIALPORTS, "", "HasSerialPort()")
  var child_1_5 = mainMenu.AddChildMenu (child_1, "", strOPTIONS_TITLE, "a_options.htm", strHELPTEXT_OPTIONS, "", "")
  var child_2 = mainMenu.AddChildMenu (tree.root, "", strNETWORK, "", "", "", "")
  var child_2_1 = mainMenu.AddChildMenu (child_2, "", strIPNETWORK_TITLE, "a_ipnetwork.htm", strHELPTEXT_IPNETWORK, "", "")
  var child_2_2 = mainMenu.AddChildMenu (child_2, "", strV35_449_530, "a_v35.htm", strHELPTEXT_V35NETWORK, "", "IsV35()")
  var child_2_3 = mainMenu.AddChildMenu (child_2, "", strPRINETWORK, "a_prinetwork.htm", strHELPTEXT_PRINETWORK, "", "IsPRI()")
  var child_2_4 = mainMenu.AddChildMenu (child_2, "", strBRINET, "a_brinetwork.htm", strHELPTEXT_BRINETWORK, "", "IsBRI()")
  var child_2_5 = mainMenu.AddChildMenu (child_2, "", strTELEPHONY, "a_telephony.htm", strHELPTEXT_TELEPHONY, "", "IsTelephony()")
  var child_2_6 = mainMenu.AddChildMenu (child_2, "", strCALLINGSETUP, "a_callpreference.htm", strHELPTEXT_CALLPREF, "", "")
  var child_3 = mainMenu.AddChildMenu (tree.root, "", strMONITORS, "a_monitors.htm", strHELPTEXT_MONITORS, "", "")
  var child_4 = mainMenu.AddChildMenu (tree.root, "", strCAMERAS, "a_cameras.htm", strHELPTEXT_CAMERAS, "", "")
  if (isStereoEnabled)
  {
    var child_7 = mainMenu.AddChildMenu (tree.root, "", strAUDIO_TITLE_2, "a_audiosettings.htm", "", "", "")
    var child_7_1 = mainMenu.AddChildMenu (child_7, "", strAUDIO_TITLE, "a_audiosettings.htm", strHELPTEXT_AUDIOSETTINGS, "", "")
    var child_7_2 = mainMenu.AddChildMenu (child_7, "", strSTEREOSETTINGS, "a_stereosettings.htm", strHELPTEXT_SPEAKERTEST, "", "")
  }
  else
  {
    var child_7 = mainMenu.AddChildMenu (tree.root, "", strAUDIO_TITLE, "a_audiosettings.htm", strHELPTEXT_AUDIOSETTINGS, "", "")
  }
  var child_5 = mainMenu.AddChildMenu (tree.root, "", strLANPROPERTIES, "a_lansettings.htm", strHELPTEXT_LANSETTINGS, "", "")
  var child_6 = mainMenu.AddChildMenu (tree.root, "", strGLOBALSERVICES, "", "", "", "")
  var child_6_1 = mainMenu.AddChildMenu (child_6, "", strDIRECTORYSERVICES, "a_globaladdressserver.htm", strHELPTEXT_DIRSERVERS, "", "")
  var child_6_2 = mainMenu.AddChildMenu (child_6, "", strDIALINGRULES, "a_dialrules.htm", strHELPTEXT_DIALRULES, "", "")
  var child_6_3 = mainMenu.AddChildMenu (child_6, "", strSNMPLANGITEM, "a_snmp.htm", strHELPTEXT_SNMP, "", "")
  var child_6_4 = mainMenu.AddChildMenu (child_6, "", strMANAGEMENT_SERVERS_TITLE, "a_gmsurl.htm", strHELPTEXT_GMSURL, "", "")
  var child_6_5 = mainMenu.AddChildMenu (child_6, "", strACCOUNT_VALIDATION_TITLE, "a_accountval.htm", strHELPTEXT_ACCTVALID, "", "")
  var child_6_6 = mainMenu.AddChildMenu (child_6, "", strMY_INFORMATION_TITLE, "a_gmsinfo.htm", strHELPTEXT_GMSINFO, "", "")
  AddTools (tree)
}

function AddDiagMenus ()
{
  var tree  = mainMenu.AddMainMenuItem ("Diagnostics_web.png", strDIAG, "a_systemstatus.htm")
  var child_1 = mainMenu.AddChildMenu (tree.root, "", strAUDIO_TITLE_2, "", "", "", "")
  var child_1_1 = mainMenu.AddChildMenu (child_1, "", strSPEAKERTEST, "a_speakertest.htm", strAUDIO_TEST, "", "")
  var child_1_2 = mainMenu.AddChildMenu (child_1, "", strAUDIOMETER, "a_audiodiagnostics.htm", strHELPTEXT_AUDIODIAG, "", "")
  var child_2 = mainMenu.AddChildMenu (tree.root, "", strNETWORK, "", "", "", "")
  var child_2_1 = mainMenu.AddChildMenu (child_2, "", strNEAENDLOO, "a_nearendloop.htm", strHELPTEXT_NEARENDLOOP, "", "")
  var child_2_2 = mainMenu.AddChildMenu (child_2, "", strPING, "a_ping.htm", strHELPTEXT_PING, "", "")
  var child_2_3 = mainMenu.AddChildMenu (child_2, "", strTRACE_ROUTE, "a_traceroute.htm", strHELPTEXT_TRACEROUTE, "", "")
  var child_3 = mainMenu.AddChildMenu (tree.root, "", strSYSSTATUS, "", "", "", "")
  var child_3_1 = mainMenu.AddChildMenu (child_3, "", strSYSSTATUS, "a_systemstatus.htm", strHELPTEXT_SYSSTATUS, "", "")
  var child_3_2 = mainMenu.AddChildMenu (child_3, "", strCALL_SUMMARY_TITLE, "a_callsummary.htm", strHELPTEXT_CALLSUMMARY, "", "")
  var child_4 = mainMenu.AddChildMenu (tree.root, "", strVIDEO_TITLE, "a_colorbar.htm", strHELPTEXT_COLORBAR, "", "")
  var child_5 = mainMenu.AddChildMenu (tree.root, "", strCALL_STATS_TITLE, "a_callstatus.htm", strHELPTEXT_CALLSTATISTICS, "", "")
  var child_8 = mainMenu.AddChildMenu (tree.root, "", strERRORLOG, "a_errorlog.htm", strHELPTEXT_ERRORLOG, "", "")
  var child_6 = mainMenu.AddChildMenu (tree.root, "", strRESTART, "a_resetsys.htm", strHELPTEXT_RESETSYS, "", "")
  var child_7 = mainMenu.AddChildMenu (tree.root, "", strSEND_A_MSG, "a_sendamessage.htm", strHELPTEXT_MESSAGE, "", "")
  AddTools (tree)
}

function AddUtilityMenus ()
{
  var tree  = mainMenu.AddMainMenuItem ("Utilities_web.png", strUTILITIES, "a_sendamessage.htm")
  var child_2 = mainMenu.AddChildMenu (tree.root, "", strCLOSEDCAP,
    "a_closedcap.htm", strHELPTEXT_CLOSEDCAP, "", "")
  var child_3 = mainMenu.AddChildMenu (tree.root, "", strPROFILE_CENTER,
    "a_datfilesimportexport.htm", strHELPTEXT_PROFILECENTER, "", "")
  var child_4 = mainMenu.AddChildMenu (tree.root, "", strSEND_A_MSG,
    "a_sendamessage.htm", strHELPTEXT_MESSAGE, "", "")
  var child_5 = mainMenu.AddChildMenu (tree.root, "", strDIRECTORY_IMPORT,
    "a_directoryimportexport.htm", strHELPTEXT_DIRIMPORT, "", "")
  var child_6 = mainMenu.AddChildMenu (tree.root, "", strCALL_DETAIL_REPORT,
    "a_calllogframe.htm", strHELPTEXT_CALLDETAIL, "", "")
  var child_7 = mainMenu.AddChildMenu (tree.root, "", strSCREEN_SAVER,
    "a_screensaver.htm", strHELPTEXT_SCRNSVR, "", "")
  var child_8 = mainMenu.AddChildMenu (tree.root, "", strWEB_DIRECTOR, 
    "MM_openBrWindow('a_webdirector.htm','"+wdName+"','resizable=yes,width=800,height=630')", "", "", "")
  var child_9 = mainMenu.AddChildMenu (tree.root, "", strVIEW_MEETING,
    "MM_openBrWindow('m_stream.htm','','width=400,height=410')", "", "", "IsStreamCapable ()")
  AddTools (tree)
}

function AddDialingMenus ()
{
  var tree  = mainMenu.AddMainMenuItem ("MakeACall_web.png", strMAKEACALL, "a_makeacall.htm")
  var child_1 = mainMenu.AddChildMenu (tree.root, "", strMAKEACALL, "a_makeacall.htm", strHELPTEXT_PLACECALL, "", "")
  var child_2 = mainMenu.AddChildMenu (tree.root, "", strDIRECTORY, "a_directory.htm", strHELPTEXT_DIRECTORY, "", "")
  var child_3 = mainMenu.AddChildMenu (tree.root, "", strCALLHISTORY_TITLE, "a_recentcalls.htm", strHELPTEXT_RECENTCALLS, "", "")
  AddTools (tree)
}

function AddUserMenus ()
{
  var tree       = mainMenu.AddMainMenuItem ("UserSetup_web.png", strHOME, "u_welcome.htm")
  var child_1    = mainMenu.AddChildMenu (tree.root, "", strWELCOME, "u_welcome.htm", " ", "", "")
  var child_2    = mainMenu.AddChildMenu (tree.root, "", strVIEW_MEETING, "MM_openBrWindow('m_stream.htm','','width=400,height=410')", "", "", "IsStreamCapable ()")
  var child_3    = mainMenu.AddChildMenu (tree.root, "", strWEBLANGUAGE, "", strSEL_LANGUAGE, "", "")
  var child_3_1  = mainMenu.AddChildMenu (child_3, "", "American English", "MM_OnLanguageChange('EN')", "", "", "")
  var child_3_2  = mainMenu.AddChildMenu (child_3, "", "British English", "MM_OnLanguageChange('EK')", "", "", "")
  var child_3_3  = mainMenu.AddChildMenu (child_3, "", "Deutsch", "MM_OnLanguageChange('DE')", "", "", "")
  var child_3_4  = mainMenu.AddChildMenu (child_3, "", "Espa\u00f1ol", "MM_OnLanguageChange('SP')", "", "", "")
  var child_3_5  = mainMenu.AddChildMenu (child_3, "", "Fran\u00e7ais", "MM_OnLanguageChange('FR')", "", "", "")
  var child_3_6  = mainMenu.AddChildMenu (child_3, "", "Italiano", "MM_OnLanguageChange('IT')", "", "", "")
  var child_3_7  = mainMenu.AddChildMenu (child_3, "Japanese.gif", "", "MM_OnLanguageChange('JA')", "", "", "")
  var child_3_8  = mainMenu.AddChildMenu (child_3, "Korean.gif", "", "MM_OnLanguageChange('KO')", "", "", "")
  var child_3_8b = mainMenu.AddChildMenu (child_3, "", "Magyar", "MM_OnLanguageChange('HU')", "", "", "")
  var child_3_9  = mainMenu.AddChildMenu (child_3, "", "Norsk", "MM_OnLanguageChange('NO')", "", "", "")
  var child_3_9b = mainMenu.AddChildMenu (child_3, "", "Polski", "MM_OnLanguageChange('PL')", "", "", "")
  var child_3_10 = mainMenu.AddChildMenu (child_3, "", "Portugu\u00eas", "MM_OnLanguageChange('PT')", "", "", "")
  var child_3_11 = mainMenu.AddChildMenu (child_3, "Russian.gif", "", "MM_OnLanguageChange('RU')", "", "", "")
  var child_3_12 = mainMenu.AddChildMenu (child_3, "Chinese.gif", "", "MM_OnLanguageChange('ZH')", "", "", "")
  var child_3_13 = mainMenu.AddChildMenu (child_3, "", "Suomi", "MM_OnLanguageChange('FI')", "", "", "")
  var child_3_14 = mainMenu.AddChildMenu (child_3, "ChineseTraditional.gif", "", "MM_OnLanguageChange('ZHT')", "", "", "")
  AddTools (tree)
}

function AddTools (tree)
{
  var child_1 = mainMenu.AddChildMenu (tree.root, "", "", "", "", "", "")
  var child_1 = mainMenu.AddChildMenu (tree.root, "", strTOOLS, "", "", "", "")
  var child_2 = mainMenu.AddChildMenu (child_1, "", strSYSINFMN, "a_main.htm", strHELPTEXT_SYSINFO, "", "")
  var child_4 = mainMenu.AddChildMenu (child_1, "", strSITE_MAP, "a_toc.htm", " ", "", "")
  var child_3 = mainMenu.AddChildMenu (child_1, "", strREMOTE_CONTROL, "MM_openBrWindow('a_remotecontrol.htm','','width=150,height=600')", "", "", "")
  var child_5 = mainMenu.AddChildMenu (child_1, "", strREMOTE_MONITORING, "MM_openBrWindow('a_tvmon.htm','','width=720,height=300')", "", "", "")
}

function AddMenus ()
{
  AddDialingMenus ()
  AddAdminMenus ()
  AddDiagMenus ()
  AddUtilityMenus ()
  AddUserMenus ()
  document.getElementById ("content").colSpan = mainMenu.mainMenuCount
}

function ClearSearchString ()
{
  if (top.location.search != "" && top.location.search != "?") top.location.search = ""
}

function SetHelpText (url)
{
  document.getElementById ("helpText").innerHTML=mainMenu.GetHelpText(url)
}

function SetContent (url)
{
  mainMenu.SetCurrentPage (url)
  //Change the help text
  CheckSecurity ("/"+url, g_WebPort)
  SetHelpText()
  // Clear the page title and buttons
  document.getElementById ("pageTitle").innerHTML = ""
  document.getElementById ("buttons").innerHTML = ""
  // The following lines of code where changed because it was allowing
  // the content pages to be cached.
  // document.getElementById ("contentFrame").src = url
  document.getElementById ("contentFrame").contentWindow.location.replace (url)
}

function OnMouseOver (newID)
{
  // Change the style of the currently selected icon
  var elementID = "main_"+newID
  if (mainMenu.GetMainMenuID() != newID)
  {
    document.getElementById (elementID).className = "topNavigationSelected"
  }
}

function OnMouseOut (newID)
{
  // Change the style of the currently selected icon
  var elementID = "main_"+newID
  if (mainMenu.GetMainMenuID() != newID)
  {
    document.getElementById (elementID).className = "topNavigationNotSelected"
  }
}

function ChangeMainPage (newID)
{
  // Change the style of the currently selected icon
  var elementID = "main_"+newID
  var oldID = mainMenu.GetMainMenuID()
  if (oldID != null)
  {
    var lastSelected = document.getElementById ("main_"+oldID)
    if (lastSelected) lastSelected.className = "topNavigationNotSelected"
  }
  else
  {
    alert ("ERROR: No main page selected - \"" + oldID + "\"")
  }
  // Change the style of the newly selected icon
  document.getElementById (elementID).className = "topNavigationSelected"
  mainMenu.SetMainMenuID (newID)
  document.getElementById ("topMenuName").innerHTML=mainMenu.GetMainMenuName()
    // Set this so when we draw the menus it expands
  var selectedObject = mainMenu.GetCurrentTree().selectedObject
  if (selectedObject && selectedObject.parent && 
    selectedObject.parent != selectedObject.root)
  {
    selectedObject.parent.expanded = true
  }

  DrawSideMenu ()
  mainMenu.GetCurrentTree().selectNode(selectedObject.id)
}

function FillInPage ()
{
  var currentPagesCookie = mainMenu.GetCurrentPagesCookie ()
  var currentMenuCookie = mainMenu.GetCurrentMenuCookie ()

  mainMenu.currentPages = mainMenu.CookieStringToArray (currentPagesCookie)
  AddMenus ()
  // If the user suplied a start menu or a start page start there. Otherwise,
  // if we have saved the current menu in a cookie then reset the current
  // menu to that. If no cookie is found then setting it to -1 will force
  // it to be set to the default value.
  mainMenu.SetMainMenuID (
    (mainMenu.startMenu != null) ? mainMenu.startMenu : (
      (currentMenuCookie && currentMenuCookie != "") ? currentMenuCookie : -1
      )
    )
  ChangeMainPage (mainMenu.GetMainMenuID())
}

function DrawSideMenu ()
{
  // Clear the old menu
  document.getElementById ("sideMenu").innerHTML = ""
  mainMenu.trees[mainMenu.GetMainMenuID()].buildDOM ("sideMenu",
    "mainMenu.GetCurrentTree()")
}
