// ---------------------------
//   C O N T E N T   M E N U
// ---------------------------

  function contentMenuCollapse(AElement, ACollapseAll, ANested)
  {
    if (!AElement) 
      return true;

    var element = AElement;

    if (!ANested) {
      while (element && (element.className != 'contentMenu')) {
        if (!ACollapseAll && (element.parentNode.className.indexOf('contentMenuNode') == 0)) {
          element = element.parentNode.parentNode; 
          break;
        }
        element = element.parentNode;
      }

      if (!element) 
        return true;
    }

    var element = element.firstChild;
    while (element) {
      if (element.className == 'contentMenuNodeExpanded') {
        element.className = 'contentMenuNode';
        boxExpandCollapse(element, 'contentMenuNode');
        contentMenuCollapse(element.firstChild, false, true);
      }
      element = element.nextSibling;
    }
    
    return false;
  }

  function contentMenuExpand(AElement)
  {
    if (!AElement)
      return true;

    var element = AElement;
    while (element && (element.className.indexOf('contentMenuNode') != 0)) {
      element = element.parentNode;
    }

    if (!element || (element.className == 'contentMenuNodeExpanded'))// || (element.innerHTML.indexOf('contentMenuLevel') == -1))
      return true;

    contentMenuCollapse(element, true);

    while (element && (element.className != 'contentMenu')) {
      if (element.className.indexOf('contentMenuNode') == 0) {
        element.className = 'contentMenuNodeExpanded';
        boxExpandCollapse(element, 'contentMenuNodeExpanded');
      }
      element = element.parentNode;
    }

    return false;
  }

// ---------------------------
//           P O L L
// ---------------------------

    function pollFormValidate(form, message)
    {
      if (!form) return false;
      var result = false;
      for (var i = 0; i < form.elements.length; i++) {
        if (form.elements[i].checked) {
          result = true;
          break;
        }
      }
      if (!result) alert(message);
      return result;
    }

// ---------------------------
//      M A I N   M E N U
// ---------------------------

//    classMenu.prototype.inheritedShow = classMenu.prototype.show;
//    classMenu.prototype.show = function(AMenuName, AStyleName, AParams, AEvent, AOffsetX, AOffsetY, AParentElementID)
//    {
//      this.inheritedShow(AMenuName, AStyleName, AParams, AEvent, AOffsetX, AOffsetY, AParentElementID);
//      document.main_menu.SetVariable('submenuCollapsed', 1);
//    }
    classMenu.prototype.inheritedCollapse = classMenu.prototype.collapse;
    classMenu.prototype.collapse = function()
    {
      this.inheritedCollapse();
      //document.main_menu.SetVariable('submenuCollapsed', 1);
    }

    var menu = new classMenu();

    var style =
    {
      //'blurFocusedElement':       true,
      //'collapseDelay':            1000, //default: 2000
      //'selectShownSubmenusDelay': 100, //default: 250

      'showSubmenuDelay':         350, //default: 250
      //'hideAllSubmenusDelay':     10, //default: 1000

      'levels': [
        {
          //'showSubmenuDelay':     10, //default: 250
          //'hideAllSubmenusDelay': 10, //default: 1000
          //'offsetX':           0,
          //'offsetY':           0,
          //'nonCollapsible':    false,
          'cssContainer':      'mainMenu',
          'cssItem':           'mainMenuItem',
          'horizontal':        false,
          'submenuOffsetX':    -1,
          'submenuOffsetY':    10
        },
      ]
    };

    menu.addStyle('style', style);

