(function(n,t){function r(n,t){function u(){r.frameCount++;n.call(r)}var r=this,i;this.frameDuration=t||25;this.frameCount=-1;this.start=function(){u();i=setInterval(u,this.frameDuration)};this.stop=function(){clearInterval(i);i=null}}function u(){var u=n.event.special.frame.handler,t=n.Event("frame"),i=this.array,r=i.length;for(t.frameCount=this.frameCount;r--;)u.call(i[r],t)}var i;n.event.special.frame||(n.event.special.frame={setup:function(n){if(i)i.array.push(this);else{i=new r(u,n&&n.frameDuration);i.array=[this];var t=setTimeout(function(){i.start();clearTimeout(t);t=null},0)}return},teardown:function(){for(var n=i.array,r=n.length;r--;)if(n[r]===this){n.splice(r,1);break}n.length===0&&(i.stop(),i=t);return},handler:function(){n.event.handle?n.event.handle.apply(this,arguments):n.event.dispatch.apply(this,arguments)}})})(jQuery),function(n,t){function e(n){return h.exec(n)?parseFloat(n)/100:n}function a(n){function h(){t.pointer=o(f,[!0,!0],r,i)}function c(){i=y(n);r=p(n);t.threshold=w(i)}function a(){t.timer.add(h)}function v(n){t.timer.remove(h);t.pointer=o([n.pageX,n.pageY],[!0,!0],r,i)}var e={"mouseenter.parallax":a,"mouseleave.parallax":v},s={"resize.parallax":c},t={elem:n,events:e,winEvents:s,timer:new l},i,r;u.on(s);n.on(e);return c(),t}function v(n,t,i){var r=n.data(t);return r||(r=i?i(n):{},n.data(t,r)),r}function o(n,t,i,r){for(var f=[],u=2;u--;)f[u]=(n[u]-i[u])/r[u],f[u]=f[u]<0?0:f[u]>1?1:f[u];return f}function y(n){return[n.width(),n.height()]}function p(n){var t=n.offset()||{left:0,top:0},i=n.css("borderLeftStyle")==="none"?0:parseInt(n.css("borderLeftWidth"),10),r=n.css("borderTopStyle")==="none"?0:parseInt(n.css("borderTopWidth"),10),u=parseInt(n.css("paddingLeft"),10),f=parseInt(n.css("paddingTop"),10);return[t.left+i+u,t.top+r+f]}function w(n){return[1/n[0],1/n[1]]}function b(n,t,i){return[t||n.outerWidth(),i||n.outerHeight()]}function k(n,i){for(var f=[n,i],r=2,u=[];r--;)u[r]=typeof f[r]=="string"?f[r]===t?1:s[u[r]]||e(u[r]):f[r];return u}function d(n,t){return[r.test(n),r.test(t)]}function g(n,t,i){for(var u=[n,t],r=2,f=[];r--;)f[r]=i[r]?parseInt(u[r],10):f[r]=u[r]===!0?1:e(u[r]);return f}function nt(n,t,i,r){for(var u=2,f=[];u--;)f[u]=t[u]?i[u]*(r[u]-n[u]):n[u]?i[u]*(1-n[u]):0;return f}function tt(n,t){for(var i=2,r=[];i--;)n[i]&&(r[i]=t[i]*100+"%");return r}function it(n,t,i,r,u){for(var s=n.offsetParent(),h=n.position(),e=[],o=[],f=2;f--;)e[f]=i[f]?0:h[f===0?"left":"top"]/(s[f===0?"outerWidth":"outerHeight"]()-u[f]),o[f]=(e[f]-r[f])/t[f];return o}function rt(n,t,i,r,u,f){for(var s=[],h,c,e=2,o={};e--;)n[e]&&(s[e]=n[e]*f[e]+i[e],t[e]?(h=u[e],c=s[e]*-1):(h=s[e]*100+"%",c=s[e]*r[e]*-1),e===0?(o.left=h,o.marginLeft=c):(o.top=h,o.marginTop=c));return o}function i(n,t,i,r,u,f,e){var s,o;if((!u[0]||Math.abs(n[0]-t[0])<i[0])&&(!u[1]||Math.abs(n[1]-t[1])<i[1]))return f&&f(),e(n);for(s=[],o=2;o--;)u[o]&&(s[o]=n[o]+r*(t[o]-n[o]));return e(s)}function ut(n,t,i,r,u,f,e){if(n[0]!==t[0]||n[1]!==t[1])return e(n)}function ft(n,t,i){n.off(t).removeData("parallax_port");u.off(i)}function et(n,t,i){t.elem.off(i);t.layers=t.layers.not(n);t.layers.length===0&&ft(t.elem,t.events,t.winEvents)}function ot(n){var t={};n[0]&&(t.left="",t.marginLeft="");n[1]&&(t.top="",t.marginTop="");elem.css(t)}var s={left:0,top:0,middle:.5,center:.5,right:1,bottom:1},r=/^\d+\s?px$/,h=/^\d+\s?%$/,u=n(window),c=n(document),f=[0,0],l=function(){function i(){function r(){}function o(){var r=u.slice(0),f=r.length,e=-1;for(n&&console.log("timer frame()",f);++e<f;)r[e].call(this);t(i)}function f(){n&&console.log("timer start()");this.start=r;this.stop=e;i=o;t(i)}function e(){n&&console.log("timer stop()");this.start=f;this.stop=r;i=r}var u=[],i;this.callbacks=u;this.start=f;this.stop=e}var n=!1,t=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(n){return window.setTimeout(function(){n()},25)}}();return i.prototype={add:function(t){for(var i=this.callbacks,r=i.length;r--;)if(i[r]===t)return;this.callbacks.push(t);n&&console.log("timer add()",this.callbacks.length)},remove:function(t){for(var i=this.callbacks,r=i.length;r--;)i[r]===t&&i.splice(r,1);n&&console.log("timer remove()",this.callbacks.length);i.length===0&&this.stop()}},i}();n.fn.parallax=function(t){var u=n.extend({},n.fn.parallax.options,t),e=arguments,o=u.mouseport instanceof n?u.mouseport:n(u.mouseport),r=v(o,"parallax_port",a),f=r.timer;return this.each(function(t){function lt(n){var t=rt(h,s,w,v,ct,n);l.css(t);ft=n}function ot(){a(r.pointer,ft,r.threshold,ht,h,y,lt)}function st(){a=ut}function at(){f.remove(ot)}var c=this,l=n(this),o=e[t+1]?n.extend({},u,e[t+1]):u,ht=o.decay,v=b(l,o.width,o.height),p=k(o.xorigin,o.yorigin),s=d(o.xparallax,o.yparallax),h=g(o.xparallax,o.yparallax,s),w=nt(h,s,p,v),ct=tt(s,p),ft=it(l,h,s,w,v),a=i,y=st,et={"mouseenter.parallax":function(){a=i;y=st;f.add(ot);f.start()},"mouseleave.parallax":function(){a=i;y=at}};n.data(c,"parallax")&&l.unparallax();n.data(c,"parallax",{port:r,events:et,parallax:h});r.elem.on(et);r.layers=r.layers?r.layers.add(c):n(c)})};n.fn.unparallax=function(t){return this.each(function(){var i=n.data(this,"parallax");i&&(n.removeData(this,"parallax"),et(this,i.port,i.events),t&&ot(i.parallax))})};n.fn.parallax.options={mouseport:"body",xparallax:!0,yparallax:!0,xorigin:.5,yorigin:.5,decay:.66,frameDuration:30,freezeClass:"freeze"};c.on("mousemove.parallax",function(n){f=[n.pageX,n.pageY]})}(jQuery)