/* http://ypslideoutmenus.sourceforge.net/ */
ypSlideOutMenu.Registry=[];
//ypSlideOutMenu.aniLen=250;
ypSlideOutMenu.aniLen=2;
ypSlideOutMenu.hideDelay=100;
ypSlideOutMenu.minCPUResolution=10;

function ypSlideOutMenu(id, dir, left, top, width, height)
{
    this.ie = document.all ? 1 : 0
    this.ns4 = document.layers ? 1 : 0
    this.dom = document.getElementById ? 1 : 0
    if (this.ie || this.ns4 || this.dom) 
    {
      this.id = id
      this.dir = dir
      this.orientation = dir == "left" || dir == "right" ? "h" : "v"
      this.dirType = dir == "right" || dir == "down" ? "-" : "+"
      this.dim = this.orientation == "h" ? width : height
      this.hideTimer = false
      this.aniTimer = false
      this.open = false
      this.over = false
      this.startTime = 0
      this.gRef = "ypSlideOutMenu_"+id
      eval(this.gRef+"=this")
      ypSlideOutMenu.Registry[id] = this
      var d = document
      var strCSS = '<style type="text/css">';
      strCSS += '#' + this.id + 'container { visibility:hidden; '
      strCSS += 'left:' + left + 'px; '
      strCSS += 'top:' + top + 'px; '
      strCSS += 'overflow:hidden; z-index:10000; }'
      strCSS += '#' + this.id + 'container, #' + this.id + 'content { position:absolute; '
      strCSS += 'width:' + width + 'px; '
      strCSS += 'height:' + height + 'px; '
      strCSS += 'clip:rect(0 ' + width + ' ' + height + ' 0); '
      strCSS += '}'
      strCSS += '</style>'
      d.write(strCSS)
      this.load()
    }
}

ypSlideOutMenu.writeCSS=function()
{
  document.writeln("<style type=\"text/css\">");
  for(var id in ypSlideOutMenu.Registry)
  {
  	document.writeln(ypSlideOutMenu.Registry[id].css);
  }
  document.writeln("</style>");
};

ypSlideOutMenu.prototype.load=function(){var d=document;var _10=this.id+"container";var _11=this.id+"content";var _12=this.dom?d.getElementById(_10):this.ie?d.all[_10]:d.layers[_10];if(_12){var _13=this.ns4?_12.layers[_11]:this.ie?d.all[_11]:d.getElementById(_11);}var _14;if(!_12||!_13){window.setTimeout(this.gRef+".load()",100);}else{this.container=_12;this.menu=_13;this.style=this.ns4?this.menu:this.menu.style;this.homePos=eval("0"+this.dirType+this.dim);this.outPos=0;this.accelConst=(this.outPos-this.homePos)/ypSlideOutMenu.aniLen/ypSlideOutMenu.aniLen;if(this.ns4){this.menu.captureEvents(Event.MOUSEOVER|Event.MOUSEOUT);}this.menu.onmouseover=new Function("ypSlideOutMenu.showMenu('"+this.id+"')");this.menu.onmouseout=new Function("ypSlideOutMenu.hideMenu('"+this.id+"')");this.endSlide();}};ypSlideOutMenu.showMenu=function(id){var reg=ypSlideOutMenu.Registry;var obj=ypSlideOutMenu.Registry[id];if(obj.container){obj.over=true;for(menu in reg){if(id!=menu){ypSlideOutMenu.hide(menu);}}if(obj.hideTimer){reg[id].hideTimer=window.clearTimeout(reg[id].hideTimer);}if(!obj.open&&!obj.aniTimer){reg[id].startSlide(true);}}};ypSlideOutMenu.hideMenu=function(id){var obj=ypSlideOutMenu.Registry[id];if(obj.container){if(obj.hideTimer){window.clearTimeout(obj.hideTimer);}obj.hideTimer=window.setTimeout("ypSlideOutMenu.hide('"+id+"')",ypSlideOutMenu.hideDelay);}};ypSlideOutMenu.hideAll=function(){var reg=ypSlideOutMenu.Registry;for(menu in reg){ypSlideOutMenu.hide(menu);if(menu.hideTimer){window.clearTimeout(menu.hideTimer);}}};ypSlideOutMenu.hide=function(id){var obj=ypSlideOutMenu.Registry[id];obj.over=false;if(obj.hideTimer){window.clearTimeout(obj.hideTimer);}obj.hideTimer=0;if(obj.open&&!obj.aniTimer){obj.startSlide(false);}};ypSlideOutMenu.prototype.startSlide=function(_21){this[_21?"onactivate":"ondeactivate"]();this.open=_21;if(_21){this.setVisibility(true);}this.startTime=(new Date()).getTime();this.aniTimer=window.setInterval(this.gRef+".slide()",ypSlideOutMenu.minCPUResolution);};ypSlideOutMenu.prototype.slide=function(){var _22=(new Date()).getTime()-this.startTime;if(_22>ypSlideOutMenu.aniLen){this.endSlide();}else{var d=Math.round(Math.pow(ypSlideOutMenu.aniLen-_22,2)*this.accelConst);if(this.open&&this.dirType=="-"){d=-d;}else{if(this.open&&this.dirType=="+"){d=-d;}else{if(!this.open&&this.dirType=="-"){d=-this.dim+d;}else{d=this.dim+d;}}}this.moveTo(d);}};ypSlideOutMenu.prototype.endSlide=function(){this.aniTimer=window.clearTimeout(this.aniTimer);this.moveTo(this.open?this.outPos:this.homePos);if(!this.open){this.setVisibility(false);}if((this.open&&!this.over)||(!this.open&&this.over)){this.startSlide(this.over);}};ypSlideOutMenu.prototype.setVisibility=function(_24){var s=this.ns4?this.container:this.container.style;s.visibility=_24?"visible":"hidden";};ypSlideOutMenu.prototype.moveTo=function(p){this.style[this.orientation=="h"?"left":"top"]=this.ns4?p:p+"px";};ypSlideOutMenu.prototype.getPos=function(c){return parseInt(this.style[c]);};ypSlideOutMenu.prototype.onactivate=function(){};ypSlideOutMenu.prototype.ondeactivate=function(){};
