var isThereWildcard1
var isThereWildcard2
var isThereWildcard3
var wildCard1
var wildCard2
var wildCard3

function setWildcardMenu (wc1, wc2, wc3)
{
isThereWildcard1 = "false"
isThereWildcard2 = "false"
isThereWildcard3 = "false"

if (wc1 && wc1 != "none")
  {
  isThereWildcard1 = "true"
  wildCard1 = wc1;
    if (wc2 && wc2 != "none") 
      {
      wildCard2 = wc2;
      isThereWildcard2 = "true"
      if (wc3 && wc3 != "none")
        {
        wildCard3 = wc3;
        isThereWildcard3 = "true"
        }
      }
  }

}

function AddAdminMenus ()
{
  var tree  = mainMenu.AddMainMenuItem ("AdminSetup_web.png", "AdminSetup_web_o.png", "admin", ADMINSETTINGS_TITLE, "a_syssettings.htm")
  var child_1 = mainMenu.AddChildMenu (tree.root, "general", "", GENSETUP, "", "", "", "")
  var child_1_1 = mainMenu.AddChildMenu (child_1, "system", "", SYSSETTINGS, "a_syssettings.htm", HELPTEXT_SYSSETTINGS, "", "")
  var child_1_2 = mainMenu.AddChildMenu (child_1, "personality", "", PERSONSETTINGS, "a_syspersonality.htm", HELPTEXT_HOMESETTINGS, "", "")
  if (IsDialingAllowed ()) var child_1_2b = mainMenu.AddChildMenu (child_1, "sites", "", JSITES, "a_sites.htm", HELPTEXT_HOMESETTINGS, "", "")
  if (!IsSSeries ())var child_1_3 = mainMenu.AddChildMenu (child_1, "security", "", SEC, "a_security.htm", HELPTEXT_SECURITY, "", "")
  if (!IsSSeries ())var child_1_3b = mainMenu.AddChildMenu (child_1, "pwsettings", "", JITC_PASSCONFIG, "a_pwsettings.htm", JITC_PASSCONFIG, "", "")
  var child_1_4 = mainMenu.AddChildMenu (child_1, "location", "", LOCALIZ, "a_localization.htm", HELPTEXT_LOCATION, "", "")
  var child_1_4b = mainMenu.AddChildMenu (child_1, "time", "", DATE_TIME, "a_time.htm", HELPTEXT_DATETIME, "", "")
  var child_1_6 = mainMenu.AddChildMenu (child_1, "serial", "",
    (getNumSerialPorts () > 1) ? SERIAL_PL_TITLE : SERIAL_TITLE,
    "a_serialport.htm", HELPTEXT_SERIALPORTS, "", "HasSerialPort()")
  if (!IsSSeries ()) var child_1_5 = mainMenu.AddChildMenu (child_1, "options", "", OPTIONS_TITLE, "a_options.htm", HELPTEXT_OPTIONS, "", "")
  if (IsWebUpgradable ()) var child_1_7 = mainMenu.AddChildMenu (child_1, "softupdate", "", SOFTUPDATE, "a_softupdateupload.htm", HELPTEXT_SOFTUPDATE, "", "")
  if (!IsSSeries ())
  {
    var child_2 = mainMenu.AddChildMenu (tree.root, "network", "", NETWORK, "", "", "", "")
    var child_2_1 = mainMenu.AddChildMenu (child_2, "ip", "", IPNETWORK_TITLE, "a_ipnetwork.htm", HELPTEXT_IPNETWORK, "", "")
  }
  else
  {
    var child_2 = mainMenu.AddChildMenu (tree.root, "ip", "",
      SIP_SETTINGS, "a_ipnetwork.htm", DIR_CONFIGIP, "", "")
  }
  if (IsV35()) var child_2_2 = mainMenu.AddChildMenu (child_2, "v35", "", V35_449_530, "a_v35.htm", HELPTEXT_V35NETWORK, "", "")
  if (IsPRI()) var child_2_3 = mainMenu.AddChildMenu (child_2, "pri", "", PRINETWORK, "a_prinetwork.htm", HELPTEXT_PRINETWORK, "", "")
  if (IsBRI()) var child_2_4 = mainMenu.AddChildMenu (child_2, "bri", "", BRINET, "a_brinetwork.htm", HELPTEXT_BRINETWORK, "", "")
  var child_2_5 = mainMenu.AddChildMenu (child_2, "pots", "", TELEPHONY, "a_telephony.htm", HELPTEXT_TELEPHONY, "", "")
  if (IsDialingAllowed ()) var child_2_6 = mainMenu.AddChildMenu (child_2, "call", "", CALLINGSETUP, "a_callpreference.htm", HELPTEXT_CALLPREF, "", "")
  if (!IsSSeries ()) var child_2_7 = mainMenu.AddChildMenu (child_2, "networkd", "", NETWORK_DIALING, "a_callqualitysetup.htm", HELPTEXT_CALLPREF, "", "")
  if (!IsSSeries ()) var child_2_8 = mainMenu.AddChildMenu (child_2, "speeds", "", DIALSPEEDS_TITLE, "a_dialingspeeds.htm", HELPTEXT_CALLPREF, "", "")
  if (!isJFK) 
  {
    var child_3 = mainMenu.AddChildMenu (tree.root, "monitors", "", MONITORS, "a_monitors.htm", HELPTEXT_MONITORS, "", "")
  }
  else
  {
    var child_3 = mainMenu.AddChildMenu (tree.root, "monitors", "", MONITOR_STR, "a_monitors.htm", HELPTEXT_MONITORS, "", "")
  }
  var child_4 = mainMenu.AddChildMenu (tree.root, "cameras", "", CAMERAS, "a_cameras.htm", HELPTEXT_CAMERAS, "", "")
  var child_7 = mainMenu.AddChildMenu (tree.root, "audiomain", "", AUDIO_TITLE, "a_audiosettings.htm", HELPTEXT_AUDIOSETTINGS, "", "")
  var child_5 = mainMenu.AddChildMenu (tree.root, "lan", "", LANPROPERTIES, "a_lansettings.htm", HELPTEXT_LANSETTINGS, "", "")
  if (!IsSSeries ())
  {
    var child_6 = mainMenu.AddChildMenu (tree.root, "global", "", GLOBALSERVICES, "", "", "", "")
    var child_6_1 = mainMenu.AddChildMenu (child_6, "dir", "", DIRECTORYSERVICES, "a_globaladdressserver.htm", HELPTEXT_DIRSERVERS, "", "")
    var child_6_3 = mainMenu.AddChildMenu (child_6, "snmp", "", SNMPLANGITEM, "a_snmp.htm", HELPTEXT_SNMP, "", "")
    var child_6_4 = mainMenu.AddChildMenu (child_6, "gmsserver", "", MANAGEMENT_SERVERS_TITLE, "a_gmsurl.htm", HELPTEXT_GMSURL, "", "")
    var child_6_4 = mainMenu.AddChildMenu (child_6, "provisioningserver", "", VC2_PROVISIONING_SERVICE, "a_provisioning.htm", HELPTEXT_PROVISIONING, "", "")
    var child_6_5 = mainMenu.AddChildMenu (child_6, "account", "", ACCOUNT_VALIDATION_TITLE, "a_accountval.htm", HELPTEXT_ACCTVALID, "", "")
    var child_6_6 = mainMenu.AddChildMenu (child_6, "gmsinfo", "", MY_INFORMATION_TITLE, "a_gmsinfo.htm", HELPTEXT_GMSINFO, "", "")
  }
  if (IsSSeries ()) var child_7 = mainMenu.AddChildMenu (
    tree.root, "ldap", "", LDAP_STR, "a_ldap.htm", HELPTEXT_LDAP, "", "")
  
  AddTools (tree)
}

