function toggleMenu(obj) {
    var submenu = getChild(obj, 'submenu');
    if (submenu) {
        Effect.toggle(submenu, 'blind', {duration: 0.3});
    }
}

function showMenu(obj) {
    var submenu = getChild(obj, 'submenu');
    if (submenu) {
        Effect.BlindDown(submenu, { duration:0 } );
    }
}

function getChild(node, filter) {
  var result = new Array();
  var children = node.childNodes;
  for(var i = 0; i < children.length; i++) {
    var className = children[i].className;
    if (className) {
        var regex = /submenu/;
        var matchPos = className.search(regex);
        if (matchPos != -1) {
            return children[i];
        }
    }
  }
  return null;
}

function checkActiveFlag(obj) {
    var className = obj.className;
    if (className) {
        var regex = /active/;
        var matchPos = className.search(regex);
        if (matchPos != -1) {
            return true;
        } 
    }
    return false;
}

function eventAdder(objAttrib,handler,addFunction){
     
   if ((!document.all)&&(document.getElementById)){
       objAttrib.setAttribute(handler,addFunction);
   }    
   //workaround for IE 5.x
   if ((document.all)&&(document.getElementById)){
       objAttrib[handler]=new Function(addFunction);
   }
}

window.onload = function() {

    var slideTriggers = $$('.slide-menu-button');
    slideTriggers.each(function(thisTrigger, i) {
        //thisTrigger.setAttribute('onclick', 'toggleMenu(this.parentNode)');
        eventAdder(thisTrigger,"onclick","toggleMenu(this.parentNode)");
    });

    var togglers = $$('.toggler');
    togglers.each(function(toggle, i) {
        var flag = checkActiveFlag(toggle);
        if (flag) {
            showMenu(toggle);
        }
    });
}