/*
(c) 2005, ilya lebedev (ilya@lebedev.net)

!!! requires DOMextensions.js !!!
*/

 /**
 *  Slider menu script, formes menu from UL's
 *
 *  @version 1.0
 *
 *  Revision history:
 *
 *  v1.1
 *  % stops onclick event for submenu parents
 *
 *  v1.0 
 *  + initial release
 **/

sliderMenu = {
  id         : 'menu',       // menu ID
  cls        : 'submenu',    // submenu opener class
  current    : false,        // current element

  toggle : function (e) {
    var e = window.event || e;
    var el = e.srcElement || e.currentTarget;
    if (sliderMenu.current == el.__submenu) {
     var smcs = sliderMenu.current.style;
     smcs.display = (smcs.display=='none')?'block':'none';
    } else {
      if (sliderMenu.current) sliderMenu.current.style.display = 'none';
      el.__submenu.style.display = 'block';
    }
    sliderMenu.current = el.__submenu;
  },
  stop : function (e) {
    var e = window.event || e;
    if (e.preventDefault) e.preventDefault();
    if (e.stopPropagation) e.stopPropagation();
    e.returnValue = false;
    e.cancelBubble = true;
    return false;
  },
  init : function (){
    var sm = document.getElementById(sliderMenu.id);
    var as = sm.getElementsByTagName ('A');
    var asL = as.length;
    for (var i = 0; i<asL; i++) {
      var tmp = as.item(i);
      if (tmp.className.indexOf(sliderMenu.cls)>-1) {
        while (tmp = tmp.nextSibling) { 
         if (tmp.tagName && tmp.tagName.toLowerCase() == 'ul') {
           as.item(i).__submenu = tmp;
           as.item(i).attachEvent ('onmouseup',sliderMenu.toggle);
           as.item(i).attachEvent ('onclick',sliderMenu.stop);
           break;
         }
        }
      }
    }
  }
}

if (window.attachEvent) window.attachEvent("onload",sliderMenu.init);
else document.attachEvent("onload",sliderMenu.init);
