(function(n,t,i){"use strict";var e=function(){var n=i.body||i.documentElement,n=n.style;return n.WebkitTransition==""?"-webkit-":n.MozTransition==""?"-moz-":n.OTransition==""?"-o-":n.transition==""?"":!1},r=e()===!1?!1:!0,u=function(n,t,i){var r={},u=e();r[u+"transform"]="translateX("+t+")";r[u+"transition"]=u+"transform "+i+"s linear";n.css(r)},o="ontouchstart"in t,s=t.navigator.pointerEnabled||t.navigator.msPointerEnabled,f=function(n){if(o)return!0;if(!s||typeof n=="undefined"||typeof n.pointerType=="undefined")return!1;if(typeof n.MSPOINTER_TYPE_MOUSE!="undefined"){if(n.MSPOINTER_TYPE_MOUSE!=n.pointerType)return!0}else if(n.pointerType!="mouse")return!0;return!1};n.fn.imageLightbox=function(e){var e=n.extend({selector:'id="imagelightbox"',srcRegex:".(png|jpg|jpeg|gif)?|$",animationSpeed:250,preloadNext:!0,enableKeyboard:!0,quitOnEnd:!1,quitOnImgClick:!1,quitOnDocClick:!0,onStart:!1,onEnd:!1,onLoadStart:!1,onLoadEnd:!1},e),c=n([]),l=n(),h=n(),a=0,y=0,v=0,p=!1,k=function(t){return n(t).prop("tagName").toLowerCase()=="a"&&new RegExp(e.srcRegex,"i").test(n(t).attr("href"))},d=function(){if(!h.length)return!0;var r=n(t).width()*.8,u=n(t).height()*.9,i=new Image;i.src=h.attr("src");i.onload=function(){if(a=i.width,y=i.height,a>r||y>u){var f=a/y>r/u?a/r:y/u;a/=f;y/=f}h.css({width:a+"px",height:y+"px",top:(n(t).height()-y)/2+"px",left:(n(t).width()-a)/2+"px"})}},w=function(t){if(p)return!1;if(t=typeof t=="undefined"?!1:t=="left"?1:-1,h.length){if(t!==!1&&(c.length<2||e.quitOnEnd===!0&&(t===-1&&c.index(l)==0||t===1&&c.index(l)==c.length-1)))return b(),!1;var i={opacity:0};r?u(h,100*t-v+"px",e.animationSpeed/1e3):i.left=parseInt(h.css("left"))+100*t+"px";h.animate(i,e.animationSpeed,function(){g()});v=0}p=!0;e.onLoadStart!==!1&&e.onLoadStart();setTimeout(function(){h=n("<img "+e.selector+" />").attr("src",l.attr("href")).load(function(){var f,o,i;h.appendTo("body");d();f={opacity:1};h.css("opacity",0);r?(u(h,-100*t+"px",0),setTimeout(function(){u(h,"0px",e.animationSpeed/1e3)},50)):(o=parseInt(h.css("left")),f.left=o+"px",h.css("left",o-100*t+"px"));h.animate(f,e.animationSpeed,function(){p=!1;e.onLoadEnd!==!1&&e.onLoadEnd()});e.preloadNext&&(i=c.eq(c.index(l)+1),i.length||(i=c.eq(0)),n("<img />").attr("src",i.attr("href")).load())}).error(function(){e.onLoadEnd!==!1&&e.onLoadEnd()});var o=0,y=0,i=0;h.on(s?"pointerup MSPointerUp":"click",function(n){if(n.preventDefault(),e.quitOnImgClick)return b(),!1;if(f(n.originalEvent))return!0;var t=(n.pageX||n.originalEvent.pageX)-n.target.offsetLeft;l=c.eq(c.index(l)-(a/2>t?1:-1));l.length||(l=c.eq(a/2>t?c.length:0));w(a/2>t?"left":"right")}).on("touchstart pointerdown MSPointerDown",function(n){if(!f(n.originalEvent)||e.quitOnImgClick)return!0;r&&(i=parseInt(h.css("left")));o=n.originalEvent.pageX||n.originalEvent.touches[0].pageX}).on("touchmove pointermove MSPointerMove",function(n){if(!f(n.originalEvent)||e.quitOnImgClick)return!0;n.preventDefault();y=n.originalEvent.pageX||n.originalEvent.touches[0].pageX;v=o-y;r?u(h,-v+"px",0):h.css("left",i-v+"px")}).on("touchend touchcancel pointerup pointercancel MSPointerUp MSPointerCancel",function(n){if(!f(n.originalEvent)||e.quitOnImgClick)return!0;Math.abs(v)>50?(l=c.eq(c.index(l)-(v<0?1:-1)),l.length||(l=c.eq(v<0?c.length:0)),w(v>0?"right":"left")):r?u(h,"0px",e.animationSpeed/1e3):h.animate({left:i+"px"},e.animationSpeed/2)})},e.animationSpeed+100)},g=function(){if(!h.length)return!1;h.remove();h=n()},b=function(){if(!h.length)return!1;h.animate({opacity:0},e.animationSpeed,function(){g();p=!1;e.onEnd!==!1&&e.onEnd()})};n(t).on("resize",d);if(e.quitOnDocClick)n(i).on(o?"touchend":"click",function(t){h.length&&!n(t.target).is(h)&&b()});if(e.enableKeyboard)n(i).on("keyup",function(n){if(!h.length)return!0;n.preventDefault();n.keyCode==27&&b();(n.keyCode==37||n.keyCode==39)&&(l=c.eq(c.index(l)-(n.keyCode==37?1:-1)),l.length||(l=c.eq(n.keyCode==37?c.length:0)),w(n.keyCode==37?"left":"right"))});n(i).on("click",this.selector,function(t){if(!k(this))return!0;if(t.preventDefault(),p)return!1;p=!1;e.onStart!==!1&&e.onStart();l=n(this);w()});return this.each(function(){if(!k(this))return!0;c=c.add(n(this))}),this.switchImageLightbox=function(n){var t,i;return console.log(n),t=c.eq(n),console.log(t),t.length&&(i=c.index(l),l=t,w(n<i?"left":"right")),this},this.quitImageLightbox=function(){return b(),this},this}})(jQuery,window,document)