//tabSlider v1.1, <http://www.mootools.nl>. Copyright 2008 Trebbers, <http://www.trebbers.nl>, MIT Style License. Keep smiling ;)

var tabSlider=new Class({Implements:[Events,Options],options:{slideContainer:"slide-container",evalScripts:false,duration:500,transition:Fx.Transitions.Quad.easeOut,display:"none",show:"none",failure:'<strong class="error">Error while loading file.</strong>',active:"active"},initialize:function(B,A){this.setOptions(A);this.sliders={};this.sliders[B]=0;this.active=false;if(!$(this.options.slideContainer)){this.log('container "'+this.options.slideContainer+"\" doesn't exist.");return}else{this.log('tabSlider instance loaded for "'+this.options.slideContainer+'".')}$$(B).each(this.tabSlide.bindWithEvent(this,B));this.fx=new Fx.Slide($(this.options.slideContainer),{duration:this.options.duration,transition:this.options.transition,onComplete:function(){this.active=false}.bind(this)}).hide();if(this.options.display!="none"&&this.options.display>=0&&$$(B)[this.options.display]){this.openSlide($$(B)[this.options.display],B,true)}else{if(this.options.show!="none"&&this.options.show>=0&&$$(B)[this.options.show]){this.openSlide($$(B)[this.options.show],B,false)}}},tabSlide:function(B,A){B.addEvents({click:function(C){C.stop();if(!this.active){this.active=true;$$(A).removeClass(this.options.active);if(this.fx.open&&this.sliders[A]==B){this.fx.slideOut()}else{if(!this.fx.open&&this.sliders[A]==B){this.sliders[A].addClass(this.options.active);this.fx.slideIn()}else{if(this.fx.open){this.fx.slideOut().chain(function(){this.openSlide(B,A,true)}.bind(this))}else{this.openSlide(B,A,true)}}}}}.bind(this)})},openSlide:function(B,A,C){new Request.HTML({url:B,method:"get",update:$(this.options.slideContainer),link:"chain",evalScripts:this.options.evalScripts,onSuccess:function(){this.sliders[A]=B;this.sliders[A].addClass(this.options.active);if(C){this.fx.slideIn()}else{this.fx.show()}}.bind(this),onFailure:function(){$(this.options.slideContainer).set("html",this.options.failure);if(C){this.fx.slideIn()}else{this.fx.show()}}.bind(this)}).send()},log:function(B,A){if(window.console){console.log(B.substitute(A||{}))}}});