/*! * bootstrap-lightbox.js v0.7.0 * Copyright 2014 Jason Butz * http://www.apache.org/licenses/LICENSE-2.0.txt */ +function(e){"use strict";var t=function(t,n){this.options=n,this.$element=e(t),this.$backdrop=null,this.isShown=null,this.options.remote&&this.$element.load(this.options.remote)};t.prototype=e.extend({},e.fn.modal.Constructor.prototype),t.prototype.constructor=t,t.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},t.prototype.show=function(t){var n=this,r=e.Event("show.bs.lightbox",{relatedTarget:t});this.$element.trigger(r);if(this.isShown||r.isDefaultPrevented())return;this.isShown=!0,this.escape(),this.$element.on("click.dismiss.lightbox",'[data-dismiss="lightbox"]',e.proxy(this.hide,this)),this.preloadSize(function(){n.backdrop(function(){var r=e.support.transition&&n.$element.hasClass("fade");n.$element.parent().length||n.$element.appendTo(document.body),n.$element.show(),r&&n.$element[0].offsetWidth,n.$element.addClass("in").attr("aria-hidden",!1),n.enforceFocus();var i=e.Event("shown.bs.lightbox",{relatedTarget:t});r?n.$element.find(".lightbox-dialog").one(e.support.transition.end,function(){n.$element.focus().trigger(i)}).emulateTransitionEnd(300):n.$element.focus().trigger(i)})})},t.prototype.hide=function(t,n){t&&t.preventDefault(),t=e.Event("hide.bs.lightbox"),this.$element.trigger(t);if(!this.isShown||t.isDefaultPrevented())return;this.isShown=!1,this.escape(),e(document).off("focusin.bs.lightbox"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.lightbox"),e.support.transition&&this.$element.hasClass("fade")?this.$element.one(e.support.transition.end,e.proxy(this.hideModal(n),this)).emulateTransitionEnd(300):this.hideModal(n)},t.prototype.enforceFocus=function(){e(document).off("focusin.bs.lightbox").on("focusin.bs.lightbox",e.proxy(function(e){this.$element[0]!==e.target&&!this.$element.has(e.target).length&&this.$element.focus()},this))},t.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.lightbox",e.proxy(function(e){e.which==27&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.lightbox")},t.prototype.hideModal=function(e){var t=this;this.$element.hide(),this.backdrop(function(){t.removeBackdrop(),e||t.$element.trigger("hidden.bs.lightbox")})},t.prototype.backdrop=function(t){var n=this,r=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var i=e.support.transition&&r;this.$backdrop=e('
').appendTo(document.body),this.$element.on("click.dismiss.lightbox",e.proxy(function(e){if(e.target!==e.currentTarget)return;this.options.backdrop=="static"?this.$element[0].focus.call(this.$element[0]):this.hide.call(this)},this)),i&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in");if(!t)return;i?this.$backdrop.one(e.support.transition.end,t).emulateTransitionEnd(150):t()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(e.support.transition.end,t).emulateTransitionEnd(150):t()):t&&t()},t.prototype.preloadSize=function(t){var n=e.Callbacks();t&&n.add(t);var r=this,i,s,o,u,a,f,l,c,h,p;i=e(window).height(),s=e(window).width(),o=parseInt(r.$element.find(".lightbox-content").css("padding-top"),10),u=parseInt(r.$element.find(".lightbox-content").css("padding-bottom"),10),a=parseInt(r.$element.find(".lightbox-content").css("padding-left"),10),f=parseInt(r.$element.find(".lightbox-content").css("padding-right"),10),l=r.$element.find(".lightbox-content").find("img:first");if(l.length<=0)return n.fire();c=new Image,c.onload=function(){c.width+a+f>=s&&(h=c.width,p=c.height,c.width=s-a-f,c.height=p/h*c.width),c.height+o+u>=i&&(h=c.width,p=c.height,c.height=i-o-u,c.width=h/p*c.height),r.$element.find(".lightbox-dialog").css({position:"fixed",width:c.width+a+f,height:c.height+o+u,top:i/2-(c.height+o+u)/2,left:"50%","margin-left":-1*(c.width+a+f)/2}),r.$element.find(".lightbox-content").css({width:c.width+a+f,height:c.height+o+u}),l.css({width:c.width,height:c.height}),n.fire()},c.src=l.attr("src")},t.prototype.slide=function(e){var t=this;t.hide(t.event,!0),e=="next"&&t.$element.next(".lightbox").length?t.$element.next(".lightbox").lightbox("show"):e=="prev"&&t.$element.prev(".lightbox").length?t.$element.prev(".lightbox").lightbox("show"):t.$element.trigger("hidden.bs.lightbox")};var n=e.fn.lightbox;e.fn.lightbox=function(n,r){return this.each(function(){var i=e(this),s=i.data("bs.lightbox"),o=e.extend({},t.DEFAULTS,i.data(),typeof n=="object"&&n);s||i.data("bs.lightbox",s=new t(this,o)),typeof n=="string"?s[n](r):o.show&&s.show(r)})},e.fn.lightbox.Constructor=t,e.fn.lightbox.noConflict=function(){return e.fn.lightbox=n,this},e(document).on("click.bs.lightbox.data-api",'[data-toggle="lightbox"]',function(t){var n=e(this),r=n.attr("href"),i=e(n.attr("data-target")||r&&r.replace(/.*(?=#[^\s]+$)/,"")),s=i.data("lightbox")?"toggle":e.extend({remote:!/#/.test(r)&&r},i.data(),n.data());t.preventDefault(),i.lightbox(s,this).one("hide",function(){n.is(":visible")&&n.focus()})}),e(document).on("click",".lightbox-control",function(t){t.preventDefault();var n=e(this);n.parents(".lightbox").lightbox("slide",e(this).data("lightbox-slide"))}),e(document).on("show.bs.lightbox",".lightbox",function(){e(document.body).addClass("lightbox-open")}).on("hidden.bs.lightbox",".lightbox",function(){e(document.body).removeClass("lightbox-open")})}(window.jQuery);