// -----------------------------------------------------------------------------------
// Description: slideMenu functions written by Johan Janssens http://www.jinx.be
// version 1.4.1 - 22/05/2005
// NOTICE : this file requires hybridmenu.js
// Copyright 2004 - 2005 Johan Janssens, All rights reserved.
// This script may not be used or distributed without license
// -----------------------------------------------------------------------------------

slideMenuBar.minCPURes=10;
slideMenuBar.speedClose=100;
slideMenuBar.speedOpen=300;
function slideMenuBar(id){this.base=hybridMenuBar;this.base(id)}slideMenuBar.prototype=new hybridMenuBar;
slideMenuBar.prototype.addMenu=function(node,id){if(node.getElementsByTagName('UL').length){this.menus[id]=new slideMenu(node,id,this.id)}};
function slideMenu(node,id,parent){this.base=hybridMenu;this.base(node,id,parent);
this.aniTimer=false;
this.startTime=0;this.dirType="-";
this.initSlideMenu(node);this.endSlide()}slideMenu.prototype=new hybridMenu;
slideMenu.prototype.initSlideMenu=function(node){this.initHybridMenu(node);
this.height=this.node.offsetHeight;this.outPos=document.getElementById(this.parent).offsetHeight;this.homePos=eval(this.outPos+this.dirType+this.height)};
slideMenu.prototype.show=function(){if(!this.aniTimer)this.startSlide(true)};
slideMenu.prototype.startSlide=function(open){this.open=open;if(this.open)this.setVisibility(true);
this.startTime=(new Date()).getTime();this.aniTimer=window.setInterval("slide('"+this.id+"','"+this.parent+"')",slideMenuBar.minCPURes)};
slideMenu.prototype.slide=function(){var elapsed=(new Date()).getTime()-this.startTime;
if(this.open&&this.dirType=="-"){if(elapsed>slideMenuBar.speedOpen){this.endSlide();
return}var accel=(this.outPos-this.homePos)/slideMenuBar.speedOpen/slideMenuBar.speedOpen;
var d=Math.round(Math.pow(slideMenuBar.speedOpen-elapsed,2)*accel);
d=this.outPos-d}else if(!this.open&&this.dirType=="-"){if(elapsed>slideMenuBar.speedClose){this.endSlide();
return}var accel=(this.outPos-this.homePos)/slideMenuBar.speedClose/slideMenuBar.speedClose;
var d=Math.round(Math.pow(slideMenuBar.speedClose-elapsed,2)*accel);
d=this.homePos+d}this.moveTo(d)};
slideMenu.prototype.endSlide=function(){this.aniTimer=window.clearInterval(this.aniTimer);
if(!this.open)this.setVisibility(false);this.moveTo(this.open?this.outPos:this.homePos);
if((this.open&&!this.over)||(!this.open&&this.over)){this.startSlide(this.over)}};
slideMenu.prototype.hide=function(){if(!this.aniTimer)this.startSlide(false)};
slideMenu.prototype.moveTo=function(p){this.node.style.top=p+"px";var clipT=-p+this.outPos;
var clipR=this.node.style.width;this.node.style.clip="rect("+clipT+"px auto auto 0)"};
slide=function(id,parent){var menus=(hybridMenuBar.Registry[parent]).getMenus();
var menu=menus[id];menu.slide()};function addLoadEvent(func){var oldonload=window.onload;
if(typeof window.onload!='function'){window.onload=func}else{window.onload=function(){oldonload();
func()}}}addLoadEvent(function(){new slideMenuBar("dropdown")});
