
var Panels=new Class({Implements:Options,options:{mode:'horizontal',transition:'back:out',duration:900,defaultPanel:'intro'},holder:null,panels:null,fx:null,nav:null,links:null,initialize:function(holder,nav,options){this.setOptions(options);this.holder=$(holder);this.nav=$(nav);this.holder.setStyle('overflow-x','hidden');this.fx=new Fx.Scroll(this.holder,{transition:this.options.transition,duration:this.options.duration,link:'cancel'});this.holder.set('tween',{duration:this.options.duration-100,link:'cancel'});var panels=this.holder.getElements('div.panel');this.panels=$H();panels.each(function(panel){if(this.options.mode=='vertical'){panel.setStyle('float','none');}
this.panels.set(panel.get('id'),panel);panel.erase('id');},this);if(this.options.mode=='vertical'){this.holder.getElementById('panels-inner').setStyles({'width':'auto','padding-bottom':1000});}
this.links=this.nav.getElements('a');this.links.each(function(link){var href=link.get('href');var id=href.substr(href.indexOf('#')+1);link.addEvent('click',this.onTabClick.bindWithEvent(this,[link,id]));},this);this.gotoCurrent();},onTabClick:function(event,link,id){link.blur();var panel=this.panels.get(id);this.holder.tween('height',panel.getHeight());this.fx.toElement(panel);this.links.removeClass('current');link.addClass('current');location.hash=id;if($defined(event)){event.stop();}},gotoCurrent:function(){var id=location.hash.substr(1)||this.options.defaultPanel;var link=this.nav.getElement('li.'+id+' a');if(link){var panel=this.panels.get(id);var position=panel.getPosition(this.holder);this.holder.setStyle('height',panel.getHeight());this.holder.scrollTo(position.x,position.y);link.addClass('current');}}});var Box=new Class({Implements:Options,options:{url:''},box:null,links:null,request:null,initialize:function(box,options){this.setOptions(options);this.box=$(box);this.request=new Request.HTML({url:this.options.url,update:this.box,onComplete:this.buildContent.bind(this)});this.buildContent();return this;},buildContent:function(){this.links=this.box.getElements('div.scrolly a');this.links.each(function(link){var href=link.get('href');var qs=href.substr(href.indexOf('?')+1);link.addEvent('click',this.onUpdateClick.bindWithEvent(this,qs));},this);sifrReplace();},onUpdateClick:function(event,qs){this.request.send(qs);event.stop();}});