var Navigation;(function(n){var t=function(){function n(){if(this.blurImage=$(".blur-image-container"),n.instance)throw new Error("Instantiation of Service failed: Use Service.getInstance() instead of new Service()");}return n.getInstance=function(){return n.instance},n.prototype.isUseable=function(){return this.blurImage.length===1},n.prototype.fadeOutBlurImage=function(n){var t=this;return this.isUseable()?(this.blurImage.css("visibility","visible").css("opacity",1),this.fadeBlurImage(this.blurImage,0,n).then(function(){t.blurImage.css("visibility","hidden")})):$.Deferred().reject("Blur transitions are not useable.").promise()},n.prototype.fadeInThenOutBlurImage=function(n){var t=this;return this.isUseable()?(this.blurImage.css("visibility","visible"),this.fadeBlurImage(this.blurImage,1,n).then(function(){return t.fadeBlurImage(t.blurImage,0,n)}).then(function(){t.blurImage.css("visibility","hidden")})):$.Deferred().reject("Blur transitions are not useable.").promise()},n.prototype.calcStepPositions=function(
n,t,i){var r=n>t?n-i:n+i,u=n>t?t+i:t-i;return{firstStep:r,secondStep:u,lastStep:t}},n.prototype.fadeBlurImage=function(n,t,i){return n.velocity({opacity:t},{duration:i,easing:"linear"}).promise()},n.instance=new n,n}();n.BlurTransitions=t})(Navigation||(Navigation={})),function(n){var t=function(){function t(){if(this.blurTransitions=n.BlurTransitions.getInstance(),this.SKROLLR_ERRORS={instance:"There is no instance of skrollr available.",animateTo:"The scrolling was interrupted."},t.instance)throw new Error("Instantiation of Service failed: Use Service.getInstance() instead of new Service()");}return t.getInstance=function(){return t.instance},t.prototype.jumpTo=function(n){var i=skrollr.get(),t=$.Deferred();return i?(i.setScrollTop(n.position,!0),t.resolve()):t.reject(this.SKROLLR_ERRORS.instance),t.promise()},t.prototype.animateTo=function(n){var t=skrollr.get();return t?this.executeAnimationStep(n.position,n.duration,t):$.Deferred().reject(this.SKROLLR_ERRORS.instance).promise()},t.prototype.blurTo=function(
n){var t,r,i;return this.blurTransitions.isUseable()?(t=skrollr.get(),t?(r=t.getScrollTop(),i=this.blurTransitions.calcStepPositions(r,n.position,n.animationDistance),sniff.isDesktop?this.blurOnDesktop(n,i,t):this.blurOnTablet(n,i,t)):$.Deferred().reject(this.SKROLLR_ERRORS.instance).promise()):this.animateTo(n)},t.prototype.blurOnDesktop=function(n,t,i){var u=this,r=n.duration/2,f=this.blurTransitions.fadeInThenOutBlurImage(r),e=this.executeAnimationStep(t.firstStep,r,i).then(function(){return i.setScrollTop(t.secondStep,!0),u.executeAnimationStep(t.lastStep,r,i)});return $.when(f,e)},t.prototype.blurOnTablet=function(n,t,i){var u=this.blurTransitions.fadeOutBlurImage(n.duration),r;return i.setScrollTop(t.secondStep,!0),r=this.executeAnimationStep(t.lastStep,n.duration,i),$.when(u,r)},t.prototype.executeAnimationStep=function(n,t,i){var u=this,r=$.Deferred();return i.animateTo(n,{duration:t,done:function(n){n?r.reject(u.SKROLLR_ERRORS.animateTo):r.resolve()}}),r.promise()},t.instance=new t,t}();n.SkrollrTransitions=
t}(Navigation||(Navigation={})),function(n){var t=Common.ElementRepository,i=function(){function i(){if(this.elements=t.getInstance(),this.blurTransitions=n.BlurTransitions.getInstance(),i.instance)throw new Error("Instantiation of Service failed: Use Service.getInstance() instead of new Service()");}return i.getInstance=function(){return i.instance},i.prototype.jumpTo=function(n){return this.elements.window().scrollTop(n.position).promise()},i.prototype.animateTo=function(n){return this.elements.html().velocity("scroll",{offset:n.position,duration:n.duration,easing:n.easing?n.easing:"easeInOutQuint",mobileHA:!1}).promise()},i.prototype.blurTo=function(n){var r=this;if(!this.blurTransitions.isUseable())return this.animateTo(n);var t=n.duration/2,u=this.elements.window().scrollTop(),i=this.blurTransitions.calcStepPositions(u,n.position,n.animationDistance),f=this.blurTransitions.fadeInThenOutBlurImage(t),e=this.executeAnimationStep(i.firstStep,t).then(function(){return r.elements.window().scrollTop(i.secondStep),
r.executeAnimationStep(i.lastStep,t)});return $.when(f,e)},i.prototype.executeAnimationStep=function(n,t){return this.elements.html().velocity("scroll",{offset:n,duration:t,easing:"linear",mobileHA:!1}).promise()},i.instance=new i,i}();n.VelocityTransitions=i}(Navigation||(Navigation={})),function(n){var t;(function(n){n[n.Animate=0]="Animate";n[n.Auto=1]="Auto";n[n.Blur=2]="Blur";n[n.Jump=3]="Jump"})(t=n.TransitionType||(n.TransitionType={}))}(Navigation||(Navigation={})),function(n){var t;(function(){function s(i){l(i);t.type=i.type;t.type===n.TransitionType.Auto&&a(i.position,i.minBlurDistance);t.inProgress=!0;eventAggregator.publish("screen-navigation.started");var r=v(),u=y(r);u(i).then(function(){c()},function(n){h(n)})}function h(n){t.inProgress=!1;eventAggregator.publish("screen-navigation.interrupted",n)}function c(){t.inProgress=!1;eventAggregator.publish("screen-navigation.finished")}function u(){return r.window().height()}function l(n){n.duration=n.duration||i.duration;n.minBlurDistance=n.minBlurDistance||
i.minBlurDistance();n.animationDistance=n.animationDistance||i.animationDistance();n.type=n.type||i.type}function a(i,u){var f,e,o;f=sniff.usingParallax()&&(e=skrollr.get())?e.getScrollTop():r.window().scrollTop();o=Math.abs(f-i);t.type=o<=u?n.TransitionType.Animate:n.TransitionType.Blur}function v(){return t.isParallax?o:e}function y(i){var r;return r=t.type===n.TransitionType.Jump?i.jumpTo:t.type===n.TransitionType.Animate?i.animateTo:t.type===n.TransitionType.Blur?i.blurTo:function(){return $.Deferred().reject("Could not resolve unknown navigation type.").promise()},r.bind(i)}var f=Common.ElementRepository,i={duration:600,minBlurDistance:function(){return u()*2},animationDistance:u,type:n.TransitionType.Auto},t={inProgress:!1,isParallax:sniff.usingParallax(),type:i.type},r=f.getInstance(),e=n.VelocityTransitions.getInstance(),o=n.SkrollrTransitions.getInstance();eventAggregator.subscribe("screen-navigation.start",s)})(t=n.DistanceNavigator||(n.DistanceNavigator={}))}(Navigation||(Navigation={}))