function AddDiagMenus ()
{
  var tree  = mainMenu.AddMainMenuItem ("Diagnostics_web.png", "Diagnostics_web_o.png", "diagnostics", DIAG, "a_systemstatus.htm")
  // System Status
  var child_3 = mainMenu.AddChildMenu (tree.root, "status", "", SYSSTATUS, "", "", "", "")
  var child_3_1 = mainMenu.AddChildMenu (child_3, "system", "", SYSSTATUS, "a_systemstatus.htm",
    (IsSSeries ()) ?  DIR_INFOFUCTIONING : HELPTEXT_SYSSTATUS, "", "")
  var child_3_2 = mainMenu.AddChildMenu (child_3, "callsum", "", CALL_SUMMARY_TITLE, "a_callsummary.htm", HELPTEXT_CALLSUMMARY, "", "")
  // Call Status
  var child_5 = mainMenu.AddChildMenu (tree.root, "callstatus", "", CALL_STATS_TITLE, "a_callstatus.htm", HELPTEXT_CALLSTATISTICS, "", "")  
  // Network
  var child_2 = mainMenu.AddChildMenu (tree.root, "network", "", NETWORK, "", "", "", "")
  var child_2_1 = mainMenu.AddChildMenu (child_2, "nearloop", "", NEAENDLOO, "a_nearendloop.htm", HELPTEXT_NEARENDLOOP, "", "")
  var child_2_2 = mainMenu.AddChildMenu (child_2, "ping", "", PING, "a_ping.htm", HELPTEXT_PING, "", "")
  var child_2_3 = mainMenu.AddChildMenu (child_2, "traceroute", "", TRACE_ROUTE, "a_traceroute.htm", HELPTEXT_TRACEROUTE, "", "")
  // Video
  if (!IsSSeries ()) var child_4 = mainMenu.AddChildMenu (tree.root, "colorbar", "", VIDEO_TITLE, "a_colorbar.htm", HELPTEXT_COLORBAR, "", "")
  // Audio
  var child_1 = mainMenu.AddChildMenu (tree.root, "audio", "", AUDIO_TITLE_2, "", "", "", "")
  var child_1_1 = mainMenu.AddChildMenu (child_1, "test", "", SPEAKERTEST,
    "a_speakertest.htm", (isHDX) ? AUDIO_TEST : HELPTEXT_SPEAKERTEST, "", "")
  var child_1_2 = mainMenu.AddChildMenu (child_1, "audiodiags", "", AUDIOMETER, "a_audiodiagnostics.htm", HELPTEXT_AUDIODIAG, "", "")
   if (!IsWebLogCapable()) var child_8 = mainMenu.AddChildMenu (tree.root, "errorlog", "", ERRORLOG, "a_errorlog.htm", HELPTEXT_ERRORLOG, "", "")
  // Reset
  var child_6 = mainMenu.AddChildMenu (tree.root, "reset", "", RESTART, "a_resetsys.htm", HELPTEXT_RESETSYS, "", "")
  // Send a message
  var child_7 = mainMenu.AddChildMenu (tree.root, "message", "", SEND_A_MSG, "a_sendamessage.htm", HELPTEXT_MESSAGE, "", "")
  // System Logs
  if (IsWebLogCapable ())
  {
    var child_8 = mainMenu.AddChildMenu (tree.root, "syslog", "", SYSLOG_TITLE, "", "", "", "")
//    var child_8_1 = mainMenu.AddChildMenu (child_8, "viewsyslog", "", VIEW_SYSLOG_TITLE, "a_logview.htm", HELPTEXT_VIEWSYSLOG, "", "")
    var child_8_2 = mainMenu.AddChildMenu (child_8, "downloadsyslog", "", DOWNLOAD_SYSLOG_TITLE, "a_downloadlog.htm", HELPTEXT_DOWNLOADSYSLOG, "", "")
    var child_8_3 = mainMenu.AddChildMenu (child_8, "configuresyslog", "", CONFIG_SYSLOG_TITLE, "a_configlog.htm", HELPTEXT_CONFIGSYSLOG, "", "")
  }
  AddTools (tree)
}

