function ddmenu(n) {
  this.n = n;
  this.h = new Array();
  this.c = new Array();
  this.init = ddinit;
  this.st = ddst;
  this.sl = ddsl;
}
  
function ddinit(p,c) {
  this.a = c;
  var w=document.getElementById(p), s=w.getElementsByTagName("ul"), l=s.length, i=0;
  for(i; i<l; i++) {
   var h = s[i].parentNode;
   this.h[i] = h;
   this.c[i] = s[i];
   h.onmouseover = new Function( this.n+".st("+i+",true)" );
   h.onmouseout = new Function( this.n+".st("+i+")" );
  }
}

function ddst(x,f) {
 var c=this.c[x], h=this.h[x], p=h.getElementsByTagName("a")[0];
 var a = this.a, t = 15, z = 50;
 
 clearInterval(c.t);
 c.style.overflow="hidden"
 if(f) {
  p.className+=" "+a;
  if(!c.mh) {
   c.style.display="block";
   c.style.height="";
   c.mh=c.offsetHeight;
   c.style.height="0px";
  }
  if(c.mh==c.offsetHeight) {
   c.style.overflow="visible";
  }
  /*c.style.zIndex=z;
  z++;*/
  function ddstart() { ddsl(c,1); }
  c.t=setInterval(ddstart, t);
 }
 else {
  p.className=p.className.replace(a,"");
  function ddstop() { ddsl(c,-1); }
  c.t=setInterval(ddstop, t);
 }
}

function ddsl(c,f) {
 var h = c.offsetHeight;
 var s = 6;
 if( (h<=0 && f!=1)||(h>=c.mh && f==1) ) {
  if( f==1 ) {
   /*c.style.filter="";
   c.style.opacity="1";*/
   c.style.overflow="visible";
  }
  clearInterval(c.t);
  return;
 }
 var d = (f==1) ? Math.ceil((c.mh-h)/s) : Math.ceil(h/s), o=h/c.mh;
 /*c.style.opacity=o;
 c.style.filter="alpha(opacity=" + (o*100) +")";*/
 var hlp =h+(d*f);
 c.style.height = hlp.toString()+"px";
}
