   function menuActivator(root){
      var items = root.childNodes;
      var itemsCount = root.childNodes.length;

      for (var i = 0; i < itemsCount; i++){
         var iParent = items[i].parentNode;
         if (items[i].tagName == 'UL')
            if (!Element.classNames(iParent).include('avtive')){
               if (Element.classNames(iParent).include('maximazed') == true) { Element.removeClassName(iParent, 'maximazed'); }
               Element.addClassName(iParent, 'minimized');
               Element.hide(items[i]);
            } else {
               if (Element.classNames(iParent).include('minimized') == true) { Element.removeClassName(iParent, 'minimized'); }
               Element.addClassName(iParent, 'maximazed');
            }

         if (items[i].tagName == 'LI') {
               menuActivator(items[i]);
         }
         if ((items[i].tagName == 'SPAN') || (items[i].tagName == 'A')) {
            items[i].onclick = function () { return toggleMenu(this.parentNode);  };
         }
      }
   }

   function toggleMenu(parent) {
      var root = $(parent);
      var items = root.childNodes;
      var itemsCount = root.childNodes.length;

      for (var i = 0; i < itemsCount; i++) {
         var iParent = items[i].parentNode;
         if (items[i].tagName == 'UL') {
            Element.toggle(items[i]);
            if (!Element.visible(items[i])) {
               if (Element.classNames(iParent).include('maximazed')) Element.removeClassName(iParent, 'maximazed');
               Element.addClassName(iParent, 'minimized');
            } else {
               if (Element.classNames(iParent).include('minimized')) Element.removeClassName(iParent, 'minimized');
               Element.addClassName(iParent, 'maximazed');
            }
            return false;
         }
      }
      return true;
   }

   //setTimeout('menuActivator($(\'menu\'))', 400);
   Event.observe(window, 'load', function () { menuActivator($('menu')); });