function AddUtilityMenus ()
{
  var tree  = mainMenu.AddMainMenuItem ("Utilities_web.png", "Utilities_web_o.png",  "utilities", UTILITIES, "a_sendamessage.htm")
  var child_2 = mainMenu.AddChildMenu (tree.root, "cc", "", CLOSEDCAP,
    "a_closedcap.htm", HELPTEXT_CLOSEDCAP, "", "")
  if (!IsSSeries ()) var child_3 = mainMenu.AddChildMenu (tree.root, "profile", "", PROFILE_CENTER,
    "a_datfilesimportexport.htm", HELPTEXT_PROFILECENTER, "", "")
  var child_4 = mainMenu.AddChildMenu (tree.root, "message", "", SEND_A_MSG,
    "a_sendamessage.htm", HELPTEXT_MESSAGE, "", "")
  if (!IsSSeries ()) var child_5 = mainMenu.AddChildMenu (tree.root, "dirie", "", DIRECTORY_IMPORT,
    "a_directoryimportexport.htm", HELPTEXT_DIRIMPORT, "", "")
  var child_6 = mainMenu.AddChildMenu (tree.root, "calllog", "", CALL_DETAIL_REPORT,
    "a_calllogframe.htm", HELPTEXT_CALLDETAIL, "", "")
  var child_7 = mainMenu.AddChildMenu (tree.root, "ss", "", SCREEN_SAVER,
    "a_screensaver.htm", HELPTEXT_SCRNSVR, "", "")
  if (IsDialingAllowed ()) var child_8 = mainMenu.AddChildMenu (tree.root, "wd", "", WEB_DIRECTOR, 
    "MM_openBrWindow('a_webdirector.htm','"+kWebDirWinName+"','resizable=yes,width=800,height=700')", "", "", "")
  if (IsStreamingCapable ()) var child_9 = mainMenu.AddChildMenu (tree.root, "streaming", "", VIEW_MEETING,
    "MM_openBrWindow('m_stream.htm','"+kStreamWinName+"','width=400,height=410')", "", "", "IsStreamingCapable ()")
  AddTools (tree)
}

