!function(a){var b;window.UIkit&&(b=a(UIkit)),"function"==typeof define&&define.amd&&define("uikit-lightbox",["uikit"],function(){return b||a(UIkit)})}(function(a){"use strict";function b(b){if(c)return c.lightbox=b,c;c=a.$(['
','
','','
','
',"
","
"].join("")).appendTo("body"),c.dialog=c.find(".uk-modal-dialog:first"),c.content=c.find(".uk-lightbox-content:first"),c.loader=c.find(".uk-modal-spinner:first"),c.closer=c.find(".uk-close.uk-close-alt"),c.modal=a.modal(c,{modal:!1}),c.on("swipeRight swipeLeft",function(a){c.lightbox["swipeLeft"==a.type?"next":"previous"]()}).on("click","[data-lightbox-previous], [data-lightbox-next]",function(b){b.preventDefault(),c.lightbox[a.$(this).is("[data-lightbox-next]")?"next":"previous"]()}),c.on("hide.uk.modal",function(a){c.content.html("")});var d={w:window.innerWidth,h:window.innerHeight};return a.$win.on("load resize orientationchange",a.Utils.debounce(function(b){d.w!==window.innerWidth&&c.is(":visible")&&!a.Utils.isFullscreen()&&c.lightbox.fitSize(),d={w:window.innerWidth,h:window.innerHeight}},100)),c.lightbox=b,c}var c,d={};return a.component("lightbox",{defaults:{allowfullscreen:!0,duration:400,group:!1,keyboard:!0},index:0,items:!1,boot:function(){a.$html.on("click","[data-uk-lightbox]",function(b){b.preventDefault();var c=a.$(this);c.data("lightbox")||a.lightbox(c,a.Utils.options(c.attr("data-uk-lightbox"))),c.data("lightbox").show(c)}),a.$doc.on("keyup",function(a){if(c&&c.is(":visible")&&c.lightbox.options.keyboard)switch(a.preventDefault(),a.keyCode){case 37:c.lightbox.previous();break;case 39:c.lightbox.next()}})},init:function(){var b=[];if(this.index=0,this.siblings=[],this.element&&this.element.length){var c=this.options.group?a.$(['[data-uk-lightbox*="'+this.options.group+'"]',"[data-uk-lightbox*='"+this.options.group+"']"].join(",")):this.element;c.each(function(){var c=a.$(this);b.push({source:c.attr("href"),title:c.attr("data-title")||c.attr("title"),type:c.attr("data-lightbox-type")||"auto",link:c})}),this.index=c.index(this.element),this.siblings=b}else this.options.group&&this.options.group.length&&(this.siblings=this.options.group);this.trigger("lightbox-init",[this])},show:function(c){this.modal=b(this),this.modal.dialog.stop(),this.modal.content.stop();var d,e,f=this,g=a.$.Deferred();c=c||0,"object"==typeof c&&this.siblings.forEach(function(a,b){c[0]===a.link[0]&&(c=b)}),c<0?c=this.siblings.length-c:this.siblings[c]||(c=0),e=this.siblings[c],d={lightbox:f,source:e.source,type:e.type,index:c,promise:g,title:e.title,item:e,meta:{content:"",width:null,height:null}},this.index=c,this.modal.content.empty(),this.modal.is(":visible")||(this.modal.content.css({width:"",height:""}).empty(),this.modal.modal.show()),this.modal.loader.removeClass("uk-hidden"),g.promise().done(function(){f.data=d,f.fitSize(d)}).fail(function(){d.meta.content='
Loading resource failed!
',d.meta.width=400,d.meta.height=300,f.data=d,f.fitSize(d)}),f.trigger("showitem.uk.lightbox",[d])},fitSize:function(){var b=this,c=this.data,d=this.modal.dialog.outerWidth()-this.modal.dialog.width(),e=parseInt(this.modal.dialog.css("margin-top"),10),f=parseInt(this.modal.dialog.css("margin-bottom"),10),g=e+f,h=c.meta.content,i=b.options.duration;this.siblings.length>1&&(h=[h,'',''].join(""));var j,k,l=a.$("
 
").css({opacity:0,position:"absolute",top:0,left:0,width:"100%","max-width":b.modal.dialog.css("max-width"),padding:b.modal.dialog.css("padding"),margin:b.modal.dialog.css("margin")}),m=c.meta.width,n=c.meta.height;l.appendTo("body").width(),j=l.width(),k=window.innerHeight-g,l.remove(),this.modal.dialog.find(".uk-modal-caption").remove(),c.title&&(this.modal.dialog.append('
'+c.title+"
"),k-=this.modal.dialog.find(".uk-modal-caption").outerHeight()),j',width:c,height:d},b.type="image",b.promise.resolve()};if(d[b.source])c(b.source,d[b.source].width,d[b.source].height);else{var e=new Image;e.onerror=function(){b.promise.reject("Loading image failed")},e.onload=function(){d[b.source]={width:e.width,height:e.height},c(b.source,d[b.source].width,d[b.source].height)},e.src=b.source}}})}}),a.plugin("lightbox","youtube",{init:function(a){var b=/(\/\/.*?youtube\.[a-z]+)\/watch\?v=([^&]+)&?(.*)/,e=/youtu\.be\/(.*)/;a.on("showitem.uk.lightbox",function(a,f){var g,h,i=function(a,b,d){f.meta={content:'",width:b,height:d},f.type="iframe",f.promise.resolve()};if((h=f.source.match(b))&&(g=h[2]),(h=f.source.match(e))&&(g=h[1]),g){if(d[g])i(g,d[g].width,d[g].height);else{var j=new Image,k=!1;j.onerror=function(){d[g]={width:640,height:320},i(g,d[g].width,d[g].height)},j.onload=function(){120==j.width&&90==j.height?k?(d[g]={width:640,height:320},i(g,d[g].width,d[g].height)):(k=!0,j.src="//img.youtube.com/vi/"+g+"/0.jpg"):(d[g]={width:j.width,height:j.height},i(g,j.width,j.height))},j.src="//img.youtube.com/vi/"+g+"/maxresdefault.jpg"}a.stopImmediatePropagation()}})}}),a.plugin("lightbox","vimeo",{init:function(b){var e,f=/(\/\/.*?)vimeo\.[a-z]+\/([0-9]+).*?/;b.on("showitem.uk.lightbox",function(b,g){var h,i=function(a,b,d){g.meta={content:'",width:b,height:d},g.type="iframe",g.promise.resolve()};(e=g.source.match(f))&&(h=e[2],d[h]?i(h,d[h].width,d[h].height):a.$.ajax({type:"GET",url:"http://vimeo.com/api/oembed.json?url="+encodeURI(g.source),jsonp:"callback",dataType:"jsonp",success:function(a){d[h]={width:a.width,height:a.height},i(h,d[h].width,d[h].height)}}),b.stopImmediatePropagation())})}}),a.plugin("lightbox","video",{init:function(b){b.on("showitem.uk.lightbox",function(b,c){var e=function(a,b,d){c.meta={content:'',width:b,height:d},c.type="video",c.promise.resolve()};if("video"==c.type||c.source.match(/\.(mp4|webm|ogv)$/i))if(d[c.source])e(c.source,d[c.source].width,d[c.source].height);else var f=a.$('').attr("src",c.source).appendTo("body"),g=setInterval(function(){f[0].videoWidth&&(clearInterval(g),d[c.source]={width:f[0].videoWidth,height:f[0].videoHeight},e(c.source,d[c.source].width,d[c.source].height),f.remove())},20)})}}),UIkit.plugin("lightbox","iframe",{init:function(a){a.on("showitem.uk.lightbox",function(b,d){var e=function(a,b,e){d.meta={content:'",width:b,height:e},d.type="iframe",d.promise.resolve()};("iframe"===d.type||d.source.match(/\.(html|php)$/))&&e(d.source,a.options.width||800,a.options.height||600)})}}),a.lightbox.create=function(b,c){if(b){var d,e=[];return b.forEach(function(b){e.push(a.$.extend({source:"",title:"",type:"auto",link:!1},"string"==typeof b?{source:b}:b))}),d=a.lightbox(a.$.extend({},c,{group:e}))}},a.lightbox});