!function(n){var u={reCalcOnWindowResize:!0,throttleDuration:17},f=function(n){var i=n.find("img").not(".no-focuspoint").attr("src");n.data("imageSrc",i);e(i,function(i,r){n.data({imageW:r.width,imageH:r.height});t(n)})},e=function(t,i){n("<img />").one("load",function(){i(null,{width:this.width,height:this.height})}).attr("src",t)},o=function(n,t){var i=!1;return function(){var r=Array.prototype.slice.call(arguments,0);if(i)return!1;i=!0;setTimeout(function(){i=!1;n.apply(null,r)},t)}},i=function(n,t,i,r,u){var s=Math.floor(t/2),l=(r+1)/2,o=Math.floor(i/n),f=Math.floor(l*o);u&&(f=o-f);var e=f-s,h=o-f,c=t-s;return h<c&&(e-=c-h),e<0&&(e=0),-100*e/t+"%"},t=function(n){var t=n.data("imageW"),r=n.data("imageH"),a=n.data("imageSrc"),u,e;if(!t&&!r&&!a)return f(n);var o=n.width(),s=n.height(),v=parseFloat(n.data("focusX")),y=parseFloat(n.data("focusY")),h=n.find("img").not(".no-focuspoint").first(),c=0,l=0;if(!(o>0&&s>0&&t>0&&r>0))return!1;u=t/o;e=r/s;h.css({"max-width":"","max-height":""});t>o&&r>s&&h.css(u>e?"max-height":"max-width","100%");u>e?c=i(e,o,t,v):u<e&&(l=i(u,s,r,y,!0));h.css({top:l,left:c})},r=n(window),s=function(n,i){var f=i.throttleDuration?o(function(){t(n)},i.throttleDuration):function(){t(n)},u=!1;return t(n),{adjustFocus:function(){return t(n)},windowOn:function(){if(!u)return r.on("resize",f),u=!0},windowOff:function(){if(u)return r.off("resize",f),u=!1,!0}}};n.fn.focusPoint=function(t){if("string"==typeof t)return this.each(function(){n(this).data("focusPoint")[t]()});var i=n.extend({},u,t);return this.each(function(){var t=n(this),r=s(t,i);t.data("focusPoint")&&t.data("focusPoint").windowOff();t.data("focusPoint",r);i.reCalcOnWindowResize&&r.windowOn()})};n.fn.adjustFocus=function(){return this.each(function(){t(n(this))})}}(jQuery)