function AddDialingMenus ()
{
  var tree  = mainMenu.AddMainMenuItem ("MakeACall_web.png", "MakeACall_web_o.png", "dialing", MAKEACALL, "a_makeacall.htm")
  var child_1 = mainMenu.AddChildMenu (tree.root, "manual", "", MAKEACALL, "a_makeacall.htm", HELPTEXT_PLACECALL, "", "")
  var child_2 = mainMenu.AddChildMenu (tree.root, "directory", "", DIRECTORY, "a_directory.htm", HELPTEXT_DIRECTORY, "", "")
  var child_3 = mainMenu.AddChildMenu (tree.root, "history", "", CALLHISTORY_TITLE, "a_recentcalls.htm", HELPTEXT_RECENTCALLS, "", "")
  AddTools (tree)
}

function AddUserMenus ()
{
  var tree       = mainMenu.AddMainMenuItem ("UserSetup_web.png", "UserSetup_web_o.png", "home", HOME, "u_welcome.htm")
  var child_1    = mainMenu.AddChildMenu (tree.root, "welcome", "", WELCOME, "u_welcome.htm", " ", "", "")
  if (IsStreamingCapable ()) var child_2    = mainMenu.AddChildMenu (tree.root, "streaming", "", VIEW_MEETING,
    "MM_openBrWindow('m_stream.htm','','width=400,height=410')", "", "", "IsStreamingCapable ()")
  var child_3    = mainMenu.AddChildMenu (tree.root, "weblan", "", WEBLANGUAGE, "", SEL_LANGUAGE, "", "")
  if (IsSupportedLanguage ("EN")) child_3_1  = mainMenu.AddChildMenu (child_3, "en", "", "American English", "MM_OnLanguageChange('EN')", "", "", "")
  if (IsSupportedLanguage ("AR")) var child_3_1b = mainMenu.AddChildMenu (child_3, "ar", "Arabic.png", "", "MM_OnLanguageChange('AR')", "", "", "")
  if (IsSupportedLanguage ("EK")) var child_3_2  = mainMenu.AddChildMenu (child_3, "ek", "", "British English", "MM_OnLanguageChange('EK')", "", "", "")
  if (IsSupportedLanguage ("DE")) var child_3_3  = mainMenu.AddChildMenu (child_3, "de", "", "Deutsch", "MM_OnLanguageChange('DE')", "", "", "")
  if (IsSupportedLanguage ("SP")) var child_3_4  = mainMenu.AddChildMenu (child_3, "sp", "", "Espa\u00f1ol", "MM_OnLanguageChange('SP')", "", "", "")
  if (IsSupportedLanguage ("FR")) var child_3_5  = mainMenu.AddChildMenu (child_3, "fr", "", "Fran\u00e7ais", "MM_OnLanguageChange('FR')", "", "", "")
  if (IsSupportedLanguage ("IT")) var child_3_6  = mainMenu.AddChildMenu (child_3, "it", "", "Italiano", "MM_OnLanguageChange('IT')", "", "", "")
  if (IsSupportedLanguage ("JA")) var child_3_7  = mainMenu.AddChildMenu (child_3, "ja", "Japanese.gif", "", "MM_OnLanguageChange('JA')", "", "", "")
  if (IsSupportedLanguage ("KO")) var child_3_8  = mainMenu.AddChildMenu (child_3, "ko", "Korean.gif", "", "MM_OnLanguageChange('KO')", "", "", "")
  if (IsSupportedLanguage ("HU")) var child_3_8b = mainMenu.AddChildMenu (child_3, "hu", "", "Magyar", "MM_OnLanguageChange('HU')", "", "", "")
  if (IsSupportedLanguage ("NO")) var child_3_9  = mainMenu.AddChildMenu (child_3, "no", "", "Norsk", "MM_OnLanguageChange('NO')", "", "", "")
  if (IsSupportedLanguage ("PL")) var child_3_9b = mainMenu.AddChildMenu (child_3, "pl", "", "Polski", "MM_OnLanguageChange('PL')", "", "", "")
  if (IsSupportedLanguage ("PT")) var child_3_10 = mainMenu.AddChildMenu (child_3, "pt", "", "Portugu\u00eas", "MM_OnLanguageChange('PT')", "", "", "")
  if (IsSupportedLanguage ("RU")) var child_3_11 = mainMenu.AddChildMenu (child_3, "ru", "Russian.gif", "", "MM_OnLanguageChange('RU')", "", "", "")
  if (IsSupportedLanguage ("ZH")) var child_3_12 = mainMenu.AddChildMenu (child_3, "zh", "Chinese.gif", "", "MM_OnLanguageChange('ZH')", "", "", "")
  if (IsSupportedLanguage ("ZHT")) var child_3_13 = mainMenu.AddChildMenu (child_3, "zht", "ChineseTraditional.gif", "", "MM_OnLanguageChange('ZHT')", "", "", "")
  if (IsSupportedLanguage (GetAbbrevforLanguage(wildCard1))) var child_3_14 = mainMenu.AddChildMenu (child_3, GetAbbrevforLanguage(wildCard1).toLowerCase(), "", GetLocalizedLanguage(wildCard1), "MM_OnLanguageChange(GetAbbrevforLanguage(wildCard1))", "", "", isThereWildcard1)
  if (IsSupportedLanguage (GetAbbrevforLanguage(wildCard2))) var child_3_15 = mainMenu.AddChildMenu (child_3, GetAbbrevforLanguage(wildCard2).toLowerCase(), "", GetLocalizedLanguage(wildCard2), "MM_OnLanguageChange(GetAbbrevforLanguage(wildCard2))", "", "", isThereWildcard2)
  if (IsSupportedLanguage (GetAbbrevforLanguage(wildCard3))) var child_3_16 = mainMenu.AddChildMenu (child_3, GetAbbrevforLanguage(wildCard3).toLowerCase(), "", GetLocalizedLanguage(wildCard3), "MM_OnLanguageChange(GetAbbrevforLanguage(wildCard3))", "", "", isThereWildcard3)
  AddTools (tree)
}

