/* http://ypslideoutmenus.sourceforge.net/ */
ypSlideOutMenu.Registry=[];
ypSlideOutMenu.aniLen=400;
ypSlideOutMenu.hideDelay=300;
ypSlideOutMenu.minCPUResolution=10;
function ypSlideOutMenu(id,_2,_3,_4,_5,_6){
     this.ie=document.all?1:0;
     this.ns4=document.layers?1:0;
     this.dom=document.getElementById?1:0;
     this.css="";
     if(this.ie||this.ns4||this.dom){
          this.id=id;
          this.dir=_2;
          this.orientation=_2=="left"||_2=="right"?"h":"v";
          this.dirType=_2=="right"||_2=="down"?"-":"+";
          this.dim=this.orientation=="h"?_5:_6;
          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 _8="";
          _8+="#"+this.id+"Container{visibility:hidden;";
          _8+="left:"+_3+"px;";
          _8+="top:"+_4+"px;";
          _8+="overflow:hidden;z-index:10000;}";
          _8+="#"+this.id+"Container,#"+this.id+"Content{position:absolute;";
          _8+="width:"+_5+"px;";
          _8+="height:"+_6+"px;";
          _8+="clip:rect(0 "+_5+" "+_6+" 0);";
          _8+="}";
          this.css=_8;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(){};
