diff --git a/js/jquery.slider-pack.1.1.min.js b/js/jquery.slider-pack.1.1.min.js index 3df96c8..8289a5d 100644 --- a/js/jquery.slider-pack.1.1.min.js +++ b/js/jquery.slider-pack.1.1.min.js @@ -1,42 +1,184 @@ -/* - * Two Dimensional Slider for Touchfolio theme. - * - * Copyright 2012 Dmitry Semenov. http://dimsemenov.com - * - * You must not use this slider outside the Touchfolio theme. Slider is based on commercial RoyalSlider script. - * -*/ -(function(e){function t(t,n){var r=navigator.userAgent.toLowerCase(),s=this,o=jQuery.browser,u=o.mozilla,a,f=o.webkit,l=r.match(/(iphone|ipod|ipad)/),c=r.indexOf("android")>-1,h=r.indexOf("chrome")>-1,p=navigator.appVersion.indexOf("Mac")!=-1;var d=document.createElement("div").style,v=["webkit","Moz","ms","O"],m="",g;for(i=0;i
'});y+="";y+='
';if(s._arrowControlsEnabled){}y+='
';if(s._arrowControlsEnabled){y+='"+'"}var w=s._getQueryParameters().listurl;if(w){y+='"}y+='
';y+='
'+''+''+"
";y+="
";y+="
";s._galleryPostsNavigation=s.sliderRoot.find(".gallery-posts-navigation");s._lastItemLink=false;if(s._galleryPostsNavigation.length>0){s._lastItemLink=true}s.sliderRoot.append(y);s._slidesWrapper=s.sliderRoot.find(".slider-wrapper");s.videoOverlay=s.sliderRoot.find(".video-overlay");s.videoContainer=s.videoOverlay.find(".video-container");s.currVideoImg="";s.isVideoPlaying=false;s._videoCloseButton=s.videoOverlay.find(".video-close-button");s._videoCloseButton.bind("click",function(e){s.stopAndCloseVideo()});s._nextPrevActionsLocked=false;var E=s._slidesWrapper;s._dragContainer=E.find(".drag-container");s._topBlock=E.find(".top");s._leftBlock=E.find(".left");s._centerBlock=E.find(".center");s._rightBlock=E.find(".right");s._bottomBlock=E.find(".bottom");s._albumInfoAnimating=false;s.loadQueue;s.imageLoader;s._lastAlbumId;s._lastAlbumNumItems;s._lastItemId;s._changeHash=false;s._imagePaddingEMs=0;s._controlsVisible=true;s._currentMainBlockId=0;s._currentMainAlbumBlockId=0;s._tempMainBlockId=0;s._tempMainAlbumBlockId=0;if(s.settings.disableContextMenu){s.sliderRoot.bind("contextmenu",function(e){e.preventDefault();e.stopImmediatePropagation();return false})}if(s.hasTouch){s._lastItemFriction=.5;s.settings.autoOpenDescription=false}else{s._lastItemFriction=.2}if(s._useCSS3Transitions){if(u&&m==="moz"){s.browserSufix="-moz-";s._yProp=s._xProp="-moz-transform";s.transitionEndEvent="transitionend.tds";if(s._use3dTransform){s._tPref1="translate3d(";s._tPref2="px, ";s._tPref3="px, 0px)"}else{s._tPref1="translate(";s._tPref2="px, ";s._tPref3="px)"}}else if(f&&s._use3dTransform){s.browserSufix="-webkit-";s._yProp=s._xProp="-webkit-transform";s.transitionEndEvent="webkitTransitionEnd.tds";if(s._use3dTransform){if(!h){s._dragContainer.children().css({"-webkit-transform":"translateZ(0)","-webkit-perspective":"1000","-webkit-backface-visibility":"hidden"})}s._dragContainer.css({"-webkit-transform":"translateZ(0px)","-webkit-perspective":"1000","-webkit-backface-visibility":"hidden"});s._tPref1="translate3d(";s._tPref2="px, ";s._tPref3="px, 0px)"}else{s._tPref1="translate(";s._tPref2="px, ";s._tPref3="px)"}}else{s.browserSufix=/trident/i.test(navigator.userAgent)?"-ms-":"opera"in window?"-o-":"";s._yProp=s._xProp=s.browserSufix+"transform";s.transitionEndEvent=s.browserSufix+"transitionend.tds";s._tPref1="translate(";s._tPref2="px, ";s._tPref3="px)"}}else{s._xProp="left";s._yProp="top";s._tPref1="";s._tPref2="";s._tPref3="";s._tPref4=""}s._sliderControls=s.sliderRoot.find(".slider-controls");s._albumInfoOpen=false;s._albumInfoAnimRunning=false;s._headerSideMenu=e(".main-header");s._menusContainer=s._headerSideMenu.find(".menus-container");s._menusContainer=s._headerSideMenu.find(".menus-container");s.albumsArr=[];s.currAlbum;s._albumIndicator=s._sliderControls.find(".slider-album-indicator");s._albumInfoText=s._albumIndicator.find(".album-info-text");s._albumNameIndicator=s._albumIndicator.find(".album-name-indicator");s._itemCountIndicator=s._albumIndicator.find(".item-count-indicator");s._albumInfoBlock=e('
').appendTo("body");var S;s._albumIndicator.bind("click",function(){s._toggleAlbumInfo()});if(s.settings.appendGalleriesToMenu){var x=s.sliderRoot.find(".two-dim-album"),T,N='"}else{s.sliderRoot.find(".two-dim-album").each(function(t,n){s.albumsArr.push(e(n).data("start-item",0))})}if(!s.albumsArr.length>0){alert("Gallery error :(. No albums and images found");return}var k=0;var L=window.location.hash;if(L){L=L.replace(/^#/,"");k=s.getAlbumIdByIdAtt(L)}s.currAlbum=s.albumsArr[k];s.currAlbumId=k;s.numAlbums=s.albumsArr.length;if(s._arrowControlsEnabled){s._prevImageArr=s.sliderRoot.find(".arrow-left").click(function(e){e.preventDefault();s.prev()});s._nextImageArr=s.sliderRoot.find(".arrow-right").click(function(e){e.preventDefault();s.next()})}s._primaryMenu=s._headerSideMenu.find(".primary-menu > .current-menu-item");if(s.settings.appendGalleriesToMenu&&s.numAlbums>1){if(s._primaryMenu.index()!=0){s._primaryMenu.before('')}N+='';s._primaryMenu.append(N);s._galleryMenuItems=s._primaryMenu.find("#gallery-menu").find("li");s._galleryMenuItems.click(function(t){t.preventDefault();t.stopImmediatePropagation();var n=s.getAlbumIdByIdAtt(e(this).attr("data-id"));s._moveTo(n,"y",500,true,true)})}s.currAlbumItems=s.currAlbum.find(".two-dim-item");s.currItemId=0;s.currAlbumNumItems=s.currAlbumItems.length;s.currAlbumScaleMode=s.currAlbum.data("img-scale");var A;e(window).bind(s._orientationChangeEvent,function(){if(A){clearTimeout(A)}A=setTimeout(function(){s.updateSliderSize()},35)});s.updateSliderSize();s.updateContents();s._slidesWrapper.bind(s._downEvent,function(e){s._onDragStart(e)});if(s.settings.keyboardNavEnabled){e(document).keydown(function(e){if(!s._isDragging&&!s._isAnimating){if(e.keyCode===37){e.preventDefault();s.prev()}else if(e.keyCode===39){e.preventDefault();s.next()}else if(e.keyCode===40){e.preventDefault();s.nextAlbum()}else if(e.keyCode===38){e.preventDefault();s.prevAlbum()}else if(e.keyCode===73){s._toggleAlbumInfo()}}})}e("body").bind("mouseleave",function(e){if(s._isDragging){s._onDragRelease(e)}});if(!s.hasTouch){s.sliderRoot.bind("mousewheel",function(e,t,n,r){if(t<0){s.next()}else if(t>0){s.prev()}})}s._changedByHash=false;s._ignoreHashChange=false;s._hashTimeout;s._unblockHashChange();if(s.hasTouch){e.idleTimer(s.hasTouch?4e3:2e3,document,{events:"mousemove touchend mouseup"});e(document).bind("idle.idleTimer",function(){if(!s._albumInfoOpen){s._hideAllControls()}})}else{}if(s.settings.autoOpenDescription){if(s.sliderWidth>900){s._showAlbumInfo();s._fadeOut(s._albumIndicator);s.albumsArr[s.currAlbumId].data("sawInfo",true)}}}t.prototype={getAlbumIdByIdAtt:function(e){var t=this,n=t.albumsArr;for(var r=0;r=o.currAlbumNumItems){o._doBackAndForthAnim("right");return false}o._hideAlbumInfo();o._tempMainBlockId=o._currentMainBlockId-1;o._updateCurrItemId(o.currAlbumId,o.currItemId+1);u=o._rightBlock;o._rightBlock=o._leftBlock;o._leftBlock=o._centerBlock;o._centerBlock=u;a=o._tempMainBlockId*o.sliderWidth;o._currAnimSpeed=n;o._animateTo(a,"next","x",false,i)}else if(e==="prev"){if(!o._loopItems&&o.currItemId-1<0){o._doBackAndForthAnim("left");return false}o._hideAlbumInfo();o._tempMainBlockId=o._currentMainBlockId+1;o._updateCurrItemId(o.currAlbumId,o.currItemId-1);u=o._centerBlock;o._centerBlock=o._leftBlock;o._leftBlock=o._rightBlock;o._rightBlock=u;a=o._tempMainBlockId*o.sliderWidth;o._currAnimSpeed=n;o._animateTo(a,"prev","x",false,i)}else{var l=parseInt(e,10);if(l===o.currItemId+1){o._moveTo("next","x",n)}else if(l===o.currAlbumId-1){o._moveTo("prev","x",n)}else{if(l>o.currItemId){o._tempMainBlockId=o._currentMainBlockId-1;o._updateCurrItemId(o.currAlbumId,currItemId);u=o._rightBlock;o._rightBlock=o._leftBlock;o._leftBlock=o._centerBlock;o._centerBlock=u;a=o._tempMainBlockId*o.sliderWidth;o._currAnimSpeed=n;o._centerBlock.find("img").css("visibility","hidden");o._animateTo(a,"next","x",true,i)}else if(l=o.numAlbums){if(!s){o._doBackAndForthAnim("bottom")}else{o._doBackAndForthAnim("right")}return false}o._hideAlbumInfo();o._tempMainAlbumBlockId=o._currentMainAlbumBlockId-1;o._updateCurrItemId(o.currAlbumId+1,0);f=o._getAlbum(o.currAlbumId);o.currItemId=f.data("start-item");u=o._bottomBlock;o._bottomBlock=o._topBlock;o._topBlock=o._centerBlock;o._centerBlock=u;a=o._tempMainAlbumBlockId*o.sliderHeight;o._currAnimSpeed=n;o._animateTo(a,"next","y",false,i)}else if(e==="prev"){if(!o._loopAlbums&&o.currAlbumId-1<0){if(!s){o._doBackAndForthAnim("top")}else{o._doBackAndForthAnim("left")}return false}o._hideAlbumInfo();o._tempMainAlbumBlockId=o._currentMainAlbumBlockId+1;o._updateCurrItemId(o.currAlbumId-1,0);f=o._getAlbum(o.currAlbumId);o.currItemId=f.data("start-item");u=o._centerBlock;o._centerBlock=o._topBlock;o._topBlock=o._bottomBlock;o._bottomBlock=u;a=o._tempMainAlbumBlockId*o.sliderHeight;o._currAnimSpeed=n;o._animateTo(a,"prev","y",false,i)}else{var c=parseInt(e,10);if(c===o.currAlbumId+1){o._moveTo("next","y",n,r,i)}else if(c===o.currAlbumId-1){o._moveTo("prev","y",n,r,i)}else{if(c>o.currAlbumId){o._tempMainAlbumBlockId=o._currentMainAlbumBlockId-1;o._updateCurrItemId(c,0);f=o._getAlbum(o.currAlbumId);o.currItemId=f.data("start-item");u=o._bottomBlock;o._bottomBlock=o._topBlock;o._topBlock=o._centerBlock;o._centerBlock=u;a=o._tempMainAlbumBlockId*o.sliderHeight;o._currAnimSpeed=n;o._updateAlbumBackground(o._centerBlock,f.data("bg"),o.currAlbumId);o._centerBlock.find(".play-button-container").remove();o._centerBlock.find("img").css("visibility","hidden");o._animateTo(a,"next","y",true,i)}else if(c=e.currAlbumNumItems&&e.currAlbumId0){r=i[0];if(i.length>1){n._multipleTouches=true}}else{return false}}else{r=t;t.preventDefault()}e(document).bind(n._moveEvent,function(e){n._onDragMove(e)});e(document).bind(n._upEvent,function(e){n._onDragRelease(e)});n._isVerticalNav=false;n._currMoveAxis="";n.moved=false;n.pointX=n._accelerationX=n.startX=r.pageX;n.pointY=n._accelerationY=n.startY=r.pageY;n.changedX=0;n.changedY=0;n.horDirection=0;n.verDirection=0;n.directionLocked=false;n._startTime=t.timeStamp||(new Date).getTime();n._moveDist=0;if(n.hasTouch){n._slidesWrapper.bind(n._cancelEvent,function(e){n._onDragRelease(e)})}},_onDragMove:function(e){var t=this,n;if(t.hasTouch){var r=e.originalEvent.touches;if(r){if(r.length>1){return false}else{n=r[0]}}else{return false}e.preventDefault()}else{n=e;e.preventDefault()}var i=e.timeStamp||(new Date).getTime(),s=n.pageX-t.pointX,o=n.pageY-t.pointY;t.changedX+=Math.abs(s);t.changedY+=Math.abs(o);if(t.changedY<10&&t.changedX<7){return}var u=t.x+s,a=t.y+o;t.moved=true;t.pointX=n.pageX;t.pointY=n.pageY;var f=t._currMoveAxis;if(f==="x"){if(s!==0){t.horDirection=s>0?1:-1}}else if(f==="y"){if(o!==0){t.verDirection=o>0?1:-1}}else{if(t.changedY>t.changedX){t._isVerticalNav=true;t._currMoveAxis="y";t.verDirection=o>0?1:-1}else{t._currMoveAxis="x";t.horDirection=s>0?1:-1}}if(t._isVerticalNav){if(!t._loopAlbums){if(t.currAlbumId<=0){if(n.pageY-this.startY>0){a=t.y+o*t._lastItemFriction}}if(t.currAlbumId>=t.numAlbums-1){if(n.pageY-this.startY<0){a=t.y+o*t._lastItemFriction}}}t._setPosition(a,"y");if(i-t._startTime>200){t._startTime=i;t._accelerationY=n.pageY}}else{if(!t._loopItems){if(t.currItemId<=0){if(n.pageX-this.startX>0){u=t.x+s*t._lastItemFriction}}if(t.currItemId>=t.currAlbumNumItems-1){if(n.pageX-this.startX<0){u=t.x+s*t._lastItemFriction}}}t._setPosition(u,"x");if(i-t._startTime>200){t._startTime=i;t._accelerationX=n.pageX}}return false},_onDragRelease:function(t){function p(e){if(e<200){return 200}else if(e>500){return 500}return e}function d(e,t,r){if(e==="x"){f=n._currentMainBlockId*n.sliderWidth}else{f=n._currentMainAlbumBlockId*n.sliderHeight}l=Math.abs(n[e]-f);n._currAnimSpeed=l/r;if(t){n._currAnimSpeed+=250}n._currAnimSpeed=p(n._currAnimSpeed);n._animateTo(f,false,e)}var n=this,r=n.hasTouch?t.originalEvent.changedTouches[0]:t,i,s,o,u,a,f,l,c,h;n._isDragging=false;e(document).unbind(n._moveEvent);e(document).unbind(n._upEvent);if(n.hasTouch){n._slidesWrapper.unbind(n._cancelEvent)}n._setGrabCursor();if(!n.moved&&!n._multipleTouches){if(n._albumInfoOpen){n._hideAlbumInfo();return}if(n.hasTouch){if(n._controlsVisible){n._hideAllControls()}else{n._showAllControls()}return}else{if(!e(t.target).hasClass("play-button-icon")){n.next()}return}}u=Math.max(30,t.timeStamp||(new Date).getTime())-n._startTime;var v=0;if(n._isVerticalNav){var m="y",g=r.pageY,y=n.startY,b=n._accelerationY,w=n.currAlbumId,E=n.numAlbums,S=n.verDirection,x=n.sliderHeight,T=n._currentMainAlbumBlockId,N=n._loopAlbums,C=true,k=50}else{var m="x",g=r.pageX,y=n.startX,b=n._accelerationX,w=n.currItemId,E=n.currAlbumNumItems,S=n.horDirection,x=n.sliderWidth,T=n._currentMainBlockId,N=n._loopItems,C=false,k=0}i=g-y;s=Math.abs(i);o=g-b;a=Math.abs(o)/u;if(S===0||E<=1){d(m,true,a);return false}if(!N){if(w<=0){if(S>0){d(m,true,a);return false}}else if(w>=E-1){if(S<0){d(m,true,a);return false}}}if(y+vg){if(S>0){d(m,false,a);return false}n._moveTo("next",m,p(Math.abs(n[m]-(T-1)*x)/a),C)}else{d(m,false,a)}return false},_addItemToLoadQueue:function(e,t,n,r){var i=this,s,o=i._getAlbum(n);if(r==="start-item"){r=o.data("start-item")}s=i._getItem(n,r);if(!s){t.addClass("last-block")}else{if(t.hasClass("last-block")){t.removeClass("last-block")}var u=s.data("img-scale");if(!u){u=o.data("img-scale");s.data("img-scale",u)}e.push({block:t,item:s,bgColor:o.data("bg"),albumId:n})}},_animateTo:function(e,t,n,r,i,s){function a(){var e,i=[],s;if(t){if(n==="x"){o._addItemToLoadQueue(i,o._centerBlock,o.currAlbumId,o.currItemId);o._currentMainBlockId=o._tempMainBlockId;if(t==="next"){o._rightBlock.css("left",-o._currentMainBlockId*100+100+"%");o._addItemToLoadQueue(i,o._rightBlock,o.currAlbumId,o.currItemId+1)}else if(t==="prev"){o._leftBlock.css("left",-o._currentMainBlockId*100-100+"%");o._addItemToLoadQueue(i,o._leftBlock,o.currAlbumId,o.currItemId-1)}o._topBlock.css("left",-o._currentMainBlockId*100+"%");o._bottomBlock.css("left",-o._currentMainBlockId*100+"%");s=o._getAlbum(o.currAlbumId);s.data("start-item",o.currItemId);o._addItemToLoadQueue(i,o._bottomBlock,o.currAlbumId+1,"start-item");o._addItemToLoadQueue(i,o._topBlock,o.currAlbumId-1,"start-item")}else{s=o._getAlbum(o.currAlbumId);o.currItemId=s.data("start-item");o._addItemToLoadQueue(i,o._centerBlock,o.currAlbumId,o.currItemId);o._addItemToLoadQueue(i,o._rightBlock,o.currAlbumId,o.currItemId+1);o._currentMainAlbumBlockId=o._tempMainAlbumBlockId;if(t==="next"){o._bottomBlock.css("top",-o._currentMainAlbumBlockId*100+100+"%");o._addItemToLoadQueue(i,o._bottomBlock,o.currAlbumId+1,"start-item");if(r){o._addItemToLoadQueue(i,o._topBlock,o.currAlbumId-1,"start-item")}}else{o._topBlock.css("top",-o._currentMainAlbumBlockId*100-100+"%");o._addItemToLoadQueue(i,o._topBlock,o.currAlbumId-1,"start-item");if(r){o._addItemToLoadQueue(i,o._bottomBlock,o.currAlbumId+1,"start-item")}}o._leftBlock.css("top",-o._currentMainAlbumBlockId*100+"%");o._rightBlock.css("top",-o._currentMainAlbumBlockId*100+"%");o._addItemToLoadQueue(i,o._leftBlock,o.currAlbumId,o.currItemId-1)}o._updateImageQueue(i)}if(o._changeHash){o._updateAlbumHash()}setTimeout(function(){o._isAnimating=false;o.onTransitionComplete.call(o);if(o._changeHash){o._setGrabCursor()}if(o.settings.autoOpenDescription&&o.sliderWidth>900){if(!o._collapsedSlider){if(o.currItemId===0&&!o.albumsArr[o.currAlbumId].data("sawInfo")){o._showAlbumInfo();o.albumsArr[o.currAlbumId].data("sawInfo",true)}else{o._fadeIn(o._albumIndicator)}}}else{o._fadeIn(o._albumIndicator)}},30)}var o=this,u;o.onTransitionStart.call(o);o._isAnimating=true;o[n]=e;if(n==="x"){u=o._xProp}else{u=o._yProp}var f={};if(isNaN(o._currAnimSpeed)){o._currAnimSpeed=400}if(!o._useCSS3Transitions){f[u]=e;o._dragContainer.animate(f,o._currAnimSpeed,i?o.settings.easeInOutEasing:"easeOutSine")}else{f[o.browserSufix+"transition-duration"]=o._currAnimSpeed+"ms";f[o.browserSufix+"transition-property"]=o.browserSufix+"transform";f[o.browserSufix+"transition-timing-function"]=i!=undefined?o.settings.css3easeInOutEasing:"cubic-bezier(0.390, 0.575, 0.565, 1.000)";o._dragContainer.css(f);o._dragContainer.css(u,o._tPref1+o.x+o._tPref2+o.y+o._tPref3)}if(s){o.loadingTimeout=setTimeout(function(){s.call()},o._currAnimSpeed+50)}else{o.loadingTimeout=setTimeout(function(){a()},o._currAnimSpeed+50)}},_setPosition:function(e,t){var n=this;if(n._useCSS3Transitions){if(t==="y"){n.y=e;n._dragContainer.css(n._yProp,n._tPref1+n.x+n._tPref2+n.y+n._tPref3)}else{n.x=e;n._dragContainer.css(n._xProp,n._tPref1+n.x+n._tPref2+n.y+n._tPref3)}}else{if(t==="y"){n.y=e;n._dragContainer.css(n._yProp,n.y)}else{n.x=e;n._dragContainer.css(n._xProp,n.x)}}},updateSliderSize:function(){var e=this,t=window.innerWidth||document.body.clientWidth,n=window.innerHeight||document.body.clientHeight,r=e._slidesWrapper.width(),i=e._slidesWrapper.height();if(r!=e.sliderWidth||i!=e.sliderHeight){e.sliderWidth=r;e.sliderHeight=i;e._xDistToSnap=1;e._yDistToSnap=1;if(e.sliderWidth<600){e._collapsedSlider=true;e.sliderRoot.addClass("smaller-collapsed-slider")}else{e._collapsedSlider=false;e.sliderRoot.removeClass("smaller-collapsed-slider")}if(t>=850){e._imagePaddingEMs="2";if(!e._controlsVisible){e._showAllControls()}}else if(t<850){if(t>700){e._imagePaddingEMs="1"}else{e._imagePaddingEMs="0"}}if(e._useCSS3Transitions){e._dragContainer.css(e.browserSufix+"transition-duration","0s")}var s=[e._centerBlock,e._leftBlock,e._rightBlock,e._bottomBlock,e._topBlock];var o;var u;for(var a=0;a=this.numAlbums){if(!n._loopAlbums){return false}e=0}var i=this.albumsArr[e];if(i){var s=i.find(".two-dim-item");if(s){var o=s.length;if(o<=0){return 0}if(t<0){if(!n._loopItems){return false}t=o-1}else if(t>=o){if(!n._loopItems){return false}t=0}r=s.eq(t)}r.find("img").data("img-scale",i.data("img-scale"))}return r},_updateCurrItemId:function(e,t){var n=this;n._lastAlbumId=n.currAlbumId;n._lastAlbumNumItems=n.currAlbumNumItems;n._lastItemId=n.currItemId;if(e<0){e=n.numAlbums-1}else if(e>=n.numAlbums){e=0}n.currAlbumId=e;var r=n.albumsArr[e];if(r){var i=r.find(".two-dim-item");if(i){var s=i.length;if(s<=0){return 0}n.currAlbumNumItems=s;if(t<0){t=s-1}else if(t>=s){t=0}}n.currItemId=t}else{alert("Album is empty:"+e+" id:"+t)}},_updateControls:function(e){function n(){t._itemCountIndicator.text(""+(t.currItemId+1)+" of "+t.currAlbumNumItems)}var t=this;if(e==="y"){if(t.numAlbums>1){if(t.currAlbumId>=0){if(t.settings.appendGalleriesToMenu){t._galleryMenuItems.removeClass("current-album-menu-item");t._galleryMenuItems.eq(t.currAlbumId).addClass("current-album-menu-item")}if(!t._collapsedSlider){t._fadeOut(t._albumIndicator)}setTimeout(function(){t._itemCountIndicator.text(""+(t.currItemId+1)+" of "+t.currAlbumNumItems);t._albumNameIndicator.text(t.albumsArr[t.currAlbumId].find(".album-title").text())},400);t._updateAlbumIndicator();t._updateItemControls()}}}else if(e==="x"){n();t._updateItemControls()}else{if(t._galleryMenuItems){var r=t._galleryMenuItems.eq(t.currAlbumId);r.addClass("current-album-menu-item")}t._updateAlbumIndicator();t._albumNameIndicator.text(t.albumsArr[t.currAlbumId].find(".album-title").text());n();t._updateItemControls()}},_updateItemControls:function(){var e=this;if(e._arrowControlsEnabled){if(e._prevImageArr.hasClass("disabled-arrow")){e._prevImageArr.removeClass("disabled-arrow")}if(e._nextImageArr.hasClass("disabled-arrow")){e._nextImageArr.removeClass("disabled-arrow")}if(e.currItemId<=0){if(e.currAlbumId>0){if(!e._prevImageArr.hasClass("prev-album-arrow")){e._prevImageArr.addClass("prev-album-arrow").find(".info-text").addClass("info-text-visible")}}else{if(e._lastItemLink&&e._galleryPostsNavigation.find("a[rel=next]").attr("href")){e._prevImageArr.addClass("prev-album-arrow").find(".info-text").addClass("info-text-visible")}else{e._prevImageArr.addClass("disabled-arrow").find(".info-text").removeClass("info-text-visible")}}}else{if(e._prevImageArr.hasClass("prev-album-arrow")){e._prevImageArr.removeClass("prev-album-arrow").find(".info-text").removeClass("info-text-visible")}}if(e.currItemId>=e.currAlbumNumItems-1){if(e.currAlbumId=this.numAlbums){e=0}return this.albumsArr[e]},_updateImageQueue:function(e){var t=this;if(e){var n,r,i,s,o,u;for(var a=0;a0){i.append('');i.find(".play-button-container").bind("click",function(n){if(!t.moved){n.preventDefault();n.stopImmediatePropagation();t._controlsVisible=true;t._showVideo(e,i)}else{return false}})}}else{if(i.find(".play-button-container").length>0){i.find("img").css("cursor","inherit").unbind("click");i.find(".play-button-container").unbind("click");i.find(".play-button-container").remove()}}e.block.removeClass("loading");e.block.find(".preloader-container").remove();n.unbind("error.tds");n.unbind("load.tds");if(!t.firstLoaded&&t.settings.firstImageLoadedCallback){t.settings.firstImageLoadedCallback.call(t);t.firstLoaded=true}if(t.loadQueue.length>1){t.loadQueue.shift();t._loadNextImage()}else{t.isLoading=false}}},_loadNextImage:function(){var t=this;var n=t.loadQueue[0];if(!n){return}var r=n.item;if(r){var i=n.block,s=i.find("img").eq(0),o=i.find("#img-desc").eq(0),u=r.find("a").attr("href"),a=r.attr("data-img-width"),f=r.attr("data-img-height"),l=r.attr("data-img-desc");if(s.length<=0){hasImage=false;s=e("");currBlockPath=""}else{hasImage=true;currBlockPath=s.attr("src")}if(o.length<=0){hasDesc=false;o=e('
'+l+"
")}else{hasDesc=true}s.data({"img-width":a,"img-height":f,"img-scale":r.data("img-scale")});if(currBlockPath===u){if(!i.hasClass("loading")){if(t.loadQueue.length>1){t.loadQueue.shift();t._loadNextImage()}else{t.isLoading=false}}return}if(!t.imageLoader||t.imageLoader.attr("src")!=u){i.addClass("loading");i.append('
');s.css("visibility","hidden").bind("load.tds",t._onLoadingComplete({type:"loaded",loadDataItem:n,block:i,img:s})).bind("error.tds",t._onLoadingComplete({type:"error",loadDataItem:n,block:i,img:s})).attr({src:u,alt:r.find("a").text()});if(!hasDesc){o.appendTo(i.find(".block-inside"))}if(l.length>0){o.show()}else{o.hide()}if(!hasImage){s.appendTo(i.find(".block-inside"))}t._resizeImage(s,a,f)}else{t._resizeImage(s,a,f);t._onLoadingComplete({type:"loaded",item:r,block:i})}}},_resizeImage:function(e,t,n,r){var i=this;imgScaleMode=!r?e.data("img-scale"):"fit-if-smaller";if(!r){t=parseInt(t,10);n=parseInt(n,10)}if(!r){var s;if(imgScaleMode!=="fill"){s=i._imagePaddingEMs+"em"}else{s="0"}var o=e.parent(".block-inside").css("margin",s);i.imgWrapWidth=o.width();i.imgWrapHeight=o.height()}else{i.imgWrapWidth=i.videoContainer.width();i.imgWrapHeight=i.videoContainer.height()}var u=0,a=i.imgWrapWidth,f=i.imgWrapHeight,l=true,c,h,p,d,v;if(imgScaleMode==="fit-if-smaller"){if(t>a||n>f){imgScaleMode="fit"}}if(imgScaleMode==="fill"||imgScaleMode==="fit"){c=a/t;h=f/n;if(imgScaleMode=="fill"){p=c>h?c:h}else if(imgScaleMode=="fit"){p=c');r.videoOverlay.css("display","block");var a=r._resizeImage("",r.settings.maxVideoWidth,r.settings.maxVideoHeight,true);u.css({"margin-left":a.left,"margin-top":a.top,width:a.width,height:a.height});r._videoCloseButton.removeClass("hidden-video");r.videoContainer.append(u)}else{alert("Incorrect YouTube URL syntax")}}else if(s.match(/vimeo\.com/i)){o=r._getVimeoVideoId(s);r.isVideoPlaying=true;s="http://player.vimeo.com/video/"+o+"?title=0&byline=0&portrait=0";if(r.settings.autoplayVideo)s+="&autoplay=1";n.find(".play-button").addClass("play-button-loading");r._fadeInVideo(t.loadDataItem.block);var u=e('');r.videoOverlay.css("display","block");var a=r._resizeImage("",r.settings.maxVideoWidth,r.settings.maxVideoHeight,true);u.css({"margin-left":a.left,"margin-top":a.top,width:a.width,height:a.height});r._videoCloseButton.removeClass("hidden-video");r.videoContainer.append(u)}else{alert("Incorrect video URL: "+s)}}},stopAndCloseVideo:function(){var e=this;e._videoCloseButton.addClass("hidden-video");e.videoOverlay.css("display","none");e.videoContainer.find("iframe").remove();var t=e._centerBlock.find("img");if(t.length>0){t.animate({opacity:1},400,"easeOutSine")}e._centerBlock.find(".play-button-loading").removeClass("play-button-loading");e.isVideoPlaying=false;e._showAllControls()},_fadeInVideo:function(e){var t=this;if(t._albumInfoOpen){t._toggleAlbumInfo()}var n=e.find("img");if(n.length>0){n.animate({opacity:0},400,"easeOutSine")}t._hideAllControls()},_showAllControls:function(){var e=this;if(!e._controlsVisible){e._fadeIn(e._headerSideMenu);e._controlsVisible=true;e._fadeIn(e._sliderControls)}},_hideAllControls:function(){var e=this;if(e._controlsVisible){if(e._albumInfoOpen){e._toggleAlbumInfo()}if(e._headerSideMenu.hasClass("collapsed-gallery-page-menu")){e._fadeOut(e._headerSideMenu)}e._fadeOut(e._sliderControls);e._controlsVisible=false}},_fadeOut:function(e,t){setTimeout(function(){e.stop().animate({opacity:0},300,function(){e.css("display","none");if(t){t.call()}})},0)},_fadeIn:function(e,t){e.stop().css("display","block");setTimeout(function(){e.animate({opacity:1},300,function(){if(t){t.call()}})},0)},_getVimeoVideoId:function(e){var t=/\/\/(www\.)?vimeo.com\/(\d+)($|\/)/;var n=e.match(t);if(n){return n[2]}else{return false}},_getYoutubeVideoId:function(e){var t=/^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/;var n=e.match(t);if(n&&n[7].length==11){return n[7]}else{return false}},_showAlbumInfo:function(){var t=this,n;if(!t._albumInfoOpen){if(t._albumInfoBlock.data("curr-album-id")!==t.currAlbumId){var r=t.albumsArr[t.currAlbumId].find(".album-meta");var i='
'+r.html();var s=r.find(".album-title a");var o=s.attr("href");s=s.html();var u=t._getItem(t.currAlbumId,0).find("a").attr("href");i+='
";i+="
";t._albumInfoBlock.html(i);var a=t._albumInfoBlock.find(".album-title a");a.replaceWith(a.text());var f=t._albumInfoBlock.find(".close-project");f.bind("click",function(e){e.preventDefault();t._hideAlbumInfo()});t._albumInfoBlock.find(".pin-it-btn, .facebook-share-btn").click(function(t){t.preventDefault();var n=window.open(e(this).attr("href"),"signin","width=665,height=300")});if(typeof FB!="undefined"&&FB!=null){FB.XFBML.parse(t._albumInfoBlock.get(0))}t._albumInfoBlock.data("curr-album-id",t.currAlbumId)}t._fadeIn(t._albumInfoBlock);t._fadeOut(t._albumIndicator);t._albumInfoOpen=true}},_hideAlbumInfo:function(){var e=this;if(e._albumInfoOpen){e._albumInfoAnimating=true;e._fadeOut(e._albumInfoBlock,function(){e._albumInfoAnimating=false});e._fadeIn(e._albumIndicator);e._albumInfoOpen=false}},_toggleAlbumInfo:function(){var e=this,t;if(e._albumInfoOpen){e._hideAlbumInfo()}else{e._showAlbumInfo()}},_updateMenuSize:function(){var e=this,t=window.innerWidth||document.body.clientWidth;if(e._isMenuVisible){e._isMenuCollapsed=true;if(t>600){e._headerSideMenu.css("width","50%")}else{e._headerSideMenu.css("width","100%")}}},_getQueryParameters:function(){var e=window.location.href.split("?")[1];if(!e){return{}}var t=e.split("&");var n={};for(var r=0,i=t.length;r-1,isChrome=ua.indexOf('chrome')>-1,isMac=(navigator.appVersion.indexOf("Mac")!=-1);var tempStyle=document.createElement('div').style,vendors=['webkit','Moz','ms','O'],vendor='',tempV;for(i=0;i
';});out+='';out+='';if(self._arrowControlsEnabled){} +out+='
';if(self._arrowControlsEnabled){out+=''+'';} +var listurl=self._getQueryParameters().listurl;if(listurl){out+='';} +out+='
';out+='
'+''+''+'
';out+='
';out+='
';self._galleryPostsNavigation=self.sliderRoot.find('.gallery-posts-navigation');self._lastItemLink=false;if(self._galleryPostsNavigation.length>0){self._lastItemLink=true;} +self.sliderRoot.append(out);self._slidesWrapper=self.sliderRoot.find('.slider-wrapper');self.videoOverlay=self.sliderRoot.find('.video-overlay');self.videoContainer=self.videoOverlay.find('.video-container');self.currVideoImg='';self.isVideoPlaying=false;self._videoCloseButton=self.videoOverlay.find('.video-close-button');self._videoCloseButton.bind('click',function(e){self.stopAndCloseVideo();});self._nextPrevActionsLocked=false;var slidesWrapper=self._slidesWrapper;self._dragContainer=slidesWrapper.find('.drag-container');self._topBlock=slidesWrapper.find('.top');self._leftBlock=slidesWrapper.find('.left');self._centerBlock=slidesWrapper.find('.center');self._rightBlock=slidesWrapper.find('.right');self._bottomBlock=slidesWrapper.find('.bottom');self._albumInfoAnimating=false;self.loadQueue;self.imageLoader;self._lastAlbumId;self._lastAlbumNumItems;self._lastItemId;self._changeHash=false;self._imagePaddingEMs=0;self._controlsVisible=true;self._currentMainBlockId=0;self._currentMainAlbumBlockId=0;self._tempMainBlockId=0;self._tempMainAlbumBlockId=0;if(self.settings.disableContextMenu){self.sliderRoot.bind('contextmenu',function(e){e.preventDefault();e.stopImmediatePropagation();return false;});} +if(self.hasTouch){self._lastItemFriction=0.5;self.settings.autoOpenDescription=false;}else{self._lastItemFriction=0.2;} +if(self._useCSS3Transitions){if(isMozilla&&vendor==='moz'){self.browserSufix='-moz-';self._yProp=self._xProp='-moz-transform';self.transitionEndEvent='transitionend.tds';if(self._use3dTransform){self._tPref1='translate3d(';self._tPref2='px, ';self._tPref3='px, 0px)';}else{self._tPref1='translate(';self._tPref2='px, ';self._tPref3='px)';}}else if(isWebkit&&self._use3dTransform){self.browserSufix='-webkit-';self._yProp=self._xProp='-webkit-transform';self.transitionEndEvent='webkitTransitionEnd.tds';if(self._use3dTransform){if(!isChrome){self._dragContainer.children().css({'-webkit-transform':'translateZ(0)','-webkit-perspective':'1000','-webkit-backface-visibility':'hidden'});} +self._dragContainer.css({'-webkit-transform':'translateZ(0px)','-webkit-perspective':'1000','-webkit-backface-visibility':'hidden'});self._tPref1='translate3d(';self._tPref2='px, ';self._tPref3='px, 0px)';}else{self._tPref1='translate(';self._tPref2='px, ';self._tPref3='px)';}}else{self.browserSufix=(/trident/i).test(navigator.userAgent)?'-ms-':'opera'in window?'-o-':'';self._yProp=self._xProp=self.browserSufix+'transform';self.transitionEndEvent=self.browserSufix+'transitionend.tds';self._tPref1='translate(';self._tPref2='px, ';self._tPref3='px)';}}else{self._xProp='left';self._yProp='top';self._tPref1='';self._tPref2='';self._tPref3='';self._tPref4='';} +self._sliderControls=self.sliderRoot.find('.slider-controls');self._albumInfoOpen=false;self._albumInfoAnimRunning=false;self._headerSideMenu=$('.main-header');self._menusContainer=self._headerSideMenu.find('.menus-container');self._menusContainer=self._headerSideMenu.find('.menus-container');self.albumsArr=[];self.currAlbum;self._albumIndicator=self._sliderControls.find('.slider-album-indicator');self._albumInfoText=self._albumIndicator.find('.album-info-text');self._albumNameIndicator=self._albumIndicator.find('.album-name-indicator');self._itemCountIndicator=self._albumIndicator.find('.item-count-indicator');self._albumInfoBlock=$('
').appendTo('body');self.init();} +TwoDimSlider.prototype={init:function(){var self=this;var infoBlockHideTimeout;self._albumIndicator.bind('click',function(){self._toggleAlbumInfo();});if(self.settings.appendGalleriesToMenu){var albums=self.sliderRoot.find('.two-dim-album'),album,albumsMenu='';}else{self.sliderRoot.find('.two-dim-album').each(function(i,val){self.albumsArr.push($(val).data('start-item',0));});} +if(!self.albumsArr.length>0){alert('Gallery error :(. No albums and images found');return;} +var startAlbum=0;var hash=window.location.hash;if(hash){startAlbum=self._getAlbumIdFromHash(hash);} +self.currAlbum=self.albumsArr[startAlbum];self.currAlbumId=startAlbum;self.numAlbums=self.albumsArr.length;if(self._arrowControlsEnabled){self._prevImageArr=self.sliderRoot.find('.arrow-left').click(function(e){e.preventDefault();self.prev();});self._nextImageArr=self.sliderRoot.find('.arrow-right').click(function(e){e.preventDefault();self.next();});} +self._primaryMenu=self._headerSideMenu.find('.primary-menu > .current-menu-item');if(self.settings.appendGalleriesToMenu&&self.numAlbums>1){if(self._primaryMenu.index()!=0){self._primaryMenu.before('');} +albumsMenu+='';self._primaryMenu.append(albumsMenu);self._galleryMenuItems=self._primaryMenu.find("#gallery-menu").find("li");self._galleryMenuItems.click(function(e){e.preventDefault();e.stopImmediatePropagation();var newAlbumId=self.getAlbumIdByIdAtt($(this).attr('data-id'));self._moveTo(newAlbumId,'y',500,true,true);});} +self.currAlbumItems=self.currAlbum.find('.two-dim-item');self.currItemId=hash?self._getImageIdFromHash(hash):0;self.currAlbumNumItems=self.currAlbumItems.length;self.currAlbumScaleMode=self.currAlbum.data('img-scale');var resizeTimer;$(window).bind(self._orientationChangeEvent,function(){if(resizeTimer){clearTimeout(resizeTimer);} +resizeTimer=setTimeout(function(){self.updateSliderSize();},35);});self.updateSliderSize();self.updateContents();self._slidesWrapper.bind(self._downEvent,function(e){self._onDragStart(e);});if(self.settings.keyboardNavEnabled){$(document).keydown(function(e){if(!self._isDragging&&!self._isAnimating){if(e.keyCode===37){e.preventDefault();self.prev();}else if(e.keyCode===39){e.preventDefault();self.next();}else if(e.keyCode===40){e.preventDefault();self.nextAlbum();}else if(e.keyCode===38){e.preventDefault();self.prevAlbum();}else if(e.keyCode===73){self._toggleAlbumInfo();}}});} +$('body').bind('mouseleave',function(e){if(self._isDragging){self._onDragRelease(e);}});if(!self.hasTouch){self.sliderRoot.bind('mousewheel',function(e,delta,deltaX,deltaY){if(delta<0){self.next();}else if(delta>0){self.prev();}});} +self._changedByHash=false;self._ignoreHashChange=false;self._hashTimeout;if(self.hasTouch){$.idleTimer(self.hasTouch?4000:2000,document,{events:'mousemove touchend mouseup'});$(document).bind("idle.idleTimer",function(){if(!self._albumInfoOpen){self._hideAllControls();}});}else{} +if(self.settings.autoOpenDescription){if(self.sliderWidth>900){self._showAlbumInfo();self._fadeOut(self._albumIndicator);self.albumsArr[self.currAlbumId].data('sawInfo',true);}} +$(window).bind('hashchange.tds',function(){self._onHashChange();});},getAlbumIdByIdAtt:function(idAtt){var self=this,albums=self.albumsArr;for(var i=0;iself.currItemId){if(startImgId-self.currItemId===1){self._moveTo('next','x',this.settings.transitionSpeed,false,true);}else{self.init();}}else{if(startImgId-self.currItemId===-1){self._moveTo('prev','x',this.settings.transitionSpeed,false,true);}else{self.init();}}}},_getItemFileName:function(item){var imgLink=$(item).find('a');var imgLinkHref=$(imgLink).attr('href');var imgFileName=imgLinkHref;var imgFileNameMatch=imgLinkHref.match(/(?:[^\/]*\/)*(.*)/);if(imgFileNameMatch){imgFileName=imgFileNameMatch[1];} +if(imgFileName.indexOf('.jpg')===imgFileName.length-4){imgFileName=imgFileName.substr(0,imgFileName.indexOf('.jpg'));} +return imgFileName;},_getItemLinkText:function(item){var imgLink=$(item).find('a');var imgLinkText=$(imgLink).text();return imgLinkText;},_getImageLinkTextById:function(items,id){var imgNode=items[id];var imgLinkText=this._getItemFileName(imgNode);return imgLinkText;},_updateImageHashFrag:function(imageId){var album=this.albumsArr[this.currAlbumId];if(album){var items=album.find('.two-dim-item');var imgLinkText=this._getImageLinkTextById(items,imageId);var albumId=$(album).data('albumId');var newHash=albumId+'/'+imgLinkText;this._updateHash(newHash);}},_getImgId:function(imgTitle){var imgId=0,i,item,imgTitle;var album=this.albumsArr[this.currAlbumId];if(!imgTitle){return 0;} +if(album){var items=album.find('.two-dim-item');if(items){for(i=0;i=self.currAlbumNumItems){self._doBackAndForthAnim('right');return false;} +self._hideAlbumInfo();self._tempMainBlockId=self._currentMainBlockId-1;self._updateCurrItemId(self.currAlbumId,self.currItemId+1);blockLink=self._rightBlock;self._rightBlock=self._leftBlock;self._leftBlock=self._centerBlock;self._centerBlock=blockLink;newPos=self._tempMainBlockId*self.sliderWidth;self._currAnimSpeed=speed;self._animateTo(newPos,'next','x',false,inOutEasing);}else if(type==='prev'){if(!self._loopItems&&self.currItemId-1<0){self._doBackAndForthAnim('left');return false;} +self._hideAlbumInfo();self._tempMainBlockId=self._currentMainBlockId+1;self._updateCurrItemId(self.currAlbumId,self.currItemId-1);blockLink=self._centerBlock;self._centerBlock=self._leftBlock;self._leftBlock=self._rightBlock;self._rightBlock=blockLink;newPos=self._tempMainBlockId*self.sliderWidth;self._currAnimSpeed=speed;self._animateTo(newPos,'prev','x',false,inOutEasing);}else{var newItemId=parseInt(type,10);if(newItemId===self.currItemId+1){self._moveTo('next','x',speed);}else if(newItemId===self.currAlbumId-1){self._moveTo('prev','x',speed);}else{if(newItemId>self.currItemId){self._tempMainBlockId=self._currentMainBlockId-1;self._updateCurrItemId(self.currAlbumId,currItemId);blockLink=self._rightBlock;self._rightBlock=self._leftBlock;self._leftBlock=self._centerBlock;self._centerBlock=blockLink;newPos=self._tempMainBlockId*self.sliderWidth;self._currAnimSpeed=speed;self._centerBlock.find('img').css('visibility','hidden');self._animateTo(newPos,'next','x',true,inOutEasing);}else if(newItemId=self.numAlbums){if(!second){self._doBackAndForthAnim('bottom');}else{self._doBackAndForthAnim('right');} +return false;} +self._hideAlbumInfo();self._tempMainAlbumBlockId=self._currentMainAlbumBlockId-1;self._updateCurrItemId(self.currAlbumId+1,0);album=self._getAlbum(self.currAlbumId);self.currItemId=album.data('start-item');blockLink=self._bottomBlock;self._bottomBlock=self._topBlock;self._topBlock=self._centerBlock;self._centerBlock=blockLink;newPos=self._tempMainAlbumBlockId*self.sliderHeight;self._currAnimSpeed=speed;self._animateTo(newPos,'next','y',false,inOutEasing);}else if(type==='prev'){if(!self._loopAlbums&&self.currAlbumId-1<0){if(!second){self._doBackAndForthAnim('top');}else{self._doBackAndForthAnim('left');} +return false;} +self._hideAlbumInfo();self._tempMainAlbumBlockId=self._currentMainAlbumBlockId+1;self._updateCurrItemId(self.currAlbumId-1,0);album=self._getAlbum(self.currAlbumId);self.currItemId=album.data('start-item');blockLink=self._centerBlock;self._centerBlock=self._topBlock;self._topBlock=self._bottomBlock;self._bottomBlock=blockLink;newPos=self._tempMainAlbumBlockId*self.sliderHeight;self._currAnimSpeed=speed;self._animateTo(newPos,'prev','y',false,inOutEasing);}else{var newAlbumId=parseInt(type,10);if(newAlbumId===self.currAlbumId+1){self._moveTo('next','y',speed,changeHash,inOutEasing);}else if(newAlbumId===self.currAlbumId-1){self._moveTo('prev','y',speed,changeHash,inOutEasing);}else{if(newAlbumId>self.currAlbumId){self._tempMainAlbumBlockId=self._currentMainAlbumBlockId-1;self._updateCurrItemId(newAlbumId,0);album=self._getAlbum(self.currAlbumId);self.currItemId=album.data('start-item');blockLink=self._bottomBlock;self._bottomBlock=self._topBlock;self._topBlock=self._centerBlock;self._centerBlock=blockLink;newPos=self._tempMainAlbumBlockId*self.sliderHeight;self._currAnimSpeed=speed;self._updateAlbumBackground(self._centerBlock,album.data('bg'),self.currAlbumId);self._centerBlock.find('.play-button-container').remove();self._centerBlock.find('img').css('visibility','hidden');self._animateTo(newPos,'next','y',true,inOutEasing);}else if(newAlbumId=self.currAlbumNumItems&&self.currAlbumId0){point=touches[0];if(touches.length>1){self._multipleTouches=true;}} +else{return false;}}else{point=e;e.preventDefault();} +$(document).bind(self._moveEvent,function(e){self._onDragMove(e);});$(document).bind(self._upEvent,function(e){self._onDragRelease(e);});self._isVerticalNav=false;self._currMoveAxis='';self.moved=false;self.pointX=self._accelerationX=self.startX=point.pageX;self.pointY=self._accelerationY=self.startY=point.pageY;self.changedX=0;self.changedY=0;self.horDirection=0;self.verDirection=0;self.directionLocked=false;self._startTime=(e.timeStamp||(new Date().getTime()));self._moveDist=0;if(self.hasTouch){self._slidesWrapper.bind(self._cancelEvent,function(e){self._onDragRelease(e);});}},_onDragMove:function(e){var self=this,point;if(self.hasTouch){var touches=e.originalEvent.touches;if(touches){if(touches.length>1){return false;}else{point=touches[0];}}else{return false;} +e.preventDefault();}else{point=e;e.preventDefault();} +var timeStamp=(e.timeStamp||(new Date().getTime())),deltaX=point.pageX-self.pointX,deltaY=point.pageY-self.pointY;self.changedX+=Math.abs(deltaX);self.changedY+=Math.abs(deltaY);if(self.changedY<10&&self.changedX<7){return;} +var newX=self.x+deltaX,newY=self.y+deltaY;self.moved=true;self.pointX=point.pageX;self.pointY=point.pageY;var mAxis=self._currMoveAxis;if(mAxis==='x'){if(deltaX!==0){self.horDirection=deltaX>0?1:-1;}}else if(mAxis==='y'){if(deltaY!==0){self.verDirection=deltaY>0?1:-1;}}else{if(self.changedY>self.changedX){self._isVerticalNav=true;self._currMoveAxis='y';self.verDirection=deltaY>0?1:-1;}else{self._currMoveAxis='x';self.horDirection=deltaX>0?1:-1;}} +if(self._isVerticalNav){if(!self._loopAlbums){if(self.currAlbumId<=0){if(point.pageY-this.startY>0){newY=self.y+deltaY*self._lastItemFriction;}} +if(self.currAlbumId>=self.numAlbums-1){if(point.pageY-this.startY<0){newY=self.y+deltaY*self._lastItemFriction;}}} +self._setPosition(newY,'y');if(timeStamp-self._startTime>200){self._startTime=timeStamp;self._accelerationY=point.pageY;}}else{if(!self._loopItems){if(self.currItemId<=0){if(point.pageX-this.startX>0){newX=self.x+deltaX*self._lastItemFriction;}} +if(self.currItemId>=self.currAlbumNumItems-1){if(point.pageX-this.startX<0){newX=self.x+deltaX*self._lastItemFriction;}}} +self._setPosition(newX,'x');if(timeStamp-self._startTime>200){self._startTime=timeStamp;self._accelerationX=point.pageX;}} +return false;},_onDragRelease:function(e){var self=this,point=self.hasTouch?e.originalEvent.changedTouches[0]:e,totalMovePos,totalMoveDist,accDist,duration,v0,newPos,newDist,newDuration,blockLink;self._isDragging=false;$(document).unbind(self._moveEvent);$(document).unbind(self._upEvent);if(self.hasTouch){self._slidesWrapper.unbind(self._cancelEvent);} +self._setGrabCursor();if(!self.moved&&!self._multipleTouches){if(self._albumInfoOpen){self._hideAlbumInfo();return;} +if(self.hasTouch){if(self._controlsVisible){self._hideAllControls();}else{self._showAllControls();} +return;}else{if(!$(e.target).hasClass('play-button-icon')){self.next();} +return;}} +duration=Math.max(30,(e.timeStamp||(new Date().getTime())))-self._startTime;function getCorrectSpeed(newSpeed){if(newSpeed<200){return 200;}else if(newSpeed>500){return 500;} +return newSpeed;} +function returnToCurrent(axis,isSlow,v0){if(axis==='x'){newPos=self._currentMainBlockId*self.sliderWidth;}else{newPos=self._currentMainAlbumBlockId*self.sliderHeight;} +newDist=Math.abs(self[axis]-newPos);self._currAnimSpeed=newDist/v0;if(isSlow){self._currAnimSpeed+=250;} +self._currAnimSpeed=getCorrectSpeed(self._currAnimSpeed);self._animateTo(newPos,false,axis);} +var snapDist=0;if(self._isVerticalNav){var axisSmall='y',pPos=point.pageY,sPos=self.startY,axPos=self._accelerationY,axCurrItem=self.currAlbumId,axNumItems=self.numAlbums,dir=self.verDirection,sliderSize=self.sliderHeight,axMainItemId=self._currentMainAlbumBlockId,loop=self._loopAlbums,changeHash=true,distOffset=50;}else{var axisSmall='x',pPos=point.pageX,sPos=self.startX,axPos=self._accelerationX,axCurrItem=self.currItemId,axNumItems=self.currAlbumNumItems,dir=self.horDirection,sliderSize=self.sliderWidth,axMainItemId=self._currentMainBlockId,loop=self._loopItems,changeHash=false,distOffset=0;} +totalMovePos=pPos-sPos;totalMoveDist=Math.abs(totalMovePos);accDist=pPos-axPos;v0=(Math.abs(accDist))/duration;if(dir===0||axNumItems<=1){returnToCurrent(axisSmall,true,v0);return false;} +if(!loop){if(axCurrItem<=0){if(dir>0){returnToCurrent(axisSmall,true,v0);return false;}}else if(axCurrItem>=axNumItems-1){if(dir<0){returnToCurrent(axisSmall,true,v0);return false;}}} +if(sPos+snapDistpPos){if(dir>0){returnToCurrent(axisSmall,false,v0);return false;} +self._moveTo('next',axisSmall,getCorrectSpeed(Math.abs(self[axisSmall]-(axMainItemId-1)*sliderSize)/v0),changeHash);}else{returnToCurrent(axisSmall,false,v0);} +return false;},_addItemToLoadQueue:function(arr,blockToAdd,albumId,itemId){var self=this,item,album=self._getAlbum(albumId);if(itemId==='start-item'){itemId=album.data('start-item');} +item=self._getItem(albumId,itemId);if(!item){blockToAdd.addClass('last-block');}else{if(blockToAdd.hasClass('last-block')){blockToAdd.removeClass('last-block');} +var imgScale=item.data('img-scale');if(!imgScale){imgScale=album.data('img-scale');item.data('img-scale',imgScale);} +arr.push({block:blockToAdd,item:item,bgColor:album.data('bg'),albumId:albumId});}},_animateTo:function(pos,dir,axis,loadAll,inOutEasing,customComplete){var self=this,moveProp;self.onTransitionStart.call(self);self._isAnimating=true;self[axis]=pos;if(axis==='x'){moveProp=self._xProp;}else{moveProp=self._yProp;} +function animationComplete(){var item,loadArr=[],album;if(dir){if(axis==='x'){self._addItemToLoadQueue(loadArr,self._centerBlock,self.currAlbumId,self.currItemId);self._currentMainBlockId=self._tempMainBlockId;if(dir==='next'){self._rightBlock.css('left',(-self._currentMainBlockId*100+100)+'%');self._addItemToLoadQueue(loadArr,self._rightBlock,self.currAlbumId,self.currItemId+1);}else if(dir==='prev'){self._leftBlock.css('left',(-self._currentMainBlockId*100-100)+'%');self._addItemToLoadQueue(loadArr,self._leftBlock,self.currAlbumId,self.currItemId-1);} +self._topBlock.css('left',(-self._currentMainBlockId*100)+'%');self._bottomBlock.css('left',(-self._currentMainBlockId*100)+'%');album=self._getAlbum(self.currAlbumId);album.data('start-item',self.currItemId);self._addItemToLoadQueue(loadArr,self._bottomBlock,self.currAlbumId+1,'start-item');self._addItemToLoadQueue(loadArr,self._topBlock,self.currAlbumId-1,'start-item');}else{album=self._getAlbum(self.currAlbumId);self.currItemId=album.data('start-item');self._addItemToLoadQueue(loadArr,self._centerBlock,self.currAlbumId,self.currItemId);self._addItemToLoadQueue(loadArr,self._rightBlock,self.currAlbumId,self.currItemId+1);self._currentMainAlbumBlockId=self._tempMainAlbumBlockId;if(dir==='next'){self._bottomBlock.css('top',(-self._currentMainAlbumBlockId*100+100)+'%');self._addItemToLoadQueue(loadArr,self._bottomBlock,self.currAlbumId+1,'start-item');if(loadAll){self._addItemToLoadQueue(loadArr,self._topBlock,self.currAlbumId-1,'start-item');}}else{self._topBlock.css('top',(-self._currentMainAlbumBlockId*100-100)+'%');self._addItemToLoadQueue(loadArr,self._topBlock,self.currAlbumId-1,'start-item');if(loadAll){self._addItemToLoadQueue(loadArr,self._bottomBlock,self.currAlbumId+1,'start-item');}} +self._leftBlock.css('top',(-self._currentMainAlbumBlockId*100)+'%');self._rightBlock.css('top',(-self._currentMainAlbumBlockId*100)+'%');self._addItemToLoadQueue(loadArr,self._leftBlock,self.currAlbumId,self.currItemId-1);} +self._updateImageQueue(loadArr);} +if(self._changeHash){self._updateAlbumHash();} +setTimeout(function(){self._isAnimating=false;self.onTransitionComplete.call(self);if(self._changeHash){self._setGrabCursor();} +if(self.settings.autoOpenDescription&&self.sliderWidth>900){if(!self._collapsedSlider){if(self.currItemId===0&&!self.albumsArr[self.currAlbumId].data('sawInfo')){self._showAlbumInfo();self.albumsArr[self.currAlbumId].data('sawInfo',true);}else{self._fadeIn(self._albumIndicator);}}}else{self._fadeIn(self._albumIndicator);}},30);} +var animObj={};if(isNaN(self._currAnimSpeed)){self._currAnimSpeed=400;} +if(!self._useCSS3Transitions){animObj[moveProp]=pos;self._dragContainer.animate(animObj,self._currAnimSpeed,inOutEasing?self.settings.easeInOutEasing:'easeOutSine');}else{animObj[(self.browserSufix+'transition-duration')]=self._currAnimSpeed+'ms';animObj[(self.browserSufix+'transition-property')]=(self.browserSufix+'transform');animObj[(self.browserSufix+'transition-timing-function')]=((inOutEasing!=undefined)?self.settings.css3easeInOutEasing:'cubic-bezier(0.390, 0.575, 0.565, 1.000)');self._dragContainer.css(animObj);self._dragContainer.css(moveProp,self._tPref1+self.x+self._tPref2+self.y+self._tPref3);} +if(customComplete){self.loadingTimeout=setTimeout(function(){customComplete.call();},self._currAnimSpeed+50);}else{self.loadingTimeout=setTimeout(function(){animationComplete();},self._currAnimSpeed+50);}},_setPosition:function(pos,axis){var self=this;if(self._useCSS3Transitions){if(axis==='y'){self.y=pos;self._dragContainer.css(self._yProp,self._tPref1+self.x+self._tPref2+self.y+self._tPref3);}else{self.x=pos;self._dragContainer.css(self._xProp,self._tPref1+self.x+self._tPref2+self.y+self._tPref3);}}else{if(axis==='y'){self.y=pos;self._dragContainer.css(self._yProp,self.y);}else{self.x=pos;self._dragContainer.css(self._xProp,self.x);}}},updateSliderSize:function(){var self=this,winWidth=window.innerWidth||document.body.clientWidth,winHeight=window.innerHeight||document.body.clientHeight,wrapWidth=self._slidesWrapper.width(),wrapHeight=self._slidesWrapper.height();if(wrapWidth!=self.sliderWidth||wrapHeight!=self.sliderHeight){self.sliderWidth=wrapWidth;self.sliderHeight=wrapHeight;self._xDistToSnap=1;self._yDistToSnap=1;if(self.sliderWidth<600){self._collapsedSlider=true;self.sliderRoot.addClass('smaller-collapsed-slider');}else{self._collapsedSlider=false;self.sliderRoot.removeClass('smaller-collapsed-slider');} +if(winWidth>=850){self._imagePaddingEMs='2';if(!self._controlsVisible){self._showAllControls();}}else if(winWidth<850){if(winWidth>700){self._imagePaddingEMs='1';}else{self._imagePaddingEMs='0';}} +if(self._useCSS3Transitions){self._dragContainer.css((self.browserSufix+'transition-duration'),'0s');} +var blocks=[self._centerBlock,self._leftBlock,self._rightBlock,self._bottomBlock,self._topBlock];var img;var name;for(var i=0;i=this.numAlbums){if(!self._loopAlbums){return false;} +albumId=0;} +var album=this.albumsArr[albumId];if(album){var items=album.find('.two-dim-item');if(items){var numItems=items.length;if(numItems<=0){return 0;} +if(itemId<0){if(!self._loopItems){return false;} +itemId=numItems-1;}else if(itemId>=numItems){if(!self._loopItems){return false;} +itemId=0;} +item=items.eq(itemId);} +item.find('img').data('img-scale',album.data('img-scale'));} +return item;},_updateCurrItemId:function(albumId,id){var self=this;self._lastAlbumId=self.currAlbumId;self._lastAlbumNumItems=self.currAlbumNumItems;self._lastItemId=self.currItemId;if(albumId<0){albumId=self.numAlbums-1;}else if(albumId>=self.numAlbums){albumId=0;} +self.currAlbumId=albumId;var album=self.albumsArr[albumId];if(album){var items=album.find('.two-dim-item');if(items){var numItems=items.length;if(numItems<=0){return 0;} +self.currAlbumNumItems=numItems;if(id<0){id=numItems-1;}else if(id>=numItems){id=0;}} +self.currItemId=id;}else{alert('Album is empty:'+albumId+' id:'+id);}},_updateControls:function(axis){var self=this;function updateCurrImage(){self._itemCountIndicator.text(''+(self.currItemId+1)+' of '+self.currAlbumNumItems);} +if(axis==='y'){if(self.numAlbums>1){if(self.currAlbumId>=0){if(self.settings.appendGalleriesToMenu){self._galleryMenuItems.removeClass('current-album-menu-item');self._galleryMenuItems.eq(self.currAlbumId).addClass('current-album-menu-item');} +if(!self._collapsedSlider){self._fadeOut(self._albumIndicator);} +setTimeout(function(){self._itemCountIndicator.text(''+(self.currItemId+1)+' of '+self.currAlbumNumItems);self._albumNameIndicator.text(self.albumsArr[self.currAlbumId].find('.album-title').text());},400);self._updateAlbumIndicator();self._updateItemControls();}}}else if(axis==='x'){updateCurrImage();self._updateItemControls();}else{if(self._galleryMenuItems){var currItem=self._galleryMenuItems.eq(self.currAlbumId);currItem.addClass('current-album-menu-item');} +self._updateAlbumIndicator();self._albumNameIndicator.text(self.albumsArr[self.currAlbumId].find('.album-title').text());updateCurrImage();self._updateItemControls();}},_updateItemControls:function(){var self=this;if(self._arrowControlsEnabled){if(self._prevImageArr.hasClass('disabled-arrow')){self._prevImageArr.removeClass('disabled-arrow');} +if(self._nextImageArr.hasClass('disabled-arrow')){self._nextImageArr.removeClass('disabled-arrow');} +if(self.currItemId<=0){if(self.currAlbumId>0){if(!self._prevImageArr.hasClass('prev-album-arrow')){self._prevImageArr.addClass('prev-album-arrow').find('.info-text').addClass('info-text-visible');}}else{if(self._lastItemLink&&self._galleryPostsNavigation.find('a[rel=next]').attr('href')){self._prevImageArr.addClass('prev-album-arrow').find('.info-text').addClass('info-text-visible');}else{self._prevImageArr.addClass('disabled-arrow').find('.info-text').removeClass('info-text-visible');}}}else{if(self._prevImageArr.hasClass('prev-album-arrow')){self._prevImageArr.removeClass('prev-album-arrow').find('.info-text').removeClass('info-text-visible');}} +if(self.currItemId>=self.currAlbumNumItems-1){if(self.currAlbumId=this.numAlbums){albumId=0;} +return this.albumsArr[albumId];},_updateImageQueue:function(data){var self=this;if(data){var dataItem,img,newImgSrc,currBlock,hasVideo,newData;for(var i=0;i0){blockInside.append('');blockInside.find('.play-button-container').bind('click',function(e){if(!self.moved){e.preventDefault();e.stopImmediatePropagation();self._controlsVisible=true;self._showVideo(fData,blockInside);}else{return false;}});}}else{if(blockInside.find('.play-button-container').length>0){blockInside.find('img').css('cursor','inherit').unbind('click');blockInside.find('.play-button-container').unbind('click');blockInside.find('.play-button-container').remove();}} +fData.block.removeClass('loading');fData.block.find('.preloader-container').remove();currImg.unbind('error.tds');currImg.unbind('load.tds');if(!self.firstLoaded&&self.settings.firstImageLoadedCallback){self.settings.firstImageLoadedCallback.call(self);self.firstLoaded=true;} +if(self.loadQueue.length>1){self.loadQueue.shift();self._loadNextImage();}else{self.isLoading=false;}};},_loadNextImage:function(){var self=this;var currQueueItem=self.loadQueue[0];if(!currQueueItem){return;} +var currItem=currQueueItem.item;if(currItem){var currBlock=currQueueItem.block,currImg=currBlock.find('img').eq(0),currImgDesc=currBlock.find('#img-desc').eq(0),path=currItem.find('a').attr('href'),bWidth=currItem.attr('data-img-width'),bHeight=currItem.attr('data-img-height'),desc=currItem.attr('data-img-desc');if(currImg.length<=0){hasImage=false;currImg=$('');currBlockPath='';}else{hasImage=true;currBlockPath=currImg.attr('src');} +if(currImgDesc.length<=0){hasDesc=false;currImgDesc=$('
'+desc+'
');}else{hasDesc=true;} +currImg.data({'img-width':bWidth,'img-height':bHeight,'img-scale':currItem.data('img-scale')});if(currBlockPath===path){if(!currBlock.hasClass('loading')){if(self.loadQueue.length>1){self.loadQueue.shift();self._loadNextImage();}else{self.isLoading=false;}} +return;} +if(!self.imageLoader||self.imageLoader.attr('src')!=path){currBlock.addClass('loading');currBlock.append('
');currImg.css('visibility','hidden').bind('load.tds',self._onLoadingComplete({type:'loaded',loadDataItem:currQueueItem,block:currBlock,img:currImg})).bind('error.tds',self._onLoadingComplete({type:'error',loadDataItem:currQueueItem,block:currBlock,img:currImg})).attr({'src':path,'alt':currItem.find('a').text()});if(!hasDesc){currImgDesc.appendTo(currBlock.find('.block-inside'));} +if(desc.length>0){currImgDesc.show();}else{currImgDesc.hide();} +if(!hasImage){currImg.appendTo(currBlock.find('.block-inside'));} +self._resizeImage(currImg,bWidth,bHeight);}else{self._resizeImage(currImg,bWidth,bHeight);self._onLoadingComplete({type:'loaded',item:currItem,block:currBlock});}}},_resizeImage:function(img,baseImageWidth,baseImageHeight,isVideo){var self=this;imgScaleMode=!isVideo?img.data('img-scale'):'fit-if-smaller';if(!isVideo){baseImageWidth=parseInt(baseImageWidth,10);baseImageHeight=parseInt(baseImageHeight,10);} +if(!isVideo){var bMargin;if(imgScaleMode!=='fill'){bMargin=self._imagePaddingEMs+'em';}else{bMargin='0';} +var block=img.parent('.block-inside').css('margin',bMargin);self.imgWrapWidth=block.width();self.imgWrapHeight=block.height();}else{self.imgWrapWidth=self.videoContainer.width();self.imgWrapHeight=self.videoContainer.height();} +var offset=0,containerWidth=self.imgWrapWidth,containerHeight=self.imgWrapHeight,imgAlignCenter=true,hRatio,vRatio,ratio,nWidth,nHeight;if(imgScaleMode==='fit-if-smaller'){if(baseImageWidth>containerWidth||baseImageHeight>containerHeight){imgScaleMode='fit';}} +if(imgScaleMode==='fill'||imgScaleMode==='fit'){hRatio=containerWidth/baseImageWidth;vRatio=containerHeight/baseImageHeight;if(imgScaleMode=="fill"){ratio=hRatio>vRatio?hRatio:vRatio;}else if(imgScaleMode=="fit"){ratio=hRatio');self.videoOverlay.css('display','block');var sizeObj=self._resizeImage('',self.settings.maxVideoWidth,self.settings.maxVideoHeight,true);videoObj.css({'margin-left':sizeObj.left,'margin-top':sizeObj.top,'width':sizeObj.width,'height':sizeObj.height});self._videoCloseButton.removeClass('hidden-video');self.videoContainer.append(videoObj);}else{alert('Incorrect YouTube URL syntax');}}else if(videoUrl.match(/vimeo\.com/i)){videoId=self._getVimeoVideoId(videoUrl);self.isVideoPlaying=true;videoUrl='http://player.vimeo.com/video/'+videoId+'?title=0&byline=0&portrait=0';if(self.settings.autoplayVideo) +videoUrl+="&autoplay=1";blockInside.find('.play-button').addClass('play-button-loading');self._fadeInVideo(data.loadDataItem.block);var videoObj=$('');self.videoOverlay.css('display','block');var sizeObj=self._resizeImage('',self.settings.maxVideoWidth,self.settings.maxVideoHeight,true);videoObj.css({'margin-left':sizeObj.left,'margin-top':sizeObj.top,'width':sizeObj.width,'height':sizeObj.height});self._videoCloseButton.removeClass('hidden-video');self.videoContainer.append(videoObj);}else{alert('Incorrect video URL: '+videoUrl);}}},stopAndCloseVideo:function(){var self=this;self._videoCloseButton.addClass('hidden-video');self.videoOverlay.css('display','none');self.videoContainer.find('iframe').remove();var animObj=self._centerBlock.find('img');if(animObj.length>0){animObj.animate({'opacity':1},400,'easeOutSine');} +self._centerBlock.find('.play-button-loading').removeClass('play-button-loading');self.isVideoPlaying=false;self._showAllControls();},_fadeInVideo:function(block){var self=this;if(self._albumInfoOpen){self._toggleAlbumInfo();} +var animObj=block.find('img');if(animObj.length>0){animObj.animate({'opacity':0},400,'easeOutSine');} +self._hideAllControls();},_showAllControls:function(){var self=this;if(!self._controlsVisible){self._fadeIn(self._headerSideMenu);self._controlsVisible=true;self._fadeIn(self._sliderControls);}},_hideAllControls:function(){var self=this;if(self._controlsVisible){if(self._albumInfoOpen){self._toggleAlbumInfo();} +if(self._headerSideMenu.hasClass('collapsed-gallery-page-menu')){self._fadeOut(self._headerSideMenu);} +self._fadeOut(self._sliderControls);self._controlsVisible=false;}},_fadeOut:function(el,complete){setTimeout(function(){el.stop().animate({opacity:0},300,function(){el.css('display','none');if(complete){complete.call();}});},0);},_fadeIn:function(el,complete){el.stop().css('display','block');setTimeout(function(){el.animate({opacity:1},300,function(){if(complete){complete.call();}});},0);},_getVimeoVideoId:function(url){var regExp=/\/\/(www\.)?vimeo.com\/(\d+)($|\/)/;var match=url.match(regExp);if(match){return match[2];}else{return false;}},_getYoutubeVideoId:function(url){var regExp=/^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/;var match=url.match(regExp);if(match&&match[7].length==11){return match[7];}else{return false;}},_showAlbumInfo:function(){var self=this,albumBlock;if(!self._albumInfoOpen){if(self._albumInfoBlock.data('curr-album-id')!==self.currAlbumId){var albumMeta=self.albumsArr[self.currAlbumId].find('.album-meta');var currAlbumData='
'+albumMeta.html();var title=albumMeta.find('.album-title a');var url=title.attr('href');title=title.html();var imgURL=self._getItem(self.currAlbumId,0).find('a').attr('href');currAlbumData+='
';currAlbumData+='
';self._albumInfoBlock.html(currAlbumData);var albumLink=self._albumInfoBlock.find('.album-title a');albumLink.replaceWith(albumLink.text());var closeBtn=self._albumInfoBlock.find('.close-project');closeBtn.bind('click',function(e){e.preventDefault();self._hideAlbumInfo();});self._albumInfoBlock.find('.pin-it-btn, .facebook-share-btn').click(function(e){e.preventDefault();var modal=window.open($(this).attr('href'),'signin','width=665,height=300');});if(typeof(FB)!='undefined'&&FB!=null){FB.XFBML.parse(self._albumInfoBlock.get(0));} +self._albumInfoBlock.data('curr-album-id',self.currAlbumId);} +self._fadeIn(self._albumInfoBlock);self._fadeOut(self._albumIndicator);self._albumInfoOpen=true;}},_hideAlbumInfo:function(){var self=this;if(self._albumInfoOpen){self._albumInfoAnimating=true;self._fadeOut(self._albumInfoBlock,function(){self._albumInfoAnimating=false;});self._fadeIn(self._albumIndicator);self._albumInfoOpen=false;}},_toggleAlbumInfo:function(){var self=this,albumBlock;if(self._albumInfoOpen){self._hideAlbumInfo();}else{self._showAlbumInfo();}},_updateMenuSize:function(){var self=this,winWidth=window.innerWidth||document.body.clientWidth;if(self._isMenuVisible){self._isMenuCollapsed=true;if(winWidth>600){self._headerSideMenu.css('width','50%');}else{self._headerSideMenu.css('width','100%');}}},_getQueryParameters:function(){var query=window.location.href.split('?')[1];if(!query){return{};} +var params=query.split('&');var pairs={};for(var i=0,len=params.length;i",a,""].join(""),k.id=g,m.innerHTML+=h,m.appendChild(k),l||f.appendChild(m),i=c(k,a),l?k.parentNode.removeChild(k):m.parentNode.removeChild(m),!!i},w={}.hasOwnProperty,x;!A(w,"undefined")&&!A(w.call,"undefined")?x=function(a,b){return w.call(a,b)}:x=function(a,b){return b in a&&A(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=t.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(t.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(t.call(arguments)))};return e});var F=function(a,c){var d=a.join(""),f=c.length;v(d,function(a,c){var d=b.styleSheets[b.styleSheets.length-1],g=d?d.cssRules&&d.cssRules[0]?d.cssRules[0].cssText:d.cssText||"":"",h=a.childNodes,i={};while(f--)i[h[f].id]=h[f];e.csstransforms3d=(i.csstransforms3d&&i.csstransforms3d.offsetLeft)===9&&i.csstransforms3d.offsetHeight===3},f,c)}([,["@media (",l.join("transform-3d),("),g,")","{#csstransforms3d{left:9px;position:absolute;height:3px;}}"].join("")],[,"csstransforms3d"]);p.csstransforms3d=function(){var a=!!E("perspective");return a&&"webkitPerspective"in f.style&&(a=e.csstransforms3d),a};for(var G in p)x(p,G)&&(u=G.toLowerCase(),e[u]=p[G](),s.push((e[u]?"":"no-")+u));return y(""),h=j=null,e._version=d,e._prefixes=l,e._domPrefixes=o,e._cssomPrefixes=n,e.testProp=function(a){return C([a])},e.testAllProps=E,e.testStyles=v,e}(this,this.document);/*! + jQuery idleTimer plugin + version 0.9.100511 + by Paul Irish. + http://github.com/paulirish/yui-misc/tree/ + MIT license -/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net) - * Licensed under the MIT License (LICENSE.txt). - * - * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers. - * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix. - * Thanks to: Seamus Leahy for adding deltaX and deltaY - * - * Version: 3.0.6 - * - * Requires: 1.2.2+ - */ -(function($){var c=['DOMMouseScroll','mousewheel'];if($.event.fixHooks){for(var i=c.length;i;){$.event.fixHooks[c[--i]]=$.event.mouseHooks}}$.event.special.mousewheel={setup:function(){if(this.addEventListener){for(var i=c.length;i;){this.addEventListener(c[--i],handler,false)}}else{this.onmousewheel=handler}},teardown:function(){if(this.removeEventListener){for(var i=c.length;i;){this.removeEventListener(c[--i],handler,false)}}else{this.onmousewheel=null}}};$.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}});function handler(a){var b=a||window.event,args=[].slice.call(arguments,1),delta=0,returnValue=true,deltaX=0,deltaY=0;a=$.event.fix(b);a.type="mousewheel";if(b.wheelDelta){delta=b.wheelDelta/120}if(b.detail){delta=-b.detail/3}deltaY=delta;if(b.axis!==undefined&&b.axis===b.HORIZONTAL_AXIS){deltaY=0;deltaX=-1*delta}if(b.wheelDeltaY!==undefined){deltaY=b.wheelDeltaY/120}if(b.wheelDeltaX!==undefined){deltaX=-1*b.wheelDeltaX/120}args.unshift(a,delta,deltaX,deltaY);return($.event.dispatch||$.event.handle).apply(this,args)}})(jQuery); - - - -/* Modernizr 2.5.2 (Custom Build) | MIT & BSD - * Build: http://www.modernizr.com/download/#-csstransforms3d-teststyles-testprop-testallprops-prefixes-domprefixes - */ -;window.Modernizr=function(a,b,c){function y(a){i.cssText=a}function z(a,b){return y(l.join(a+";")+(b||""))}function A(a,b){return typeof a===b}function B(a,b){return!!~(""+a).indexOf(b)}function C(a,b){for(var d in a)if(i[a[d]]!==c)return b=="pfx"?a[d]:!0;return!1}function D(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:A(f,"function")?f.bind(d||b):f}return!1}function E(a,b,c){var d=a.charAt(0).toUpperCase()+a.substr(1),e=(a+" "+n.join(d+" ")+d).split(" ");return A(b,"string")||A(b,"undefined")?C(e,b):(e=(a+" "+o.join(d+" ")+d).split(" "),D(e,b,c))}var d="2.5.2",e={},f=b.documentElement,g="modernizr",h=b.createElement(g),i=h.style,j,k={}.toString,l=" -webkit- -moz- -o- -ms- ".split(" "),m="Webkit Moz O ms",n=m.split(" "),o=m.toLowerCase().split(" "),p={},q={},r={},s=[],t=s.slice,u,v=function(a,c,d,e){var h,i,j,k=b.createElement("div"),l=b.body,m=l?l:b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:g+(d+1),k.appendChild(j);return h=["­",""].join(""),k.id=g,m.innerHTML+=h,m.appendChild(k),l||f.appendChild(m),i=c(k,a),l?k.parentNode.removeChild(k):m.parentNode.removeChild(m),!!i},w={}.hasOwnProperty,x;!A(w,"undefined")&&!A(w.call,"undefined")?x=function(a,b){return w.call(a,b)}:x=function(a,b){return b in a&&A(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=t.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(t.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(t.call(arguments)))};return e});var F=function(a,c){var d=a.join(""),f=c.length;v(d,function(a,c){var d=b.styleSheets[b.styleSheets.length-1],g=d?d.cssRules&&d.cssRules[0]?d.cssRules[0].cssText:d.cssText||"":"",h=a.childNodes,i={};while(f--)i[h[f].id]=h[f];e.csstransforms3d=(i.csstransforms3d&&i.csstransforms3d.offsetLeft)===9&&i.csstransforms3d.offsetHeight===3},f,c)}([,["@media (",l.join("transform-3d),("),g,")","{#csstransforms3d{left:9px;position:absolute;height:3px;}}"].join("")],[,"csstransforms3d"]);p.csstransforms3d=function(){var a=!!E("perspective");return a&&"webkitPerspective"in f.style&&(a=e.csstransforms3d),a};for(var G in p)x(p,G)&&(u=G.toLowerCase(),e[u]=p[G](),s.push((e[u]?"":"no-")+u));return y(""),h=j=null,e._version=d,e._prefixes=l,e._domPrefixes=o,e._cssomPrefixes=n,e.testProp=function(a){return C([a])},e.testAllProps=E,e.testStyles=v,e}(this,this.document); - - -/*! - * jQuery idleTimer plugin - * version 0.9.100511 - * by Paul Irish. - * http://github.com/paulirish/yui-misc/tree/ - * MIT license - * Copyright (c) 2009 Nicholas C. Zakas - * adapted from YUI idle timer by nzakas: - * http://github.com/nzakas/yui-misc/ -*/ -(function(e){e.idleTimer=function(t,n,r){r=e.extend({startImmediately:true,idle:false,enabled:true,timeout:3e4,events:"mousemove keydown DOMMouseScroll mousewheel mousedown touchstart touchmove"},r);n=n||document;var i=function(t){if(typeof t==="number"){t=undefined}var s=e.data(t||n,"idleTimerObj");s.idle=!s.idle;var o=+(new Date)-s.olddate;s.olddate=+(new Date);if(s.idle&&o
').appendTo('body'); + + + + // Add follow cursor + // self._cursorAdded = false; + // self._followCursor = $('
'); + // self._enableFollowCursor(self._wpVars.holdAndDrag); + + self.init(); + }/* constructor end */ + + + TwoDimSlider.prototype = { + + init: function () { + + var self = this; var infoBlockHideTimeout; + self._albumIndicator.bind('click', function() { self._toggleAlbumInfo(); }); @@ -387,193 +405,178 @@ return; } - - - // Add follow cursor - // self._cursorAdded = false; - // self._followCursor = $('
'); - // self._enableFollowCursor(self._wpVars.holdAndDrag); - - - - - - - - - - - var startAlbum = 0; - var hash = window.location.hash; - if(hash) { - hash = hash.replace(/^#/, ''); - startAlbum = self.getAlbumIdByIdAtt(hash); - } - self.currAlbum = self.albumsArr[startAlbum]; - self.currAlbumId = startAlbum; - self.numAlbums = self.albumsArr.length; - - - if( self._arrowControlsEnabled ) { - //self._arrowNav = self.sliderRoot.find('.arrow-nav'); - self._prevImageArr = self.sliderRoot.find('.arrow-left').click(function(e) { - e.preventDefault(); - self.prev(); - }); - self._nextImageArr = self.sliderRoot.find('.arrow-right').click(function(e) { - e.preventDefault(); - self.next(); - }); - } - self._primaryMenu = self._headerSideMenu.find('.primary-menu > .current-menu-item'); - - - - if(self.settings.appendGalleriesToMenu && self.numAlbums > 1) { - if(self._primaryMenu.index() != 0) { - self._primaryMenu.before(''); - //albumsMenu = '' + albumsMenu; - } - albumsMenu += ''; - - self._primaryMenu.append(albumsMenu); - self._galleryMenuItems = self._primaryMenu.find("#gallery-menu").find("li"); - - self._galleryMenuItems.click(function(e) { - e.preventDefault(); - e.stopImmediatePropagation(); - var newAlbumId = self.getAlbumIdByIdAtt( $(this).attr('data-id') ); - self._moveTo(newAlbumId, 'y', 500, true, true); - }); - } - - - - self.currAlbumItems = self.currAlbum.find('.two-dim-item'); - self.currItemId = 0; - self.currAlbumNumItems = self.currAlbumItems.length; - self.currAlbumScaleMode = self.currAlbum.data('img-scale'); - - - - var resizeTimer; - $(window).bind(self._orientationChangeEvent, function() { - if(resizeTimer) { - clearTimeout(resizeTimer); - } - resizeTimer = setTimeout(function() { self.updateSliderSize(); }, 35); - }); - self.updateSliderSize(); - - self.updateContents(); - - self._slidesWrapper.bind(self._downEvent, function(e) { self._onDragStart(e); }); - - if(self.settings.keyboardNavEnabled) { - $(document).keydown( function(e) { - - if(!self._isDragging && !self._isAnimating) { - if (e.keyCode === 37) { - e.preventDefault(); - self.prev(); - } else if (e.keyCode === 39) { - e.preventDefault(); - self.next(); - } else if(e.keyCode === 40) { - e.preventDefault(); - self.nextAlbum(); - } else if(e.keyCode === 38) { - e.preventDefault(); - self.prevAlbum(); - } else if(e.keyCode === 73) { - self._toggleAlbumInfo(); - } - } - }); - } - $('body').bind('mouseleave', function(e) { - if(self._isDragging) { - self._onDragRelease(e); - } - - }); - - if(!self.hasTouch) { - self.sliderRoot.bind('mousewheel', function(e, delta, deltaX, deltaY) { - if(delta < 0) { - self.next(); - } else if(delta > 0) { - self.prev(); - } - }); - } - - - self._changedByHash = false; - self._ignoreHashChange = false; - self._hashTimeout; - self._unblockHashChange(); - - - // if(!self.hasTouch) { - - // } - //if(!self.hasTouch) { - - // var actionNotifier = $('
Click and drag to navigate
'); - // actionNotifier.appendTo($('body')); + var startAlbum = 0; + var hash = window.location.hash; + + if(hash) { + startAlbum = self._getAlbumIdFromHash(hash); + } + + self.currAlbum = self.albumsArr[startAlbum]; + self.currAlbumId = startAlbum; + self.numAlbums = self.albumsArr.length; + + if( self._arrowControlsEnabled ) { + //self._arrowNav = self.sliderRoot.find('.arrow-nav'); + self._prevImageArr = self.sliderRoot.find('.arrow-left').click(function(e) { + e.preventDefault(); + self.prev(); + }); + self._nextImageArr = self.sliderRoot.find('.arrow-right').click(function(e) { + e.preventDefault(); + self.next(); + }); + } + self._primaryMenu = self._headerSideMenu.find('.primary-menu > .current-menu-item'); - - if(self.hasTouch) { - $.idleTimer(self.hasTouch ? 4000 : 2000,document, { - events: 'mousemove touchend mouseup' - }); - $(document).bind("idle.idleTimer", function(){ - if(!self._albumInfoOpen) { - self._hideAllControls(); - } - - }); - // $(document).bind("active.idleTimer", function(){ - // if(!self.hasTouch) { - // self._showAllControls(); - // } - // }); - } else { - // var hoverTimeout; - // $(document).hover( - // function () { - // clearTimeout(hoverTimeout); - // if(!self._isVideoPlaying) { - // self._showAllControls(); - // } - // }, - // function () { - // clearTimeout(hoverTimeout); - // if(!self._albumInfoOpen && !self._isVideoPlaying) { - // hoverTimeout = setTimeout(function() { - // self._hideAllControls(); - // }, 300); - // } - // } - // ); - } - // console.log('active'); - // }); + if(self.settings.appendGalleriesToMenu && self.numAlbums > 1) { + if(self._primaryMenu.index() != 0) { + self._primaryMenu.before(''); + //albumsMenu = '' + albumsMenu; + } + albumsMenu += ''; + self._primaryMenu.append(albumsMenu); + self._galleryMenuItems = self._primaryMenu.find("#gallery-menu").find("li"); - //} - - if(self.settings.autoOpenDescription) { - if(self.sliderWidth > 900) { - self._showAlbumInfo(); - self._fadeOut(self._albumIndicator); - self.albumsArr[self.currAlbumId].data('sawInfo', true); - } - } + self._galleryMenuItems.click(function(e) { + e.preventDefault(); + e.stopImmediatePropagation(); + var newAlbumId = self.getAlbumIdByIdAtt( $(this).attr('data-id') ); + self._moveTo(newAlbumId, 'y', 500, true, true); + }); + } + + + + self.currAlbumItems = self.currAlbum.find('.two-dim-item'); + self.currItemId = hash ? self._getImageIdFromHash(hash) : 0; + self.currAlbumNumItems = self.currAlbumItems.length; + self.currAlbumScaleMode = self.currAlbum.data('img-scale'); + + + + var resizeTimer; + $(window).bind(self._orientationChangeEvent, function() { + if(resizeTimer) { + clearTimeout(resizeTimer); + } + resizeTimer = setTimeout(function() { self.updateSliderSize(); }, 35); + }); + self.updateSliderSize(); + + self.updateContents(); + + self._slidesWrapper.bind(self._downEvent, function(e) { self._onDragStart(e); }); + + if(self.settings.keyboardNavEnabled) { + $(document).keydown( function(e) { + + if(!self._isDragging && !self._isAnimating) { + if (e.keyCode === 37) { + e.preventDefault(); + self.prev(); + } else if (e.keyCode === 39) { + e.preventDefault(); + self.next(); + } else if(e.keyCode === 40) { + e.preventDefault(); + self.nextAlbum(); + } else if(e.keyCode === 38) { + e.preventDefault(); + self.prevAlbum(); + } else if(e.keyCode === 73) { + self._toggleAlbumInfo(); + } + } + }); + } + $('body').bind('mouseleave', function(e) { + if(self._isDragging) { + self._onDragRelease(e); + } + + }); + + if(!self.hasTouch) { + self.sliderRoot.bind('mousewheel', function(e, delta, deltaX, deltaY) { + if(delta < 0) { + self.next(); + } else if(delta > 0) { + self.prev(); + } + }); + } + + + self._changedByHash = false; + self._ignoreHashChange = false; + self._hashTimeout; + //self._unblockHashChange(); + + + // if(!self.hasTouch) { + + // } + //if(!self.hasTouch) { + + // var actionNotifier = $('
Click and drag to navigate
'); + // actionNotifier.appendTo($('body')); + + + + + if(self.hasTouch) { + + $.idleTimer(self.hasTouch ? 4000 : 2000,document, { + events: 'mousemove touchend mouseup' + }); + $(document).bind("idle.idleTimer", function(){ + if(!self._albumInfoOpen) { + self._hideAllControls(); + } + + }); + // $(document).bind("active.idleTimer", function(){ + // if(!self.hasTouch) { + // self._showAllControls(); + // } + // }); + } else { + // var hoverTimeout; + // $(document).hover( + // function () { + // clearTimeout(hoverTimeout); + // if(!self._isVideoPlaying) { + // self._showAllControls(); + // } + // }, + // function () { + // clearTimeout(hoverTimeout); + // if(!self._albumInfoOpen && !self._isVideoPlaying) { + // hoverTimeout = setTimeout(function() { + // self._hideAllControls(); + // }, 300); + // } + // } + // ); + } + // console.log('active'); + // }); + + + //} + + if(self.settings.autoOpenDescription) { + if(self.sliderWidth > 900) { + self._showAlbumInfo(); + self._fadeOut(self._albumIndicator); + self.albumsArr[self.currAlbumId].data('sawInfo', true); + } + } // self._autoHideTimeoutEnabled = true; // self._autoHideTimeoutDuration = 1000; @@ -589,12 +592,11 @@ // }); //self._startAutoHideTimer(); - } /* constructor end */ - - - - - TwoDimSlider.prototype = { + // + $(window).bind('hashchange.tds', function () { + self._onHashChange(); + }); + }, getAlbumIdByIdAtt:function(idAtt) { var self = this, @@ -629,27 +631,48 @@ // self._cursorAdded = false; // } // }, + + _getAlbumIdFromHash: function (location_hash) { + + var hash = location_hash.replace(/^#/, ''); + var albumHashFragment, album; + + if (hash.indexOf('/') !== -1) { + albumHashFragment = hash.substr(0, hash.indexOf('/')); + } + album = this.getAlbumIdByIdAtt(albumHashFragment || hash); + return album; + }, + + _getImageIdFromHash: function (location_hash) { + + var hash = location_hash.replace(/^#/, ''); + var imgName, imgId; + + if (hash.indexOf('/') !== -1) { + imgHashFragment = hash.substr(hash.indexOf('/') + 1); + if (imgHashFragment) { + imgName = decodeURIComponent(imgHashFragment); + } + } + + imgId = this._getImgId(imgName); + return imgId; + }, _blockHashChange:function() { - $(window).unbind('hashchange.tds'); + this._ignoreHashChange = true; }, _updateAlbumHash:function() { var self = this; self._updateHash(self.albumsArr[self.currAlbumId].attr('data-album-id')); }, + _unblockHashChange:function() { - var self = this; - $(window).bind('hashchange.tds', function(e){ - var hash = location.hash; - hash = hash.replace(/^#/, ''); - - var newAlbumId = self.getAlbumIdByIdAtt(hash); - self._moveTo(newAlbumId, 'y', 500); - }); + this._ignoreHashChange = false; }, _updateHash:function(hash) { var self = this; - self._blockHashChange(); window.location.hash = hash; if(self._hashTimeout) { @@ -660,6 +683,125 @@ self._unblockHashChange(); }, 60); }, + + _onHashChange: function () { + var hash = location.hash; + var startAlbum = 0; + var startImgId; + var self = this; + + if (this._ignoreHashChange) { + return; + } + + if(hash) { + startImgId = this._getImageIdFromHash(hash); + startAlbum = this._getAlbumIdFromHash(hash); + } + + if (startAlbum !== self.currAlbumId) { + + self.init(); + + } else { + + if (startImgId === self.currItemId) { + return; + } + + if (startImgId > self.currItemId) { + if (startImgId - self.currItemId === 1) { + self._moveTo('next', 'x', this.settings.transitionSpeed, false, true); + } else { + self.init(); + } + } else { + if (startImgId - self.currItemId === -1) { + self._moveTo('prev', 'x', this.settings.transitionSpeed, false, true); + } else { + self.init(); + } + } + } + + }, + + _getItemFileName: function (item) { + + var imgLink = $(item).find('a'); + var imgLinkHref = $(imgLink).attr('href'); + var imgFileName = imgLinkHref; + //strip path + var imgFileNameMatch = imgLinkHref.match(/(?:[^\/]*\/)*(.*)/); + if (imgFileNameMatch) { + imgFileName = imgFileNameMatch[1]; + } + //stip .jpg + if (imgFileName.indexOf('.jpg') === imgFileName.length - 4) { + imgFileName = imgFileName.substr(0, imgFileName.indexOf('.jpg')); + } + + return imgFileName; + }, + + _getItemLinkText: function (item) { + + var imgLink = $(item).find('a'); + var imgLinkText = $(imgLink).text(); + return imgLinkText; + }, + + _getImageLinkTextById: function (items, id) { + + var imgNode = items[id]; + var imgLinkText = this._getItemFileName(imgNode); + return imgLinkText; + }, + + _updateImageHashFrag: function (imageId) { + + var album = this.albumsArr[this.currAlbumId]; + + if(album) { + var items = album.find('.two-dim-item'); + var imgLinkText = this._getImageLinkTextById(items, imageId); + + var albumId = $(album).data('albumId'); + var newHash = albumId + '/' + imgLinkText; + + //update the hash + this._updateHash(newHash); + } + + + }, + _getImgId: function (imgTitle) { + + var imgId = 0,i, item, imgTitle; + + var album = this.albumsArr[this.currAlbumId]; + + if (!imgTitle) { + return 0; + } + + if(album) { + var items = album.find('.two-dim-item'); + if(items) { + for (i = 0; i < items.length; i++) { + item = items[i]; + itemTitle = this._getItemLinkText(item); + if (itemTitle === imgTitle) { + return i;//assume same as index + } + }; + + } + } + + return 0; + }, + _doBackAndForthAnim:function(type) { var self = this, newPos, @@ -820,6 +962,7 @@ } } } + self._updateImageHashFrag(self.currItemId); } else { if(type === 'next') { diff --git a/style-touchfolio-default.less b/style-touchfolio-default.less index acdd23f..8ed233f 100644 --- a/style-touchfolio-default.less +++ b/style-touchfolio-default.less @@ -141,7 +141,8 @@ // Some overriding styles +@menu-font-color: black; // Don't remove this line, it adds all styles -@import "css-less/general.less"; \ No newline at end of file +@import "css-less/general.less";