(function(){var n,t,i;n=jQuery;i=function(){function n(){this.fadeDuration=500;this.fitImagesInViewport=!0;this.resizeDuration=700;this.showImageNumberLabel=!0;this.wrapAround=!1}return n.prototype.albumLabel=function(n,t){return"Bild "+n+" av "+t},n}();t=function(){function t(n){this.options=n;this.album=[];this.currentImageIndex=void 0;this.init()}return t.prototype.init=function(){return this.enable(),this.build()},t.prototype.enable=function(){var t=this;return n("body").on("click","a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]",function(i){return t.start(n(i.currentTarget)),!1})},t.prototype.build=function(){var t=this;n("<div id='lightboxOverlay' class='lightboxOverlay'><\/div><div id='lightbox' class='lightbox'><div class='lb-outerContainer'><div class='lb-container'><img class='lb-image' src='' /><div class='lb-nav'><a class='lb-prev' href='' ><\/a><a class='lb-next' href='' ><\/a><\/div><div class='lb-loader'><a class='lb-cancel'><\/a><\/div><\/div><\/div><div class='lb-dataContainer'><div class='lb-data'><div class='lb-details'><span class='lb-caption'><\/span><span class='lb-number'><\/span><\/div><div class='lb-closeContainer'><a class='lb-close'><\/a><\/div><\/div><\/div><\/div>").appendTo(n("body"));this.$lightbox=n("#lightbox");this.$overlay=n("#lightboxOverlay");this.$outerContainer=this.$lightbox.find(".lb-outerContainer");this.$container=this.$lightbox.find(".lb-container");this.containerTopPadding=parseInt(this.$container.css("padding-top"),10);this.containerRightPadding=parseInt(this.$container.css("padding-right"),10);this.containerBottomPadding=parseInt(this.$container.css("padding-bottom"),10);this.containerLeftPadding=parseInt(this.$container.css("padding-left"),10);this.$overlay.hide().on("click",function(){return t.end(),!1});this.$lightbox.hide().on("click",function(i){return n(i.target).attr("id")==="lightbox"&&t.end(),!1});this.$outerContainer.on("click",function(i){return n(i.target).attr("id")==="lightbox"&&t.end(),!1});this.$lightbox.find(".lb-prev").on("click",function(){return t.currentImageIndex===0?t.changeImage(t.album.length-1):t.changeImage(t.currentImageIndex-1),!1});this.$lightbox.find(".lb-next").on("click",function(){return t.currentImageIndex===t.album.length-1?t.changeImage(0):t.changeImage(t.currentImageIndex+1),!1});return this.$lightbox.find(".lb-loader, .lb-close").on("click",function(){return t.end(),!1})},t.prototype.start=function(t){var u,i,e,r,f,l,a,o,s,v,y,h,c;n(window).on("resize",this.sizeOverlay);if(n("select, object, embed").css({visibility:"hidden"}),this.$overlay.width(n(document).width()).height(n(document).height()).fadeIn(this.options.fadeDuration),this.album=[],f=0,e=t.attr("data-lightbox"),e)for(h=n(t.prop("tagName")+'[data-lightbox="'+e+'"]'),r=o=0,v=h.length;o<v;r=++o)i=h[r],this.album.push({link:n(i).attr("href"),title:n(i).attr("title")}),n(i).attr("href")===t.attr("href")&&(f=r);else if(t.attr("rel")==="lightbox")this.album.push({link:t.attr("href"),title:t.attr("title")});else for(c=n(t.prop("tagName")+'[rel="'+t.attr("rel")+'"]'),r=s=0,y=c.length;s<y;r=++s)i=c[r],this.album.push({link:n(i).attr("href"),title:n(i).attr("title")}),n(i).attr("href")===t.attr("href")&&(f=r);u=n(window);a=u.scrollTop()+u.height()/10;l=u.scrollLeft();this.$lightbox.css({top:a+"px",left:l+"px"}).fadeIn(this.options.fadeDuration);this.changeImage(f)},t.prototype.changeImage=function(t){var r,i,u=this;this.disableKeyboardNav();r=this.$lightbox.find(".lb-image");this.sizeOverlay();this.$overlay.fadeIn(this.options.fadeDuration);n(".lb-loader").fadeIn("slow");this.$lightbox.find(".lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption").hide();this.$outerContainer.addClass("animating");i=new Image;i.onload=function(){var l,f,e,o,s,h,c;return r.attr("src",u.album[t].link),l=n(i),r.width(i.width),r.height(i.height),u.options.fitImagesInViewport&&(c=n(window).width(),h=n(window).height(),s=c-u.containerLeftPadding-u.containerRightPadding-20,o=h-u.containerTopPadding-u.containerBottomPadding-110,(i.width>s||i.height>o)&&(i.width/s>i.height/o?(e=s,f=parseInt(i.height/(i.width/e),10),r.width(e),r.height(f)):(f=o,e=parseInt(i.width/(i.height/f),10),r.width(e),r.height(f)))),u.sizeContainer(r.width(),r.height())};i.src=this.album[t].link;this.currentImageIndex=t},t.prototype.sizeOverlay=function(){return n("#lightboxOverlay").width(n(document).width()).height(n(document).height())},t.prototype.sizeContainer=function(n,t){var i,u,f,e,r=this;e=this.$outerContainer.outerWidth();f=this.$outerContainer.outerHeight();u=n+this.containerLeftPadding+this.containerRightPadding;i=t+this.containerTopPadding+this.containerBottomPadding;this.$outerContainer.animate({width:u,height:i},this.options.resizeDuration,"swing");setTimeout(function(){r.$lightbox.find(".lb-dataContainer").width(u);r.$lightbox.find(".lb-prevLink").height(i);r.$lightbox.find(".lb-nextLink").height(i);r.showImage()},this.options.resizeDuration)},t.prototype.showImage=function(){this.$lightbox.find(".lb-loader").hide();this.$lightbox.find(".lb-image").fadeIn("slow");this.updateNav();this.updateDetails();this.preloadNeighboringImages();this.enableKeyboardNav()},t.prototype.updateNav=function(){this.$lightbox.find(".lb-nav").show();this.album.length>1&&(this.options.wrapAround?this.$lightbox.find(".lb-prev, .lb-next").show():(this.currentImageIndex>0&&this.$lightbox.find(".lb-prev").show(),this.currentImageIndex<this.album.length-1&&this.$lightbox.find(".lb-next").show()))},t.prototype.updateDetails=function(){var n=this;typeof this.album[this.currentImageIndex].title!="undefined"&&this.album[this.currentImageIndex].title!==""&&this.$lightbox.find(".lb-caption").html(this.album[this.currentImageIndex].title).fadeIn("fast");this.album.length>1&&this.options.showImageNumberLabel?this.$lightbox.find(".lb-number").text(this.options.albumLabel(this.currentImageIndex+1,this.album.length)).fadeIn("fast"):this.$lightbox.find(".lb-number").hide();this.$outerContainer.removeClass("animating");this.$lightbox.find(".lb-dataContainer").fadeIn(this.resizeDuration,function(){return n.sizeOverlay()})},t.prototype.preloadNeighboringImages=function(){var n,t;this.album.length>this.currentImageIndex+1&&(n=new Image,n.src=this.album[this.currentImageIndex+1].link);this.currentImageIndex>0&&(t=new Image,t.src=this.album[this.currentImageIndex-1].link)},t.prototype.enableKeyboardNav=function(){n(document).on("keyup.keyboard",n.proxy(this.keyboardAction,this))},t.prototype.disableKeyboardNav=function(){n(document).off(".keyboard")},t.prototype.keyboardAction=function(n){var r,u,f,i,t;r=27;u=37;f=39;t=n.keyCode;i=String.fromCharCode(t).toLowerCase();t===r||i.match(/x|o|c/)?this.end():i==="p"||t===u?this.currentImageIndex!==0&&this.changeImage(this.currentImageIndex-1):(i==="n"||t===f)&&this.currentImageIndex!==this.album.length-1&&this.changeImage(this.currentImageIndex+1)},t.prototype.end=function(){return this.disableKeyboardNav(),n(window).off("resize",this.sizeOverlay),this.$lightbox.fadeOut(this.options.fadeDuration),this.$overlay.fadeOut(this.options.fadeDuration),n("select, object, embed").css({visibility:"visible"})},t}();n(function(){var n;return n=new i,new t(n)})}).call(this)