Menu = {
 timer: 10,
 speed: 4,
 work: false,
 lastelement: null,
 init: function(){
  items = document.getElementById('leftmenu').getElementsByTagName('ul');
  //handle = function(){ OnMenuClick(); return false; };
  for(i in items){
   if(!isNaN(i)){
    //for menu slide
    if(items[i].className!='submenu'){
     if(window.addEventListener) items[i].parentNode.getElementsByTagName('a')[0].addEventListener("click", Menu.slide, false);
     else items[i].parentNode.getElementsByTagName('a')[0].attachEvent("onclick", Menu.slide);
	 items[i].n = i;
	 items[i].style.display = 'block';
     items[i].style.overflow = 'hidden';
	 items[i].maxheight = items[i].offsetHeight;
     items[i].style.height = '0px';
     items[i].style.display = 'none';
     items[i].toshow = true;
     items[i].timer = null;
     if(items[i].parentNode.getElementsByTagName('a')[0].className=='root-item-selected'){
          items[i].style.height = items[i].maxheight+'px';
          items[i].style.display = 'block';
          Menu.lastelement = i;
          items[i].toshow = false;
          }
    }
	//for submenu display
	else {
     links = items[i].parentNode.getElementsByTagName('a')[0];
	  items[i].parentNode.onmouseover=function(){
    	this.getElementsByTagName("ul")[0].style.display="block"
      }
	  items[i].parentNode.onmouseout=function(){
    	this.getElementsByTagName("ul")[0].style.display="none"
      }
	}
   }
  }
 },
 slide: function(e){
  if(Menu.work){
   return false;
  }
  Menu.work = true;
  element = e.target || e.srcElement;
  element = element.parentNode.getElementsByTagName('ul')[0].n;
  items[element].timer = setInterval('Menu.slider(element)', Menu.timer);
 },
 slider: function(element){
  toshow = items[element].toshow;
  items[element].style.display='block';
  maxheight = items[element].maxheight;
  currheight = items[element].offsetHeight;
  if(toshow) dist = (maxheight-currheight)/Menu.speed;
  else dist = (maxheight-(maxheight-currheight))/Menu.speed;
  dist = Math.round(dist);
  if(dist <= 1) dist = 1;
  if(toshow) items[element].style.height = currheight + dist + 'px';
  else items[element].style.height = currheight - dist + 'px';
  items[element].style.opacity = currheight / maxheight;
  items[element].style.filter = 'alpha(opacity=' + (currheight * 100 / maxheight) + ')';
  if(toshow && currheight >= maxheight){
   clearInterval(items[element].timer);
   Menu.work = false;
   items[element].toshow = false;
   //items[element].parentNode.getElementsByTagName('a')[0].className='opened';
   lelem = Menu.lastelement;
   Menu.lastelement = element;
   if(lelem!==null && Menu.lastelement!=lelem){
    items[lelem].timer = setInterval('Menu.slider(lelem)', Menu.timer);
	Menu.work = true;
   }
  }
  else if(!toshow && currheight <= 1){
   clearInterval(items[element].timer);
   items[element].style.display='none';
   Menu.work = false;
   items[element].toshow = true;
   //items[element].parentNode.getElementsByTagName('a')[0].className='';
   if(Menu.lastelement==element) Menu.lastelement = null;
  }
 }
}
