// -----------------------------------------------------------------------------------
// 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("slidemenu")});