/*
  SokoSave accordion menu customization/support.
  Copyright (C)2008-2009 by Eric Sunshine <sunshine@sokosave.org>
*/
window.addEvent('domready', function() {
  // Buggy IE7 drops anti-aliasing of text within collapsed accordion sections
  // when opacity-fade is employed.
  var usefade = true;
  if (Browser.Engine.trident) // Is browser IE?
    usefade = false;

  var activeitem = $$('#mainmenu > li.menuparent.menuactive')[0];
  if (!activeitem) {
    var x = $$('#mainmenu > li.menuparent li.menuactive')[0];
    if (x)
      activeitem = x.getParent('li');
  }
  var mainmenucurrent = $$('#mainmenu > li.menuparent').indexOf(activeitem);

  var mainmenu = new Accordion($('mainmenu'), '#mainmenu li.menuparent', '#mainmenu li.menuparent ul', {
    duration: 'short',
    opacity: usefade,
    trigger: 'mouseover',
    show: mainmenucurrent,
    onActive: function(toggler, element) {
      toggler.addClass('menuopen');
    },
    onBackground: function(toggler, element) {
      toggler.removeClass('menuopen');
    }
  });

  $('mainmenu').addEvent('mouseleave', function() {
    mainmenu.display(mainmenucurrent);
  });
});


/*
  SokoSave slide customization/support.
  Copyright (C)2008 by Eric Sunshine <sunshine@sokosave.org>
*/
window.addEvent('domready', function() {
  $$('.slidecontainer').each(function(container) {
    var toggle = container.getElement('.slidetoggle');
    var body = container.getElement('.slidebody');
    var slide = new Fx.Slide(body);
    if (toggle.hasClass('slideclose')) {
      slide.hide();
      toggle.removeClass('slideopen'); // Just in case.
    }
    toggle.addEvent('click', function(e) {
      e.stop();
      slide.toggle();
    });
    slide.addEvent('complete', function() {
      toggle.toggleClass('slideopen');
      toggle.toggleClass('slideclose');
    });
  });
});
