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.returnValue=false}if(b.stopPropagation){b.stopPropagation()}else{b.cancelBubble=true}return false};Spry.Widget.SlidingPanels.prototype.attachBehaviors=function(){var c=this.element;if(!c){return}if(this.enableKeyboardNavigation){var d=null;var b=c.attributes.getNamedItem("tabindex");if(b||c.nodeName.toLowerCase()=="a"){d=c}if(d){var e=this;Spry.Widget.SlidingPanels.addEventListener(d,"focus",function(f){return e.onFocus(f||window.event)},false);Spry.Widget.SlidingPanels.addEventListener(d,"blur",function(f){return e.onBlur(f||window.event)},false);Spry.Widget.SlidingPanels.addEventListener(d,"keydown",function(f){return e.onKeyDown(f||window.event)},false)}}if(this.currentPanel){var a=this.enableAnimation;this.enableAnimation=false;this.showPanel(this.currentPanel);this.enableAnimation=a}};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(b,a,c){if(!a){return}for(var d in a){if(c&&a[d]==undefined){continue}b[d]=a[d]}};Spry.Widget.SlidingPanels.prototype.getElementChildren=function(c){var b=[];var a=c.firstChild;while(a){if(a.nodeType==1){b.push(a)}a=a.nextSibling}return b};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(a){Spry.Widget.SlidingPanels.onloadDidFire=true;var b=Spry.Widget.SlidingPanels.loadQueue;var c=b.length;for(var d=0;d<c;d++){b[d].attachBehaviors()}};Spry.Widget.SlidingPanels.addLoadListener(Spry.Widget.SlidingPanels.processLoadQueue);Spry.Widget.SlidingPanels.addEventListener=function(a,f,b,d){try{if(a.addEventListener){a.addEventListener(f,b,d)}else{if(a.attachEvent){a.attachEvent("on"+f,b)}}}catch(c){}};Spry.Widget.SlidingPanels.prototype.getContentPanelIndex=function(b){if(b){b=this.getElement(b);var d=this.getContentPanels();var c=d.length;for(var a=0;a<c;a++){if(d[a]==b){return a}}}return -1};Spry.Widget.SlidingPanels.prototype.showPanel=function(g){var e=-1;if(typeof g=="number"){e=g}else{e=this.getContentPanelIndex(g)}var c=this.getContentPanelsCount();if(c>0){e=(e>=c)?c-1:e}else{e=0}var i=this.getContentPanels()[e];var f=this.getContentGroup();if(i&&f){if(this.currentPanel){this.removeClassName(this.currentPanel,this.currentPanelClass)}this.currentPanel=i;var d=-i.offsetLeft;var b=-i.offsetTop;if(this.enableAnimation){if(this.animator){this.animator.stop()}var a=f.offsetLeft;var j=f.offsetTop;if(a!=d||j!=b){var h=this;this.addClassName(this.element,this.animatingClass);this.animator=new Spry.Widget.SlidingPanels.PanelAnimator(f,a,j,d,b,{duration:this.duration,fps:this.fps,transition:this.transition,finish:function(){h.removeClassName(h.element,h.animatingClass);h.addClassName(i,h.currentPanelClass)}});this.animator.start()}}else{f.style.left=d+"px";f.style.top=b+"px";this.addClassName(i,this.currentPanelClass)}}return i};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(b,f,e,d,c,a){this.element=b;this.curX=f;this.curY=e;this.dstX=d;this.dstY=c;this.fps=60;this.duration=500;this.transition=Spry.Widget.SlidingPanels.PanelAnimator.defaultTransition;this.startTime=0;this.timerID=0;this.finish=null;var g=this;this.intervalFunc=function(){g.step()};Spry.Widget.SlidingPanels.setOptions(this,a,true);this.interval=1000/this.fps};Spry.Widget.SlidingPanels.PanelAnimator.defaultTransition=function(b,d,c,a){b/=a;return d+((2-b)*b*c)};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 a=(new Date()).getTime()-this.startTime;var d=a>=this.duration;var c,b;if(d){c=this.curX=this.dstX;b=this.curY=this.dstY}else{c=this.transition(a,this.curX,this.dstX-this.curX,this.duration);b=this.transition(a,this.curY,this.dstY-this.curY,this.duration)}this.element.style.left=c+"px";this.element.style.top=b+"px";if(!d){this.timerID=setTimeout(this.intervalFunc,this.interval)}else{if(this.finish){this.finish()}}};
