// JavaScript Document

function _(id){
  return (document.getElementById(id))?document.getElementById(id):document.all[id]
}

/*Drop Up Menu*/

function dropUpMenu(id){
  if (!document.getElementById || !document.getElementsByTagName)
		return false
  this.speed = 20
  this.menu = _(id)
  this.MaxHeight = 0
  this.cur_height = 0
  this.hit = false;
  this.idInterval = setInterval(function(){},5)
}

dropUpMenu.prototype.init = function(){
  var instance = this  
  this.submenu_box = this.menu.getElementsByTagName("div")[0]
  this.submenu_box.style.height = this.cur_height + "px"  
  this.submenu = this.menu.getElementsByTagName("a")
  for(var i = 0; i < this.submenu.length; i++){
    this.MaxHeight += (this.submenu[i].offsetHeight > 0) ? this.submenu[i].offsetHeight : 21
		this.submenu[i].onmouseover = function(){
			this.style.color = "rgb(255,255,153)"
		}
		this.submenu[i].onmouseout = function(){
			this.style.color = "#FFFFFF"
		}
  }
  this.speed = Math.round(this.MaxHeight / this.speed)
  this.submenu_box.onmouseover = function(){
    if(instance.cur_height < instance.MaxHeight){
      instance.slide_up();
    }
  }
  this.menu.onmouseover = function(){    
    instance.slide_up()    
  }
  this.menu.onmouseout = function(){
    instance.slide_down()    
  }
  this.submenu_box.style.top = ((this.menu.offsetHeight > 0) ? this.menu.offsetHeight + 2 : 36) + 'px'
}

dropUpMenu.prototype.slide_up = function(){
  var instance = this
  clearInterval(this.idInterval)  
  this.idInterval = setInterval(      
    function(){
      instance.submenu_box.style.opacity = instance.cur_height * 0.8 / instance.MaxHeight
      instance.submenu_box.style.filter = 'alpha(opacity=' + (instance.cur_height * 80 / instance.MaxHeight) + ')'
      instance.submenu_box.style.height = instance.cur_height + "px"
      if(instance.cur_height < instance.MaxHeight){        
        instance.cur_height +=  instance.speed        
      }else{
        clearInterval(instance.idInterval)
      }      
    }
  ,5)
}

dropUpMenu.prototype.slide_down = function(){
  var instance = this
  var wait = 25
  clearInterval(this.idInterval)
  this.idInterval = setInterval(      
    function(){
      instance.submenu_box.style.opacity = instance.cur_height * 0.8 / instance.MaxHeight
      instance.submenu_box.style.filter = 'alpha(opacity=' + (instance.cur_height * 80 / instance.MaxHeight) + ')'
      instance.submenu_box.style.height = instance.cur_height + "px"
      if(instance.cur_height > 0){
        if(wait == 0){
          instance.cur_height -=  instance.speed
        } else {
          wait --
        }
      }else{
        clearInterval(instance.idInterval)
      }      
    }
  ,5)    
}
