var Slider=new Class({Implements:Options,options:{trigger:null,height:300,element:null,scrollEle:null,content:null,OFX:Fx.Transitions.Sine.easeIn,CFX:Fx.Transitions.Bounce.easeOut,duration:1E3,mootoolsVer:1.2,execFirst:null},openEvent:null,closeEvent:null,openContentEvent:null,closeContentEvent:null,toggled:false,isSliding:false,initialize:function(a){if(!a.content)a.content=a.element;if(!a.scrollEle)a.scrollEle=a.element;if(a.mootoolsVer==1.2)this.setOptions(a);else{this.options.trigger=a.trigger|| null;this.options.height=a.height||300;this.options.padding=a.padding||30;this.options.position=a.position||"absolute";this.options.left=a.left||0;this.options.top=a.top||0;this.options.element=a.element||null;this.options.scrollEle=a.scrollEle||a.element||null;this.options.content=a.content||null;this.options.OFX=a.OFX||Fx.Transitions.Sine.easeIn||null;this.options.CFX=a.CFX||Fx.Transitions.Bounce.easeOut||null;this.options.duration=a.duration||1E3;this.options.mootoolsVer=a.mootoolsVer||1.2;this.options.execFirst= a.execFirst}this.applySlider();this.setTrigger();window.addEvent("click",function(b){this.toggled&&this.checkParentNodes(b.target)}.bind(this))},applySlider:function(){if(this.options.element!=null)if(this.options.mootoolsVer==1.2){this.openEvent=new Fx.Tween(this.options.element,{transition:this.options.OFX,duration:this.options.duration,property:"height",onStart:function(){this.options.execFirst!=null&&this.options.execFirst();this.options.element.style.display="";this.isSliding=true}.bind(this), onComplete:function(){this.isSliding=false}.bind(this)});this.closeEvent=new Fx.Tween(this.options.element,{transition:this.options.CFX,duration:this.options.duration,property:"height",onStart:function(){this.isSliding=true}.bind(this),onComplete:function(){this.options.element.style.display="none";this.isSliding=false}.bind(this)});this.openContentEvent=new Fx.Tween(this.options.content,{transition:this.options.OFX,duration:this.options.duration,property:"margin-top",onStart:function(){this.options.content.style.display= ""}.bind(this),onComplete:function(){this.options.scrollEle.style.overflowY="scroll";this.toggled=true}.bind(this)});this.closeContentEvent=new Fx.Tween(this.options.content,{transition:this.options.CFX,duration:this.options.duration,property:"margin-top",onStart:function(){this.options.scrollEle.style.overflow="hidden"}.bind(this),onComplete:function(){this.options.content.style.display="none";this.toggled=false}.bind(this)})}else{this.openEvent=new Fx.Styles(this.options.element,{duration:this.options.duration, onStart:function(){this.options.execFirst!=null&&this.options.execFirst();this.options.element.style.display=""}.bind(this)});this.closeEvent=new Fx.Styles(this.options.element,{duration:this.options.duration,onComplete:function(){this.options.element.style.display="none"}.bind(this)});this.openContentEvent=new Fx.Styles(this.options.content,{duration:this.options.duration,onStart:function(){this.options.content.style.display=""}.bind(this),onComplete:function(){this.options.scrollEle.style.overflowY= "scroll";this.toggled=true}.bind(this)});this.closeContentEvent=new Fx.Styles(this.options.content,{duration:this.options.duration,onStart:function(){this.options.scrollEle.style.overflow="hidden"}.bind(this),onComplete:function(){this.options.content.style.display="none";this.toggled=false}.bind(this)})}},setTrigger:function(){this.options.trigger!=null&&this.options.trigger.addEvent("click",function(){this.toggled?this.close():this.open()}.bind(this))},open:function(){if(!this.isSliding&&!this.toggled)if(this.options.mootoolsVer== 1.2){this.openEvent.start(0,this.options.height);this.openContentEvent.start(-this.options.height,0)}else{this.openEvent.start({height:[0,this.options.height]});this.openContentEvent.start({"margin-top":[-this.options.height,0]})}},close:function(){if(!this.isSliding)if(this.options.mootoolsVer==1.2){this.closeEvent.start(this.options.height,0);this.closeContentEvent.start(0,-this.options.height)}else{this.closeEvent.start({height:[this.options.height,0]});this.closeContentEvent.start({"margin-top":[0, -this.options.height]})}},checkParentNodes:function(a){for(;a!=$(document.body)&&a!=$(document.html);)if(!a||a.id==this.options.element.id)return;else a=a.parentNode;this.close()}});