////////////////////////////////////////////////////////////////////////////////
//  Name:        GetLocalizedLanguage
//  Description: Description
////////////////////////////////////////////////////////////////////////////////

function GetLocalizedLanguage (value)
{
  switch(value)
  {
        case "Finnish": return "Suomi";
        case "Afrikaans": return "Afrikaans";
        case "Albanian": return "Albanian";
        case "Basque": return "Basque";
        case "Bulgarian": return "Bulgarian";
        case "Catalan": return "Catalan";
        case "Croatian": return "Croatian";
        case "Czech": return "Czech";
        case "Danish": return "Danish";
        case "Dutch": return "Dutch";
        case "Estonian": return "Estonian";
        case "Faeroese": return "Faeroese";
        case "Greek": return "Greek";
        case "Icelandic": return "Icelandic";
        case "Indonesian": return "Indonesian";
        case "Latvian": return "Latvian";
        case "Lithuanian": return "Lithuanian";
        case "Macedonian": return "Macedonian";
        case "Romanian": return "Romanian";
        case "Serbian": return "Serbian";
        case "Slovak": return "Slovak";
        case "Slovenian": return "Slovenian";
        case "Swahili": return "Swahili";
        case "Swedish": return "Swedish";
        case "Turkish": return "Turkish";
        case "Ukrainian": return "Ukrainian";
        case "Persian": return "Persian";
        case "Urdu": return "Urdu";
        case "Sindhi": return "Sindhi";
        case "Kurdish": return "Kurdish";
        case "Uighur": return "Uighur";
    default: return "English";
  }
}

