MooTools.More={version:"1.2.2.2"};Fx.Slide=new Class({Extends:Fx,options:{mode:"vertical"},initialize:function(d,e){this.addEvent("complete",function(){this.open=(this.wrapper["offset"+this.layout.capitalize()]!=0);if(this.open&&Browser.Engine.webkit419){this.element.dispose().inject(this.wrapper)}},true);this.element=this.subject=$(d);this.parent(e);var f=this.element.retrieve("wrapper");this.wrapper=f||new Element("div",{styles:$extend(this.element.getStyles("margin","position"),{overflow:"hidden"})}).wraps(this.element);this.element.store("wrapper",this.wrapper).setStyle("margin",0);this.now=[];this.open=true},vertical:function(){this.margin="margin-top";this.layout="height";this.offset=this.element.offsetHeight},horizontal:function(){this.margin="margin-left";this.layout="width";this.offset=this.element.offsetWidth},set:function(b){this.element.setStyle(this.margin,b[0]);this.wrapper.setStyle(this.layout,b[1]);return this},compute:function(f,d,e){return[0,1].map(function(a){return Fx.compute(f[a],d[a],e)})},start:function(h,l){if(!this.check(h,l)){return this}this[l||this.options.mode]();var m=this.element.getStyle(this.margin).toInt();var n=this.wrapper.getStyle(this.layout).toInt();var i=[[m,n],[0,this.offset]];var j=[[m,n],[-this.offset,0]];var k;switch(h){case"in":k=i;break;case"out":k=j;break;case"toggle":k=(n==0)?i:j}return this.parent(k[0],k[1])},slideIn:function(b){return this.start("in",b)},slideOut:function(b){return this.start("out",b)},hide:function(b){this[b||this.options.mode]();this.open=false;return this.set([-this.offset,0])},show:function(b){this[b||this.options.mode]();this.open=true;return this.set([0,this.offset])},toggle:function(b){return this.start("toggle",b)}});Element.Properties.slide={set:function(c){var d=this.retrieve("slide");if(d){d.cancel()}return this.eliminate("slide").store("slide:options",$extend({link:"cancel"},c))},get:function(b){if(b||!this.retrieve("slide")){if(b||!this.retrieve("slide:options")){this.set("slide",b)}this.store("slide",new Fx.Slide(this,this.retrieve("slide:options")))}return this.retrieve("slide")}};Element.implement({slide:function(i,h){i=i||"toggle";var f=this.get("slide"),g;switch(i){case"hide":f.hide(h);break;case"show":f.show(h);break;case"toggle":var j=this.retrieve("slide:flag",f.open);f[j?"slideOut":"slideIn"](h);this.store("slide:flag",!j);g=true;break;default:f.start(i,h)}if(!g){this.eliminate("slide:flag")}return this}});