if(!jQuery.event.special.frame){(function(f,e){function b(d,c){function j(){i.frameCount++;d.call(i)}var i=this,h;this.frameDuration=c||25;this.frameCount=-1;this.start=function(){j();h=setInterval(j,this.frameDuration)};this.stop=function(){clearInterval(h);h=null}}function a(){var d=f.event.special.frame.handler,c=f.Event("frame"),i=this.array,h=i.length;for(c.frameCount=this.frameCount;h--;){d.call(i[h],c)}}var g;if(!f.event.special.frame){f.event.special.frame={setup:function(d){if(g){g.array.push(this)}else{g=new b(a,d&&d.frameDuration);g.array=[this];var c=setTimeout(function(){g.start();clearTimeout(c);c=null},0)}},teardown:function(){for(var d=g.array,c=d.length;c--;){if(d[c]===this){d.splice(c,1);break}}if(d.length===0){g.stop();g=e}},handler:function(){f.event.handle.apply(this,arguments)}}}})(jQuery)}(function(g,C){function i(l){return this.lib[l]}function b(l){return typeof l==="boolean"?l:!!parseFloat(l)}function a(o,l){var n=[b(o.xparallax),b(o.yparallax)];this.ontarget=false;this.decay=o.decay;this.pointer=l||[0.5,0.5];this.update=function(r,p){if(this.ontarget){this.pointer=r}else{if((!n[0]||B(r[0]-this.pointer[0])
0){if(q===2){q=0;if(s){v=s}}for(;t--;){if(n[t]){w[t]=(v[t]-u[t])/x[t];w[t]=w[t]<0?0:w[t]>1?1:w[t]}}this.active=true;this.pointer=w}else{this.active=false}};this.updateSize=function(){var u=r.width(),t=r.height();o.size=[u,t];o.threshold=[1/u,1/t]};this.updatePos=function(){var u=r.offset()||{left:0,top:0},t=parseInt(r.css("borderLeftWidth"))+parseInt(r.css("paddingLeft")),v=parseInt(r.css("borderTopWidth"))+parseInt(r.css("paddingTop"));o.pos=[u.left+t,u.top+v]};g(window).bind("resize",o.updateSize).bind("resize",o.updatePos);r.bind("mouseenter",function(){q=1}).bind("mouseleave",function(t){q=2;s=[t.pageX,t.pageY]});this.updateSize();this.updatePos()}function e(p,l){var o=[],r=[],n=[],q=[];this.update=function(w){for(var u=[],t,x,v=2,s={};v--;){if(r[v]){u[v]=r[v]*w[v]+n[v];if(o[v]){t=q[v];x=u[v]*-1}else{t=u[v]*100+"%";x=u[v]*this.size[v]*-1}if(v===0){s.left=t;s.marginLeft=x}else{s.top=t;s.marginTop=x}}}p.css(s)};this.setParallax=function(u,t,s,v){u=[u||l.xparallax,t||l.yparallax];s=[s||l.xorigin,v||l.yorigin];for(v=2;v--;){o[v]=d.px.test(u[v]);if(typeof s[v]==="string"){s[v]=d.percent.test(s[v])?parseFloat(s[v])/100:m[s[v]]||1}if(o[v]){r[v]=parseInt(u[v]);n[v]=s[v]*(this.size[v]-r[v]);q[v]=s[v]*100+"%"}else{r[v]=u[v]===true?1:d.percent.test(u[v])?parseFloat(u[v])/100:u[v];n[v]=r[v]?s[v]*(1-r[v]):0}}};this.getPointer=function(){for(var v=p.offsetParent(),t=p.position(),s=[],w=[],u=2;u--;){s[u]=o[u]?0:t[u===0?"left":"top"]/(v[u===0?"outerWidth":"outerHeight"]()-this.size[u]);w[u]=(s[u]-n[u])/r[u]}return w};this.setSize=function(t,s){this.size=[t||p.outerWidth(),s||p.outerHeight()]};this.setSize(l.width,l.height);this.setParallax(l.xparallax,l.yparallax,l.xorigin,l.yorigin)}function D(p){var l=g(this),o=p.data,r=l.data(f),n=o.port,q=o.mouse,s=r.mouse;if(o.timeStamp!==p.timeStamp){o.timeStamp=p.timeStamp;n.update(k);if(n.active||!q.ontarget){q.update(n.pointer,n.threshold)}}if(s){s.update(r.freeze?r.freeze.pointer:n.pointer,n.threshold);if(s.ontarget){delete r.mouse;r.freeze&&l.unbind(c).addClass(o.freezeClass)}q=s}else{q.ontarget&&!n.active&&l.unbind(c)}r.layer.update(q.pointer)}var f="parallax",j={mouseport:"body",xparallax:true,yparallax:true,xorigin:0.5,yorigin:0.5,decay:0.66,frameDuration:30,freezeClass:"freeze"},m={left:0,top:0,middle:0.5,center:0.5,right:1,bottom:1},d={px:/^\d+\s?px$/,percent:/^\d+\s?%$/},c="frame."+f,B=Math.abs,k=[0,0];i.lib=m;g.fn[f]=function(o){var l=g.extend({},g.fn[f].options,o),n=arguments,p=this;if(!(l.mouseport instanceof g)){l.mouseport=g(l.mouseport)}l.port=new h(l.mouseport,l);l.mouse=new a(l);l.mouseport.bind("mouseenter",function(){l.mouse.ontarget=false;p.each(function(){var q=g(this);q.data(f).freeze||q.bind(c,l,D)})});return p.bind("freeze",function(q){var t=g(this),u=t.data(f),s=u.mouse||u.freeze||l.mouse,r=d.percent.exec(q.x)?parseFloat(q.x.replace(/%$/,""))/100:q.x||s.pointer[0],v=d.percent.exec(q.y)?parseFloat(q.y.replace(/%$/,""))/100:q.y||s.pointer[1];q=q.decay;u.freeze={pointer:[r,v]};u.mouse=new a(l,s.pointer);if(q!==C){u.mouse.decay=q}t.bind(c,l,D)}).bind("unfreeze",function(q){var s=g(this),t=s.data(f);q=q.decay;var r;if(t.freeze){r=t.mouse?t.mouse.pointer:t.freeze.pointer;t.mouse=new a(l);t.mouse.pointer=r;if(q!==C){t.mouse.decay=q}delete t.freeze;s.removeClass(j.freezeClass).bind(c,l,D)}}).each(function(q){var r=g(this);q=n[q+1]?g.extend({},l,n[q+1]):l;var s=new e(r,q);r.data(f,{layer:s,mouse:new a(q,s.getPointer())})})};g.fn[f].options=j;g(document).ready(function(){g(document).mousemove(function(l){k=[l.pageX,l.pageY]})})})(jQuery);