////////////////////////////////////////////////////////////////////////////////
//  Name:        GetAbbrevforLanguage
//  Description: Description
////////////////////////////////////////////////////////////////////////////////

function GetAbbrevforLanguage (value)
{
  switch(value)
  {
        case "Finnish": return "FI";
        case "Afrikaans": return "AF";
        case "Albanian": return "SQ";
        case "Basque": return "EU";
        case "Bulgarian": return "BG";
        case "Catalan": return "CA";
        case "Croatian": return "HR";
        case "Czech": return "CS";
        case "Danish": return "DA";
        case "Dutch": return "NL";
        case "Estonian": return "ET";
        case "Faeroese": return "FO";
        case "Greek": return "EL";
        case "Icelandic": return "IS";
        case "Indonesian": return "ID";
        case "Latvian": return "LV";
        case "Lithuanian": return "LT";
        case "Macedonian": return "MK";
        case "Romanian": return "RO";
        case "Serbian": return "SR";
        case "Slovak": return "SK";
        case "Slovenian": return "SL";
        case "Swahili": return "SW";
        case "Swedish": return "SV";
        case "Turkish": return "TR";
        case "Ukrainian": return "UK";
        case "Persian": return "FA";
        case "Urdu": return "UR";
        case "Sindhi": return "SD";
        case "Kurdish": return "KU";
        case "Uighur": return "UG";
    default: return "EN";
  }
}

function AddTools (tree)
{
  var child_1 = mainMenu.AddChildMenu (tree.root, "spacer", "", "", "", "", "", "")
  var child_1 = mainMenu.AddChildMenu (tree.root, "tools", "", TOOLS, "", "", "", "")
  var child_2 = mainMenu.AddChildMenu (child_1, "info", "", SYSINFMN, "a_main.htm", HELPTEXT_SYSINFO, "", "")
  var child_3 = mainMenu.AddChildMenu (child_1, "docs", "", PRODUCT_DOCS,
    "MM_openBrWindow('http://www.polycom.com/videodocumentation','"+kDocsWinName+"','')", "", "", "")
  var child_4 = mainMenu.AddChildMenu (child_1, "map", "", SITE_MAP, "a_toc.htm", " ", "", "")
  var child_5 = mainMenu.AddChildMenu (child_1, "remote", "", REMOTE_CONTROL,
    "MM_openBrWindow('a_remotecontrol.htm','"+kRemoteWinName+"','width=161,height=620')", "", "", "")
  var child_6 = mainMenu.AddChildMenu (child_1, "monitoring", "", REMOTE_MONITORING,
     "MM_openBrWindow('a_tvmon.htm','"+kTVMonWinName+"','width=720,height=300')", "", "", "")
}

function AddMenus ()
{
  if (!IsSSeries ()) 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.
  LoadContent (url)
}

function ChangeMainPage (newID)
{
  // Change the style of the currently selected icon
  var elementID = "main_"+newID
  var oldID = mainMenu.GetMainMenuID()
  if (oldID != null)
  {
    var oldElementId = "main_"+oldID
    var lastSelected = document.getElementById (oldElementId)
    if (lastSelected) lastSelected.className = "topNavigationNotSelected"
    document.getElementById ("Image_"+oldElementId).src =
      mainMenu.images[oldID].src
  }
  else
  {
    alert ("ERROR: No main page selected - \"" + oldID + "\"")
  }
  // Change the style of the newly selected icon
  document.getElementById (elementID).className = "topNavigationSelected"
  document.getElementById ("Image_"+elementID).src = mainMenu.selectedImages[newID].src
  mainMenu.SetMainMenuID (newID)
  // Set this so when we draw the menus it expands
  var currentTree = mainMenu.GetCurrentTree()
  
  // If no node is currently selected select the default
  if (!currentTree.selectedObject) 
  {
    currentTree.selectNode(currentTree.FindNodeId (currentTree.root.url))
  }

  var selectedObject = currentTree.selectedObject
  
  if (selectedObject.parent && 
    selectedObject.parent != selectedObject.root)
  {
    selectedObject.parent.expanded = true
  }

  DrawSideMenu ()
  currentTree.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
  RemoveChildren ("sideMenu")
  mainMenu.trees[mainMenu.GetMainMenuID()].buildDOM ("sideMenu",
    "mainMenu.GetCurrentTree()")
}
