var Slyder=Class.create({initialize:function(c,b){this.options=Object.clone(Slyder.defaults);
if(b){Object.extend(this.options,b)}this.element=$(c);if(!this.element){return false
}this.mask=this.element.down(".mask");this.container=this.element.down(".container");
this.pageWidth=this.mask.getWidth();this.pages=$A();this.page=0;this.nav=new Slyder.Nav(this);
var a=this.container.childElements(),d;a.each(function(e){var f=new Slyder.Item(this,e);
if(!d||f.pagebreak||!d.willFit(f)){if(d&&(this.options.autoPageBreaks||f.pagebreak)){if(this.options.autoCenter){d.center()
}else{d.addPageBreak()}}var g=d?(d.pos+d.width):0;d=new Slyder.Page(this,g);this.pages.push(d)
}d.addItem(f)}.bind(this));if(this.options.autoCenter){d.center()}else{d.addPageBreak()
}this.container.setStyle({width:(this.pages.length*this.pageWidth)+"px"});if(this.pages.length>1){this.nav.render()
}this.slideTo(0)},pos:function(){return parseInt(this.container.getStyle("left"))
},slideTo:function(b,a){if(b<0){this.repositionPage(this.pages.length-1,0)}else{if(b>this.pages.length-1){this.repositionPage(0,this.pages.length-1)
}else{this.page=b}}this.pages[this.page].navItem.activate();if(this.effect&&this.effect.state=="running"){this.effect.cancel()
}this.effect=new Effect.Move(this.container,{duration:0.5,x:-this.pages[this.page].pos,mode:"absolute",afterFinish:this.afterSlide.bind(this)});
if(!this.options.continuous){if(this.page>0){this.nav.leftArrow.enable()}else{this.nav.leftArrow.disable()
}if(this.page<this.pages.length-1){this.nav.rightArrow.enable()}else{this.nav.rightArrow.disable()
}}},afterSlide:function(){},repositionPage:function(h,g){var b=this.pages[g];var d=this.pages[h];
d.num=g;this.pages.splice(h,1);this.pages.splice(g,0,d);this.page=g;if(h>g){var f=d.items.reverse(false),c="top",a=1
}else{var f=d.items,c="bottom",a=-1}f.each(function(j){var i={};i[c]=j.element;
this.container.insert(i)}.bind(this));var e=this.pos()+(-d.width*a);this.container.style.left=e+"px";
d.pos=b.pos;this.pages.without(d).each(function(i){i.num+=a;i.pos+=(d.width*a)}.bind(this))
}});Slyder.defaults={autoPageBreaks:true,autoCenter:false,showArrows:true,showNav:true,continuous:false};
Slyder.Page=Class.create({initialize:function(a,b){this.slider=a;this.pos=b;this.num=this.slider.pages.length;
this.width=0;this.navItem=this.slider.nav.addItem(this);this.items=$A()},willFit:function(a){return((this.width+a.elementWidth)<=this.slider.pageWidth)
},addItem:function(a){this.items.push(a);this.width+=a.width},center:function(){var d=this.items[0],b=this.items.last(),a=this.width-d.getMargin("Left")-b.getMargin("Right"),c=(this.slider.pageWidth-a)/2;
d.setMargin("Left",c);b.setMargin("Right",c);this.width=this.slider.pageWidth},addPageBreak:function(){var b=this.items.last(),a=this.width-b.getMargin("Right");
b.setMargin("Right",this.slider.pageWidth-a);this.width=this.slider.pageWidth}});
Slyder.Item=Class.create({initialize:function(b,a){this.slider=b;this.element=$(a);
this.pagebreak=this.element.hasClassName("pagebreak");this.elementWidth=this.element.getWidth();
this.width=this.elementWidth+parseInt(this.element.getStyle("marginLeft"))+parseInt(this.element.getStyle("marginRight"))
},getMargin:function(a){return parseInt(this.element.getStyle("margin"+a))},setMargin:function(b,a){this.element.style["margin"+b]=a+"px"
}});Slyder.Nav=Class.create({initialize:function(a){this.slider=a;this.items=$A(0)
},addItem:function(b){var a=new Slyder.Nav.Item(this,b);this.items.push(a);return a
},render:function(){this.element=new Element("div",{"class":"nav"});this.slider.element.insert(this.element);
this.items.invoke("render");if(this.slider.options.showArrows){this.leftArrow=new Slyder.Nav.Arrow(this,-1);
this.rightArrow=new Slyder.Nav.Arrow(this,1)}}});Slyder.Nav.Item=Class.create({initialize:function(b,a){this.nav=b;
this.slider=this.nav.slider;this.page=a;this.num=this.page.num},render:function(){this.element=new Element("a",{title:"Scroll to page "+(this.num+1)});
this.nav.element.insert(this.element);this.element.observe("click",this.onClick.bind(this));
if(this.nav.activeItem==this){this.activate()}},onClick:function(){this.slider.slideTo(this.page.num,this.num)
},activate:function(){if(this.nav.activeItem){this.nav.activeItem.deactivate()}this.nav.activeItem=this;
if(this.element){this.element.addClassName("active")}},deactivate:function(){if(this.element){this.element.removeClassName("active")
}}});Slyder.Nav.Arrow=Class.create({initialize:function(b,a){this.nav=b;this.slider=this.nav.slider;
this.dir=a;this.enabled=true;var d=(a==1)?"right":"left";this.element=new Element("a",{"class":"arrow "+d,title:"Scroll "+d});
this.slider.element.insert(this.element);this.element.observe("click",this.onClick.bind(this))
},onClick:function(){if(this.enabled){this.slider.slideTo(this.slider.page+this.dir)
}},enable:function(){if(!this.enabled){this.enabled=true;this.element.removeClassName("disabled")
}},disable:function(){if(this.enabled){this.enabled=false;this.element.addClassName("disabled")
}}});
