function SlideMenu(id) {
  var o=new Object();
  o.dH=100;
  o.ms=50;
  var menus=new Array();
  var container=document.getElementById(id);

  container.style.display='block';
  container.style.overflow='hidden';
  container.style.position='relative';

  var cNodes=container.childNodes;
  for(var i=0;i<cNodes.length;i++){
    if(cNodes[i].nodeName=='DIV'){
      menus.push(new Menu(cNodes[i],menus.length));
    }
  }

  var topTop=0;
  for(var i=0;i<menus.length;i++){
    menus[i].topTop=topTop;
    topTop+=menus[i].hdr.offsetHeight;
  }
  var displayHeight=container.clientHeight-topTop;
  var btmTop=container.clientHeight;
  for(var i=menus.length-1;i>=0;i--){
    btmTop-=menus[i].hdr.offsetHeight;
    menus[i].btmTop=btmTop;
  }

  //init position
  menus[0].turnOn();
  for(var i=1;i<menus.length;i++){
    menus[i].elm.style.top=menus[i].btmTop+'px';
    menus[i].isUp=false;
  }

  function openMenu(idx) {
    var menuIdx=new Array();
    var tH=0;
    if(menus[idx].isUp) {
      for(var i=menus.length-1;i>=idx+1;i--) {
        if(menus[i].isUp) {
          menuIdx.push(i);
          menus[i].isUp=false;
        }
      }
      var direction=1;
    } else {
      for(var i=0;i<=idx;i++) {
        if(!menus[i].isUp) {
          menuIdx.push(i);
          menus[i].isUp=true;
        }
      }
      var direction=-1;
    }
    if(menuIdx.length>0)moveMenu();
    function moveMenu() {
      var dH=o.dH;
      var stop=false;
      tH+=dH;
      if (tH>=displayHeight) {
        dH=dH-(tH-displayHeight);
        stop=true;
      }
      for(var i=0;i < menuIdx.length;i++) {
        var idx=menuIdx[i]
        var elm=menus[idx].elm;
        var t=parseInt(elm.style.top);
        elm.style.top=(t+(dH*direction))+'px';
      }
      if (!stop) window.setTimeout(moveMenu,o.ms);
    }
  }

  function Menu(elm,idx) {
    elm.style.width=container.clientWidth+'px';
    elm.style.position='absolute';
    var hdr=elm.getElementsByTagName('div').item(0);
    var hdrImg=hdr.getElementsByTagName('img').item(0);
    hdrImg.style.display='block';
    hdrImg.onmouseover=function(){
      turnOn();openMenu(idx);
    }
    var re=new RegExp('_(off|on)\.(jpg|gif)');
    var imgOff=hdrImg.src.replace(re,'_off.$2');
    var imgOn=hdrImg.src.replace(re,'_on.$2');

    this.elm=elm;
    this.hdr=hdr;
    this.hdrImg=hdrImg;
    this.isUp=true;
    this.turnOn=turnOn;
    this.turnOff=turnOff;    

    function turnOff() {
      if(hdrImg.src!=imgOff)hdrImg.src=imgOff;
    }
    function turnOn() {
      for(var i=0;i<menus.length;i++)menus[i].turnOff();
      if(hdrImg.src!=imgOn)hdrImg.src=imgOn;
    }
  }
}