| Current File : /home/d/i/g/digitaw/www/wp-content/plugins/responsive-lightbox/assets/nivo/nivo-lightbox.min.js |
(function($,window,document,undefined){var pluginName="nivoLightbox",defaults={effect:"fade",theme:"default",keyboardNav:true,clickImgToClose:false,clickOverlayToClose:true,onInit:function(){},beforeShowLightbox:function(){},afterShowLightbox:function(lightbox){},beforeHideLightbox:function(){},afterHideLightbox:function(){},beforePrev:function(element){},onPrev:function(element){},beforeNext:function(element){},onNext:function(element){},errorMessage:"The requested content cannot be loaded. Please try again later."};function NivoLightbox(element,options){this.el=element;this.$el=$(this.el);this.options=$.extend({},defaults,options);this._defaults=defaults;this._name=pluginName;this.init()}NivoLightbox.prototype={init:function(){var $this=this;if(!$("html").hasClass("nivo-lightbox-notouch"))$("html").addClass("nivo-lightbox-notouch");if("ontouchstart"in document)$("html").removeClass("nivo-lightbox-notouch");this.$el.on("click",function(e){$this.showLightbox(e)});if(this.options.keyboardNav){$("body").off("keyup").on("keyup",function(e){var code=e.keyCode?e.keyCode:e.which;if(code==27)$this.destructLightbox();if(code==37)$(".nivo-lightbox-prev").trigger("click");if(code==39)$(".nivo-lightbox-next").trigger("click")})}this.options.onInit.call(this)},showLightbox:function(e){var $this=this,currentLink=this.$el;var check=this.checkContent(currentLink);if(!check)return;e.preventDefault();this.options.beforeShowLightbox.call(this);var lightbox=this.constructLightbox();if(!lightbox)return;var content=lightbox.find(".nivo-lightbox-content");if(!content)return;$("body").addClass("nivo-lightbox-body-effect-"+this.options.effect);this.processContent(content,currentLink);if(this.$el.attr("data-lightbox-gallery")){var galleryItems=$('[data-lightbox-gallery="'+this.$el.attr("data-lightbox-gallery")+'"]');$(".nivo-lightbox-nav").show();$(".nivo-lightbox-prev").off("click").on("click",function(e){e.preventDefault();var index=galleryItems.index(currentLink);currentLink=galleryItems.eq(index-1);if(!$(currentLink).length)currentLink=galleryItems.last();$.when($this.options.beforePrev.call(this,[currentLink])).done(function(){$this.processContent(content,currentLink);$this.options.onPrev.call(this,[currentLink])})});$(".nivo-lightbox-next").off("click").on("click",function(e){e.preventDefault();var index=galleryItems.index(currentLink);currentLink=galleryItems.eq(index+1);if(!$(currentLink).length)currentLink=galleryItems.first();$.when($this.options.beforeNext.call(this,[currentLink])).done(function(){$this.processContent(content,currentLink);$this.options.onNext.call(this,[currentLink])})})}setTimeout(function(){lightbox.addClass("nivo-lightbox-open");$this.options.afterShowLightbox.call(this,[lightbox])},1)},checkContent:function(link){var $this=this,href=link.attr("href"),video=href.match(/(youtube|youtube-nocookie|youtu|vimeo)\.(com|be)\/(watch\?v=([\w-]+)|([\w-]+))/);if(href.match(/\.(jpeg|jpg|gif|png|webp)$/i)!==null){return true}else if(video){return true}else if(link.attr("data-lightbox-type")=="ajax"){return true}else if(href.substring(0,1)=="#"&&link.attr("data-lightbox-type")=="inline"){return true}else if(link.attr("data-lightbox-type")=="iframe"){return true}return false},processContent:function(content,link){var $this=this,href=link.attr("href"),video=href.match(/(youtube|youtube-nocookie|youtu|vimeo)\.(com|be)\/(watch\?v=([\w-]+)|([\w-]+))/);content.html("").addClass("nivo-lightbox-loading");if(this.isHidpi()&&link.attr("data-lightbox-hidpi")){href=link.attr("data-lightbox-hidpi")}if(href.match(/\.(jpeg|jpg|gif|png|webp)$/i)!==null){if(!RLG.sanitizeConfig.ALLOWED_URI_REGEXP.test(href)){var wrapError=$('<div class="nivo-lightbox-error"><p>'+$this.options.errorMessage+"</p></div>");content.html(wrapError).removeClass("nivo-lightbox-loading");return}var img=$("<img>",{src:href,class:"nivo-lightbox-image-display"});img.one("load",function(){var wrap=$('<div class="nivo-lightbox-image" />');wrap.append(img);content.html(wrap).removeClass("nivo-lightbox-loading");wrap.css({"line-height":$(".nivo-lightbox-content").height()+"px",height:$(".nivo-lightbox-content").height()+"px"});$(window).on("resize",function(){wrap.css({"line-height":$(".nivo-lightbox-content").height()+"px",height:$(".nivo-lightbox-content").height()+"px"})})}).each(function(){if(this.complete)$(this).load()});img.on("error",function(){var wrap=$('<div class="nivo-lightbox-error"><p>'+$this.options.errorMessage+"</p></div>");content.html(wrap).removeClass("nivo-lightbox-loading")})}else if(video){var src="",classTerm="nivo-lightbox-video";if(video[1]=="youtube"){src="https://www.youtube.com/embed/"+video[4];classTerm="nivo-lightbox-youtube"}if(video[1]=="youtube-nocookie"){src=href;classTerm="nivo-lightbox-youtube"}if(video[1]=="youtu"){src="https://www.youtube.com/embed/"+video[3];classTerm="nivo-lightbox-youtube"}if(video[1]=="vimeo"){src="https://player.vimeo.com/video/"+video[3];classTerm="nivo-lightbox-vimeo"}if(src){var iframeVideo=$("<iframe>",{src:src,class:classTerm,frameborder:0,vspace:0,hspace:0,scrolling:"auto"});content.html(iframeVideo);iframeVideo.load(function(){content.removeClass("nivo-lightbox-loading")})}}else if(link.attr("data-lightbox-type")=="ajax"){$.ajax({url:href,cache:false,success:function(data){var wrap=$('<div class="nivo-lightbox-ajax" />');wrap.append(RLG.sanitizeHtml(data));content.html(wrap).removeClass("nivo-lightbox-loading");if(wrap.outerHeight()<content.height()){wrap.css({position:"relative",top:"50%","margin-top":-(wrap.outerHeight()/2)+"px"})}$(window).on("resize",function(){if(wrap.outerHeight()<content.height()){wrap.css({position:"relative",top:"50%","margin-top":-(wrap.outerHeight()/2)+"px"})}})},error:function(){var wrap=$('<div class="nivo-lightbox-error"><p>'+$this.options.errorMessage+"</p></div>");content.html(wrap).removeClass("nivo-lightbox-loading")}})}else if(href.substring(0,1)=="#"&&link.attr("data-lightbox-type")=="inline"){if($(href).length){var wrap=$('<div class="nivo-lightbox-inline" />');wrap.append(RLG.sanitizeHtml($(href).html()));content.html(wrap).removeClass("nivo-lightbox-loading");if(wrap.outerHeight()<content.height()){wrap.css({position:"relative",top:"50%","margin-top":-(wrap.outerHeight()/2)+"px"})}$(window).on("resize",function(){if(wrap.outerHeight()<content.height()){wrap.css({position:"relative",top:"50%","margin-top":-(wrap.outerHeight()/2)+"px"})}})}else{var wrapError=$('<div class="nivo-lightbox-error"><p>'+$this.options.errorMessage+"</p></div>");content.html(wrapError).removeClass("nivo-lightbox-loading")}}else if(link.attr("data-lightbox-type")=="iframe"){if(!RLG.isAllowedEmbedUrl(href)){var wrapError=$('<div class="nivo-lightbox-error"><p>'+$this.options.errorMessage+"</p></div>");content.html(wrapError).removeClass("nivo-lightbox-loading");return}var iframe=$("<iframe>",{src:href,class:"nivo-lightbox-item",frameborder:0,vspace:0,hspace:0,scrolling:"auto"});content.html(iframe);iframe.load(function(){content.removeClass("nivo-lightbox-loading")})}else{return false}if(link.attr("title")){var titleWrap=$("<span>",{class:"nivo-lightbox-title"});titleWrap.text(link.attr("title"));$(".nivo-lightbox-title-wrap").html(titleWrap)}else{$(".nivo-lightbox-title-wrap").html("")}},constructLightbox:function(){if($(".nivo-lightbox-overlay").length)return $(".nivo-lightbox-overlay");var overlay=$("<div>",{class:"nivo-lightbox-overlay nivo-lightbox-theme-"+this.options.theme+" nivo-lightbox-effect-"+this.options.effect});var wrap=$("<div>",{class:"nivo-lightbox-wrap"});var content=$("<div>",{class:"nivo-lightbox-content"});var nav=$('<a href="#" class="nivo-lightbox-nav nivo-lightbox-prev">Previous</a><a href="#" class="nivo-lightbox-nav nivo-lightbox-next">Next</a>');var close=$('<a href="#" class="nivo-lightbox-close" title="Close">Close</a>');var title=$("<div>",{class:"nivo-lightbox-title-wrap"});var isMSIE=/*@cc_on!@*/0;if(isMSIE)overlay.addClass("nivo-lightbox-ie");wrap.append(content);wrap.append(title);overlay.append(wrap);overlay.append(nav);overlay.append(close);$("body").append(overlay);var $this=this;if($this.options.clickOverlayToClose){overlay.on("click",function(e){if(e.target===this||$(e.target).hasClass("nivo-lightbox-content")||$(e.target).hasClass("nivo-lightbox-image")){$this.destructLightbox()}})}if($this.options.clickImgToClose){overlay.on("click",function(e){if(e.target===this||$(e.target).hasClass("nivo-lightbox-image-display")){$this.destructLightbox()}})}close.on("click",function(e){e.preventDefault();$this.destructLightbox()});return overlay},destructLightbox:function(){var $this=this;this.options.beforeHideLightbox.call(this);$(".nivo-lightbox-overlay").removeClass("nivo-lightbox-open");$(".nivo-lightbox-nav").hide();$("body").removeClass("nivo-lightbox-body-effect-"+$this.options.effect);var isMSIE=/*@cc_on!@*/0;if(isMSIE){$(".nivo-lightbox-overlay iframe").attr("src"," ");$(".nivo-lightbox-overlay iframe").remove()}$(".nivo-lightbox-prev").off("click");$(".nivo-lightbox-next").off("click");$(".nivo-lightbox-content").empty();this.options.afterHideLightbox.call(this)},isHidpi:function(){var mediaQuery="(-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx)";if(window.devicePixelRatio>1)return true;if(window.matchMedia&&window.matchMedia(mediaQuery).matches)return true;return false}};$.fn[pluginName]=function(options){return this.each(function(){if(!$.data(this,pluginName)){$.data(this,pluginName,new NivoLightbox(this,options))}})}})(jQuery,window,document);