File: /home/adventp/www/wp-content/themes/brooklyn/assets/vendor/lightGallery/js/lg-zoom.min.js
/*! lightgallery - v1.2.6 - 2015-10-07
* http://sachinchoolur.github.io/lightGallery/
* Copyright (c) 2015 Sachin N; Licensed Apache 2.0 */
(function(d,c,a,f){var e={scale:1,zoom:true,enableZoomAfter:300};var b=function(g){this.core=d(g).data("lightGallery");this.core.s=d.extend({},e,this.core.s);if(this.core.s.zoom&&this.core.doCss()){this.init();this.zoomabletimeout=false;this.pageX=d(c).width()/2;this.pageY=(d(c).height()/2)+d(c).scrollTop()}return this};b.prototype.init=function(){var k=this;var h='<span id="lg-zoom-in" class="lg-icon"></span><span id="lg-zoom-out" class="lg-icon"></span>';this.core.$outer.find(".lg-toolbar").append(h);k.core.$el.on("onSlideItemLoad.lg.tm.zoom",function(o,n,m){var l=k.core.s.enableZoomAfter+m;if(d("body").hasClass("lg-from-hash")&&m){l=0}else{d("body").removeClass("lg-from-hash")}k.zoomabletimeout=setTimeout(function(){k.core.$slide.eq(n).addClass("lg-zoomable")},l+30)});var j=1;var i=function(q){var p=k.core.$outer.find(".lg-current .lg-image");var o;var n;var m=(d(c).width()-p.width())/2;var s=((d(c).height()-p.height())/2)+d(c).scrollTop();o=k.pageX-m;n=k.pageY-s;var l=(q-1)*(o);var r=(q-1)*(n);p.css("transform","scale3d("+q+", "+q+", 1)").attr("data-scale",q);p.parent().css("transform","translate3d(-"+l+"px, -"+r+"px, 0)").attr("data-x",l).attr("data-y",r)};var g=function(){if(j>1){k.core.$outer.addClass("lg-zoomed")}else{k.resetZoom()}if(j<1){j=1}i(j)};k.core.$el.on("onAferAppendSlide.lg.tm.zoom",function(n,l){var m=k.core.$slide.eq(l).find(".lg-image");m.dblclick(function(r){var p=m.width();var o=k.core.$items.eq(l).attr("data-width")||m[0].naturalWidth||p;var q;if(k.core.$outer.hasClass("lg-zoomed")){j=1}else{if(o>p){q=o/p;j=q||2}}k.pageX=r.pageX;k.pageY=r.pageY;g();setTimeout(function(){k.core.$outer.removeClass("lg-grabbing").addClass("lg-grab")},10)})});d(c).on("resize.lg.zoom scroll.lg.zoom orientationchange.lg.zoom",function(){k.pageX=d(c).width()/2;k.pageY=(d(c).height()/2)+d(c).scrollTop();i(j)});d("#lg-zoom-out").on("click.lg",function(){if(k.core.$outer.find(".lg-current .lg-image").length){j-=k.core.s.scale;g()}});d("#lg-zoom-in").on("click.lg",function(){if(k.core.$outer.find(".lg-current .lg-image").length){j+=k.core.s.scale;g()}});k.core.$el.on("onBeforeSlide.lg.tm",function(){k.resetZoom()});if(!k.core.isTouch){k.zoomDrag()}if(k.core.isTouch){k.zoomSwipe()}};b.prototype.resetZoom=function(){this.core.$outer.removeClass("lg-zoomed");this.core.$slide.find(".lg-img-wrap").removeAttr("style data-x data-y");this.core.$slide.find(".lg-image").removeAttr("style data-scale");this.pageX=d(c).width()/2;this.pageY=(d(c).height()/2)+d(c).scrollTop()};b.prototype.zoomSwipe=function(){var l=this;var j={};var h={};var i=false;var g=false;var k=false;l.core.$slide.on("touchstart.lg",function(n){if(l.core.$outer.hasClass("lg-zoomed")){var m=l.core.$slide.eq(l.core.index).find(".lg-object");k=m.outerHeight()*m.attr("data-scale")>l.core.$outer.find(".lg").height();g=m.outerWidth()*m.attr("data-scale")>l.core.$outer.find(".lg").width();if((g||k)){n.preventDefault();j={x:n.originalEvent.targetTouches[0].pageX,y:n.originalEvent.targetTouches[0].pageY}}}});l.core.$slide.on("touchmove.lg",function(p){if(l.core.$outer.hasClass("lg-zoomed")){var m=l.core.$slide.eq(l.core.index).find(".lg-img-wrap");var o;var n;p.preventDefault();i=true;h=p.originalEvent.targetTouches[0].pageX;h={x:p.originalEvent.targetTouches[0].pageX,y:p.originalEvent.targetTouches[0].pageY};l.core.$outer.addClass("lg-zoom-dragging");if(k){n=(-Math.abs(m.attr("data-y")))+(h.y-j.y)}else{n=-Math.abs(m.attr("data-y"))}if(g){o=(-Math.abs(m.attr("data-x")))+(h.x-j.x)}else{o=-Math.abs(m.attr("data-x"))}m.css("transform","translate3d("+o+"px, "+n+"px, 0)")}});l.core.$slide.on("touchend.lg",function(){if(l.core.$outer.hasClass("lg-zoomed")){if(i){i=false;l.core.$outer.removeClass("lg-zoom-dragging");l.touchendZoom(j,h,g,k)}}})};b.prototype.zoomDrag=function(){var m=this;var k={};var i={};var h=false;var j=false;var g=false;var l=false;m.core.$slide.on("mousedown.lg.zoom",function(o){var n=m.core.$slide.eq(m.core.index).find(".lg-object");l=n.outerHeight()*n.attr("data-scale")>m.core.$outer.find(".lg").height();g=n.outerWidth()*n.attr("data-scale")>m.core.$outer.find(".lg").width();if(m.core.$outer.hasClass("lg-zoomed")){if(d(o.target).hasClass("lg-object")&&(g||l)){o.preventDefault();k={x:o.pageX,y:o.pageY};h=true;m.core.$outer.scrollLeft+=1;m.core.$outer.scrollLeft-=1;m.core.$outer.removeClass("lg-grab").addClass("lg-grabbing")}}});d(c).on("mousemove.lg.zoom",function(q){if(h){var n=m.core.$slide.eq(m.core.index).find(".lg-img-wrap");var p;var o;j=true;i={x:q.pageX,y:q.pageY};m.core.$outer.addClass("lg-zoom-dragging");if(l){o=(-Math.abs(n.attr("data-y")))+(i.y-k.y)}else{o=-Math.abs(n.attr("data-y"))}if(g){p=(-Math.abs(n.attr("data-x")))+(i.x-k.x)}else{p=-Math.abs(n.attr("data-x"))}n.css("transform","translate3d("+p+"px, "+o+"px, 0)")}});d(c).on("mouseup.lg.zoom",function(n){if(h){h=false;m.core.$outer.removeClass("lg-zoom-dragging");if(j&&((k.x!==i.x)||(k.y!==i.y))){i={x:n.pageX,y:n.pageY};m.touchendZoom(k,i,g,l)}j=false}m.core.$outer.removeClass("lg-grabbing").addClass("lg-grab")})};b.prototype.touchendZoom=function(q,j,k,i){var p=this;var l=p.core.$slide.eq(p.core.index).find(".lg-img-wrap");var n=p.core.$slide.eq(p.core.index).find(".lg-object");var s=(-Math.abs(l.attr("data-x")))+(j.x-q.x);var r=(-Math.abs(l.attr("data-y")))+(j.y-q.y);var m=(p.core.$outer.find(".lg").height()-n.outerHeight())/2;var g=Math.abs((n.outerHeight()*Math.abs(n.attr("data-scale")))-p.core.$outer.find(".lg").height()+m);var o=(p.core.$outer.find(".lg").width()-n.outerWidth())/2;var h=Math.abs((n.outerWidth()*Math.abs(n.attr("data-scale")))-p.core.$outer.find(".lg").width()+o);if(i){if(r<=-g){r=-g}else{if(r>=-m){r=-m}}}if(k){if(s<=-h){s=-h}else{if(s>=-o){s=-o}}}if(i){l.attr("data-y",Math.abs(r))}else{r=-Math.abs(l.attr("data-y"))}if(k){l.attr("data-x",Math.abs(s))}else{s=-Math.abs(l.attr("data-x"))}l.css("transform","translate3d("+s+"px, "+r+"px, 0)")};b.prototype.destroy=function(){var g=this;g.core.$el.off(".lg.zoom");d(c).off(".lg.zoom");g.core.$slide.off(".lg.zoom");g.core.$el.off(".lg.tm.zoom");g.resetZoom();clearTimeout(g.zoomabletimeout);g.zoomabletimeout=false};d.fn.lightGallery.modules.zoom=b})(jQuery,window,document);