var Spry;if(!Spry){Spry={}}if(!Spry.Widget){Spry.Widget={}}Spry.Widget.SlidingPanels=function(A,B){this.element=this.getElement(A);this.enableAnimation=true;this.currentPanel=null;this.enableKeyboardNavigation=true;this.hasFocus=false;this.previousPanelKeyCode=Spry.Widget.SlidingPanels.KEY_LEFT;this.nextPanelKeyCode=Spry.Widget.SlidingPanels.KEY_RIGHT;this.currentPanelClass="SlidingPanelsCurrentPanel";this.focusedClass="SlidingPanelsFocused";this.animatingClass="SlidingPanelsAnimating";Spry.Widget.SlidingPanels.setOptions(this,B);if(this.element){this.element.style.overflow="hidden"}if(this.defaultPanel){if(typeof this.defaultPanel=="number"){this.currentPanel=this.getContentPanels()[this.defaultPanel]}else{this.currentPanel=this.getElement(this.defaultPanel)}}if(!this.currentPanel){this.currentPanel=this.getContentPanels()[0]}if(Spry.Widget.SlidingPanels.onloadDidFire){this.attachBehaviors()}else{Spry.Widget.SlidingPanels.loadQueue.push(this)}};Spry.Widget.SlidingPanels.prototype.onFocus=function(A){this.hasFocus=true;this.addClassName(this.element,this.focusedClass);return false};Spry.Widget.SlidingPanels.prototype.onBlur=function(A){this.hasFocus=false;this.removeClassName(this.element,this.focusedClass);return false};Spry.Widget.SlidingPanels.KEY_LEFT=37;Spry.Widget.SlidingPanels.KEY_UP=38;Spry.Widget.SlidingPanels.KEY_RIGHT=39;Spry.Widget.SlidingPanels.KEY_DOWN=40;Spry.Widget.SlidingPanels.prototype.onKeyDown=function(B){var A=B.keyCode;if(!this.hasFocus||(A!=this.previousPanelKeyCode&&A!=this.nextPanelKeyCode)){return true}if(A==this.nextPanelKeyCode){this.showNextPanel()}else{this.showPreviousPanel()}if(B.preventDefault){B.preventDefault()}else{B.returnResult=false}if(B.stopPropagation){B.stopPropagation()}else{B.cancelBubble=true}return false};Spry.Widget.SlidingPanels.prototype.attachBehaviors=function(){var E=this.element;if(!E){return }if(this.enableKeyboardNavigation){var A=null;var D=E.attributes.getNamedItem("tabindex");if(D||E.nodeName.toLowerCase()=="a"){A=E}if(A){var B=this;Spry.Widget.SlidingPanels.addEventListener(A,"focus",function(F){return B.onFocus(F||window.event)},false);Spry.Widget.SlidingPanels.addEventListener(A,"blur",function(F){return B.onBlur(F||window.event)},false);Spry.Widget.SlidingPanels.addEventListener(A,"keydown",function(F){return B.onKeyDown(F||window.event)},false)}}if(this.currentPanel){var C=this.enableAnimation;this.enableAnimation=false;this.showPanel(this.currentPanel);this.enableAnimation=C}};Spry.Widget.SlidingPanels.prototype.getElement=function(A){if(A&&typeof A=="string"){return document.getElementById(A)}return A};Spry.Widget.SlidingPanels.prototype.addClassName=function(B,A){if(!B||!A||(B.className&&B.className.search(new RegExp("\\b"+A+"\\b"))!=-1)){return }B.className+=(B.className?" ":"")+A};Spry.Widget.SlidingPanels.prototype.removeClassName=function(B,A){if(!B||!A||(B.className&&B.className.search(new RegExp("\\b"+A+"\\b"))==-1)){return }B.className=B.className.replace(new RegExp("\\s*\\b"+A+"\\b","g"),"")};Spry.Widget.SlidingPanels.setOptions=function(D,C,A){if(!C){return }for(var B in C){if(A&&C[B]==undefined){continue}D[B]=C[B]}};Spry.Widget.SlidingPanels.prototype.getElementChildren=function(B){var A=[];var C=B.firstChild;while(C){if(C.nodeType==1){A.push(C)}C=C.nextSibling}return A};Spry.Widget.SlidingPanels.prototype.getCurrentPanel=function(){return this.currentPanel};Spry.Widget.SlidingPanels.prototype.getContentGroup=function(){return this.getElementChildren(this.element)[0]};Spry.Widget.SlidingPanels.prototype.getContentPanels=function(){return this.getElementChildren(this.getContentGroup())};Spry.Widget.SlidingPanels.prototype.getContentPanelsCount=function(){return this.getContentPanels().length};Spry.Widget.SlidingPanels.onloadDidFire=false;Spry.Widget.SlidingPanels.loadQueue=[];Spry.Widget.SlidingPanels.addLoadListener=function(A){if(typeof window.addEventListener!="undefined"){window.addEventListener("load",A,false)}else{if(typeof document.addEventListener!="undefined"){document.addEventListener("load",A,false)}else{if(typeof window.attachEvent!="undefined"){window.attachEvent("onload",A)}}}};Spry.Widget.SlidingPanels.processLoadQueue=function(C){Spry.Widget.SlidingPanels.onloadDidFire=true;var D=Spry.Widget.SlidingPanels.loadQueue;var A=D.length;for(var B=0;B<A;B++){D[B].attachBehaviors()}};Spry.Widget.SlidingPanels.addLoadListener(Spry.Widget.SlidingPanels.processLoadQueue);Spry.Widget.SlidingPanels.addEventListener=function(C,B,D,A){try{if(C.addEventListener){C.addEventListener(B,D,A)}else{if(C.attachEvent){C.attachEvent("on"+B,D)}}}catch(E){}};Spry.Widget.SlidingPanels.prototype.getContentPanelIndex=function(D){if(D){D=this.getElement(D);var B=this.getContentPanels();var A=B.length;for(var C=0;C<A;C++){if(B[C]==D){return C}}}return -1};Spry.Widget.SlidingPanels.prototype.showPanel=function(I){var G=-1;if(typeof I=="number"){G=I}else{G=this.getContentPanelIndex(I)}var E=this.getContentPanelsCount();if(E>0){G=(G>=E)?E-1:G}else{G=0}var A=this.getContentPanels()[G];var H=this.getContentGroup();if(A&&H){if(this.currentPanel){this.removeClassName(this.currentPanel,this.currentPanelClass)}this.currentPanel=A;var F=-A.offsetLeft;var D=-A.offsetTop;if(this.enableAnimation){if(this.animator){this.animator.stop()}var C=H.offsetLeft;var B=H.offsetTop;if(C!=F||B!=D){var J=this;this.addClassName(this.element,this.animatingClass);this.animator=new Spry.Widget.SlidingPanels.PanelAnimator(H,C,B,F,D,{duration:this.duration,fps:this.fps,transition:this.transition,finish:function(){J.removeClassName(J.element,J.animatingClass);J.addClassName(A,J.currentPanelClass)}});this.animator.start()}}else{H.style.left=F+"px";H.style.top=D+"px";this.addClassName(A,this.currentPanelClass)}}return A};Spry.Widget.SlidingPanels.prototype.showFirstPanel=function(){return this.showPanel(0)};Spry.Widget.SlidingPanels.prototype.showLastPanel=function(){return this.showPanel(this.getContentPanels().length-1)};Spry.Widget.SlidingPanels.prototype.showPreviousPanel=function(){return this.showPanel(this.getContentPanelIndex(this.currentPanel)-1)};Spry.Widget.SlidingPanels.prototype.showNextPanel=function(){return this.showPanel(this.getContentPanelIndex(this.currentPanel)+1)};Spry.Widget.SlidingPanels.PanelAnimator=function(E,B,A,G,F,D){this.element=E;this.curX=B;this.curY=A;this.dstX=G;this.dstY=F;this.fps=60;this.duration=500;this.transition=Spry.Widget.SlidingPanels.PanelAnimator.defaultTransition;this.startTime=0;this.timerID=0;this.finish=null;var C=this;this.intervalFunc=function(){C.step()};Spry.Widget.SlidingPanels.setOptions(this,D,true);this.interval=1000/this.fps};Spry.Widget.SlidingPanels.PanelAnimator.defaultTransition=function(D,B,A,C){D/=C;return B+((2-D)*D*A)};Spry.Widget.SlidingPanels.PanelAnimator.prototype.start=function(){this.stop();this.startTime=(new Date()).getTime();this.timerID=setTimeout(this.intervalFunc,this.interval)};Spry.Widget.SlidingPanels.PanelAnimator.prototype.stop=function(){if(this.timerID){clearTimeout(this.timerID)}this.timerID=0};Spry.Widget.SlidingPanels.PanelAnimator.prototype.step=function(){var C=(new Date()).getTime()-this.startTime;var B=C>=this.duration;var A,D;if(B){A=this.curX=this.dstX;D=this.curY=this.dstY}else{A=this.transition(C,this.curX,this.dstX-this.curX,this.duration);D=this.transition(C,this.curY,this.dstY-this.curY,this.duration)}this.element.style.left=A+"px";this.element.style.top=D+"px";if(!B){this.timerID=setTimeout(this.intervalFunc,this.interval)}else{if(this.finish){this.finish()}}};
