(function(){var G=-1,D=0,F=1;_create=function(I,K){var M=K||{};if(!M.pageSize){throw"Missing pageSize"}if(!M.pageWidth){throw"Missing pageWidth"}function L(){if(M.loop===false&&M.currentPage<=0){return }if(!M.animating){H(M,G)}}function J(){if(M.loop===false&&M.currentPage>=(Math.ceil(M.list.length/M.pageSize)-1)){return }if(!M.animating){H(M,F)}}M.prev=$(M.prev);M.next=$(M.next);M.itemWidth=M.pageWidth/M.pageSize;M.container=$(I).setStyle({position:"relative",left:0,width:(M.pageWidth*3+30)+"px"});if(!M.currentPage){M.currentPage=0}M.list=M.container.childElements();M.list.invoke("remove");C(M,D);C(M,F);C(M,G);M.prev?M.prev.observe("click",L):(M.prev=L);M.next?M.next.observe("click",J):(M.next=J);return M};function A(I,L){var P=I.currentPage+(L==D?0:L==G?-1:1),Q=I.pageSize,R=I.list.length,K,J,M=[],O,N;if(P<0){J=R-(Math.abs(P*Q)%R)}else{J=((P*Q)%R)}for(O=0;O<Q;O++){N=(J+O)%R;if(I.loop===false&&(P<0||J+O>=R)){K=I.list[N].cloneNode(false);$(K).addClassName("empty");if(!K.style.height){K.style.height="1px"}}else{K=I.list[N].cloneNode(true)}M.push(K)}return M}function C(L,J){var I=A(L,J),K;if(J==G){K=L.pageSize;while(K--){L.container.insert({top:I[K]})}var M=parseInt(L.container.getStyle("left")||0,10)-L.pageWidth;L.container.setStyle({left:M+"px"})}else{for(K=0;K<L.pageSize;K++){L.container.insert({bottom:I[K]})}}}function E(M,I){var K=M.container.childElements(),L=K.length,J=M.pageSize;if(I==G){while(J--){K.shift().remove()}var N=parseInt(M.container.getStyle("left")||0,10)+M.pageWidth;M.container.setStyle({left:N+"px"})}else{while(J--){K.pop().remove()}}}function H(L,K,J){var M=L.pageWidth*(K==G?1:-1),I=L.container;if(L.tween===false){I.setStyle({left:(parseInt(I.getStyle("left")||0,10)+M)+"px"});B(L,K)}else{L.animating=true;if(L.effect){L.effect.cancel();delete L.effect}L.effect=new Effect.Move(I,{x:M,y:0,mode:"relative",duration:0.75,afterFinish:function(){B(L,K)}})}}function B(J,I){J.animating=false;if(I==G){J.currentPage--;E(J,F)}else{J.currentPage++;E(J,G)}C(J,I);J.container.fire("carousel:afterPage",J)}Maui.Carousel=function(I,J){this.data=_create(I,J);this.addHandler=function(K,L){this.data.container.observe("carousel:"+K,L)};this.prev=this.data.prev;this.next=this.data.next}})();
