UNPKG

nanogallery2

Version:

a modern photo / video gallery and lightbox

22 lines 224 kB
/* nanogallery2 - v2.4.2 - 2019-03-22 - https://nanogallery2.nanostudio.org */ /**! * @preserve nanogallery2 - javascript photo / video gallery and lightbox * Homepage: http://nanogallery2.nanostudio.org * Sources: https://github.com/nanostudio-org/nanogallery2 * * License: GPLv3 and commercial licence * * Requirements: * - jQuery (http://www.jquery.com) - version >= 1.7.1 * * Embeded components: * - shifty (https://github.com/jeremyckahn/shifty) * - imagesloaded (https://github.com/desandro/imagesloaded) * - hammer.js (http://hammerjs.github.io/) * - screenfull.js (https://github.com/sindresorhus/screenfull.js) * Tools: * - webfont generated with http://fontello.com - mainly based on Font Awesome Copyright (C) 2012 by Dave Gandy (http://fontawesome.io/) * - ICO online converter: https://iconverticons.com/online/ */ !function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports&&"function"==typeof require?require("jquery"):jQuery)}(function(a){"use strict";function b(a){var b=document.getElementById("ngyColorHelperToRGB");return null===b&&(b=document.createElement("div"),b.id="ngyColorHelperToRGB",b.style.cssText="display: none; color:"+a+";",document.body.appendChild(b)),getComputedStyle(b).color}function c(a,b,c){function d(a){var b=a.length,c=new Object;if(b>9){if(a=a.split(","),a.length<3||a.length>4)return null;c[0]=f(a[0].slice(4)),c[1]=f(a[1]),c[2]=f(a[2]),c[3]=a[3]?parseFloat(a[3]):-1}else{if(8==b||6==b||b<4)return null;b<6&&(a="#"+a[1]+a[1]+a[2]+a[2]+a[3]+a[3]+(b>4?a[4]+""+a[4]:"")),a=f(a.slice(1),16),c[0]=a>>16&255,c[1]=a>>8&255,c[2]=255&a,c[3]=9==b||5==b?g((a>>24&255)/255*1e4)/1e4:-1}return c}var e="";if("RGBA("==b.toUpperCase().substring(0,5)&&(e="a",b="rgb("+b.substring(5)),"number"!=typeof a||a<-1||a>1||"string"!=typeof b||"r"!=b[0]&&"#"!=b[0]||"string"!=typeof c&&void 0!==c)return null;var f=parseInt,g=Math.round,h=b.length>9,h="string"==typeof c?c.length>9||"c"==c&&!h:h,i=a<0,a=i?-1*a:a,c=c&&"c"!=c?c:i?"#000000":"#FFFFFF",j=d(b),k=d(c);return j&&k?h?"rgb"+e+"("+g((k[0]-j[0])*a+j[0])+","+g((k[1]-j[1])*a+j[1])+","+g((k[2]-j[2])*a+j[2])+(j[3]<0&&k[3]<0?")":","+(j[3]>-1&&k[3]>-1?g(1e4*((k[3]-j[3])*a+j[3]))/1e4:k[3]<0?j[3]:k[3])+")"):"#"+(4294967296+16777216*(j[3]>-1&&k[3]>-1?g(255*((k[3]-j[3])*a+j[3])):k[3]>-1?g(255*k[3]):j[3]>-1?g(255*j[3]):255)+65536*g((k[0]-j[0])*a+j[0])+256*g((k[1]-j[1])*a+j[1])+g((k[2]-j[2])*a+j[2])).toString(16).slice(j[3]>-1||k[3]>-1?1:3):null}function d(a){if(null===a||"object"!=typeof a)return a;var b=a.constructor();for(var c in a)b[c]=d(a[c]);return b}function e(){var a=jQuery(window);return{l:a.scrollLeft(),t:a.scrollTop(),w:a.width(),h:a.height()}}function f(a,b){var c=e(),d=a.offset(),f=a.outerHeight(!0);return 0==c.t&&d.top<=c.t+c.h||d.top>=c.t&&d.top+f<=c.t+c.h-b}function g(a,b){var c=0;""==a&&(a="*"),jQuery(a).each(function(){var a=parseInt(jQuery(this).css("z-index"));c=a>c?a:c}),c++,jQuery(b).css("z-index",c)}function h(){function h(a){this.$e=null,this.ngy2ItemIdx=a,this.mediaNumber=0,this.posX=0,this.posY=0}function j(){yb()||k()}function k(){if(""!=Kb.O.openOnStart){var a=l(Kb.O.openOnStart);"0"!=a.imageID?ha(a.imageID,a.albumID):m("-1",a.albumID)}else m("-1",0)}function l(a){var b={albumID:"0",imageID:"0"},c=a.split("/");return c.length>0&&(b.albumID=c[0],c.length>1&&(b.imageID=c[1])),b}function m(a,b){Kb.VOM.viewerDisplayed&&tb(null);var c=NGY2Item.GetIdx(Kb,b);if(Kb.GOM.curNavLevel="lN",0==c&&(Kb.GOM.curNavLevel="l1"),Kb.layout.SetEngine(),Kb.galleryResizeEventEnabled=!1,-1==c&&(NGY2Item.New(Kb,"","",b,"0","album"),c=Kb.I.length-1),!Kb.I[c].contentIsLoaded)return void ia(b,m,a,b);Da(),Kb.GOM.pagination.currentPage=0,zb(b,""),x(c)}function n(){switch(Kb.galleryDisplayMode.Get()){case"PAGINATION":Kb.layout.support.rows&&Kb.galleryMaxRows.Get()>0&&s(Kb.GOM.albumIdx);break;case"MOREBUTTON":Kb.$E.conTnBottom.off("click");var a=Kb.GOM.items.length-Kb.GOM.itemsDisplayed;0==a?Kb.$E.conTnBottom.empty():(Kb.$E.conTnBottom.html('<div class="nGY2GalleryMoreButton"><div class="nGY2GalleryMoreButtonAnnotation">+'+a+" "+Kb.O.icons.galleryMoreButton+"</div></div>"),Kb.$E.conTnBottom.on("click",function(a){Kb.GOM.displayedMoreSteps++,B()}))}}function o(a){var b="";Kb.O.breadcrumbHideIcons||(b=Kb.O.icons.breadcrumbAlbum,0==a&&(b=Kb.O.icons.breadcrumbHome));var c=jQuery('<div class="oneItem">'+b+Kb.I[a].title+"</div>").appendTo(Kb.GOM.navigationBar.$newContent.find(".nGY2Breadcrumb"));Kb.O.breadcrumbOnlyCurrentLevel?0==a?jQuery(c).data("albumID","0"):jQuery(c).data("albumID",Kb.I[a].albumID):jQuery(c).data("albumID",Kb.I[a].GetID()),c.click(function(){m("-1",jQuery(this).data("albumID"))})}function p(a){var b=jQuery('<div class="oneItem">'+(Kb.O.RTL?Kb.O.icons.breadcrumbSeparatorRtl:Kb.O.icons.breadcrumbSeparator)+"</div>").appendTo(Kb.GOM.navigationBar.$newContent.find(".nGY2Breadcrumb"));jQuery(b).data("albumIdx",a),b.click(function(){var a=jQuery(this).data("albumIdx");m("-1",Kb.I[a].GetID())})}function q(a){if(Kb.GOM.navigationBar.$newContent=jQuery('<div class="nGY2Navigationbar"></div>'),1==Kb.O.displayBreadcrumb&&!Kb.O.thumbnailAlbumDisplayImage){var b=0,c=[];if(0!=a){var d=Kb.I.length;c.push(a);var e=a;for(b++;0!=Kb.I[e].albumID&&-1!=Kb.I[e].albumID;)for(var f=1;f<d;f++)if(Kb.I[f].GetID()==Kb.I[e].albumID){e=f,c.push(e),b++;break}}Kb.O.breadcrumbAutoHideTopLevel&&0==b||r(c)}if(0!=Kb.galleryFilterTags.Get()){var g=Kb.I[a].albumTagList.length;if(g>0){for(var f=0;f<g;f++){var h=Kb.I[a].albumTagList[f],i=Kb.O.icons.navigationFilterUnselected,j="Unselected";jQuery.inArray(h,Kb.I[a].albumTagListSel)>=0&&(j="Selected",i=Kb.O.icons.navigationFilterSelected);jQuery('<div class="nGY2NavigationbarItem nGY2NavFilter'+j+'">'+i+" "+h+"</div>").appendTo(Kb.GOM.navigationBar.$newContent).click(function(){var b=jQuery(this),c=b.text().replace(/^\s*|\s*$/,"");if(b.hasClass("nGY2NavFilterUnselected"))Kb.I[a].albumTagListSel.push(c);else{var d=jQuery.inArray(c,Kb.I[a].albumTagListSel);-1!=d&&Kb.I[a].albumTagListSel.splice(d,1)}b.toggleClass("nGY2NavFilters-oneTagUnselected nGY2NavFilters-oneTagSelected"),m("-1",Kb.I[a].GetID())})}jQuery('<div class="nGY2NavigationbarItem nGY2NavFilterSelectAll">'+Kb.O.icons.navigationFilterSelectedAll+"</div>").appendTo(Kb.GOM.navigationBar.$newContent).click(function(){var b=Kb.I[a].albumTagList.length;Kb.I[a].albumTagListSel=[];for(var c=0;c<b;c++){var d=Kb.I[a].albumTagList[c];Kb.I[a].albumTagListSel.push(d)}m("-1",Kb.I[a].GetID())})}}}function r(a){if(jQuery('<div class="nGY2NavigationbarItem nGY2Breadcrumb"></div>').appendTo(Kb.GOM.navigationBar.$newContent),Kb.O.breadcrumbOnlyCurrentLevel)if(0==a.length)o(0);else{a.length;p(1==a.length?0:a[0]),o(a[0])}else if(o(0),a.length>0){p(0);for(var b=a.length-1;b>=0;b--)o(a[b]),b>0&&p(a[b-1])}}function s(b){if(Kb.$E.conTnBottom.css("opacity",0),Kb.$E.conTnBottom.children().remove(),0!=Kb.GOM.items.length){var c=Math.ceil((Kb.GOM.items[Kb.GOM.items.length-1].row+1)/Kb.galleryMaxRows.Get());if(1!=c&&(Kb.GOM.pagination.currentPage>c-1&&(Kb.GOM.pagination.currentPage=c-1),w(),0!=Kb.GOM.displayInterval.len)){if("NUMBERS"==Kb.O.galleryPaginationMode&&Kb.GOM.pagination.currentPage>0){jQuery('<div class="nGY2PaginationPrev">'+Kb.O.icons.paginationPrevious+"</div>").appendTo(Kb.$E.conTnBottom).click(function(a){v()})}var d=0,e=c;if("NUMBERS"!=Kb.O.galleryPaginationMode)d=0;else{var g=(Kb.O.paginationVisiblePages,Kb.O.paginationVisiblePages);if(g>=c)d=0;else{var h=0;h=t(g)?(g+1)/2:g/2,Kb.GOM.pagination.currentPage<h?(d=0,(e=g-1)>c&&(e=c-1)):(d=Kb.GOM.pagination.currentPage-h,(e=d+g)>c&&(e=c-1)),e-d<g&&(d=e-g)<0&&(d=0)}}for(var i=d;i<e;i++){var j="",k="";switch(Kb.O.galleryPaginationMode){case"NUMBERS":j="nGY2paginationItem",k=i+1;break;case"DOTS":j="nGY2paginationDot";break;case"RECTANGLES":j="nGY2paginationRectangle"}i==Kb.GOM.pagination.currentPage&&(j+="CurrentPage");var l=jQuery('<div class="'+j+'">'+k+"</div>").appendTo(Kb.$E.conTnBottom);l.data("pageNumber",i),l.click(function(b){Kb.GOM.pagination.currentPage=jQuery(this).data("pageNumber"),wb("pageChanged"),f(Kb.$E.base,0)||a("html, body").animate({scrollTop:Kb.$E.base.offset().top},200),I(!0),K(!0)})}if("NUMBERS"==Kb.O.galleryPaginationMode&&Kb.GOM.pagination.currentPage+1<c){jQuery('<div class="nGY2PaginationNext">'+Kb.O.icons.paginationNext+"</div>").appendTo(Kb.$E.conTnBottom).click(function(a){u()})}Kb.$E.conTnBottom.css("opacity",1)}}}function t(a){return a%2==1}function u(){var b=(Kb.GOM.albumIdx,0);fa(),Kb.galleryMaxRows.Get()>0&&(b=(Kb.GOM.items[Kb.GOM.items.length-1].row+1)/Kb.galleryMaxRows.Get());var c=Math.ceil(b),d=Kb.GOM.pagination.currentPage;d<c-1?d++:d=0,Kb.GOM.pagination.currentPage=d,wb("pageChanged"),f(Kb.$E.base,0)||a("html, body").animate({scrollTop:Kb.$E.base.offset().top},200),I(!0),K(!0)}function v(){var b=(Kb.GOM.albumIdx,0);fa(),Kb.galleryMaxRows.Get()>0&&(b=(Kb.GOM.items[Kb.GOM.items.length-1].row+1)/Kb.galleryMaxRows.Get());var c=Math.ceil(b),d=Kb.GOM.pagination.currentPage;d>0?d--:d=c-1,Kb.GOM.pagination.currentPage=d,wb("pageChanged"),f(Kb.$E.base,0)||a("html, body").animate({scrollTop:Kb.$E.base.offset().top},200),I(!0),K(!0)}function w(){switch(Kb.GOM.displayInterval.from=0,Kb.GOM.displayInterval.len=Kb.I.length,Kb.galleryDisplayMode.Get()){case"PAGINATION":if(Kb.layout.support.rows){var a=Kb.GOM.items.length,b=Kb.GOM.pagination.currentPage*Kb.galleryMaxRows.Get(),c=b+Kb.galleryMaxRows.Get(),d=-1;Kb.GOM.displayInterval.len=0;for(var e=0;e<a;e++){var f=Kb.GOM.items[e];f.row>=b&&f.row<c&&(-1==d&&(Kb.GOM.displayInterval.from=e,d=e),Kb.GOM.displayInterval.len++)}}break;case"MOREBUTTON":if(Kb.layout.support.rows){var a=Kb.GOM.items.length,c=Kb.O.galleryDisplayMoreStep*(Kb.GOM.displayedMoreSteps+1);Kb.GOM.displayInterval.len=0;for(var e=0;e<a;e++){var f=Kb.GOM.items[e];f.row<c&&Kb.GOM.displayInterval.len++}}break;case"ROWS":if(Kb.layout.support.rows){var a=Kb.GOM.items.length,c=Kb.galleryMaxRows.Get();Kb.galleryLastRowFull.Get()&&-1!=Kb.GOM.lastFullRow&&c>Kb.GOM.lastFullRow+1&&(c=Kb.GOM.lastFullRow+1),Kb.GOM.displayInterval.len=0;for(var e=0;e<a;e++){var f=Kb.GOM.items[e];f.row<c&&Kb.GOM.displayInterval.len++}}break;default:case"FULLCONTENT":if(Kb.layout.support.rows&&Kb.galleryLastRowFull.Get()&&-1!=Kb.GOM.lastFullRow){var a=Kb.GOM.items.length,c=Kb.GOM.lastFullRow+1;Kb.GOM.displayInterval.len=0;for(var e=0;e<a;e++){var f=Kb.GOM.items[e];f.row<c&&Kb.GOM.displayInterval.len++}}}}function x(a){wb("galleryRenderStart"),clearTimeout(Kb.GOM.slider.timerID),Kb.GOM.slider.hostIdx=-1;var b=Kb.O.fnGalleryRenderStart;if(null!==b&&("function"==typeof b?b(a):window[b](a)),Kb.layout.SetEngine(),Kb.galleryResizeEventEnabled=!1,Kb.GOM.albumIdx=-1,Kb.GOM.lastDisplayedIdx=-1,void 0!==Kb.$E.conTnBottom&&Kb.$E.conTnBottom.empty(),q(a),Kb.GOM.firstDisplay){Kb.GOM.firstDisplay=!1;var c=Date.now()-Kb.GOM.firstDisplayTime;c<Kb.O.galleryRenderDelay?requestTimeout(function(){y(a)},Kb.O.galleryRenderDelay-c):y(a),Kb.O.galleryRenderDelay=0}else{var d=!1;0==Kb.GOM.navigationBar.$newContent.children().length&&(d=!0);(new NGTweenable).tween({from:{opacity:1},to:{opacity:0},duration:300,easing:"easeInQuart",attachment:{h:d},step:function(a,b){Kb.$E.conTnParent.css({opacity:a.opacity}),b.h&&Kb.$E.conNavigationBar.css({opacity:a.opacity})},finish:function(b,c){c.h&&Kb.$E.conNavigationBar.css({opacity:0,display:"none"});var d=Kb.$E.base.offset().top;d<Kb.GOM.cache.viewport.t?jQuery("html, body").animate({scrollTop:d},500,"linear",function(){y(a)}):y(a)}})}}function y(a){var b=Kb.$E.conNavigationBar.children().length;if(Kb.$E.conNavigationBar.empty(),Kb.GOM.navigationBar.$newContent.children().clone(!0,!0).appendTo(Kb.$E.conNavigationBar),Kb.$E.conNavigationBar.children().length>0&&0==b){Kb.$E.conNavigationBar.css({opacity:0,display:"block"});(new NGTweenable).tween({from:{opacity:0},to:{opacity:1},duration:200,easing:"easeInQuart",step:function(a){Kb.$E.conNavigationBar.css(a)},finish:function(b){Kb.$E.conNavigationBar.css({opacity:1}),requestTimeout(function(){z(a)},60)}})}else requestTimeout(function(){z(a)},60)}function z(a){Kb.GOM.lastZIndex=parseInt(Kb.$E.base.css("z-index")),isNaN(Kb.GOM.lastZIndex)&&(Kb.GOM.lastZIndex=0),Kb.$E.conTnParent.css({opacity:0}),Kb.$E.conTn.off().empty();for(var b=Kb.I.length,c=0;c<b;c++){var d=Kb.I[c];d.hovered=!1,d.$elt=null,d.$Elts=[],d.eltTransform=[],d.eltFilter=[],d.width=0,d.height=0,d.left=0,d.top=0,d.resizedContentWidth=0,d.resizedContentHeight=0,d.thumbnailImgRevealed=!1}null==Kb.CSStransformName?Kb.$E.conTn.css("left","0px"):Kb.$E.conTn.css(Kb.CSStransformName,"none"),requestTimeout(function(){A(a)},60)}function A(a){var b=new Date;Kb.$E.conTnParent.css("opacity",1),Kb.GOM.items=[],Kb.GOM.displayedMoreSteps=0,"onBottom"==Kb.O.thumbnailLabel.get("position")?Kb.tn.labelHeight[Kb.GOM.curNavLevel]=Q():Kb.tn.labelHeight[Kb.GOM.curNavLevel]=0,Kb.GOM.albumIdx=a,wb("galleryRenderEnd");var c=Kb.O.fnGalleryRenderEnd;null!==c&&("function"==typeof c?c(a):window[c](a)),C()?(D(),ba(),I(!1),requestTimeout(function(){K(!1)},120)):Kb.galleryResizeEventEnabled=!0,Kb.O.debugMode&&console.log("GalleryRenderPart3: "+(new Date-b))}function B(){var a=new Date;if(Kb.galleryResizeEventEnabled=!1,0==D())return Kb.galleryResizeEventEnabled=!0,void(Kb.O.debugMode&&console.log("GalleryResize1: "+(new Date-a)));Kb.O.debugMode&&console.log("GalleryResizeSetLayout: "+(new Date-a)),I(!1),K(!1),Kb.O.debugMode&&console.log("GalleryResizeFull: "+(new Date-a))}function C(){for(var a="",b=!1,c=Kb.I[Kb.GOM.albumIdx].GetID(),d=Kb.I.length,e=0,f=0;f<d;f++){var g=Kb.I[f];if(g.isToDisplay(c)){var h=g.thumbImg().width,i=g.thumbImg().height;!Kb.layout.prerequisite.imageSize||0!=h&&0!=i||(b=!0,a+='<img src="'+g.thumbImg().src+'" data-idx="'+e+'" data-albumidx="'+Kb.GOM.albumIdx+'">'),0==i&&(i=Kb.tn.defaultSize.getHeight()),0==h&&(h=Kb.tn.defaultSize.getWidth());var j=new Kb.GOM.GTn(f,h,i);Kb.GOM.items.push(j),e++}}wb("galleryObjectModelBuilt");var k=Kb.O.fnGalleryObjectModelBuilt;if(null!==k&&("function"==typeof k?k():window[k]()),b){var l=jQuery(a),m=ngimagesLoaded(l);return l=null,m.on("progress",function(a,b){if(b.isLoaded){var c=b.img.getAttribute("data-idx");if(b.img.getAttribute("data-albumidx")==Kb.GOM.albumIdx){var d=Kb.GOM.items[c];d.imageWidth=b.img.naturalWidth,d.imageHeight=b.img.naturalHeight;var e=Kb.I[d.thumbnailIdx];e.thumbs.width[Kb.GOM.curNavLevel][Kb.GOM.curWidth]=d.imageWidth,e.thumbs.height[Kb.GOM.curNavLevel][Kb.GOM.curWidth]=d.imageHeight,Kb.GalleryResizeThrottled();var f=e.thumbs.width.l1;for(var g in f)f.hasOwnProperty(g)&&g!=Kb.GOM.curWidth&&Kb.tn.settings.width.l1[g]==Kb.tn.settings.getW()&&Kb.tn.settings.height.l1[g]==Kb.tn.settings.getH()&&(e.thumbs.width.l1[g]=d.imageWidth,e.thumbs.height.l1[g]=d.imageHeight);f=e.thumbs.width.lN;for(var g in f)f.hasOwnProperty(g)&&g!=Kb.GOM.curWidth&&Kb.tn.settings.width.lN[g]==Kb.tn.settings.getW()&&Kb.tn.settings.height.lN[g]==Kb.tn.settings.getH()&&(e.thumbs.width.lN[g]=d.imageWidth,e.thumbs.height.lN[g]=d.imageHeight)}}}),Kb.galleryResizeEventEnabled=!0,!1}return!0}function D(){var a=!0;switch(Kb.GOM.cache.areaWidth=Kb.$E.conTnParent.width(),Kb.GOM.displayArea={width:0,height:0},Kb.layout.engine){case"JUSTIFIED":a=F();break;case"CASCADING":a=E();break;case"MOSAIC":a=G();break;case"GRID":default:a=H()}wb("galleryLayoutApplied");var b=Kb.O.fnGalleryLayoutApplied;return null!==b&&("function"==typeof b?b():window[b]()),a}function E(){var a=0,b=Kb.GOM.cache.areaWidth,c=0,d=[],e=Y(b),f=0,g=Kb.tn.opt.Get("gutterHeight"),h=0,i=1,j=Kb.tn.defaultSize.getOuterWidth(),k=Kb.GOM.items.length,l=0;"justified"==Kb.O.thumbnailAlignment?(e=Math.min(e,k),f=1==e?0:(b-e*j)/(e-1)):f=Kb.tn.opt.Get("gutterWidth");var m=2*Kb.tn.borderWidth,n=2*Kb.tn.borderHeight;if(Kb.GOM.lastFullRow=-1,"fillWidth"==Kb.O.thumbnailAlignment){var o=(e-1)*f;i=(b-o)/(e*j),i>1&&e++,o=(e-1)*f,i=Math.min((b-o)/(e*j),1)}j*=i;for(var p=j-m,q=Kb.tn.opt.Get("baseGridHeight")*i,r=0;r<k;r++){var s=Kb.GOM.items[r];if(1==s.deleted)break;if(s.imageHeight>0&&s.imageWidth>0){var t=0,l=0,u=s.imageHeight/s.imageWidth;if(s.resizedContentWidth=p,s.resizedContentHeight=s.resizedContentWidth*u,q>0){var v=Math.max(Math.trunc(s.resizedContentHeight/q),1);s.resizedContentHeight=q*v+(v-1)*(n+g)}if(s.height=s.resizedContentHeight+n+Kb.tn.labelHeight.get(),s.width=j,s.row=0,0==c)t=a*(j+f),d[a]=s.height+g,++a>=e&&(a=0,c++);else{for(var w=0,x=d[0],y=1;y<e;y++)d[y]+5<x&&(x=d[y],w=y);l=d[w],t=w*(j+f),d[w]=l+s.height+g}var z=t;Kb.O.RTL&&(z=h-t-j),s.left=z,s.top=l}}return Kb.GOM.displayArea.width=e*(j+f)-f,!0}function F(){for(var a=0,b=Kb.GOM.cache.areaWidth,c=0,d=0,e=[],f=0,g=[],h=!1,i=0,j=Kb.tn.opt.Get("gutterWidth"),k=Kb.tn.opt.Get("gutterHeight"),l=0,m=0,n=!1,o=!1,p=Kb.tn.defaultSize.getOuterHeight(),q=2*Kb.tn.borderWidth,r=2*Kb.tn.borderHeight,s=1,t=Kb.GOM.items.length,u=0;u<t;u++){var v=Kb.GOM.items[u];if(1==v.deleted)break;if(v.imageWidth>0){var w=v.imageWidth/v.imageHeight,x=Math.floor(p*w);if(h&&(h=!1,f++,a=0,n=!1,o=!1,s=1),v.imageHeight>v.imageWidth?n=!0:o=!0,a+j+x<b-s*q){a+=x+j,g[f]=p;var y=Math.max(n?l:0,o?m:0);y>0&&(g[f]=Math.min(g[f],y)),e[f]=u}else{a+=j+x;var z=(b-s*q)/a,A=Math.floor(p*z);g[f]=A,n&&(l=Math.max(l,A)),o&&(m=Math.max(m,A)),e[f]=u,h=!0}i++,s++}}f=0,d=0,c=0,i=0,Kb.GOM.lastFullRow=0;for(var u=0;u<t;u++){var v=Kb.GOM.items[u];if(!(v.imageWidth>0))return!1;var w=v.imageWidth/v.imageHeight,x=Math.floor(w*g[f]);u==e[f]&&(e.length!=f+1?x=b-c-q:c+j+x+q>b&&(x=b-c-q));var B=parseInt(g[f]);x=parseInt(x),v.resizedContentWidth=x,v.resizedContentHeight=B,v.width=x+q,v.height=B+Kb.tn.labelHeight.get()+r,v.row=f,v.top=d;var C=c;Kb.O.RTL&&(C=b-c-v.width),v.left=C,c+=v.width+j,u==e[f]&&(d+=v.height+k,Kb.GOM.lastFullRow=f-1,f++,c=0),i++}var u,v;return Kb.GOM.displayArea.width=b,!0}function G(){for(var a=Kb.GOM.cache.areaWidth,b=Kb.tn.opt.Get("gutterHeight"),c=Kb.tn.opt.Get("gutterWidth"),d=2*Kb.tn.borderWidth,e=2*Kb.tn.borderHeight,f=Kb.GOM.items.length,g=0,h=0,i=0,j=0,k=0,l=Kb.tn.settings.getMosaic(),m=0;m<f;m++){var n=l[i],o=(n.c-1)*Kb.tn.defaultSize.getOuterWidth()+(n.c-1)*c,p=n.w*Kb.tn.defaultSize.getOuterWidth()+(n.w-1)*c;if(k=Math.max(k,o+p),j=Math.max(j,n.c-1+n.w),++i>=l.length)break}var q=(j-1)*c,r=Math.min((a-q)/(k-q),1);g=0,i=0;for(var l=Kb.tn.settings.getMosaic(),m=0;m<f;m++){var s=Kb.GOM.items[m],n=l[i];s.top=(n.r-1)*Kb.tn.defaultSize.getOuterHeight()*r+(n.r-1)*b+g*h+Kb.tn.labelHeight.get()*(n.r-1),g>0&&(s.top+=b),s.left=(n.c-1)*Kb.tn.defaultSize.getOuterWidth()*r+(n.c-1)*c,s.height=n.h*Kb.tn.defaultSize.getOuterHeight()*r+(n.h-1)*b+Kb.tn.labelHeight.get()*n.h,s.resizedContentHeight=s.height-Kb.tn.labelHeight.get()-e,s.width=n.w*Kb.tn.defaultSize.getOuterWidth()*r+(n.w-1)*c,s.resizedContentWidth=s.width-d,s.row=g,0==g&&(h=Math.max(h,s.top+s.height)),i++,i>=l.length&&(i=0,g++)}return Kb.GOM.displayArea.width=(k-q)*r+q,!0}function H(){var a=0,b=0,c=Kb.GOM.cache.areaWidth,d=0,e=Kb.tn.opt.Get("gutterHeight"),f=Y(c),g=0,h=[],i=0,j=c,k=Kb.tn.defaultSize.getOuterWidth(),l=1,m=Kb.GOM.items.length,n=2*Kb.tn.borderWidth,o=2*Kb.tn.borderHeight;if("justified"==Kb.O.thumbnailAlignment?(f=Math.min(f,m),d=1==f?0:(c-f*k)/(f-1)):d=Kb.tn.opt.Get("gutterWidth"),Kb.O.RTL||"fillWidth"==Kb.O.thumbnailAlignment){var p=(f-1)*d;l=(c-p)/(f*k),l>1&&f++,p=(f-1)*d,l=Math.min((c-p)/(f*k),1),j=f*k+p}Kb.GOM.lastFullRow=0;var q=0;k*=l;for(var r=k-n,s=Kb.tn.defaultSize.getOuterHeight()*l+Kb.tn.labelHeight.get(),t=Kb.tn.defaultSize.getOuterHeight()*l-o,u=0;u<m;u++){0==b?(a=i*(k+d),h[i]=a,g=a+k):a=h[i];var v=a;Kb.O.RTL&&(v=parseInt(j)-a-k);var w=Kb.GOM.items[u];w.top=b,w.left=v,w.height=s,w.width=k,"fillWidth"==Kb.O.thumbnailAlignment&&(w.resizedContentWidth=r,w.resizedContentHeight=t),w.row=q,b,i++,i>=f&&(i=0,b+=s+e,Kb.GOM.lastFullRow=q,q++)}return Kb.GOM.displayArea.width=g,!0}function I(a){null==Kb.CSStransformName?Kb.$E.conTn.css("left","0px"):Kb.$E.conTn.css(Kb.CSStransformName,"none"),J()}function J(){Kb.GOM.cache.viewport=e(),Kb.GOM.cache.areaWidth=Kb.$E.conTnParent.width(),Kb.GOM.cache.containerOffset=Kb.$E.conTnParent.offset()}function K(a){var b=Kb.GOM.items.length;Kb.GOM.itemsDisplayed=0;var c=50,d=0;w();for(var e=0;e<b;e++){var f=Kb.GOM.items[e];e>=Kb.GOM.displayInterval.from&&d<Kb.GOM.displayInterval.len?(f.inDisplayArea=!0,a&&(f.neverDisplayed=!0),Kb.GOM.itemsDisplayed++,d++):f.inDisplayArea=!1}n();var g=[],h=[];Kb.GOM.clipArea.top=-1,d=0;var i=-1;Kb.GOM.clipArea.height=0;for(var e=0;e<b;e++){var f=Kb.GOM.items[e];if(f.inDisplayArea){if(-1==Kb.GOM.clipArea.top&&(Kb.GOM.clipArea.top=f.top),f.top-Kb.GOM.clipArea.top<=-1&&(Kb.GOM.clipArea.top=f.top),Kb.GOM.clipArea.height=Math.max(Kb.GOM.clipArea.height,f.top-Kb.GOM.clipArea.top+f.height),f.neverDisplayed){var j=Kb.GOM.cache.containerOffset.top+(f.top-Kb.GOM.clipArea.top);if(j+f.height>=Kb.GOM.cache.viewport.t-c&&j<=Kb.GOM.cache.viewport.t+Kb.GOM.cache.viewport.h+c){var k=Kb.I[f.thumbnailIdx];null==k.$elt&&T(k,f.thumbnailIdx,e,e+1==b),g.push({idx:e,delay:d}),d++}}else h.push({idx:e,delay:0});i=e}else{f.displayed=!1;var k=Kb.I[f.thumbnailIdx];null!=k.$elt&&k.$elt.css({opacity:0,display:"none"})}}var l=Kb.$E.conTnParent.width();if(Kb.GOM.displayArea.width==Kb.GOM.displayAreaLast.width&&Kb.GOM.clipArea.height==Kb.GOM.displayAreaLast.height||(Kb.$E.conTn.width(Kb.GOM.displayArea.width).height(Kb.GOM.clipArea.height),Kb.GOM.displayAreaLast.width=Kb.GOM.displayArea.width,Kb.GOM.displayAreaLast.height=Kb.GOM.clipArea.height),l!=Kb.$E.conTnParent.width())return Kb.GOM.cache.areaWidth=Kb.$E.conTnParent.width(),D(),I(a),void K(a);if(Kb.layout.support.rows&&("ROWS"==Kb.galleryDisplayMode.Get()||"FULLCONTENT"==Kb.galleryDisplayMode.Get()&&Kb.galleryLastRowFull.Get()&&-1!=Kb.GOM.lastFullRow)&&(Kb.GOM.lastDisplayedIdxNew=i<b-1?i:-1,-1!=Kb.GOM.lastDisplayedIdx)){var k=Kb.I[Kb.GOM.items[Kb.GOM.lastDisplayedIdx].thumbnailIdx];k.$getElt(".nGY2GThumbnailIconsFullThumbnail").html("")}var m=g.length;Kb.GOM.thumbnails2Display=[];for(var e=0;e<m;e++)L(g[e].idx,e);for(var o=h.length,e=0;e<o;e++)L(h[e].idx,e);aa(),"NONE"==Kb.tn.opt.Get("displayTransition")?(Kb.galleryResizeEventEnabled=!0,wb("galleryDisplayed")):requestTimeout(function(){Kb.galleryResizeEventEnabled=!0,wb("galleryDisplayed")},m*Kb.tn.opt.Get("displayInterval"))}function L(a,b){var c=0,d=Kb.GOM.items[a],e=Kb.GOM.items[a].thumbnailIdx,f=Kb.I[e];if(d.neverDisplayed){var g=d.top-Kb.GOM.clipArea.top;if(Kb.tn.opt.Get("stacks")>0?(f.$elt.last().css({display:"block"}),f.$elt.css({top:g,left:d.left})):f.$elt.css({display:"block",top:g,left:d.left}),c=g,!0===Kb.O.thumbnailWaitImageLoaded){ngimagesLoaded(f.$getElt(".nGY2TnImg2")).on("progress",function(a,b){if(b.isLoaded){if(b.img.getAttribute("data-albumidx")==Kb.GOM.albumIdx){var c=b.img.getAttribute("data-idx");Kb.I[c].ThumbnailImageReveal()}}})}Z(a,b),d.displayed=!0,d.neverDisplayed=!1}else{var h=Kb.GOM.cache.containerOffset.top+f.top,g=Kb.GOM.cache.containerOffset.top+(d.top-Kb.GOM.clipArea.top);c=d.top-Kb.GOM.clipArea.top;var i=Kb.GOM.cache.viewport;if(Kb.O.thumbnailDisplayOutsideScreen||h+d.height>=i.t-i.h&&h<=i.t+4*i.h||g+d.height>=i.t-i.h&&g<=i.t+4*i.h)if(d.displayed){if(f.top!=d.top||f.left!=d.left)if(1==Kb.O.galleryResizeAnimation){var j=new NGTweenable;j.tween({from:{top:f.top,left:f.left,height:f.height,width:f.width},to:{top:c,left:d.left,height:d.height,width:d.width},attachment:{$e:f.$elt},duration:100,delay:b*Kb.tn.opt.Get("displayInterval")/5,easing:"easeOutQuart",step:function(a,b){b.$e.css(a)},finish:function(a,b){this.dispose()}})}else f.$elt.css({top:c,left:d.left})}else d.displayed=!0,f.$elt.css({display:"block",top:c,left:d.left,opacity:1}),$(f);else d.displayed=!1,f.$elt.css({display:"none"})}if(f.left=d.left,f.top=c,f.width==d.width&&f.height==d.height||(f.$elt.css({width:d.width,height:d.height}),f.width=d.width,f.height=d.height,f.resizedContentWidth==d.resizedContentWidth&&f.resizedContentHeight==d.resizedContentHeight||("albumUp"==f.kind||(f.$getElt(".nGY2GThumbnailImage").css({height:d.resizedContentHeight,width:d.resizedContentWidth}),"JUSTIFIED"==Kb.layout.engine&&f.$getElt(".nGY2GThumbnailImg").css({height:d.resizedContentHeight,width:d.resizedContentWidth})),f.resizedContentWidth=d.resizedContentWidth,f.resizedContentHeight=d.resizedContentHeight)),Kb.GOM.lastDisplayedIdxNew==a&&Kb.layout.support.rows&&("ROWS"==Kb.galleryDisplayMode.Get()&&Kb.galleryMaxRows.Get()>0||"FULLCONTENT"==Kb.galleryDisplayMode.Get()&&Kb.galleryLastRowFull.Get()&&-1!=Kb.GOM.lastFullRow)){var k=Kb.GOM.items.length-a-1;"0"!=f.albumID&&Kb.O.thumbnailLevelUp&&k--,k>0?((Kb.O.thumbnailOpenImage||Kb.O.thumbnailSliderDelay>0)&&f.$getElt(".nGY2GThumbnailIconsFullThumbnail").html("+"+k),Kb.GOM.slider.hostItem!=Kb.GOM.NGY2Item(a)&&(P(Kb.GOM.slider.hostItem),Kb.GOM.slider.hostIdx=a,Kb.GOM.slider.hostItem=Kb.GOM.NGY2Item(a),Kb.GOM.slider.nextIdx=a,Kb.GOM.slider.currentIdx=a,M())):(P(Kb.GOM.slider.hostItem),Kb.GOM.slider.hostIdx=-1),Kb.GOM.lastDisplayedIdx=a}}function M(){if(0!=Kb.O.thumbnailSliderDelay&&-1!=Kb.GOM.slider.hostIdx){clearTimeout(Kb.GOM.slider.timerID);var a=Kb.GOM.slider.hostItem;0==a.$getElt(".nGY2TnImgNext").length&&(a.$getElt(".nGY2TnImg").clone().removeClass("nGY2TnImg").addClass("nGY2TnImgNext").insertAfter(a.$getElt(".nGY2TnImg")),a.$getElt(".nGY2TnImgBack").clone().removeClass("nGY2TnImgBack").addClass("nGY2TnImgBackNext").insertAfter(a.$getElt(".nGY2TnImg",!0)),a.$getElt(".nGY2GThumbnailImage",!0),a.$getElt(".nGY2GThumbnailImg",!0)),a.CSSTransformSet(".nGY2TnImgNext","translateX","100%",!0),a.CSSTransformApply(".nGY2TnImgNext"),a.CSSTransformSet(".nGY2TnImgBackNext","translateX","100%",!0),a.CSSTransformApply(".nGY2TnImgBackNext"),N(),Kb.GOM.slider.timerID=requestTimeout(function(){O()},Kb.O.thumbnailSliderDelay)}}function N(){++Kb.GOM.slider.nextIdx>=Kb.GOM.items.length&&(Kb.GOM.slider.nextIdx=Kb.GOM.slider.hostIdx);var a=Kb.GOM.NGY2Item(Kb.GOM.slider.nextIdx),b=(Kb.emptyGif,"url('"+Kb.emptyGif+"')");null!=a.imageDominantColors&&(a.imageDominantColors,b="url('"+a.imageDominantColors+"')"),Kb.GOM.slider.hostItem.$getElt(".nGY2TnImgBackNext",!0).css({"background-image":b,opacity:1}),Kb.GOM.slider.hostItem.$getElt(".nGY2TnImgNext",!0).css({"background-image":"url('"+a.thumbImg().src+"')",opacity:1}),Kb.GOM.slider.hostItem.$getElt(".nGY2TnImgNext .nGY2GThumbnailImg",!0).attr("src",a.thumbImg().src)}function O(){if(null!=Kb.GOM.slider.hostItem.$getElt()){var a=new NGTweenable;Kb.GOM.slider.tween=a,a.tween({from:{left:100},to:{left:0},duration:800,delay:0,easing:"easeOutQuart",step:function(a){if(null==Kb.GOM.slider.hostItem.$getElt())return void Kb.GOM.slider.tween.stop(!1);Kb.GOM.slider.hostItem.CSSTransformSet(".nGY2TnImgBack","translateX",-(100-a.left)+"%"),Kb.GOM.slider.hostItem.CSSTransformApply(".nGY2TnImgBack"),Kb.GOM.slider.hostItem.CSSTransformSet(".nGY2TnImg","translateX",-(100-a.left)+"%"),Kb.GOM.slider.hostItem.CSSTransformApply(".nGY2TnImg"),Kb.GOM.slider.hostItem.CSSTransformSet(".nGY2TnImgBackNext","translateX",a.left+"%"),Kb.GOM.slider.hostItem.CSSTransformApply(".nGY2TnImgBackNext"),Kb.GOM.slider.hostItem.CSSTransformSet(".nGY2TnImgNext","translateX",a.left+"%"),Kb.GOM.slider.hostItem.CSSTransformApply(".nGY2TnImgNext")},finish:function(a){null!=Kb.GOM.slider.hostItem.$getElt()&&null!=Kb.GOM.NGY2Item(Kb.GOM.slider.nextIdx)&&(P(Kb.GOM.NGY2Item(Kb.GOM.slider.nextIdx)),Kb.GOM.slider.currentIdx=Kb.GOM.slider.nextIdx,N(),clearTimeout(Kb.GOM.slider.timerID),Kb.GOM.slider.timerID=requestTimeout(function(){O()},Kb.O.thumbnailSliderDelay))}})}}function P(a){if(-1!=Kb.GOM.slider.hostIdx){null!=Kb.GOM.slider.tween&&1==Kb.GOM.slider.tween._isTweening&&Kb.GOM.slider.tween.stop(!1);var b="url('"+Kb.emptyGif+"')";if(null!=a.imageDominantColors&&(b="url('"+a.imageDominantColors+"')"),Kb.GOM.slider.hostItem.$getElt(".nGY2TnImgBack").css("background-image",b),Kb.GOM.slider.hostItem.$getElt(".nGY2TnImg").css("background-image","url('"+a.thumbImg().src+"')"),Kb.GOM.slider.hostItem.$getElt(".nGY2TnImg .nGY2GThumbnailImg").attr("src",a.thumbImg().src),Kb.GOM.slider.hostItem.CSSTransformSet(".nGY2TnImgBack","translateX","0"),Kb.GOM.slider.hostItem.CSSTransformApply(".nGY2TnImgBack"),Kb.GOM.slider.hostItem.CSSTransformSet(".nGY2TnImg","translateX","0"),Kb.GOM.slider.hostItem.CSSTransformApply(".nGY2TnImg"),Kb.GOM.slider.hostItem.CSSTransformSet(".nGY2TnImgBackNext","translateX","100%",!0),Kb.GOM.slider.hostItem.CSSTransformApply(".nGY2TnImgBackNext"),Kb.GOM.slider.hostItem.CSSTransformSet(".nGY2TnImgNext","translateX","100%",!0),Kb.GOM.slider.hostItem.CSSTransformApply(".nGY2TnImgNext"),1==Kb.O.thumbnailLabel.get("display")){var c=Kb.O.icons.thumbnailAlbum;"album"!=a.kind&&(c=Kb.O.icons.thumbnailImage),Kb.GOM.slider.hostItem.$getElt(".nGY2GThumbnailTitle").html(c+W(a)),Kb.GOM.slider.hostItem.$getElt(".nGY2GThumbnailDescription").html(c+X(a))}}}function Q(){var a=[],b=0;if(0==Kb.O.thumbnailLabel.get("display"))return 0;Kb.O.thumbnailLabel.get("displayDescription"),a[b++]='<div class="nGY2GThumbnail '+Kb.O.theme+'" style="display:block;visibility:hidden;position:absolute;top:-9999px;left:-9999px;" ><div class="nGY2GThumbnailSub">',1==Kb.O.thumbnailLabel.get("display")&&(a[b++]=' <div class="nGY2GThumbnailLabel" '+Kb.tn.style.getLabel()+">",a[b++]=' <div class="nGY2GThumbnailAlbumTitle" '+Kb.tn.style.getTitle()+">aAzZjJ</div>",1==Kb.O.thumbnailLabel.get("displayDescription")&&(a[b++]=' <div class="nGY2GThumbnailDescription" '+Kb.tn.style.getDesc()+">aAzZjJ</div>"),a[b++]=" </div>"),a[b++]="</div></div>";var c=jQuery(a.join("")).appendTo(Kb.$E.conTn),d=c.find(".nGY2GThumbnailLabel").outerHeight(!0);return c.remove(),d}function R(a){var b=Kb.tn.opt.Get("stacks");if(0==b)return"";for(var c="",d=0;d<b;d++)c='<div class="nGY2GThumbnailStack " style="display:none;'+a+'"></div>'+c;return c}function S(a,b,c){var d=[],e=0,f="";!1===Kb.O.thumbnailOpenImage&&(f="cursor:default;"),d[e++]=R("")+'<div class="nGY2GThumbnail" style="display:none;opacity:0;'+f+'" >',d[e++]=' <div class="nGY2GThumbnailSub">';var g=Kb.tn.defaultSize.getHeight(),h=Kb.tn.defaultSize.getWidth();d[e++]=' <div class="nGY2GThumbnailImage" style="width:'+h+"px;height:"+g+'px;"><img class="nGY2GThumbnailImg" src="'+Kb.emptyGif+'" alt="" style="max-width:'+h+"px;max-height:"+g+'px;" ></div>',d[e++]=' <div class="nGY2GThumbnailAlbumUp" >'+Kb.O.icons.thumbnailAlbumUp+"</div>",d[e++]=" </div>",d[e++]="</div>";var i=jQuery(d.join("")).appendTo(Kb.$E.conTn);a.$elt=i,i.data("index",c),a.$getElt(".nGY2GThumbnailImg").data("index",c)}function T(a,b,c,d){if(a.eltTransform=[],a.eltFilter=[],a.hoverInitDone=!1,a.$Elts=[],"albumUp"==a.kind)return void S(a,b,c);var e=[],f=0,g="";!1===Kb.O.thumbnailOpenImage&&(g="cursor:default;");var h=a.thumbImg().src.replace(/'/g,"%27"),i=W(a),j="",k="background-image: url('"+Kb.emptyGif+"');";null!=a.imageDominantColors?k="background-image: url('"+a.imageDominantColors+"');":null!=a.imageDominantColor?j="background-color:"+a.imageDominantColor+";":k="";var l="opacity:1;";1==Kb.O.thumbnailWaitImageLoaded&&(l="opacity:0;"),e[f++]=R(j)+'<div class="nGY2GThumbnail" style="display:none;opacity:0;'+g+'"><div class="nGY2GThumbnailSub '+(Kb.O.thumbnailSelectable&&a.selected?"nGY2GThumbnailSubSelected":"")+'">';var m=Kb.tn.settings.getW(),n=Kb.tn.settings.getH();null!==Kb.tn.settings.getMosaic()&&(m=Kb.GOM.items[c].width,n=Kb.GOM.items[c].height);var o="contain";Kb.tn.opt.Get("crop")&&(o="cover");var p="position: absolute; top: 0px; left: 0px; width:"+m+"px; height:"+n+"px;"+j+k+" background-position: center center; background-repeat: no-repeat; background-size:"+o+"; overflow: hidden;";e[f++]='<div class="nGY2GThumbnailImage nGY2TnImgBack" style="'+p+'"></div>';var q=l+"position: absolute; top: 0px; left: 0px; width:"+m+"px; height:"+n+"px; background-image: url('"+h+"'); background-position: center center; background-repeat: no-repeat; background-size:"+o+"; overflow: hidden;";e[f++]='<div class="nGY2GThumbnailImage nGY2TnImg" style="'+q+'">',e[f++]=' <img class="nGY2GThumbnailImg nGY2TnImg2" src="'+h+'" alt="'+i+'" style="opacity:0;" data-idx="'+b+'" data-albumidx="'+Kb.GOM.albumIdx+'" >',e[f++]="</div>",e[f++]='<div class="nGY2GThumbnailCustomLayer"></div>',1==Kb.O.thumbnailLabel.get("display")&&(e[f++]=' <div class="nGY2GThumbnailLabel" '+Kb.tn.style.getLabel(a)+">","album"==a.kind?e[f++]=' <div class="nGY2GThumbnailTitle nGY2GThumbnailAlbumTitle" '+Kb.tn.style.getTitle()+">"+Kb.O.icons.thumbnailAlbum+i+"</div>":e[f++]=' <div class="nGY2GThumbnailTitle nGY2GThumbnailImageTitle" '+Kb.tn.style.getTitle()+">"+Kb.O.icons.thumbnailImage+i+"</div>",e[f++]=' <div class="nGY2GThumbnailDescription" '+Kb.tn.style.getDesc()+">"+X(a)+"</div>",e[f++]=" </div>"),e[f++]=U(a,d),e[f++]="</div></div>";var r=jQuery(e.join("")).appendTo(Kb.$E.conTn);a.$elt=r,r.data("index",c),a.$getElt(".nGY2GThumbnailImg").data("index",c);var s=Kb.O.fnThumbnailInit ;null!==s&&("function"==typeof s?s(r,a,c):window[s](r,a,c)),"image gallery by nanogallery2 [build]"!=a.title&&ca(c)}function U(a,b){var c=V(a,"topLeft")+V(a,"topRight")+V(a,"bottomLeft")+V(a,"bottomRight");return c+='<div class="nGY2GThumbnailIconsFullThumbnail"></div>'}function V(a,b){var c="",d=Kb.tn.toolbar.get(a),e={xs:0,sm:1,me:2,la:3,xl:4},f=0;if(""!=d[b]){var g="top: 0; right: 0; text-align: right;";switch(b){case"topLeft":g="top: 0; left: 0; text-align: left;";break;case"bottomRight":g="bottom: 0; right: 0; text-align: right;";break;case"bottomLeft":g="bottom: 0; left: 0; text-align: left;"}c+=' <ul class="nGY2GThumbnailIcons" style="'+g+'">';for(var h=d[b].split(","),i=h.length,j=0;j<i;j++){var k=h[j].replace(/^\s*|\s*$/,""),l=k.substring(0,2).toLowerCase(),m=k,n=!0;if(/xs|sm|me|la|xl/i.test(l)&&(e[l]>e[Kb.GOM.curWidth]&&(n=!1),m=k.substring(2)),n){var o=j+1<i?"&nbsp;":"";switch(m){case"COUNTER":"album"==a.kind&&(c+=' <li class="nGY2GThumbnailIcon" data-ngy2action="">',c+=' <div class="nGY2GThumbnailIconImageCounter"></div>',c+=' <div class="nGY2GThumbnailIconText">'+Kb.O.icons.thumbnailCounter+Math.max(a.getContentLength(!1),a.numberItems)+o+"</div>",c+=" </li>",f++);break;case"COUNTER2":"album"==a.kind&&(c+=' <li class="nGY2GThumbnailIcon" data-ngy2action="">',c+=' <div class="nGY2GThumbnailIconTextBadge">'+Kb.O.icons.thumbnailCounter+Math.max(a.getContentLength(!1),a.numberItems)+o+"</div>",c+=" </li>",f++);break;case"SHARE":c+=' <li class="nGY2GThumbnailIcon" data-ngy2action="'+m+'">',c+=" <div>"+Kb.O.icons.thumbnailShare+"</div>",c+=" </li>",f++;break;case"DOWNLOAD":c+=' <li class="nGY2GThumbnailIcon" data-ngy2action="'+m+'">',c+=" <div>"+Kb.O.icons.thumbnailDownload+"</div>",c+=" </li>",f++;break;case"INFO":c+=' <li class="nGY2GThumbnailIcon" data-ngy2action="'+m+'">',c+=" <div>"+Kb.O.icons.thumbnailInfo+"</div>",c+=" </li>",f++;break;case"CART":c+=' <li class="nGY2GThumbnailIcon" data-ngy2action="'+m+'">',c+=" <div>"+Kb.O.icons.thumbnailCart+"</div>",c+=" </li>",f++;break;case"DISPLAY":c+=' <li class="nGY2GThumbnailIcon" data-ngy2action="DISPLAY">',c+=' <div class="nGY2GThumbnailIconImageShare">'+Kb.O.icons.thumbnailDisplay+"</div>",c+=" </li>",f++;break;case"CUSTOM1":case"CUSTOM2":case"CUSTOM3":case"CUSTOM4":case"CUSTOM5":case"CUSTOM6":case"CUSTOM7":case"CUSTOM8":case"CUSTOM9":case"CUSTOM10":var p=m.replace("CUSTOM","");c+=' <li class="nGY2GThumbnailIcon" data-ngy2action="'+m.toLowerCase()+'">',c+=' <div class="nGY2GThumbnailIconImageShare">'+Kb.O.icons["thumbnailCustomTool"+p]+"</div>",c+=" </li>",f++;break;case"FEATURED":!0===a.featured&&(c+=' <li class="nGY2GThumbnailIcon" data-ngy2action="">',c+=' <div class="nGY2GThumbnailIconImageFeatured">'+Kb.O.icons.thumbnailFeatured+"</div>",c+=" </li>",f++);break;case"SELECT":1==Kb.O.thumbnailSelectable&&(c+=' <li class="nGY2GThumbnailIcon" data-ngy2action="TOGGLESELECT">',!0===a.selected?c+=' <div class="nGY2GThumbnailIconImageSelect nGY2ThumbnailSelected">'+Kb.O.icons.thumbnailSelected+"</div>":c+=' <div class="nGY2GThumbnailIconImageSelect nGY2ThumbnailUnselected">'+Kb.O.icons.thumbnailUnselected+"</div>",c+=" </li>",f++)}}}c+=" </ul>"}return f>0?c:""}function W(a){var b=a.title;if(1==Kb.O.thumbnailLabel.get("display")){void 0!==b&&0!=b.length||(b="&nbsp;"),""!=Kb.i18nTranslations.thumbnailImageTitle&&(b=Kb.i18nTranslations.thumbnailImageTitle);var c=Kb.O.thumbnailLabel.get("titleMaxLength");c>3&&b.length>c&&(b=b.substring(0,c)+"...")}return b}function X(a){var b="";if(1==Kb.O.thumbnailLabel.get("displayDescription")){b="album"==a.kind?""!=Kb.i18nTranslations.thumbnailImageDescription?Kb.i18nTranslations.thumbnailAlbumDescription:a.description:""!=Kb.i18nTranslations.thumbnailImageDescription?Kb.i18nTranslations.thumbnailImageDescription:a.description;var c=Kb.O.thumbnailLabel.get("descriptionMaxLength");c>3&&b.length>c&&(b=b.substring(0,c)+"..."),0==b.length&&(b="&nbsp;")}return b}function Y(a){var b=Kb.tn.defaultSize.getOuterWidth(),c=0;return c="justified"==Kb.O.thumbnailAlignment?Math.floor(a/b):Math.floor((a+Kb.tn.opt.Get("gutterWidth"))/(b+Kb.tn.opt.Get("gutterWidth"))),Kb.O.maxItemsPerLine>0&&c>Kb.O.maxItemsPerLine&&(c=Kb.O.maxItemsPerLine),c<1&&(c=1),c}function Z(a,b){var c=Kb.GOM.items[a],d=Kb.I[c.thumbnailIdx];if("NONE"==Kb.tn.opt.Get("displayTransition"))d.$elt.css({opacity:1}),$(d);else{if(null==d.$elt)return;var e=Kb.GOM.cache.containerOffset.top+(c.top-Kb.GOM.clipArea.top),f=Kb.GOM.cache.viewport;if(e+(c.top-Kb.GOM.clipArea.top)>=f.t-50&&e<=f.t+f.h+50){var g=b*Kb.tn.opt.Get("displayInterval");return void("CUSTOM"==Kb.tn.opt.Get("displayTransition")?"lN"==Kb.GOM.curNavLevel?Kb.O.fnThumbnailDisplayEffect(d.$elt,d,a,g):Kb.O.fnThumbnailL1DisplayEffect(d.$elt,d,a,g):Kb.GOM.thumbnails2Display.push({itm:d,d:g}))}d.$elt.css({opacity:1}),$(d)}}function $(a){var b=Kb.tn.opt.Get("stacks");if(b>0){a.$elt.css({display:"block"});for(var c=.9,d=b-1;d>=0;d--)a.$elt.eq(d).css("opacity",c),c-=.2}}function _(a,b){function c(a,b){return Math.floor(Math.random()*(b-a+1)+a)}var d={},e={};switch(Kb.tn.opt.Get("displayTransition")){case"RANDOMSCALE":for(var f=[.95,1,1.05,1.1],g=[1,2,3,4],h=c(0,3);h==Kb.GOM.lastRandomValue;)h=c(0,3);Kb.GOM.lastRandomValue=h;var i=f[h];a.$elt.css({"z-index":Kb.GOM.lastZIndex+g[h],"box-shadow":"0px 0px 5px 3px rgba(0,0,0,0.74)"}),d={scale:.5,opacity:0},e={scale:i,opacity:1};break;case"SCALEUP":var i=Kb.tn.opt.Get("displayTransitionStartVal");0==i&&(i=.6),d={scale:i,opacity:0},e={scale:1,opacity:1};break;case"SCALEDOWN":var i=Kb.tn.opt.Get("displayTransitionStartVal");0==i&&(i=1.3),d={scale:i,opacity:0},e={scale:1,opacity:1};break;case"SLIDEUP":var i=Kb.tn.opt.Get("displayTransitionStartVal");0==i&&(i=50),d={opacity:0,translateY:i},e={opacity:1,translateY:0};break;case"SLIDEDOWN":var i=Kb.tn.opt.Get("displayTransitionStartVal");0==i&&(i=-50),d={opacity:0,translateY:i},e={opacity:1,translateY:0};break;case"FLIPUP":var i=Kb.tn.opt.Get("displayTransitionStartVal");0==i&&(i=100),d={opacity:0,translateY:i,rotateX:45},e={opacity:1,translateY:0,rotateX:0};break;case"FLIPDOWN":var i=Kb.tn.opt.Get("displayTransitionStartVal");0==i&&(i=-100),d={opacity:0,translateY:i,rotateX:-45},e={opacity:1,translateY:0,rotateX:0};break;case"SLIDEUP2":var i=Kb.tn.opt.Get("displayTransitionStartVal");0==i&&(i=100),d={opacity:0,translateY:i,rotateY:40},e={opacity:1,translateY:0,rotateY:0};break;case"SLIDEDOWN2":var i=Kb.tn.opt.Get("displayTransitionStartVal");0==i&&(i=-100),d={opacity:0,translateY:i,rotateY:40},e={opacity:1,translateY:0,rotateY:0};break;case"SLIDERIGHT":var i=Kb.tn.opt.Get("displayTransitionStartVal");0==i&&(i=-150),d={opacity:0,translateX:i},e={opacity:1,translateX:0};break;case"SLIDELEFT":var i=Kb.tn.opt.Get("displayTransitionStartVal");0==i&&(i=150),d={opacity:0,translateX:i},e={opacity:1,translateX:0};break;case"FADEIN":d={opacity:0},e={opacity:1}}var j=new NGTweenable;j.tween({from:d,to:e,attachment:{$e:a.$elt,item:a,tw:j},delay:b,duration:Kb.tn.opt.Get("displayTransitionDuration"),easing:Kb.tn.opt.Get("displayTransitionEasing"),step:function(a,b){window.requestAnimationFrame(function(){if(null===b.item.$elt)return void b.tw.stop(!1);switch(Kb.tn.opt.Get("displayTransition")){case"RANDOMSCALE":case"SCALEUP":b.$e.css(Kb.CSStransformName,"scale("+a.scale+")").css("opacity",a.opacity);break;case"SCALEDOWN":b.item.$elt.last().css("opacity",a.opacity),b.item.CSSTransformSet(".nGY2GThumbnail","scale",a.scale),b.item.CSSTransformApply(".nGY2GThumbnail");break;case"SLIDEUP":b.item.$elt.css("opacity",a.opacity),b.item.CSSTransformSet(".nGY2GThumbnail","translate","0px, "+a.translateY+"px"),b.item.CSSTransformApply(".nGY2GThumbnail");break;case"SLIDEDOWN":b.item.$elt.css("opacity",a.opacity),b.item.CSSTransformSet(".nGY2GThumbnail","translate","0px,"+a.translateY+"px"),b.item.CSSTransformApply(".nGY2GThumbnail");break;case"FLIPUP":b.item.CSSTransformSet(".nGY2GThumbnail","translate","0px,"+a.translateY+"px"),b.item.CSSTransformSet(".nGY2GThumbnail","rotateX",a.rotateX+"deg"),b.item.$elt.css("opacity",a.opacity),b.item.CSSTransformApply(".nGY2GThumbnail");break;case"FLIPDOWN":b.item.$elt.css("opacity",a.opacity),b.item.CSSTransformSet(".nGY2GThumbnail","translate","0px,"+a.translateY+"px"),b.item.CSSTransformSet(".nGY2GThumbnail","rotateX",a.rotateX+"deg"),b.item.CSSTransformApply(".nGY2GThumbnail");break;case"SLIDEUP2":b.item.$elt.css("opacity",a.opacity),b.item.CSSTransformSet(".nGY2GThumbnail","translate","0px,"+a.translateY+"px"),b.item.CSSTransformSet(".nGY2GThumbnail","rotateY",a.rotateY+"deg"),b.item.CSSTransformApply(".nGY2GThumbnail");break;case"SLIDEDOWN2":b.item.$elt.css("opacity",a.opacity),b.item.CSSTransformSet(".nGY2GThumbnail","translate","0px, "+a.translateY+"px"),b.item.CSSTransformSet(".nGY2GThumbnail","rotateY",a.rotateY+"deg"),b.item.CSSTransformApply(".nGY2GThumbnail");break;case"SLIDERIGHT":b.item.$elt.css("opacity",a.opacity),b.item.CSSTransformSet(".nGY2GThumbnail","translate",a.translateX+"px, 0px"),b.item.CSSTransformApply(".nGY2GThumbnail");break;case"SLIDELEFT":b.item.CSSTransformSet(".nGY2GThumbnail","translate",a.translateX+"px, 0px"),b.item.$elt.css("opacity",a.opacity),b.item.CSSTransformApply(".nGY2GThumbnail");break;case"FADEIN":b.$e.css(a)}})},finish:function(a,b){window.requestAnimationFrame(function(){if(null!==b.item.$elt){switch(Kb.tn.opt.Get("displayTransition")){case"RANDOMSCALE":b.$e.css(Kb.CSStransformName,"scale("+a.scale+")").css("opacity","");break;case"SCALEUP":b.$e.css(Kb.CSStransformName,"").css("opacity","");break;case"SCALEDOWN":b.item.$elt.last().css("opacity",""),b.item.CSSTransformSet(".nGY2GThumbnail","scale",a.scale),b.item.CSSTransformApply(".nGY2GThumbnail");break;case"SLIDEUP":case"SLIDEDOWN":case"FLIPUP":case"FLIPDOWN":case"SLIDEUP2":b.item.$elt.css("opacity","");break;case"SLIDEDOWN2":b.item.$elt.css("opacity",""),b.item.CSSTransformApply(".nGY2GThumbnail");break;case"SLIDERIGHT":case"SLIDELEFT":b.item.$elt.css("opacity","");break;case"FADEIN":b.$e.css("opacity","")}$(b.item)}})}})}function aa(){Kb.GOM.thumbnails2Display.forEach(function(a){_(a.itm,a.d)}),Kb.GOM.thumbnails2Display=[]}function ba(){var a=Kb.galleryDisplayTransitionDuration.Get();switch(Kb.galleryDisplayTransition.Get()){case"ROTATEX":Kb.$E.base.css({perspective:"1000px","perspective-origin":"50% 0%"});var b=new NGTweenable;b.tween({from:{r:50},to:{r:0},attachment:{orgIdx:Kb.GOM.albumIdx},duration:a,easing:"easeOutCirc",step:function(a,b){b.orgIdx==Kb.GOM.albumIdx&&Kb.$E.conTnParent.css(Kb.CSStransformName,"rotateX("+a.r+"deg)")}});break;case"SLIDEUP":Kb.$E.conTnParent.css({opacity:0});var b=new NGTweenable;b.tween({from:{y:200,o:0},to:{y:0,o:1},attachment:{orgIdx:Kb.GOM.albumIdx},duration:a,easing:"easeOutCirc",step:function(a,b){b.orgIdx==Kb.GOM.albumIdx&&Kb.$E.conTnParent.css(Kb.CSStransformName,"translate( 0px, "+a.y+"px)").css("opacity",a.o)}})}}function ca(a){var b=Kb.GOM.items[a],c=Kb.I[b.thumbnailIdx];if(null!=c.$elt){var d=Kb.O.fnThumbnailHoverInit;null!==d&&("function"==typeof d?d($e,c,a):window[d]($e,c,a));for(var e=Kb.tn.buildInit.get(),f=0;f<e.length;f++)switch(e[f].property){case"scale":case"rotateX":case"rotateY":case"rotateZ":case"translateX":case"translateY":case"translateZ":c.CSSTransformSet(e[f].element,e[f].property,e[f].value),c.CSSTransformApply(e[f].element);break;case"blur":case"brightness":case"grayscale":case"sepia":case"contrast":case"opacity":case"saturate":c.CSSFilterSet(e[f].element,e[f].property,e[f].value),c.CSSFilterApply(e[f].element);break;default:var g=c.$getElt(e[f].element);g.css(e[f].property,e[f].value)}for(var h=Kb.tn.hoverEffects.get(),f=0;f<h.length;f++)if(!0===h[f].firstKeyframe)switch(h[f].type){case"scale":case"rotateX":case"rotateY":case"rotateZ":case"translateX":case"translateY":case"translateZ":c.CSSTransformSet(h[f].element,h[f].type,h[f].from),c.CSSTransformApply(h[f].element);break;case"blur":case"brightness":case"grayscale":case"sepia":case"contrast":case"opacity":case"saturate":c.CSSFilterSet(h[f].element,h[f].type,h[f].from),c.CSSFilterApply(h[f].element);break;default:var g=c.$getElt(h[f].element);g.css(h[f].type,h[f].from)}c.hoverInitDone=!0}}function da(){if(-1!=Kb.GOM.albumIdx)for(var a=Kb.GOM.items.length,b=0;b<a;b++)ca(b),Kb.I[Kb.GOM.items[b].thumbnailIdx].hovered=!1}function ea(a){if(-1!=Kb.GOM.albumIdx&&Kb.galleryResizeEventEnabled&&Kb.GOM.slider.hostIdx!=a){var b=Kb.GOM.items[a],c=Kb.I[b.thumbnailIdx];if("albumUp"!=c.kind&&null!=c.$elt){c.hovered=!0;var d=Kb.O.fnThumbnailHover;null!==d&&("function"==typeof d?d(c.$elt,c,a):window[d](c.$elt,c,a));var e=Kb.tn.hoverEffects.get();try{for(var f=0;f<e.length;f++)!0===e[f].hoverin&&c.animate(e[f],0,!0)}catch(g){Lb(Kb,"error on hover: "+g.message)}}}}function fa(){if(-1!=Kb.GOM.albumIdx)for(var a=Kb.GOM.items.length,b=0;b<a;b++)Kb.GOM.items[b].inDisplayArea?ga(b):Kb.I[Kb.GOM.items[b].thumbnailIdx].hovered=!1}function ga(a){if(-1!=Kb.GOM.albumIdx&&Kb.galleryResizeEventEnabled&&Kb.GOM.slider.hostIdx!=a){var b=Kb.GOM.items[a],c=Kb.I[b.thumbnailIdx];if("albumUp"!=c.kind&&c.hovered&&(c.hovered=!1,null!=c.$elt)){var d=Kb.O.fnThumbnailHoverOut;null!==d&&("function"==typeof d?d(c.$elt,c,a):window[d](c.$elt,c,a));var e=Kb.tn.hoverEffects.get();try{for(var f=0;f<e.length;f++)!0===e[f].hoverout&&c.animate(e[f],0,!1)}catch(g){Lb(Kb,"error on hoverOut: "+g.message)}}}}function ha(a,b){Kb.O.debugMode&&console.log("#DisplayPhoto : "+b+"-"+a);var c=NGY2Item.GetIdx(Kb,b);Kb.GOM.curNavLevel=0==c?"l1":"lN",-1==c&&""!=Kb.O.kind&&(NGY2Item.New(Kb,"","",b,"0","album"),c=Kb.I.length-1);var d=NGY2Item.GetIdx(Kb,a);if(-1==d)return void ia(b,ha,a,b);Kb.O.debugMode&&console.log("#DisplayPhoto : "+d),Pa(d)}function ia(a,b,c,d){switch(Kb.O.kind){case"":ja(b,c,d);break;default:jQuery.nanogallery2["data_"+Kb.O.kind](Kb,"AlbumGetContent",a,b,c,d)}}function ja(a,b,c){if(!0===Kb.markupOrApiProcessed)return void m("-1",0);if(void 0!==Kb.O.items&&null!==Kb.O.items)la();else{if(!(Kb.O.$markup.length>0))return void Mb(Kb,"error: no media to process.");ma(Kb.O.$markup),Kb.O.$markup=[]}Kb.markupOrApiProcessed=!0,null!==a&&void 0!==a&&a(b,c,null)}function ka(a){return null!=a&&void 0!=a&&!!/^((http|https|ftp|ftps|file):\/\/)/.test(a)}function la(){var a=!1,b=0,c=NGY2Tools.AlbumPostProcess.bind(Kb);Kb.I[0].contentIsLoaded=!0,jQuery.each(Kb.O.items,function(e,f){var g="";void 0===(g=Eb(f,"title"))&&(g="");var h="";h=void 0!==f["src"+Fb().toUpperCase()]?f["src"+Fb().toUpperCase()]:f.src,ka(h)||(h=Kb.O.itemsBaseURL+h);var i="";void 0!==f.srct&&f.srct.length>0?(i=f.srct,ka(i)||(i=Kb.O.itemsBaseURL+i)):i=h;var j="";void 0!==f.srct2x&&f.srct2x.length>0?(j=f.srct2x,ka(j)||(j=Kb.O.itemsBaseURL+j)):j=""!=i?i:h,""!=Kb.O.thumbnailLabel.get("title")&&(g=GetImageTitle(h));var k="";void 0===(k=Eb(f,"description"))&&(k="");var l=Eb(f,"tags");void 0===l&&(l="");var m=0;void 0!==f.albumID&&(m=f.albumID,a=!0);var n=null;void 0!==f.ID&&(n=f.ID);var o="image";void 0!==f.kind&&f.kind.length>0&&(o=f.kind);var p=NGY2Item.New(Kb,g,k,n,m,o,l);""!=g&&b++,p.setMediaURL(h,"img"),jQuery.each(Nb,function(a,b){var c=b.getID(h);if(null!=c)return"function"==typeof b.url&&(h=b.url(c)),"function"==typeof b.thumbUrl&&(i=b.thumbUrl(c)),p.mediaKind=b.kind,p.mediaMarkup=b.selfhosted?b.markup(h):b.markup(c),!1}),void 0!==f.imageWidth&&(p.imageWidth=f.width),void 0!==f.imageHeight&&(p.imageHeight=f.height);var q=void 0!==f.imgtWidth?f.imgtWidth:0,r=void 0!==f.imgtHeight?f.imgtHeight:0;if(p.thumbs={url:{l1:{xs:i,sm:i,me:i,la:i,xl:i},lN:{xs:i,sm:i,me:i,la:i,xl:i}},width:{l1:{xs:q,sm:q,me:q,la:q,xl:q},lN:{xs:q,sm:q,me:q,la:q,xl:q}},height:{l1:{xs:r,sm:r,me:r,la:r,xl:r},lN:{xs:r,sm:r,me:r,la:r,xl:r}}},"img"==p.mediaKind)for(var s=["xs","sm","me","la","xl"],e=0;e<s.length;e++){var t=f["srct"+s[e].toUpperCase()];void 0!==t&&(ka(t)||(t=Kb.O.itemsBaseURL+t),p.url.l1[s[e]]=t,p.url.lN[s[e]]=t);var q=f["imgt"+s[e].toUpperCase()+"Width"];void 0!=q&&(p.width.l1[s[e]]=parseInt(q),p.width.lN[s[e]]=parseInt(q));var r=f["imgt"+s[e].toUpperCase()+"Height"];void 0!=r&&(p.height.l1[s[e]]=parseInt(r),p.height.lN[s[e]]=parseInt(r))}void 0!==f.imageDominantColors&&(p.imageDominantColors=f.imageDominantColors),void 0!==f.imageDominantColor&&(p.imageDominantColor=f.imageDominantColor),void 0!==f.destURL&&f.destURL.length>0&&(p.destinationURL=f.destURL),void 0!==f.downloadURL&&f.downloadURL.length>0&&(p.downloadURL=f.downloadURL),void 0!==f.exifModel&&(p.exif.model=f.exifModel),void 0!==f.exifFlash&&(p.exif.flash=f.exifFlash),void 0!==f.exifFocalLength&&(p.exif.focallength=f.exifFocalLength),void 0!==f.exifFStop&&(p.exif.fstop=f.exifFStop),void 0!==f.exifExposure&&(p.exif.exposure=f.exifExposure),void 0!==f.exifIso&&(p.exif.iso=f.exifIso),void 0!==f.exifTime&&(p.exif.time=f.exifTime),void 0!==f.exifLocation&&(p.exif.location=f.exifLocation),null!==f.customData&&(p.customData=d(f.customData)),p.contentIsLoaded=!0;var u=Kb.O.fnProcessData;null!==u&&("function"==typeof u?u(p,"api",f):window[u](p,"api",f)),c(m)}),0==b&&(Kb.O.thumbnailLabel.display=!1)}function ma(a){var b=!1,c=0,e=NGY2Tools.AlbumPostProcess.bind(Kb);Kb.I[0].conte