jQuery.easing["jswing"]=jQuery.easing["swing"];jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(e,t,n,r,i){return jQuery.easing[jQuery.easing.def](e,t,n,r,i)},easeInQuad:function(e,t,n,r,i){return r*(t/=i)*t+n},easeOutQuad:function(e,t,n,r,i){return-r*(t/=i)*(t-2)+n},easeInOutQuad:function(e,t,n,r,i){if((t/=i/2)<1)return r/2*t*t+n;return-r/2*(--t*(t-2)-1)+n},easeInCubic:function(e,t,n,r,i){return r*(t/=i)*t*t+n},easeOutCubic:function(e,t,n,r,i){return r*((t=t/i-1)*t*t+1)+n},easeInOutCubic:function(e,t,n,r,i){if((t/=i/2)<1)return r/2*t*t*t+n;return r/2*((t-=2)*t*t+2)+n},easeInQuart:function(e,t,n,r,i){return r*(t/=i)*t*t*t+n},easeOutQuart:function(e,t,n,r,i){return-r*((t=t/i-1)*t*t*t-1)+n},easeInOutQuart:function(e,t,n,r,i){if((t/=i/2)<1)return r/2*t*t*t*t+n;return-r/2*((t-=2)*t*t*t-2)+n},easeInQuint:function(e,t,n,r,i){return r*(t/=i)*t*t*t*t+n},easeOutQuint:function(e,t,n,r,i){return r*((t=t/i-1)*t*t*t*t+1)+n},easeInOutQuint:function(e,t,n,r,i){if((t/=i/2)<1)return r/2*t*t*t*t*t+n;return r/2*((t-=2)*t*t*t*t+2)+n},easeInSine:function(e,t,n,r,i){return-r*Math.cos(t/i*(Math.PI/2))+r+n},easeOutSine:function(e,t,n,r,i){return r*Math.sin(t/i*(Math.PI/2))+n},easeInOutSine:function(e,t,n,r,i){return-r/2*(Math.cos(Math.PI*t/i)-1)+n},easeInExpo:function(e,t,n,r,i){return t==0?n:r*Math.pow(2,10*(t/i-1))+n},easeOutExpo:function(e,t,n,r,i){return t==i?n+r:r*(-Math.pow(2,-10*t/i)+1)+n},easeInOutExpo:function(e,t,n,r,i){if(t==0)return n;if(t==i)return n+r;if((t/=i/2)<1)return r/2*Math.pow(2,10*(t-1))+n;return r/2*(-Math.pow(2,-10*--t)+2)+n},easeInCirc:function(e,t,n,r,i){return-r*(Math.sqrt(1-(t/=i)*t)-1)+n},easeOutCirc:function(e,t,n,r,i){return r*Math.sqrt(1-(t=t/i-1)*t)+n},easeInOutCirc:function(e,t,n,r,i){if((t/=i/2)<1)return-r/2*(Math.sqrt(1-t*t)-1)+n;return r/2*(Math.sqrt(1-(t-=2)*t)+1)+n},easeInElastic:function(e,t,n,r,i){var s=1.70158;var o=0;var u=r;if(t==0)return n;if((t/=i)==1)return n+r;if(!o)o=i*.3;if(u0&&b-1 in a}if(!a.jQuery){var c=function(a,b){return new c.fn.init(a,b)};c.isWindow=function(a){return null!=a&&a==a.window},c.type=function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?e[g.call(a)]||"object":typeof a},c.isArray=Array.isArray||function(a){return"array"===c.type(a)},c.isPlainObject=function(a){var b;if(!a||"object"!==c.type(a)||a.nodeType||c.isWindow(a))return!1;try{if(a.constructor&&!f.call(a,"constructor")&&!f.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(d){return!1}for(b in a);return void 0===b||f.call(a,b)},c.each=function(a,c,d){var e,f=0,g=a.length,h=b(a);if(d){if(h)for(;g>f&&(e=c.apply(a[f],d),e!==!1);f++);else for(f in a)if(e=c.apply(a[f],d),e===!1)break}else if(h)for(;g>f&&(e=c.call(a[f],f,a[f]),e!==!1);f++);else for(f in a)if(e=c.call(a[f],f,a[f]),e===!1)break;return a},c.data=function(a,b,e){if(void 0===e){var f=a[c.expando],g=f&&d[f];if(void 0===b)return g;if(g&&b in g)return g[b]}else if(void 0!==b){var f=a[c.expando]||(a[c.expando]=++c.uuid);return d[f]=d[f]||{},d[f][b]=e,e}},c.removeData=function(a,b){var e=a[c.expando],f=e&&d[e];f&&c.each(b,function(a,b){delete f[b]})},c.extend=function(){var a,b,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;for("boolean"==typeof h&&(k=h,h=arguments[i]||{},i++),"object"!=typeof h&&"function"!==c.type(h)&&(h={}),i===j&&(h=this,i--);j>i;i++)if(null!=(f=arguments[i]))for(e in f)a=h[e],d=f[e],h!==d&&(k&&d&&(c.isPlainObject(d)||(b=c.isArray(d)))?(b?(b=!1,g=a&&c.isArray(a)?a:[]):g=a&&c.isPlainObject(a)?a:{},h[e]=c.extend(k,g,d)):void 0!==d&&(h[e]=d));return h},c.queue=function(a,d,e){function f(a,c){var d=c||[];return null!=a&&(b(Object(a))?!function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;)a[e++]=b[d++];if(c!==c)for(;void 0!==b[d];)a[e++]=b[d++];return a.length=e,a}(d,"string"==typeof a?[a]:a):[].push.call(d,a)),d}if(a){d=(d||"fx")+"queue";var g=c.data(a,d);return e?(!g||c.isArray(e)?g=c.data(a,d,f(e)):g.push(e),g):g||[]}},c.dequeue=function(a,b){c.each(a.nodeType?[a]:a,function(a,d){b=b||"fx";var e=c.queue(d,b),f=e.shift();"inprogress"===f&&(f=e.shift()),f&&("fx"===b&&e.unshift("inprogress"),f.call(d,function(){c.dequeue(d,b)}))})},c.fn=c.prototype={init:function(a){if(a.nodeType)return this[0]=a,this;throw new Error("Not a DOM node.")},offset:function(){var b=this[0].getBoundingClientRect?this[0].getBoundingClientRect():{top:0,left:0};return{top:b.top+(a.pageYOffset||document.scrollTop||0)-(document.clientTop||0),left:b.left+(a.pageXOffset||document.scrollLeft||0)-(document.clientLeft||0)}},position:function(){function a(){for(var a=this.offsetParent||document;a&&"html"===!a.nodeType.toLowerCase&&"static"===a.style.position;)a=a.offsetParent;return a||document}var b=this[0],a=a.apply(b),d=this.offset(),e=/^(?:body|html)$/i.test(a.nodeName)?{top:0,left:0}:c(a).offset();return d.top-=parseFloat(b.style.marginTop)||0,d.left-=parseFloat(b.style.marginLeft)||0,a.style&&(e.top+=parseFloat(a.style.borderTopWidth)||0,e.left+=parseFloat(a.style.borderLeftWidth)||0),{top:d.top-e.top,left:d.left-e.left}}};var d={};c.expando="velocity"+(new Date).getTime(),c.uuid=0;for(var e={},f=e.hasOwnProperty,g=e.toString,h="Boolean Number String Function Array Date RegExp Object Error".split(" "),i=0;ie;++e){var f=j(c,a,d);if(0===f)return c;var g=i(c,a,d)-b;c-=g/f}return c}function l(){for(var b=0;t>b;++b)x[b]=i(b*u,a,d)}function m(b,c,e){var f,g,h=0;do g=c+(e-c)/2,f=i(g,a,d)-b,f>0?e=g:c=g;while(Math.abs(f)>r&&++h=q?k(b,h):0==i?h:m(b,c,c+u)}function o(){y=!0,(a!=c||d!=e)&&l()}var p=4,q=.001,r=1e-7,s=10,t=11,u=1/(t-1),v="Float32Array"in b;if(4!==arguments.length)return!1;for(var w=0;4>w;++w)if("number"!=typeof arguments[w]||isNaN(arguments[w])||!isFinite(arguments[w]))return!1;a=Math.min(a,1),d=Math.min(d,1),a=Math.max(a,0),d=Math.max(d,0);var x=v?new Float32Array(t):new Array(t),y=!1,z=function(b){return y||o(),a===c&&d===e?b:0===b?0:1===b?1:i(n(b),c,e)};z.getControlPoints=function(){return[{x:a,y:c},{x:d,y:e}]};var A="generateBezier("+[a,c,d,e]+")";return z.toString=function(){return A},z}function j(a,b){var c=a;return p.isString(a)?t.Easings[a]||(c=!1):c=p.isArray(a)&&1===a.length?h.apply(null,a):p.isArray(a)&&2===a.length?u.apply(null,a.concat([b])):p.isArray(a)&&4===a.length?i.apply(null,a):!1,c===!1&&(c=t.Easings[t.defaults.easing]?t.defaults.easing:s),c}function k(a){if(a){var b=(new Date).getTime(),c=t.State.calls.length;c>1e4&&(t.State.calls=e(t.State.calls));for(var f=0;c>f;f++)if(t.State.calls[f]){var h=t.State.calls[f],i=h[0],j=h[2],n=h[3],o=!!n,q=null;n||(n=t.State.calls[f][3]=b-16);for(var r=Math.min((b-n)/j.duration,1),s=0,u=i.length;u>s;s++){var w=i[s],y=w.element;if(g(y)){var z=!1;if(j.display!==d&&null!==j.display&&"none"!==j.display){if("flex"===j.display){var A=["-webkit-box","-moz-box","-ms-flexbox","-webkit-flex"];m.each(A,function(a,b){v.setPropertyValue(y,"display",b)})}v.setPropertyValue(y,"display",j.display)}j.visibility!==d&&"hidden"!==j.visibility&&v.setPropertyValue(y,"visibility",j.visibility);for(var B in w)if("element"!==B){var C,D=w[B],E=p.isString(D.easing)?t.Easings[D.easing]:D.easing;if(1===r)C=D.endValue;else{var F=D.endValue-D.startValue;if(C=D.startValue+F*E(r,j,F),!o&&C===D.currentValue)continue}if(D.currentValue=C,"tween"===B)q=C;else{if(v.Hooks.registered[B]){var G=v.Hooks.getRoot(B),H=g(y).rootPropertyValueCache[G];H&&(D.rootPropertyValue=H)}var I=v.setPropertyValue(y,B,D.currentValue+(0===parseFloat(C)?"":D.unitType),D.rootPropertyValue,D.scrollData);v.Hooks.registered[B]&&(g(y).rootPropertyValueCache[G]=v.Normalizations.registered[G]?v.Normalizations.registered[G]("extract",null,I[1]):I[1]),"transform"===I[0]&&(z=!0)}}j.mobileHA&&g(y).transformCache.translate3d===d&&(g(y).transformCache.translate3d="(0px, 0px, 0px)",z=!0),z&&v.flushTransformCache(y)}}j.display!==d&&"none"!==j.display&&(t.State.calls[f][2].display=!1),j.visibility!==d&&"hidden"!==j.visibility&&(t.State.calls[f][2].visibility=!1),j.progress&&j.progress.call(h[1],h[1],r,Math.max(0,n+j.duration-b),n,q),1===r&&l(f)}}t.State.isTicking&&x(k)}function l(a,b){if(!t.State.calls[a])return!1;for(var c=t.State.calls[a][0],e=t.State.calls[a][1],f=t.State.calls[a][2],h=t.State.calls[a][4],i=!1,j=0,k=c.length;k>j;j++){var l=c[j].element;if(b||f.loop||("none"===f.display&&v.setPropertyValue(l,"display",f.display),"hidden"===f.visibility&&v.setPropertyValue(l,"visibility",f.visibility)),f.loop!==!0&&(m.queue(l)[1]===d||!/\.velocityQueueEntryFlag/i.test(m.queue(l)[1]))&&g(l)){g(l).isAnimating=!1,g(l).rootPropertyValueCache={};var n=!1;m.each(v.Lists.transforms3D,function(a,b){var c=/^scale/.test(b)?1:0,e=g(l).transformCache[b];g(l).transformCache[b]!==d&&new RegExp("^\\("+c+"[^.]").test(e)&&(n=!0,delete g(l).transformCache[b])}),f.mobileHA&&(n=!0,delete g(l).transformCache.translate3d),n&&v.flushTransformCache(l),v.Values.removeClass(l,"velocity-animating")}if(!b&&f.complete&&!f.loop&&j===k-1)try{f.complete.call(e,e)}catch(o){setTimeout(function(){throw o},1)}h&&f.loop!==!0&&h(e),g(l)&&f.loop===!0&&!b&&(m.each(g(l).tweensContainer,function(a,b){/^rotate/.test(a)&&360===parseFloat(b.endValue)&&(b.endValue=0,b.startValue=360),/^backgroundPosition/.test(a)&&100===parseFloat(b.endValue)&&"%"===b.unitType&&(b.endValue=0,b.startValue=100)}),t(l,"reverse",{loop:!0,delay:f.delay})),f.queue!==!1&&m.dequeue(l,f.queue)}t.State.calls[a]=!1;for(var p=0,q=t.State.calls.length;q>p;p++)if(t.State.calls[p]!==!1){i=!0;break}i===!1&&(t.State.isTicking=!1,delete t.State.calls,t.State.calls=[])}var m,n=function(){if(c.documentMode)return c.documentMode;for(var a=7;a>4;a--){var b=c.createElement("div");if(b.innerHTML="",b.getElementsByTagName("span").length)return b=null,a}return d}(),o=function(){var a=0;return b.webkitRequestAnimationFrame||b.mozRequestAnimationFrame||function(b){var c,d=(new Date).getTime();return c=Math.max(0,16-(d-a)),a=d+c,setTimeout(function(){b(d+c)},c)}}(),p={isString:function(a){return"string"==typeof a},isArray:Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)},isFunction:function(a){return"[object Function]"===Object.prototype.toString.call(a)},isNode:function(a){return a&&a.nodeType},isNodeList:function(a){return"object"==typeof a&&/^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(a))&&a.length!==d&&(0===a.length||"object"==typeof a[0]&&a[0].nodeType>0)},isWrapped:function(a){return a&&(a.jquery||b.Zepto&&b.Zepto.zepto.isZ(a))},isSVG:function(a){return b.SVGElement&&a instanceof b.SVGElement},isEmptyObject:function(a){for(var b in a)return!1;return!0}},q=!1;if(a.fn&&a.fn.jquery?(m=a,q=!0):m=b.Velocity.Utilities,8>=n&&!q)throw new Error("Velocity: IE8 and below require jQuery to be loaded before Velocity.");if(7>=n)return void(jQuery.fn.velocity=jQuery.fn.animate);var r=400,s="swing",t={State:{isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),isAndroid:/Android/i.test(navigator.userAgent),isGingerbread:/Android 2\.3\.[3-7]/i.test(navigator.userAgent),isChrome:b.chrome,isFirefox:/Firefox/i.test(navigator.userAgent),prefixElement:c.createElement("div"),prefixMatches:{},scrollAnchor:null,scrollPropertyLeft:null,scrollPropertyTop:null,isTicking:!1,calls:[]},CSS:{},Utilities:m,Redirects:{},Easings:{},Promise:b.Promise,defaults:{queue:"",duration:r,easing:s,begin:d,complete:d,progress:d,display:d,visibility:d,loop:!1,delay:!1,mobileHA:!0,_cacheValues:!0},init:function(a){m.data(a,"velocity",{isSVG:p.isSVG(a),isAnimating:!1,computedStyle:null,tweensContainer:null,rootPropertyValueCache:{},transformCache:{}})},hook:null,mock:!1,version:{major:1,minor:2,patch:2},debug:!1};b.pageYOffset!==d?(t.State.scrollAnchor=b,t.State.scrollPropertyLeft="pageXOffset",t.State.scrollPropertyTop="pageYOffset"):(t.State.scrollAnchor=c.documentElement||c.body.parentNode||c.body,t.State.scrollPropertyLeft="scrollLeft",t.State.scrollPropertyTop="scrollTop");var u=function(){function a(a){return-a.tension*a.x-a.friction*a.v}function b(b,c,d){var e={x:b.x+d.dx*c,v:b.v+d.dv*c,tension:b.tension,friction:b.friction};return{dx:e.v,dv:a(e)}}function c(c,d){var e={dx:c.v,dv:a(c)},f=b(c,.5*d,e),g=b(c,.5*d,f),h=b(c,d,g),i=1/6*(e.dx+2*(f.dx+g.dx)+h.dx),j=1/6*(e.dv+2*(f.dv+g.dv)+h.dv);return c.x=c.x+i*d,c.v=c.v+j*d,c}return function d(a,b,e){var f,g,h,i={x:-1,v:0,tension:null,friction:null},j=[0],k=0,l=1e-4,m=.016;for(a=parseFloat(a)||500,b=parseFloat(b)||20,e=e||null,i.tension=a,i.friction=b,f=null!==e,f?(k=d(a,b),g=k/e*m):g=m;;)if(h=c(h||i,g),j.push(1+h.x),k+=16,!(Math.abs(h.x)>l&&Math.abs(h.v)>l))break;return f?function(a){return j[a*(j.length-1)|0]}:k}}();t.Easings={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},spring:function(a){return 1-Math.cos(4.5*a*Math.PI)*Math.exp(6*-a)}},m.each([["ease",[.25,.1,.25,1]],["ease-in",[.42,0,1,1]],["ease-out",[0,0,.58,1]],["ease-in-out",[.42,0,.58,1]],["easeInSine",[.47,0,.745,.715]],["easeOutSine",[.39,.575,.565,1]],["easeInOutSine",[.445,.05,.55,.95]],["easeInQuad",[.55,.085,.68,.53]],["easeOutQuad",[.25,.46,.45,.94]],["easeInOutQuad",[.455,.03,.515,.955]],["easeInCubic",[.55,.055,.675,.19]],["easeOutCubic",[.215,.61,.355,1]],["easeInOutCubic",[.645,.045,.355,1]],["easeInQuart",[.895,.03,.685,.22]],["easeOutQuart",[.165,.84,.44,1]],["easeInOutQuart",[.77,0,.175,1]],["easeInQuint",[.755,.05,.855,.06]],["easeOutQuint",[.23,1,.32,1]],["easeInOutQuint",[.86,0,.07,1]],["easeInExpo",[.95,.05,.795,.035]],["easeOutExpo",[.19,1,.22,1]],["easeInOutExpo",[1,0,0,1]],["easeInCirc",[.6,.04,.98,.335]],["easeOutCirc",[.075,.82,.165,1]],["easeInOutCirc",[.785,.135,.15,.86]]],function(a,b){t.Easings[b[0]]=i.apply(null,b[1])});var v=t.CSS={RegEx:{isHex:/^#([A-f\d]{3}){1,2}$/i,valueUnwrap:/^[A-z]+\((.*)\)$/i,wrappedValueAlreadyExtracted:/[0-9.]+ [0-9.]+ [0-9.]+([0-9.]+)?/,valueSplit:/([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi},Lists:{colors:["fill","stroke","stopColor","color","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outlineColor"],transformsBase:["translateX","translateY","scale","scaleX","scaleY","skewX","skewY","rotateZ"],transforms3D:["transformPerspective","translateZ","scaleZ","rotateX","rotateY"]},Hooks:{templates:{textShadow:["Color X Y Blur","black 0px 0px 0px"],boxShadow:["Color X Y Blur Spread","black 0px 0px 0px 0px"],clip:["Top Right Bottom Left","0px 0px 0px 0px"],backgroundPosition:["X Y","0% 0%"],transformOrigin:["X Y Z","50% 50% 0px"],perspectiveOrigin:["X Y","50% 50%"]},registered:{},register:function(){for(var a=0;a=n)switch(a){case"name":return"filter";case"extract":var d=c.toString().match(/alpha\(opacity=(.*)\)/i);return c=d?d[1]/100:1;case"inject":return b.style.zoom=1,parseFloat(c)>=1?"":"alpha(opacity="+parseInt(100*parseFloat(c),10)+")"}else switch(a){case"name":return"opacity";case"extract":return c;case"inject":return c}}},register:function(){9>=n||t.State.isGingerbread||(v.Lists.transformsBase=v.Lists.transformsBase.concat(v.Lists.transforms3D));for(var a=0;ae&&(e=1),f=!/(\d)$/i.test(e);break;case"skew":f=!/(deg|\d)$/i.test(e);break;case"rotate":f=!/(deg|\d)$/i.test(e)}return f||(g(c).transformCache[b]="("+e+")"),g(c).transformCache[b]}}}();for(var a=0;a=n||3!==f.split(" ").length||(f+=" 1"),f;case"inject":return 8>=n?4===e.split(" ").length&&(e=e.split(/\s+/).slice(0,3).join(" ")):3===e.split(" ").length&&(e+=" 1"),(8>=n?"rgb":"rgba")+"("+e.replace(/\s+/g,",").replace(/\.(\d)+(?=,)/g,"")+")"}}}()}},Names:{camelCase:function(a){return a.replace(/-(\w)/g,function(a,b){return b.toUpperCase()})},SVGAttribute:function(a){var b="width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2";return(n||t.State.isAndroid&&!t.State.isChrome)&&(b+="|transform"),new RegExp("^("+b+")$","i").test(a)},prefixCheck:function(a){if(t.State.prefixMatches[a])return[t.State.prefixMatches[a],!0];for(var b=["","Webkit","Moz","ms","O"],c=0,d=b.length;d>c;c++){var e;if(e=0===c?a:b[c]+a.replace(/^\w/,function(a){return a.toUpperCase()}),p.isString(t.State.prefixElement.style[e]))return t.State.prefixMatches[a]=e,[e,!0]}return[a,!1]}},Values:{hexToRgb:function(a){var b,c=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,d=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i;return a=a.replace(c,function(a,b,c,d){return b+b+c+c+d+d}),b=d.exec(a),b?[parseInt(b[1],16),parseInt(b[2],16),parseInt(b[3],16)]:[0,0,0]},isCSSNullValue:function(a){return 0==a||/^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(a)},getUnitType:function(a){return/^(rotate|skew)/i.test(a)?"deg":/(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(a)?"":"px"},getDisplayType:function(a){var b=a&&a.tagName.toString().toLowerCase();return/^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(b)?"inline":/^(li)$/i.test(b)?"list-item":/^(tr)$/i.test(b)?"table-row":/^(table)$/i.test(b)?"table":/^(tbody)$/i.test(b)?"table-row-group":"block"},addClass:function(a,b){a.classList?a.classList.add(b):a.className+=(a.className.length?" ":"")+b},removeClass:function(a,b){a.classList?a.classList.remove(b):a.className=a.className.toString().replace(new RegExp("(^|\\s)"+b.split(" ").join("|")+"(\\s|$)","gi")," ")}},getPropertyValue:function(a,c,e,f){function h(a,c){function e(){j&&v.setPropertyValue(a,"display","none")}var i=0;if(8>=n)i=m.css(a,c);else{var j=!1;if(/^(width|height)$/.test(c)&&0===v.getPropertyValue(a,"display")&&(j=!0,v.setPropertyValue(a,"display",v.Values.getDisplayType(a))),!f){if("height"===c&&"border-box"!==v.getPropertyValue(a,"boxSizing").toString().toLowerCase()){var k=a.offsetHeight-(parseFloat(v.getPropertyValue(a,"borderTopWidth"))||0)-(parseFloat(v.getPropertyValue(a,"borderBottomWidth"))||0)-(parseFloat(v.getPropertyValue(a,"paddingTop"))||0)-(parseFloat(v.getPropertyValue(a,"paddingBottom"))||0);return e(),k}if("width"===c&&"border-box"!==v.getPropertyValue(a,"boxSizing").toString().toLowerCase()){var l=a.offsetWidth-(parseFloat(v.getPropertyValue(a,"borderLeftWidth"))||0)-(parseFloat(v.getPropertyValue(a,"borderRightWidth"))||0)-(parseFloat(v.getPropertyValue(a,"paddingLeft"))||0)-(parseFloat(v.getPropertyValue(a,"paddingRight"))||0);return e(),l}}var o;o=g(a)===d?b.getComputedStyle(a,null):g(a).computedStyle?g(a).computedStyle:g(a).computedStyle=b.getComputedStyle(a,null),"borderColor"===c&&(c="borderTopColor"),i=9===n&&"filter"===c?o.getPropertyValue(c):o[c],(""===i||null===i)&&(i=a.style[c]),e()}if("auto"===i&&/^(top|right|bottom|left)$/i.test(c)){var p=h(a,"position");("fixed"===p||"absolute"===p&&/top|left/i.test(c))&&(i=m(a).position()[c]+"px")}return i}var i;if(v.Hooks.registered[c]){var j=c,k=v.Hooks.getRoot(j);e===d&&(e=v.getPropertyValue(a,v.Names.prefixCheck(k)[0])),v.Normalizations.registered[k]&&(e=v.Normalizations.registered[k]("extract",a,e)),i=v.Hooks.extractValue(j,e)}else if(v.Normalizations.registered[c]){var l,o;l=v.Normalizations.registered[c]("name",a),"transform"!==l&&(o=h(a,v.Names.prefixCheck(l)[0]),v.Values.isCSSNullValue(o)&&v.Hooks.templates[c]&&(o=v.Hooks.templates[c][1])),i=v.Normalizations.registered[c]("extract",a,o)}if(!/^[\d-]/.test(i))if(g(a)&&g(a).isSVG&&v.Names.SVGAttribute(c))if(/^(height|width)$/i.test(c))try{i=a.getBBox()[c]}catch(p){i=0}else i=a.getAttribute(c);else i=h(a,v.Names.prefixCheck(c)[0]);return v.Values.isCSSNullValue(i)&&(i=0),t.debug>=2&&console.log("Get "+c+": "+i),i},setPropertyValue:function(a,c,d,e,f){var h=c;if("scroll"===c)f.container?f.container["scroll"+f.direction]=d:"Left"===f.direction?b.scrollTo(d,f.alternateValue):b.scrollTo(f.alternateValue,d);else if(v.Normalizations.registered[c]&&"transform"===v.Normalizations.registered[c]("name",a))v.Normalizations.registered[c]("inject",a,d),h="transform",d=g(a).transformCache[c];else{if(v.Hooks.registered[c]){var i=c,j=v.Hooks.getRoot(c);e=e||v.getPropertyValue(a,j),d=v.Hooks.injectValue(i,d,e),c=j}if(v.Normalizations.registered[c]&&(d=v.Normalizations.registered[c]("inject",a,d),c=v.Normalizations.registered[c]("name",a)),h=v.Names.prefixCheck(c)[0],8>=n)try{a.style[h]=d}catch(k){t.debug&&console.log("Browser does not support ["+d+"] for ["+h+"]")}else g(a)&&g(a).isSVG&&v.Names.SVGAttribute(c)?a.setAttribute(c,d):a.style[h]=d;t.debug>=2&&console.log("Set "+c+" ("+h+"): "+d)}return[h,d]},flushTransformCache:function(a){function b(b){return parseFloat(v.getPropertyValue(a,b))}var c="";if((n||t.State.isAndroid&&!t.State.isChrome)&&g(a).isSVG){var d={translate:[b("translateX"),b("translateY")],skewX:[b("skewX")],skewY:[b("skewY")],scale:1!==b("scale")?[b("scale"),b("scale")]:[b("scaleX"),b("scaleY")],rotate:[b("rotateZ"),0,0]};m.each(g(a).transformCache,function(a){/^translate/i.test(a)?a="translate":/^scale/i.test(a)?a="scale":/^rotate/i.test(a)&&(a="rotate"),d[a]&&(c+=a+"("+d[a].join(" ")+") ",delete d[a])})}else{var e,f;m.each(g(a).transformCache,function(b){return e=g(a).transformCache[b],"transformPerspective"===b?(f=e,!0):(9===n&&"rotateZ"===b&&(b="rotate"),void(c+=b+e+" "))}),f&&(c="perspective"+f+" "+c)}v.setPropertyValue(a,"transform",c)}};v.Hooks.register(),v.Normalizations.register(),t.hook=function(a,b,c){var e=d;return a=f(a),m.each(a,function(a,f){if(g(f)===d&&t.init(f),c===d)e===d&&(e=t.CSS.getPropertyValue(f,b));else{var h=t.CSS.setPropertyValue(f,b,c);"transform"===h[0]&&t.CSS.flushTransformCache(f),e=h}}),e};var w=function(){function a(){return h?B.promise||null:i}function e(){function a(){function a(a,b){var c=d,e=d,g=d;return p.isArray(a)?(c=a[0],!p.isArray(a[1])&&/^[\d-]/.test(a[1])||p.isFunction(a[1])||v.RegEx.isHex.test(a[1])?g=a[1]:(p.isString(a[1])&&!v.RegEx.isHex.test(a[1])||p.isArray(a[1]))&&(e=b?a[1]:j(a[1],h.duration),a[2]!==d&&(g=a[2]))):c=a,b||(e=e||h.easing),p.isFunction(c)&&(c=c.call(f,y,x)),p.isFunction(g)&&(g=g.call(f,y,x)),[c||0,e,g]}function l(a,b){var c,d;return d=(b||"0").toString().toLowerCase().replace(/[%A-z]+$/,function(a){return c=a,""}),c||(c=v.Values.getUnitType(a)),[d,c]}function n(){var a={myParent:f.parentNode||c.body,position:v.getPropertyValue(f,"position"),fontSize:v.getPropertyValue(f,"fontSize")},d=a.position===I.lastPosition&&a.myParent===I.lastParent,e=a.fontSize===I.lastFontSize;I.lastParent=a.myParent,I.lastPosition=a.position,I.lastFontSize=a.fontSize;var h=100,i={};if(e&&d)i.emToPx=I.lastEmToPx,i.percentToPxWidth=I.lastPercentToPxWidth,i.percentToPxHeight=I.lastPercentToPxHeight;else{var j=g(f).isSVG?c.createElementNS("http://www.w3.org/2000/svg","rect"):c.createElement("div");t.init(j),a.myParent.appendChild(j),m.each(["overflow","overflowX","overflowY"],function(a,b){t.CSS.setPropertyValue(j,b,"hidden")}),t.CSS.setPropertyValue(j,"position",a.position),t.CSS.setPropertyValue(j,"fontSize",a.fontSize),t.CSS.setPropertyValue(j,"boxSizing","content-box"),m.each(["minWidth","maxWidth","width","minHeight","maxHeight","height"],function(a,b){t.CSS.setPropertyValue(j,b,h+"%")}),t.CSS.setPropertyValue(j,"paddingLeft",h+"em"),i.percentToPxWidth=I.lastPercentToPxWidth=(parseFloat(v.getPropertyValue(j,"width",null,!0))||1)/h,i.percentToPxHeight=I.lastPercentToPxHeight=(parseFloat(v.getPropertyValue(j,"height",null,!0))||1)/h,i.emToPx=I.lastEmToPx=(parseFloat(v.getPropertyValue(j,"paddingLeft"))||1)/h,a.myParent.removeChild(j)}return null===I.remToPx&&(I.remToPx=parseFloat(v.getPropertyValue(c.body,"fontSize"))||16),null===I.vwToPx&&(I.vwToPx=parseFloat(b.innerWidth)/100,I.vhToPx=parseFloat(b.innerHeight)/100),i.remToPx=I.remToPx,i.vwToPx=I.vwToPx,i.vhToPx=I.vhToPx,t.debug>=1&&console.log("Unit ratios: "+JSON.stringify(i),f),i}if(h.begin&&0===y)try{h.begin.call(o,o)}catch(r){setTimeout(function(){throw r},1)}if("scroll"===C){var u,w,z,A=/^x$/i.test(h.axis)?"Left":"Top",D=parseFloat(h.offset)||0;h.container?p.isWrapped(h.container)||p.isNode(h.container)?(h.container=h.container[0]||h.container,u=h.container["scroll"+A],z=u+m(f).position()[A.toLowerCase()]+D):h.container=null:(u=t.State.scrollAnchor[t.State["scrollProperty"+A]],w=t.State.scrollAnchor[t.State["scrollProperty"+("Left"===A?"Top":"Left")]],z=m(f).offset()[A.toLowerCase()]+D),i={scroll:{rootPropertyValue:!1,startValue:u,currentValue:u,endValue:z,unitType:"",easing:h.easing,scrollData:{container:h.container,direction:A,alternateValue:w}},element:f},t.debug&&console.log("tweensContainer (scroll): ",i.scroll,f)}else if("reverse"===C){if(!g(f).tweensContainer)return void m.dequeue(f,h.queue);"none"===g(f).opts.display&&(g(f).opts.display="auto"),"hidden"===g(f).opts.visibility&&(g(f).opts.visibility="visible"),g(f).opts.loop=!1,g(f).opts.begin=null,g(f).opts.complete=null,s.easing||delete h.easing,s.duration||delete h.duration,h=m.extend({},g(f).opts,h);var E=m.extend(!0,{},g(f).tweensContainer);for(var F in E)if("element"!==F){var G=E[F].startValue;E[F].startValue=E[F].currentValue=E[F].endValue,E[F].endValue=G,p.isEmptyObject(s)||(E[F].easing=h.easing),t.debug&&console.log("reverse tweensContainer ("+F+"): "+JSON.stringify(E[F]),f)}i=E}else if("start"===C){var E;g(f).tweensContainer&&g(f).isAnimating===!0&&(E=g(f).tweensContainer),m.each(q,function(b,c){if(RegExp("^"+v.Lists.colors.join("$|^")+"$").test(b)){var e=a(c,!0),f=e[0],g=e[1],h=e[2];if(v.RegEx.isHex.test(f)){for(var i=["Red","Green","Blue"],j=v.Values.hexToRgb(f),k=h?v.Values.hexToRgb(h):d,l=0;lL;L++){var M={delay:E.delay,progress:E.progress};L===K-1&&(M.display=E.display,M.visibility=E.visibility,M.complete=E.complete),w(o,"reverse",M)}return a()}};t=m.extend(w,t),t.animate=w;var x=b.requestAnimationFrame||o;return t.State.isMobile||c.hidden===d||c.addEventListener("visibilitychange",function(){c.hidden?(x=function(a){return setTimeout(function(){a(!0)},16)},k()):x=b.requestAnimationFrame||o}),a.Velocity=t,a!==b&&(a.fn.velocity=w,a.fn.velocity.defaults=t.defaults),m.each(["Down","Up"],function(a,b){t.Redirects["slide"+b]=function(a,c,e,f,g,h){var i=m.extend({},c),j=i.begin,k=i.complete,l={height:"",marginTop:"",marginBottom:"",paddingTop:"",paddingBottom:""},n={};i.display===d&&(i.display="Down"===b?"inline"===t.CSS.Values.getDisplayType(a)?"inline-block":"block":"none"),i.begin=function(){j&&j.call(g,g);for(var c in l){n[c]=a.style[c];var d=t.CSS.getPropertyValue(a,c);l[c]="Down"===b?[d,0]:[0,d]}n.overflow=a.style.overflow,a.style.overflow="hidden"},i.complete=function(){for(var b in n)a.style[b]=n[b];k&&k.call(g,g),h&&h.resolver(g)},t(a,l,i)}}),m.each(["In","Out"],function(a,b){t.Redirects["fade"+b]=function(a,c,e,f,g,h){var i=m.extend({},c),j={opacity:"In"===b?1:0},k=i.complete;i.complete=e!==f-1?i.begin=null:function(){k&&k.call(g,g),h&&h.resolver(g)},i.display===d&&(i.display="In"===b?"auto":"none"),t(this,j,i)}}),t}(window.jQuery||window.Zepto||window,window,document)}); /** * jquery.ripple.js * * @version 0.0.1 * @author SUSH * https://github.com/sus-happy/jquery.ripple.js */ (function($, U){ $.support.borderRadius=false; $.support.transition=false; $(function(){ $.each([ 'borderRadius', 'BorderRadius', 'MozBorderRadius', 'WebkitBorderRadius', 'OBorderRadius', 'KhtmlBorderRadius' ], function(i, v){ if(document.body.style[v]!==undefined) $.support.borderRadius=true; return (! $.support.borderRadius); }); var el=$("
"); $.support.transition=typeof el.css("transitionProperty")==="string"; }); $.extend({ ripple: { $textSpan: $('').css({ position: 'relative', 'z-index': 2 }), $rippleWrap: $('', { 'class': 'rippleWrap' }).css({ position: 'absolute', 'z-index': 1, 'left': 0, 'top': 0, 'overflow': 'hidden' }).append($('', { 'class': 'rippleAnimate' }).css({ position: 'absolute', 'left': 0, 'top': 0, 'width': 0, 'height': 0, 'border-radius': '50%' }) ), is: function(){ return $.support.borderRadius&&$.support.transition; }, core: function(target, param){ this.$target=target; this._v_duration=400; this._h_duration=400; this._timer=null; if(param!==U&&Object.prototype.hasOwnProperty.call(param, 'v_duration')){ this.set_view_duration(param.v_duration); } if(param!==U&&Object.prototype.hasOwnProperty.call(param, 'h_duration')){ this.set_hide_duration(param.h_duration); } this.init(); }} }); $.ripple.core.prototype={ set_view_duration: function(v_duration){ this._v_duration=v_duration; }, set_hide_duration: function(h_duration){ this._h_duration=h_duration; }, init: function(){ var that=this; if(this.$target.css('position')==='static'){ this.$target.css('position', 'relative'); } this.$target.css('-webkit-tap-highlight-color', 'rgba(0, 0, 0, 0)'); if(!this.$target.hasClass("rollover")&&!this.$target.hasClass("rollover-video")&&!this.$target.hasClass("post-rollover")&&!this.$target.hasClass(("benefits-grid-ico"))){ this.$target.wrapInner($.ripple.$textSpan); } this.$target.append($.ripple.$rippleWrap.clone()); this.$rippleWrap=this.$target.find('.rippleWrap'); this.$rippleAnimate=this.$target.find('.rippleAnimate'); this.$rippleWrap.css('border-radius', this.$target.css('border-radius')); this.$target.find('.rippleAnimate').css('background-color', this.$target.attr('data-color')); if(('ontouchstart' in window)){ this.$target.bind('touchstart.ripple', function(e){ that.view(e.originalEvent.touches[0]); }); this.$target.bind('touchend.ripple', function(e){ that.hidden(e.originalEvent.touches[0]); }); this.$target.bind('mouseleave.ripple', function(e){ that.hidden(e); }); }else{ this.$target.bind('mousedown.ripple', function(e){ that.view(e); }); this.$target.bind('mouseup.ripple mouseleave.ripple', function(e){ that.hidden(e); }); }}, remove: function(){ }, view: function(e){ clearTimeout(this._timer); var width=this.$target.outerWidth(); var height=this.$target.outerHeight(); this.$rippleWrap.stop(true, false).width(width).height(height).css({ 'opacity': 1, 'transition': 'none' }); var circleRatio=2.8; var size=Math.max(width, height); var offsetX=e.pageX - this.$target.offset().left; var offsetY=e.pageY - this.$target.offset().top; this.$rippleAnimate.css({ 'width': size, 'height': size, 'transform': 'scale3d(0, 0, 1)', 'left': offsetX-size/2, 'top': offsetY-size/2, 'transition': 'none' }); var animateTo={}; animateTo.transform='scale3d(' + circleRatio + ', ' + circleRatio + ', 1)'; animateTo.transition=(this._v_duration/1000)+'s ease-out'; this.$rippleAnimate.show() .css(animateTo); }, hidden: function(e){ var that=this; this.$rippleWrap.stop(true, false).css({ 'opacity': 0, 'transition': 'opacity '+(this._h_duration/1000)+'s ease-out' }); clearTimeout(this._timer); this._timer=setTimeout(function(){ that.$rippleWrap.css({ 'opacity': 1, 'transition': 'none' }); that.$rippleAnimate.css({ 'transform': 'scale3d(0, 0, 1)', 'transition': 'none' }); }, this._v_duration); }}; $.fn.extend({ ripple: function(opt){ if(! $.ripple.is()){ return $(this); } $(this).each(function(){ new $.ripple.core($(this), opt); }); return $(this); }}); })(jQuery); ;(function(window){ if(!jQuery("html").hasClass("old-ie")){ var Waves=Waves||{}; var $$=document.querySelectorAll.bind(document); function isWindow(obj){ return obj!==null&&obj===obj.window; } function getWindow(elem){ return isWindow(elem) ? elem:elem.nodeType===9&&elem.defaultView; } function offset(elem){ var docElem, win, box={top: 0, left: 0}, doc=elem&&elem.ownerDocument; docElem=doc.documentElement; if(typeof elem.getBoundingClientRect!==typeof undefined){ box=elem.getBoundingClientRect(); } win=getWindow(doc); return { top: box.top + win.pageYOffset - docElem.clientTop, left: box.left + win.pageXOffset - docElem.clientLeft };} function convertStyle(obj){ var style=''; for (var a in obj){ if(obj.hasOwnProperty(a)){ style +=(a + ':' + obj[a] + ';'); }} return style; } var Effect={ duration: 300, show: function(e, element){ if(e.button===2){ return false; } var el=element||this; var ripple=document.createElement('div'); ripple.className='waves-ripple'; el.appendChild(ripple); var pos=offset(el); var relativeY=(e.pageY - pos.top); var relativeX=(e.pageX - pos.left); var scale='scale(1)'; if('touches' in e){ relativeY=(e.touches[0].pageY - pos.top); relativeX=(e.touches[0].pageX - pos.left); } ripple.setAttribute('data-hold', Date.now()); ripple.setAttribute('data-scale', scale); ripple.setAttribute('data-x', relativeX); ripple.setAttribute('data-y', relativeY); var rippleStyle={ 'top': relativeY+'px', 'left': relativeX+'px' }; ripple.className=ripple.className + ' waves-notransition'; ripple.setAttribute('style', convertStyle(rippleStyle)); ripple.className=ripple.className.replace('waves-notransition', ''); rippleStyle['-webkit-transform']=scale; rippleStyle['-moz-transform']=scale; rippleStyle['-ms-transform']=scale; rippleStyle['-o-transform']=scale; rippleStyle.transform=scale; rippleStyle.opacity='1'; rippleStyle['-webkit-transition-duration']=Effect.duration + 'ms'; rippleStyle['-moz-transition-duration']=Effect.duration + 'ms'; rippleStyle['-o-transition-duration']=Effect.duration + 'ms'; rippleStyle['transition-duration']=Effect.duration + 'ms'; ripple.setAttribute('style', convertStyle(rippleStyle)); }, hide: function(e){ TouchHandler.touchup(e); var el=this; var width=el.clientWidth * 1.4; var ripple=null; var ripples=el.getElementsByClassName('waves-ripple'); if(ripples.length > 0){ ripple=ripples[ripples.length - 1]; }else{ return false; } var relativeX=ripple.getAttribute('data-x'); var relativeY=ripple.getAttribute('data-y'); var scale=ripple.getAttribute('data-scale'); var diff=Date.now() - Number(ripple.getAttribute('data-hold')); var delay=350 - diff; if(delay < 0){ delay=0; } setTimeout(function(){ var style={ 'top': relativeY+'px', 'left': relativeX+'px', 'opacity': '0', '-webkit-transition-duration': Effect.duration + 'ms', '-moz-transition-duration': Effect.duration + 'ms', '-o-transition-duration': Effect.duration + 'ms', 'transition-duration': Effect.duration + 'ms', '-webkit-transform': scale, '-moz-transform': scale, '-ms-transform': scale, '-o-transform': scale, 'transform': scale, }; ripple.setAttribute('style', convertStyle(style)); setTimeout(function(){ try { el.removeChild(ripple); } catch(e){ return false; }}, Effect.duration); }, delay); }, wrapInput: function(elements){ for (var a=0; a < elements.length; a++){ var el=elements[a]; if(el.tagName.toLowerCase()==='input'){ var parent=el.parentNode; if(parent.tagName.toLowerCase()==='i'&&parent.className.indexOf('waves-effect')!==-1){ continue; } var wrapper=document.createElement('i'); wrapper.className=el.className + ' waves-input-wrapper'; var elementStyle=el.getAttribute('style'); if(!elementStyle){ elementStyle=''; } wrapper.setAttribute('style', elementStyle); el.className='waves-button-input'; el.removeAttribute('style'); parent.replaceChild(wrapper, el); wrapper.appendChild(el); }} }}; var TouchHandler={ touches: 0, allowEvent: function(e){ var allow=true; if(e.type==='touchstart'){ TouchHandler.touches +=1; }else if(e.type==='touchend'||e.type==='touchcancel'){ setTimeout(function(){ if(TouchHandler.touches > 0){ TouchHandler.touches -=1; }}, 500); }else if(e.type==='mousedown'&&TouchHandler.touches > 0){ allow=false; } return allow; }, touchup: function(e){ TouchHandler.allowEvent(e); }}; function getWavesEffectElement(e){ if(TouchHandler.allowEvent(e)===false){ return null; } var element=null; var target=e.target||e.srcElement; while (target.parentElement!==null){ if(!(target instanceof SVGElement)&&target.className.indexOf('waves-effect')!==-1){ element=target; break; }else if(target.classList.contains('waves-effect')){ element=target; break; } target=target.parentElement; } return element; } function showEffect(e){ var element=getWavesEffectElement(e); if(element!==null){ Effect.show(e, element); if('ontouchstart' in window){ element.addEventListener('touchend', Effect.hide, false); element.addEventListener('touchcancel', Effect.hide, false); } element.addEventListener('mouseup', Effect.hide, false); element.addEventListener('mouseleave', Effect.hide, false); }} Waves.displayEffect=function(options){ options=options||{}; if('duration' in options){ Effect.duration=options.duration; } Effect.wrapInput($$('.waves-effect')); if('ontouchstart' in window){ document.body.addEventListener('touchstart', showEffect, false); } document.body.addEventListener('mousedown', showEffect, false); }; Waves.attach=function(element){ if(element.tagName.toLowerCase()==='input'){ Effect.wrapInput([element]); element=element.parentElement; } if('ontouchstart' in window){ element.addEventListener('touchstart', showEffect, false); } element.addEventListener('mousedown', showEffect, false); }; window.Waves=Waves; }})(window); (function(){ var lastTime=0; var vendors=['ms', 'moz', 'webkit', 'o']; for(var x=0; x < vendors.length&&!window.requestAnimationFrame; ++x){ window.requestAnimationFrame=window[vendors[x]+'RequestAnimationFrame']; window.cancelAnimationFrame=window[vendors[x]+'CancelAnimationFrame']||window[vendors[x]+'CancelRequestAnimationFrame']; } if(!window.requestAnimationFrame) window.requestAnimationFrame=function(callback, element){ var currTime=new Date().getTime(); var timeToCall=Math.max(0, 16 - (currTime - lastTime)); var id=window.setTimeout(function(){ callback(currTime + timeToCall); }, timeToCall); lastTime=currTime + timeToCall; return id; }; if(!window.cancelAnimationFrame) window.cancelAnimationFrame=function(id){ clearTimeout(id); };}()); function Layzr(options){ this._lastScroll=0; this._ticking=false; options=options||{}; this._optionsContainer=document.querySelector(options.container)||window; this._optionsSelector=options.selector||'[data-layzr]'; this._optionsAttr=options.attr||'data-layzr'; this._optionsAttrSrcSet=options.attrSrcSet||'data-layzr-srcset'; this._optionsAttrRetina=options.retinaAttr||'data-layzr-retina'; this._optionsAttrBg=options.bgAttr||'data-layzr-bg'; this._optionsAttrHidden=options.hiddenAttr||'data-layzr-hidden'; this._optionsThreshold=options.threshold||0; this._optionsBefore=options.before||null; this._optionsAfter=options.after||null; this._optionsCallback=options.callback||null; this._retina=window.devicePixelRatio > 1; this._srcAttr=this._retina ? this._optionsAttrRetina:this._optionsAttr; this._nodes=document.querySelectorAll(this._optionsSelector); this._handlerBind=this._requestScroll.bind(this); this._create(); } Layzr.prototype._requestScroll=function(){ if(this._optionsContainer===window){ this._lastScroll=window.pageYOffset; }else{ this._lastScroll=this._optionsContainer.scrollTop + this._getOffset(this._optionsContainer); } this._requestTick(); }; Layzr.prototype._requestTick=function(){ if(!this._ticking){ requestAnimationFrame(this.update.bind(this)); this._ticking=true; }}; Layzr.prototype._getOffset=function(node){ return node.getBoundingClientRect().top + window.pageYOffset; }; Layzr.prototype._getContainerHeight=function(){ return this._optionsContainer.innerHeight || this._optionsContainer.offsetHeight; } Layzr.prototype._create=function(){ this._handlerBind(); this._optionsContainer.addEventListener('scroll', this._handlerBind, false); this._optionsContainer.addEventListener('resize', this._handlerBind, false); }; Layzr.prototype._destroy=function(){ this._optionsContainer.removeEventListener('scroll', this._handlerBind, false); this._optionsContainer.removeEventListener('resize', this._handlerBind, false); }; Layzr.prototype._inViewport=function(node){ var viewportTop=this._lastScroll; var viewportBottom=viewportTop + this._getContainerHeight(); var nodeTop=this._getOffset(node); var nodeBottom=nodeTop + this._getContainerHeight(); var threshold=(this._optionsThreshold / 100) * window.innerHeight; return nodeBottom >=viewportTop - threshold && nodeTop <=viewportBottom + threshold && !node.hasAttribute(this._optionsAttrHidden); }; Layzr.prototype._reveal=function(node){ var source=node.getAttribute(this._srcAttr)||node.getAttribute(this._optionsAttr), lazyrObj=this; if(typeof this._optionsCallback==='function'){ node.addEventListener("load", function(){ lazyrObj._optionsCallback.call(node); }); } if(typeof this._optionsBefore==='function'){ this._optionsBefore.call(node); } if(node.hasAttribute(this._optionsAttrBg)){ node.style.backgroundImage='url(' + source + ')'; }else{ if(source) node.setAttribute('src', source); if(node.hasAttribute(this._optionsAttrSrcSet)) node.setAttribute('srcset', node.getAttribute(this._optionsAttrSrcSet)); } if(typeof this._optionsAfter==='function'){ this._optionsAfter.call(node); } node.removeAttribute(this._optionsAttr); node.removeAttribute(this._optionsAttrSrcSet); node.removeAttribute(this._optionsAttrRetina); node.removeAttribute(this._optionsAttrBg); node.removeAttribute(this._optionsAttrHidden); }; Layzr.prototype.updateSelector=function(){ this._nodes=document.querySelectorAll(this._optionsSelector); }; Layzr.prototype.update=function(){ var nodesLength=this._nodes.length; for(var i=0; i < nodesLength; i++){ var node=this._nodes[i]; if(node.hasAttribute(this._optionsAttr)||node.hasAttribute(this._optionsAttrSrcSet)||node.hasAttribute(this._optionsAttrRetina)){ if(this._inViewport(node)){ this._reveal(node); }} } this._ticking=false; }; ;(function (factory){ if(typeof define==='function'&&define.amd){ define(['jquery'], factory); }else if(typeof exports==='object'){ factory(require('jquery')); }else{ factory(window.jQuery||window.Zepto); }}(function($){ var CLOSE_EVENT='Close', BEFORE_CLOSE_EVENT='BeforeClose', AFTER_CLOSE_EVENT='AfterClose', BEFORE_APPEND_EVENT='BeforeAppend', MARKUP_PARSE_EVENT='MarkupParse', OPEN_EVENT='Open', CHANGE_EVENT='Change', NS='mfp', EVENT_NS='.' + NS, READY_CLASS='mfp-ready', REMOVING_CLASS='mfp-removing', PREVENT_CLOSE_CLASS='mfp-prevent-close'; var mfp, MagnificPopup=function(){}, _isJQ = !!(window.jQuery), _prevStatus, _window=$(window), _document, _prevContentType, _wrapClasses, _currPopupType; var _mfpOn=function(name, f){ mfp.ev.on(NS + name + EVENT_NS, f); }, _getEl=function(className, appendTo, html, raw){ var el=document.createElement('div'); el.className='mfp-'+className; if(html){ el.innerHTML=html; } if(!raw){ el=$(el); if(appendTo){ el.appendTo(appendTo); }}else if(appendTo){ appendTo.appendChild(el); } return el; }, _mfpTrigger=function(e, data){ mfp.ev.triggerHandler(NS + e, data); if(mfp.st.callbacks){ e=e.charAt(0).toLowerCase() + e.slice(1); if(mfp.st.callbacks[e]){ mfp.st.callbacks[e].apply(mfp, $.isArray(data) ? data:[data]); }} }, _getCloseBtn=function(type){ if(type!==_currPopupType||!mfp.currTemplate.closeBtn){ mfp.currTemplate.closeBtn=$(mfp.st.closeMarkup.replace('%title%', mfp.st.tClose)); _currPopupType=type; } return mfp.currTemplate.closeBtn; }, _checkInstance=function(){ if(!$.magnificPopup.instance){ mfp=new MagnificPopup(); mfp.init(); $.magnificPopup.instance=mfp; }}, supportsTransitions=function(){ var s=document.createElement('p').style, // 's' for style. better to create an element if body yet to exist v=['ms','O','Moz','Webkit']; // 'v' for vendor if(s['transition']!==undefined){ return true; } while(v.length){ if(v.pop() + 'Transition' in s){ return true; }} return false; }; MagnificPopup.prototype={ constructor: MagnificPopup, init: function(){ var appVersion=navigator.appVersion; mfp.isLowIE=mfp.isIE8=document.all&&!document.addEventListener; mfp.isAndroid=(/android/gi).test(appVersion); mfp.isIOS=(/iphone|ipad|ipod/gi).test(appVersion); mfp.supportsTransition=supportsTransitions(); mfp.probablyMobile=(mfp.isAndroid||mfp.isIOS||/(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent)); _document=$(document); mfp.popupsCache={};}, open: function(data){ var i; if(data.isObj===false){ mfp.items=data.items.toArray(); mfp.index=0; var items=data.items, item; for(i=0; i < items.length; i++){ item=items[i]; if(item.parsed){ item=item.el[0]; } if(item===data.el[0]){ mfp.index=i; break; }} }else{ mfp.items=$.isArray(data.items) ? data.items:[data.items]; mfp.index=data.index||0; } if(mfp.isOpen){ mfp.updateItemHTML(); return; } mfp.types=[]; _wrapClasses=''; if(data.mainEl&&data.mainEl.length){ mfp.ev=data.mainEl.eq(0); }else{ mfp.ev=_document; } if(data.key){ if(!mfp.popupsCache[data.key]){ mfp.popupsCache[data.key]={};} mfp.currTemplate=mfp.popupsCache[data.key]; }else{ mfp.currTemplate={};} mfp.st=$.extend(true, {}, $.magnificPopup.defaults, data); mfp.fixedContentPos=mfp.st.fixedContentPos==='auto' ? !mfp.probablyMobile:mfp.st.fixedContentPos; if(mfp.st.modal){ mfp.st.closeOnContentClick=false; mfp.st.closeOnBgClick=false; mfp.st.showCloseBtn=false; mfp.st.enableEscapeKey=false; } if(!mfp.bgOverlay){ mfp.bgOverlay=_getEl('bg').on('click'+EVENT_NS, function(){ mfp.close(); }); mfp.wrap=_getEl('wrap').attr('tabindex', -1).on('click'+EVENT_NS, function(e){ if(mfp._checkIfClose(e.target)){ mfp.close(); }}); mfp.container=_getEl('container', mfp.wrap); } mfp.contentContainer=_getEl('content'); if(mfp.st.preloader){ mfp.preloader=_getEl('preloader', mfp.container, mfp.st.tLoading); } var modules=$.magnificPopup.modules; for(i=0; i < modules.length; i++){ var n=modules[i]; n=n.charAt(0).toUpperCase() + n.slice(1); mfp['init'+n].call(mfp); } _mfpTrigger('BeforeOpen'); if(mfp.st.showCloseBtn){ if(!mfp.st.closeBtnInside){ mfp.wrap.append(_getCloseBtn()); }else{ _mfpOn(MARKUP_PARSE_EVENT, function(e, template, values, item){ values.close_replaceWith=_getCloseBtn(item.type); }); _wrapClasses +=' mfp-close-btn-in'; }} if(mfp.st.alignTop){ _wrapClasses +=' mfp-align-top'; } if(mfp.fixedContentPos){ mfp.wrap.css({ overflow: mfp.st.overflowY, overflowX: 'hidden', overflowY: mfp.st.overflowY }); }else{ mfp.wrap.css({ top: _window.scrollTop(), position: 'absolute' }); } if(mfp.st.fixedBgPos===false||(mfp.st.fixedBgPos==='auto'&&!mfp.fixedContentPos)){ mfp.bgOverlay.css({ height: _document.height(), position: 'absolute' }); } if(mfp.st.enableEscapeKey){ _document.on('keyup' + EVENT_NS, function(e){ if(e.keyCode===27){ mfp.close(); }}); } _window.on('resize' + EVENT_NS, function(){ mfp.updateSize(); }); if(!mfp.st.closeOnContentClick){ _wrapClasses +=' mfp-auto-cursor'; } if(_wrapClasses) mfp.wrap.addClass(_wrapClasses); var windowHeight=mfp.wH=_window.height(); var windowStyles={}; if(mfp.fixedContentPos){ if(mfp._hasScrollBar(windowHeight)){ var s=mfp._getScrollbarSize(); if(s){ windowStyles.marginRight=s; }} } if(mfp.fixedContentPos){ if(!mfp.isIE7){ windowStyles.overflow='hidden'; }else{ $('body, html').css('overflow', 'hidden'); }} var classesToadd=mfp.st.mainClass; if(mfp.isIE7){ classesToadd +=' mfp-ie7'; } if(classesToadd){ mfp._addClassToMFP(classesToadd); } mfp.updateItemHTML(); _mfpTrigger('BuildControls'); $('html').css(windowStyles); mfp.bgOverlay.add(mfp.wrap).prependTo(mfp.st.prependTo||$(document.body)); mfp._lastFocusedEl=document.activeElement; setTimeout(function(){ if(mfp.content){ mfp._addClassToMFP(READY_CLASS); mfp._setFocus(); }else{ mfp.bgOverlay.addClass(READY_CLASS); } _document.on('focusin' + EVENT_NS, mfp._onFocusIn); }, 16); mfp.isOpen=true; mfp.updateSize(windowHeight); _mfpTrigger(OPEN_EVENT); return data; }, close: function(){ if(!mfp.isOpen) return; _mfpTrigger(BEFORE_CLOSE_EVENT); mfp.isOpen=false; if(mfp.st.removalDelay&&!mfp.isLowIE&&mfp.supportsTransition){ mfp._addClassToMFP(REMOVING_CLASS); setTimeout(function(){ mfp._close(); }, mfp.st.removalDelay); }else{ mfp._close(); }}, _close: function(){ _mfpTrigger(CLOSE_EVENT); var classesToRemove=REMOVING_CLASS + ' ' + READY_CLASS + ' '; mfp.bgOverlay.detach(); mfp.wrap.detach(); mfp.container.empty(); if(mfp.st.mainClass){ classesToRemove +=mfp.st.mainClass + ' '; } mfp._removeClassFromMFP(classesToRemove); if(mfp.fixedContentPos){ var windowStyles={marginRight: ''}; if(mfp.isIE7){ $('body, html').css('overflow', ''); }else{ windowStyles.overflow=''; } $('html').css(windowStyles); } _document.off('keyup' + EVENT_NS + ' focusin' + EVENT_NS); mfp.ev.off(EVENT_NS); mfp.wrap.attr('class', 'mfp-wrap').removeAttr('style'); mfp.bgOverlay.attr('class', 'mfp-bg'); mfp.container.attr('class', 'mfp-container'); if(mfp.st.showCloseBtn && (!mfp.st.closeBtnInside||mfp.currTemplate[mfp.currItem.type]===true)){ if(mfp.currTemplate.closeBtn) mfp.currTemplate.closeBtn.detach(); } if(mfp.st.autoFocusLast&&mfp._lastFocusedEl){ $(mfp._lastFocusedEl).focus(); } mfp.currItem=null; mfp.content=null; mfp.currTemplate=null; mfp.prevHeight=0; _mfpTrigger(AFTER_CLOSE_EVENT); }, updateSize: function(winHeight){ if(mfp.isIOS){ var zoomLevel=document.documentElement.clientWidth / window.innerWidth; var height=window.innerHeight * zoomLevel; mfp.wrap.css('height', height); mfp.wH=height; }else{ mfp.wH=winHeight||_window.height(); } if(!mfp.fixedContentPos){ mfp.wrap.css('height', mfp.wH); } _mfpTrigger('Resize'); }, updateItemHTML: function(){ var item=mfp.items[mfp.index]; mfp.contentContainer.detach(); if(mfp.content) mfp.content.detach(); if(!item.parsed){ item=mfp.parseEl(mfp.index); } var type=item.type; _mfpTrigger('BeforeChange', [mfp.currItem ? mfp.currItem.type:'', type]); mfp.currItem=item; if(!mfp.currTemplate[type]){ var markup=mfp.st[type] ? mfp.st[type].markup:false; _mfpTrigger('FirstMarkupParse', markup); if(markup){ mfp.currTemplate[type]=$(markup); }else{ mfp.currTemplate[type]=true; }} if(_prevContentType&&_prevContentType!==item.type){ mfp.container.removeClass('mfp-'+_prevContentType+'-holder'); } var newContent=mfp['get' + type.charAt(0).toUpperCase() + type.slice(1)](item, mfp.currTemplate[type]); mfp.appendContent(newContent, type); item.preloaded=true; _mfpTrigger(CHANGE_EVENT, item); _prevContentType=item.type; mfp.container.prepend(mfp.contentContainer); _mfpTrigger('AfterChange'); }, appendContent: function(newContent, type){ mfp.content=newContent; if(newContent){ if(mfp.st.showCloseBtn&&mfp.st.closeBtnInside && mfp.currTemplate[type]===true){ if(!mfp.content.find('.mfp-close').length){ mfp.content.append(_getCloseBtn()); }}else{ mfp.content=newContent; }}else{ mfp.content=''; } _mfpTrigger(BEFORE_APPEND_EVENT); mfp.container.addClass('mfp-'+type+'-holder'); mfp.contentContainer.append(mfp.content); }, parseEl: function(index){ var item=mfp.items[index], type; if(item.tagName){ item={ el: $(item) };}else{ type=item.type; item={ data: item, src: item.src };} if(item.el){ var types=mfp.types; for(var i=0; i < types.length; i++){ if(item.el.hasClass('mfp-'+types[i])){ type=types[i]; break; }} item.src=item.el.attr('data-mfp-src'); if(!item.src){ item.src=item.el.attr('href'); }} item.type=type||mfp.st.type||'inline'; item.index=index; item.parsed=true; mfp.items[index]=item; _mfpTrigger('ElementParse', item); return mfp.items[index]; }, addGroup: function(el, options){ var eHandler=function(e){ e.mfpEl=this; mfp._openClick(e, el, options); }; if(!options){ options={};} var eName='click.magnificPopup'; options.mainEl=el; if(options.items){ options.isObj=true; el.off(eName).on(eName, eHandler); }else{ options.isObj=false; if(options.delegate){ el.off(eName).on(eName, options.delegate , eHandler); }else{ options.items=el; el.off(eName).on(eName, eHandler); }} }, _openClick: function(e, el, options){ var midClick=options.midClick!==undefined ? options.midClick:$.magnificPopup.defaults.midClick; if(!midClick&&(e.which===2||e.ctrlKey||e.metaKey||e.altKey||e.shiftKey)){ return; } var disableOn=options.disableOn!==undefined ? options.disableOn:$.magnificPopup.defaults.disableOn; if(disableOn){ if($.isFunction(disableOn)){ if(!disableOn.call(mfp)){ return true; }}else{ if(_window.width() < disableOn){ return true; }} } if(e.type){ e.preventDefault(); if(mfp.isOpen){ e.stopPropagation(); }} options.el=$(e.mfpEl); if(options.delegate){ options.items=el.find(options.delegate); } mfp.open(options); }, updateStatus: function(status, text){ if(mfp.preloader){ if(_prevStatus!==status){ mfp.container.removeClass('mfp-s-'+_prevStatus); } if(!text&&status==='loading'){ text=mfp.st.tLoading; } var data={ status: status, text: text }; _mfpTrigger('UpdateStatus', data); status=data.status; text=data.text; mfp.preloader.html(text); mfp.preloader.find('a').on('click', function(e){ e.stopImmediatePropagation(); }); mfp.container.addClass('mfp-s-'+status); _prevStatus=status; }}, _checkIfClose: function(target){ if($(target).hasClass(PREVENT_CLOSE_CLASS)){ return; } var closeOnContent=mfp.st.closeOnContentClick; var closeOnBg=mfp.st.closeOnBgClick; if(closeOnContent&&closeOnBg){ return true; }else{ if(!mfp.content||$(target).hasClass('mfp-close')||(mfp.preloader&&target===mfp.preloader[0])){ return true; } if((target!==mfp.content[0]&&!$.contains(mfp.content[0], target))){ if(closeOnBg){ if($.contains(document, target)){ return true; }} }else if(closeOnContent){ return true; }} return false; }, _addClassToMFP: function(cName){ mfp.bgOverlay.addClass(cName); mfp.wrap.addClass(cName); }, _removeClassFromMFP: function(cName){ this.bgOverlay.removeClass(cName); mfp.wrap.removeClass(cName); }, _hasScrollBar: function(winHeight){ return((mfp.isIE7 ? _document.height():document.body.scrollHeight) > (winHeight||_window.height())); }, _setFocus: function(){ (mfp.st.focus ? mfp.content.find(mfp.st.focus).eq(0):mfp.wrap).focus(); }, _onFocusIn: function(e){ if(e.target!==mfp.wrap[0]&&!$.contains(mfp.wrap[0], e.target)){ mfp._setFocus(); return false; }}, _parseMarkup: function(template, values, item){ var arr; if(item.data){ values=$.extend(item.data, values); } _mfpTrigger(MARKUP_PARSE_EVENT, [template, values, item]); $.each(values, function(key, value){ if(value===undefined||value===false){ return true; } arr=key.split('_'); if(arr.length > 1){ var el=template.find(EVENT_NS + '-'+arr[0]); if(el.length > 0){ var attr=arr[1]; if(attr==='replaceWith'){ if(el[0]!==value[0]){ el.replaceWith(value); }}else if(attr==='img'){ if(el.is('img')){ el.attr('src', value); }else{ el.replaceWith($('').attr('src', value).attr('class', el.attr('class'))); }}else{ el.attr(arr[1], value); }} }else{ template.find(EVENT_NS + '-'+key).html(value); }}); }, _getScrollbarSize: function(){ if(mfp.scrollbarSize===undefined){ var scrollDiv=document.createElement("div"); scrollDiv.style.cssText='width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;'; document.body.appendChild(scrollDiv); mfp.scrollbarSize=scrollDiv.offsetWidth - scrollDiv.clientWidth; document.body.removeChild(scrollDiv); } return mfp.scrollbarSize; }}; $.magnificPopup={ instance: null, proto: MagnificPopup.prototype, modules: [], open: function(options, index){ _checkInstance(); if(!options){ options={};}else{ options=$.extend(true, {}, options); } options.isObj=true; options.index=index||0; return this.instance.open(options); }, close: function(){ return $.magnificPopup.instance&&$.magnificPopup.instance.close(); }, registerModule: function(name, module){ if(module.options){ $.magnificPopup.defaults[name]=module.options; } $.extend(this.proto, module.proto); this.modules.push(name); }, defaults: { disableOn: 0, key: null, midClick: false, mainClass: '', preloader: true, focus: '', closeOnContentClick: false, closeOnBgClick: true, closeBtnInside: true, showCloseBtn: true, enableEscapeKey: true, modal: false, alignTop: false, removalDelay: 0, prependTo: null, fixedContentPos: 'auto', fixedBgPos: 'auto', overflowY: 'auto', closeMarkup: '', tClose: 'Close (Esc)', tLoading: 'Loading...', autoFocusLast: true }}; $.fn.magnificPopup=function(options){ _checkInstance(); var jqEl=$(this); if(typeof options==="string"){ if(options==='open'){ var items, itemOpts=_isJQ ? jqEl.data('magnificPopup'):jqEl[0].magnificPopup, index=parseInt(arguments[1], 10)||0; if(itemOpts.items){ items=itemOpts.items[index]; }else{ items=jqEl; if(itemOpts.delegate){ items=items.find(itemOpts.delegate); } items=items.eq(index); } mfp._openClick({mfpEl:items}, jqEl, itemOpts); }else{ if(mfp.isOpen) mfp[options].apply(mfp, Array.prototype.slice.call(arguments, 1)); }}else{ options=$.extend(true, {}, options); if(_isJQ){ jqEl.data('magnificPopup', options); }else{ jqEl[0].magnificPopup=options; } mfp.addGroup(jqEl, options); } return jqEl; }; var INLINE_NS='inline', _hiddenClass, _inlinePlaceholder, _lastInlineElement, _putInlineElementsBack=function(){ if(_lastInlineElement){ _inlinePlaceholder.after(_lastInlineElement.addClass(_hiddenClass)).detach(); _lastInlineElement=null; }}; $.magnificPopup.registerModule(INLINE_NS, { options: { hiddenClass: 'hide', markup: '', tNotFound: 'Content not found' }, proto: { initInline: function(){ mfp.types.push(INLINE_NS); _mfpOn(CLOSE_EVENT+'.'+INLINE_NS, function(){ _putInlineElementsBack(); }); }, getInline: function(item, template){ _putInlineElementsBack(); if(item.src){ var inlineSt=mfp.st.inline, el=$(item.src); if(el.length){ var parent=el[0].parentNode; if(parent&&parent.tagName){ if(!_inlinePlaceholder){ _hiddenClass=inlineSt.hiddenClass; _inlinePlaceholder=_getEl(_hiddenClass); _hiddenClass='mfp-'+_hiddenClass; } _lastInlineElement=el.after(_inlinePlaceholder).detach().removeClass(_hiddenClass); } mfp.updateStatus('ready'); }else{ mfp.updateStatus('error', inlineSt.tNotFound); el=$('
'); } item.inlineElement=el; return el; } mfp.updateStatus('ready'); mfp._parseMarkup(template, {}, item); return template; }} }); var AJAX_NS='ajax', _ajaxCur, _removeAjaxCursor=function(){ if(_ajaxCur){ $(document.body).removeClass(_ajaxCur); }}, _destroyAjaxRequest=function(){ _removeAjaxCursor(); if(mfp.req){ mfp.req.abort(); }}; $.magnificPopup.registerModule(AJAX_NS, { options: { settings: null, cursor: 'mfp-ajax-cur', tError: 'The content could not be loaded.' }, proto: { initAjax: function(){ mfp.types.push(AJAX_NS); _ajaxCur=mfp.st.ajax.cursor; _mfpOn(CLOSE_EVENT+'.'+AJAX_NS, _destroyAjaxRequest); _mfpOn('BeforeChange.' + AJAX_NS, _destroyAjaxRequest); }, getAjax: function(item){ if(_ajaxCur){ $(document.body).addClass(_ajaxCur); } mfp.updateStatus('loading'); var opts=$.extend({ url: item.src, success: function(data, textStatus, jqXHR){ var temp={ data:data, xhr:jqXHR }; _mfpTrigger('ParseAjax', temp); mfp.appendContent($(temp.data), AJAX_NS); item.finished=true; _removeAjaxCursor(); mfp._setFocus(); setTimeout(function(){ mfp.wrap.addClass(READY_CLASS); }, 16); mfp.updateStatus('ready'); _mfpTrigger('AjaxContentAdded'); }, error: function(){ _removeAjaxCursor(); item.finished=item.loadError=true; mfp.updateStatus('error', mfp.st.ajax.tError.replace('%url%', item.src)); }}, mfp.st.ajax.settings); mfp.req=$.ajax(opts); return ''; }} }); var _imgInterval, _getTitle=function(item){ if(item.data&&item.data.title!==undefined) return item.data.title; var src=mfp.st.image.titleSrc; if(src){ if($.isFunction(src)){ return src.call(mfp, item); }else if(item.el){ return item.el.attr(src)||''; }} return ''; }; $.magnificPopup.registerModule('image', { options: { markup: '
'+ '
'+ '
'+ '
'+ '
'+ '
'+ '
'+ '
'+ '
'+ '
'+ '
'+ '
', cursor: 'mfp-zoom-out-cur', titleSrc: 'title', verticalFit: true, tError: 'The image could not be loaded.' }, proto: { initImage: function(){ var imgSt=mfp.st.image, ns='.image'; mfp.types.push('image'); _mfpOn(OPEN_EVENT+ns, function(){ if(mfp.currItem.type==='image'&&imgSt.cursor){ $(document.body).addClass(imgSt.cursor); }}); _mfpOn(CLOSE_EVENT+ns, function(){ if(imgSt.cursor){ $(document.body).removeClass(imgSt.cursor); } _window.off('resize' + EVENT_NS); }); _mfpOn('Resize'+ns, mfp.resizeImage); if(mfp.isLowIE){ _mfpOn('AfterChange', mfp.resizeImage); }}, resizeImage: function(){ var item=mfp.currItem; if(!item||!item.img) return; if(mfp.st.image.verticalFit){ var decr=0; if(mfp.isLowIE){ decr=parseInt(item.img.css('padding-top'), 10) + parseInt(item.img.css('padding-bottom'),10); } item.img.css('max-height', mfp.wH-decr); }}, _onImageHasSize: function(item){ if(item.img){ item.hasSize=true; if(_imgInterval){ clearInterval(_imgInterval); } item.isCheckingImgSize=false; _mfpTrigger('ImageHasSize', item); if(item.imgHidden){ if(mfp.content) mfp.content.removeClass('mfp-loading'); item.imgHidden=false; }} }, findImageSize: function(item){ var counter=0, img=item.img[0], mfpSetInterval=function(delay){ if(_imgInterval){ clearInterval(_imgInterval); } _imgInterval=setInterval(function(){ if(img.naturalWidth > 0){ mfp._onImageHasSize(item); return; } if(counter > 200){ clearInterval(_imgInterval); } counter++; if(counter===3){ mfpSetInterval(10); }else if(counter===40){ mfpSetInterval(50); }else if(counter===100){ mfpSetInterval(500); }}, delay); }; mfpSetInterval(1); }, getImage: function(item, template){ var guard=0, onLoadComplete=function(){ if(item){ if(item.img[0].complete){ item.img.off('.mfploader'); if(item===mfp.currItem){ mfp._onImageHasSize(item); mfp.updateStatus('ready'); } item.hasSize=true; item.loaded=true; _mfpTrigger('ImageLoadComplete'); }else{ guard++; if(guard < 200){ setTimeout(onLoadComplete,100); }else{ onLoadError(); }} }}, onLoadError=function(){ if(item){ item.img.off('.mfploader'); if(item===mfp.currItem){ mfp._onImageHasSize(item); mfp.updateStatus('error', imgSt.tError.replace('%url%', item.src)); } item.hasSize=true; item.loaded=true; item.loadError=true; }}, imgSt=mfp.st.image; var el=template.find('.mfp-img'); if(el.length){ var img=document.createElement('img'); img.className='mfp-img'; if(item.el&&item.el.find('img').length){ img.alt=item.el.find('img').attr('alt'); } item.img=$(img).on('load.mfploader', onLoadComplete).on('error.mfploader', onLoadError); img.src=item.src; if(el.is('img')){ item.img=item.img.clone(); } img=item.img[0]; if(img.naturalWidth > 0){ item.hasSize=true; }else if(!img.width){ item.hasSize=false; }} mfp._parseMarkup(template, { title: _getTitle(item), img_replaceWith: item.img }, item); mfp.resizeImage(); if(item.hasSize){ if(_imgInterval) clearInterval(_imgInterval); if(item.loadError){ template.addClass('mfp-loading'); mfp.updateStatus('error', imgSt.tError.replace('%url%', item.src)); }else{ template.removeClass('mfp-loading'); mfp.updateStatus('ready'); } return template; } mfp.updateStatus('loading'); item.loading=true; if(!item.hasSize){ item.imgHidden=true; template.addClass('mfp-loading'); mfp.findImageSize(item); } return template; }} }); var hasMozTransform, getHasMozTransform=function(){ if(hasMozTransform===undefined){ hasMozTransform=document.createElement('p').style.MozTransform!==undefined; } return hasMozTransform; }; $.magnificPopup.registerModule('zoom', { options: { enabled: false, easing: 'ease-in-out', duration: 300, opener: function(element){ return element.is('img') ? element:element.find('img'); }}, proto: { initZoom: function(){ var zoomSt=mfp.st.zoom, ns='.zoom', image; if(!zoomSt.enabled||!mfp.supportsTransition){ return; } var duration=zoomSt.duration, getElToAnimate=function(image){ var newImg=image.clone().removeAttr('style').removeAttr('class').addClass('mfp-animated-image'), transition='all '+(zoomSt.duration/1000)+'s ' + zoomSt.easing, cssObj={ position: 'fixed', zIndex: 9999, left: 0, top: 0, '-webkit-backface-visibility': 'hidden' }, t='transition'; cssObj['-webkit-'+t]=cssObj['-moz-'+t]=cssObj['-o-'+t]=cssObj[t]=transition; newImg.css(cssObj); return newImg; }, showMainContent=function(){ mfp.content.css('visibility', 'visible'); }, openTimeout, animatedImg; _mfpOn('BuildControls'+ns, function(){ if(mfp._allowZoom()){ clearTimeout(openTimeout); mfp.content.css('visibility', 'hidden'); image=mfp._getItemToZoom(); if(!image){ showMainContent(); return; } animatedImg=getElToAnimate(image); animatedImg.css(mfp._getOffset()); mfp.wrap.append(animatedImg); openTimeout=setTimeout(function(){ animatedImg.css(mfp._getOffset(true)); openTimeout=setTimeout(function(){ showMainContent(); setTimeout(function(){ animatedImg.remove(); image=animatedImg=null; _mfpTrigger('ZoomAnimationEnded'); }, 16); }, duration); }, 16); }}); _mfpOn(BEFORE_CLOSE_EVENT+ns, function(){ if(mfp._allowZoom()){ clearTimeout(openTimeout); mfp.st.removalDelay=duration; if(!image){ image=mfp._getItemToZoom(); if(!image){ return; } animatedImg=getElToAnimate(image); } animatedImg.css(mfp._getOffset(true)); mfp.wrap.append(animatedImg); mfp.content.css('visibility', 'hidden'); setTimeout(function(){ animatedImg.css(mfp._getOffset()); }, 16); }}); _mfpOn(CLOSE_EVENT+ns, function(){ if(mfp._allowZoom()){ showMainContent(); if(animatedImg){ animatedImg.remove(); } image=null; }}); }, _allowZoom: function(){ return mfp.currItem.type==='image'; }, _getItemToZoom: function(){ if(mfp.currItem.hasSize){ return mfp.currItem.img; }else{ return false; }}, _getOffset: function(isLarge){ var el; if(isLarge){ el=mfp.currItem.img; }else{ el=mfp.st.zoom.opener(mfp.currItem.el||mfp.currItem); } var offset=el.offset(); var paddingTop=parseInt(el.css('padding-top'),10); var paddingBottom=parseInt(el.css('padding-bottom'),10); offset.top -=($(window).scrollTop() - paddingTop); var obj={ width: el.width(), height: (_isJQ ? el.innerHeight():el[0].offsetHeight) - paddingBottom - paddingTop }; if(getHasMozTransform()){ obj['-moz-transform']=obj['transform']='translate(' + offset.left + 'px,' + offset.top + 'px)'; }else{ obj.left=offset.left; obj.top=offset.top; } return obj; }} }); var IFRAME_NS='iframe', _emptyPage='//about:blank', _fixIframeBugs=function(isShowing){ if(mfp.currTemplate[IFRAME_NS]){ var el=mfp.currTemplate[IFRAME_NS].find('iframe'); if(el.length){ if(!isShowing){ el[0].src=_emptyPage; } if(mfp.isIE8){ el.css('display', isShowing ? 'block':'none'); }} }}; $.magnificPopup.registerModule(IFRAME_NS, { options: { markup: '
'+ '
'+ ''+ '
', srcAction: 'iframe_src', patterns: { youtube: { index: 'youtube.com', id: 'v=', src: '//www.youtube.com/embed/%id%?autoplay=1' }, vimeo: { index: 'vimeo.com/', id: '/', src: '//player.vimeo.com/video/%id%?autoplay=1' }, gmaps: { index: '//maps.google.', src: '%id%&output=embed' }} }, proto: { initIframe: function(){ mfp.types.push(IFRAME_NS); _mfpOn('BeforeChange', function(e, prevType, newType){ if(prevType!==newType){ if(prevType===IFRAME_NS){ _fixIframeBugs(); }else if(newType===IFRAME_NS){ _fixIframeBugs(true); }} }); _mfpOn(CLOSE_EVENT + '.' + IFRAME_NS, function(){ _fixIframeBugs(); }); }, getIframe: function(item, template){ var embedSrc=item.src; var iframeSt=mfp.st.iframe; $.each(iframeSt.patterns, function(){ if(embedSrc.indexOf(this.index) > -1){ if(this.id){ if(typeof this.id==='string'){ embedSrc=embedSrc.substr(embedSrc.lastIndexOf(this.id)+this.id.length, embedSrc.length); }else{ embedSrc=this.id.call(this, embedSrc); }} embedSrc=this.src.replace('%id%', embedSrc); return false; }}); var dataObj={}; if(iframeSt.srcAction){ dataObj[iframeSt.srcAction]=embedSrc; } mfp._parseMarkup(template, dataObj, item); mfp.updateStatus('ready'); return template; }} }); var _getLoopedId=function(index){ var numSlides=mfp.items.length; if(index > numSlides - 1){ return index - numSlides; }else if(index < 0){ return numSlides + index; } return index; }, _replaceCurrTotal=function(text, curr, total){ return text.replace(/%curr%/gi, curr + 1).replace(/%total%/gi, total); }; $.magnificPopup.registerModule('gallery', { options: { enabled: false, arrowMarkup: '', preload: [0,2], navigateByImgClick: true, arrows: true, tPrev: 'Previous (Left arrow key)', tNext: 'Next (Right arrow key)', tCounter: '%curr% of %total%' }, proto: { initGallery: function(){ var gSt=mfp.st.gallery, ns='.mfp-gallery'; mfp.direction=true; if(!gSt||!gSt.enabled) return false; _wrapClasses +=' mfp-gallery'; _mfpOn(OPEN_EVENT+ns, function(){ if(gSt.navigateByImgClick){ mfp.wrap.on('click'+ns, '.mfp-img', function(){ if(mfp.items.length > 1){ mfp.next(); return false; }}); } _document.on('keydown'+ns, function(e){ if(e.keyCode===37){ mfp.prev(); }else if(e.keyCode===39){ mfp.next(); }}); }); _mfpOn('UpdateStatus'+ns, function(e, data){ if(data.text){ data.text=_replaceCurrTotal(data.text, mfp.currItem.index, mfp.items.length); }}); _mfpOn(MARKUP_PARSE_EVENT+ns, function(e, element, values, item){ var l=mfp.items.length; values.counter=l > 1 ? _replaceCurrTotal(gSt.tCounter, item.index, l):''; }); _mfpOn('BuildControls' + ns, function(){ if(mfp.items.length > 1&&gSt.arrows&&!mfp.arrowLeft){ var markup=gSt.arrowMarkup, arrowLeft=mfp.arrowLeft=$(markup.replace(/%title%/gi, gSt.tPrev).replace(/%dir%/gi, 'left')).addClass(PREVENT_CLOSE_CLASS), arrowRight=mfp.arrowRight=$(markup.replace(/%title%/gi, gSt.tNext).replace(/%dir%/gi, 'right')).addClass(PREVENT_CLOSE_CLASS); arrowLeft.click(function(){ mfp.prev(); }); arrowRight.click(function(){ mfp.next(); }); mfp.container.append(arrowLeft.add(arrowRight)); }}); _mfpOn(CHANGE_EVENT+ns, function(){ if(mfp._preloadTimeout) clearTimeout(mfp._preloadTimeout); mfp._preloadTimeout=setTimeout(function(){ mfp.preloadNearbyImages(); mfp._preloadTimeout=null; }, 16); }); _mfpOn(CLOSE_EVENT+ns, function(){ _document.off(ns); mfp.wrap.off('click'+ns); mfp.arrowRight=mfp.arrowLeft=null; }); }, next: function(){ mfp.direction=true; mfp.index=_getLoopedId(mfp.index + 1); mfp.updateItemHTML(); }, prev: function(){ mfp.direction=false; mfp.index=_getLoopedId(mfp.index - 1); mfp.updateItemHTML(); }, goTo: function(newIndex){ mfp.direction=(newIndex >=mfp.index); mfp.index=newIndex; mfp.updateItemHTML(); }, preloadNearbyImages: function(){ var p=mfp.st.gallery.preload, preloadBefore=Math.min(p[0], mfp.items.length), preloadAfter=Math.min(p[1], mfp.items.length), i; for(i=1; i <=(mfp.direction ? preloadAfter:preloadBefore); i++){ mfp._preloadItem(mfp.index+i); } for(i=1; i <=(mfp.direction ? preloadBefore:preloadAfter); i++){ mfp._preloadItem(mfp.index-i); }}, _preloadItem: function(index){ index=_getLoopedId(index); if(mfp.items[index].preloaded){ return; } var item=mfp.items[index]; if(!item.parsed){ item=mfp.parseEl(index); } _mfpTrigger('LazyLoad', item); if(item.type==='image'){ item.img=$('').on('load.mfploader', function(){ item.hasSize=true; }).on('error.mfploader', function(){ item.hasSize=true; item.loadError=true; _mfpTrigger('LazyLoadError', item); }).attr('src', item.src); } item.preloaded=true; }} }); var RETINA_NS='retina'; $.magnificPopup.registerModule(RETINA_NS, { options: { replaceSrc: function(item){ return item.src.replace(/\.\w+$/, function(m){ return '@2x' + m; }); }, ratio: 1 }, proto: { initRetina: function(){ if(window.devicePixelRatio > 1){ var st=mfp.st.retina, ratio=st.ratio; ratio = !isNaN(ratio) ? ratio:ratio(); if(ratio > 1){ _mfpOn('ImageHasSize' + '.' + RETINA_NS, function(e, item){ item.img.css({ 'max-width': item.img[0].naturalWidth / ratio, 'width': '100%' }); }); _mfpOn('ElementParse' + '.' + RETINA_NS, function(e, item){ item.src=st.replaceSrc(item, ratio); }); }} }} }); _checkInstance(); })); jQuery(document).ready(function($){ dtGlobals.magnificPopupBaseConfig={ type: 'image', tLoading: 'Loading image ...', mainClass: 'mfp-img-mobile', removalDelay: 300, image: { tError: 'The image #%curr% could not be loaded.', titleSrc: function(item){ return this.st.dt.getItemTitle(item); }}, iframe: { markup: '
'+ '
'+ ''+ '
'+ '
'+ '
'+ '
'+ '
' }, callbacks: { markupParse: function(template, values, item){ if('iframe'==item.type){ template.find('.mfp-title').html(this.st.dt.getItemTitle(item)); } if(!this.ev.attr('data-pretty-share')){ template.addClass("no-share-buttons"); }}, change: function(){ if(this.isOpen){ this.wrap.addClass('mfp-open'); }}, beforeClose: function(){ $('body, html').css('overflow',''); this.wrap.removeClass('mfp-open'); this.content.addClass('mfp-removing'); }, close: function(){ this.content.removeClass('mfp-removing'); }, beforeOpen: function(){ var magnificPopup=this; if(typeof this.st.dt=='undefined'){ this.st.dt={};} this.st.dt.shareButtonsList=this.ev.attr('data-pretty-share') ? this.ev.attr('data-pretty-share').split(','):new Array(); this.st.dt.shareButtonsTemplates={ twitter:'', facebook:'', google:'', pinterest:'', linkedin:'' }; this.st.dt.getShareButtons=function(itemData){ var shareButtons=magnificPopup.st.dt.shareButtonsList, pinterestIndex=-1, shareButtonsLemgth=shareButtons.length, html=''; for(var i=0; i < shareButtons.length; i++){ if('pinterest'==shareButtons[i]){ pinterestIndex=i; break; }} if(shareButtonsLemgth <=0){ return ''; } for(var i=0; i < shareButtonsLemgth; i++){ if('iframe'==itemData['type']&&pinterestIndex==i){ continue; } var itemTitle=itemData['title'], itemSrc=itemData['src'], itemLocation=itemData['location']; if('google'==shareButtons[i]){ itemTitle=itemTitle.replace(' ', '+'); } html +=magnificPopup.st.dt.shareButtonsTemplates[ shareButtons[i] ].replace('{location_href}', encodeURIComponent(itemLocation)).replace('{share_title}', encodeURIComponent(itemTitle)).replace('{image_src}', encodeURIComponent(itemSrc)); } return '
' + html + '
'; } this.st.dt.getItemTitle=function(item){ var imgTitle=item.el.attr('title')||'', imgSrc=item.el.attr('href'), imgDesc=item.el.attr('data-dt-img-description')||'', imgLocation=item.el.attr('data-dt-location')||location.href, shareButtons=magnificPopup.st.dt.getShareButtons({ 'title': imgDesc, 'src': imgSrc, 'type': item.type, 'location': imgLocation }); return '
' + imgTitle + '' + imgDesc + '' + '
' + shareButtons; }} }}; $('.dt-gallery-mfp-popup, .dt-trigger-first-mfp').addClass('mfp-ready').on('click', function(){ var $this=$(this), $container=$this.parents('article.post').first(); if($this.parents(".ts-wrap").hasClass("ts-interceptClicks")) return; if($container.length > 0){ if($container.find('.dt-gallery-container').length > 0){ var $target=$container.find('.dt-gallery-container a.dt-mfp-item'); }else{ var $target=$container.find('a.dt-mfp-item'); } if($target.length > 0){ $target.first().trigger('click'); }}; return false; }); $('.dt-single-image').addClass('mfp-ready').magnificPopup({ type: 'image' }); $('.dt-single-video').addClass('mfp-ready').magnificPopup({ type: 'iframe' }); $('.dt-single-mfp-popup').on("click", function(e){ var $this=$(this); if($this.parents(".ts-wrap").hasClass("ts-interceptClicks")){ e.preventDefault(); e.stopImmediatePropagation(); }; if($this.parents(".photo-scroller").length > 0){ var parScroller=$this.parents(".photo-scroller"), parAutoPlay=parScroller.find(".auto-play-btn"); if(parAutoPlay.hasClass("paused")){ parScroller.addClass("mfp-opened"); parScroller.find(".auto-play-btn.paused").trigger("click"); };}; if($this.parents(".slider-wrapper").length > 0){ var parScrollerShor=$this.parents(".slider-wrapper"), parAutoPlayShor=parScrollerShor.find(".auto-play-btn"); if(parAutoPlayShor.hasClass("paused")){ parScrollerShor.addClass("mfp-opened"); parScrollerShor.find(".auto-play-btn.paused").trigger("click"); };}}); $('.dt-single-mfp-popup').addClass('mfp-ready').magnificPopup($.extend(true, dtGlobals.magnificPopupBaseConfig, { callbacks: { close: function(){ $(".photo-scroller.mfp-opened").find(".auto-play-btn").trigger("click"); $(".photo-scroller").removeClass("mfp-opened"); $(".slider-wrapper.mfp-opened").find(".auto-play-btn").trigger("click"); $(".slider-wrapper").removeClass("mfp-opened"); }} })); $(".dt-gallery-container").each(function(){ if($(this).parents(".slider-wrapper").length > 0){ var $this=$(this).parents(".slider-wrapper"); }else{ var $this=$(this); } var $thisPlay=$this.find(".auto-play-btn"); $(this).addClass('mfp-ready').magnificPopup($.extend(true, dtGlobals.magnificPopupBaseConfig, { delegate: 'a.dt-mfp-item', tLoading: 'Loading image #%curr%...', gallery: { enabled: true, navigateByImgClick: true, preload: [0,1] }, callbacks: { open: function(){ var stopAutoPlay=('true'===$this.attr("data-autoslide")) ? true:false; if(stopAutoPlay){ if($thisPlay.hasClass("paused")){ $this.addClass("mfp-opened"); $this.find(".auto-play-btn.paused").trigger("click"); };}}, close: function(){ if($this.hasClass("mfp-opened")){ $this.find(".auto-play-btn").trigger("click"); $this.removeClass("mfp-opened"); }} }})); }); }) jQuery(document).ready(function($){ if($(".twentytwenty-container").length > 0){ $.fn.twentytwenty=function(options){ var options=$.extend({ default_offset_pct: 0.5, orientation: 'horizontal', navigation_follow: false }, options); return this.each(function(){ var sliderPct=options.default_offset_pct; var container=$(this); var sliderOrientation=options.orientation; var beforeDirection=(sliderOrientation==='vertical') ? 'down':'left'; var afterDirection=(sliderOrientation==='vertical') ? 'up':'right'; var slideOnHover=options.navigation_follow; container.wrap("
"); var beforeImg=container.find("img:first"), afterImg=container.find("img:last"), beforeImgAlt=beforeImg.attr("title"), afterImgAlt=afterImg.attr("title"); container.append("
"); var slider=container.find(".twentytwenty-handle"); slider.append(""); slider.append(""); container.addClass("twentytwenty-container"); beforeImg.addClass("twentytwenty-before"); afterImg.addClass("twentytwenty-after"); if(typeof beforeImgAlt!='undefined'&&beforeImgAlt&&beforeImgAlt.length > 0){ container.append("
" + beforeImgAlt + "
"); }; if(typeof afterImgAlt!='undefined'&&afterImgAlt&&afterImgAlt.length > 0){ container.append("
" + afterImgAlt + "
"); } var calcOffset=function(dimensionPct){ var w=beforeImg.width(); var h=beforeImg.height(); return { w: w+"px", h: h+"px", cw: (dimensionPct*w)+"px", ch: (dimensionPct*h)+"px" };}; var adjustContainer=function(offset){ if(sliderOrientation==='vertical'){ beforeImg.css("clip", "rect(0,"+offset.w+","+offset.ch+",0)"); }else{ beforeImg.css("clip", "rect(0,"+offset.cw+","+offset.h+",0)"); } container.css("height", offset.h); }; var adjustSlider=function(pct){ var offset=calcOffset(pct); slider.css((sliderOrientation==="vertical") ? "top":"left", (sliderOrientation==="vertical") ? offset.ch:offset.cw); adjustContainer(offset); }; $(window).on("resize.twentytwenty", function(e){ adjustSlider(sliderPct); }); var offsetX=0; var imgWidth=0; slider.on("movestart", function(e){ if(((e.distX > e.distY&&e.distX < -e.distY)||(e.distX < e.distY&&e.distX > -e.distY))&&sliderOrientation!=='vertical'){ e.preventDefault(); } else if(((e.distX < e.distY&&e.distX < -e.distY)||(e.distX > e.distY&&e.distX > -e.distY))&&sliderOrientation==='vertical'){ e.preventDefault(); } container.addClass("active"); container.removeClass("active-click"); offsetX=container.offset().left; offsetY=container.offset().top; imgWidth=beforeImg.width(); imgHeight=beforeImg.height(); }); slider.on("moveend", function(e){ container.removeClass("active"); }); slider.on("move", function(e){ if(container.hasClass("active")){ sliderPct=(sliderOrientation==='vertical') ? (e.pageY-offsetY)/imgHeight:(e.pageX-offsetX)/imgWidth; if(sliderPct < 0){ sliderPct=0; } if(sliderPct > 1){ sliderPct=1; } adjustSlider(sliderPct); }}); if(!slideOnHover&&!container.hasClass("active")){ container.on("mouseup", function(e){ container.removeClass("active-click"); }); container.on("mousedown", function(e){ container.addClass("active-click"); offsetX=container.offset().left; offsetY=container.offset().top; imgWidth=beforeImg.width(); imgHeight=beforeImg.height(); sliderPct=(sliderOrientation==='vertical') ? (e.pageY-offsetY)/imgHeight:(e.pageX-offsetX)/imgWidth; if(sliderPct < 0){ sliderPct=0; } if(sliderPct > 1){ sliderPct=1; } adjustSlider(sliderPct); }); }; container.find("img").on("mousedown", function(event){ event.preventDefault(); }); if(slideOnHover){ container.on("mouseenter", function (e){ container.addClass("active"); offsetX=container.offset().left; offsetY=container.offset().top; imgWidth=beforeImg.width(); imgHeight=beforeImg.height() }); container.on("mouseleave", function (e){ container.removeClass("active") }); container.on("mousemove", function (e){ if(container.hasClass("active")){ sliderPct=sliderOrientation==="vertical" ? (e.pageY - offsetY) / imgHeight:(e.pageX - offsetX) / imgWidth; if(sliderPct < 0){ sliderPct=0 } if(sliderPct > 1){ sliderPct=1 } adjustSlider(sliderPct) }}); }; $(window).trigger("resize.twentytwenty"); }); };}}) jQuery(document).ready(function($){ if(!$.rsModules){ $.rsModules={uid:0};} function RoyalSlider(element, options){ var i, self=this, ua=navigator.userAgent.toLowerCase(); self.uid=$.rsModules.uid++; self.ns='.rs' + self.uid; var tempStyle=document.createElement('div').style, vendors=['webkit','Moz','ms','O'], vendor='', lastTime=0, tempV; for (i=0; i < vendors.length; i++){ tempV=vendors[i]; if(!vendor&&(tempV + 'Transform') in tempStyle){ vendor=tempV; } tempV=tempV.toLowerCase(); if(!window.requestAnimationFrame){ window.requestAnimationFrame=window[tempV+'RequestAnimationFrame']; window.cancelAnimationFrame=window[tempV+'CancelAnimationFrame'] || window[tempV+'CancelRequestAnimationFrame']; }} if(!window.requestAnimationFrame){ window.requestAnimationFrame=function(callback, element){ var currTime=new Date().getTime(), timeToCall=Math.max(0, 16 - (currTime - lastTime)), id=window.setTimeout(function(){ callback(currTime + timeToCall); }, timeToCall); lastTime=currTime + timeToCall; return id; };} if(!window.cancelAnimationFrame) window.cancelAnimationFrame=function(id){ clearTimeout(id); }; self.isIPAD=ua.match(/(ipad)/); var uaMatch=function(ua){ var match=/(chrome)[ \/]([\w.]+)/.exec(ua) || /(webkit)[ \/]([\w.]+)/.exec(ua) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || /(msie) ([\w.]+)/.exec(ua) || ua.indexOf("compatible") < 0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || []; return { browser: match[ 1 ]||"", version: match[ 2 ]||"0" };}; var matched=uaMatch(ua); var br={}; if(matched.browser){ br[ matched.browser ]=true; br.version=matched.version; } if(br.chrome){ br.webkit=true; }; self._browser=br; self.isAndroid=ua.indexOf("android") > -1; self.slider=$(element); self.ev=$(self); self._doc=$(document); self.st=$.extend({}, $.fn.royalSlider.defaults, options); self._currAnimSpeed=self.st.transitionSpeed; self._minPosOffset=0; if(self.st.allowCSS3){ if((!br.webkit||self.st.allowCSS3OnWebkit)){ var bT=vendor + (vendor ? 'T':'t'); self._useCSS3Transitions=((bT + 'ransform') in tempStyle)&&((bT + 'ransition') in tempStyle); if(self._useCSS3Transitions){ self._use3dTransform=(vendor + (vendor ? 'P':'p') + 'erspective') in tempStyle; }} } vendor=vendor.toLowerCase(); self._vendorPref='-'+vendor+'-'; self._slidesHorizontal=(self.st.slidesOrientation==='vertical') ? false:true; self._reorderProp=self._slidesHorizontal ? 'left':'top'; self._sizeProp=self._slidesHorizontal ? 'width':'height'; self._prevNavItemId=-1; self._isMove=(self.st.transitionType==='fade') ? false:true; if(!self._isMove){ self.st.sliderDrag=false; self._fadeZIndex=10; } self._opacityCSS='z-index:0; display:none; opacity:0;'; self._newSlideId=0; self._sPosition=0; self._nextSlidePos=0; $.each($.rsModules, function (helper, opts){ if(helper!=='uid') opts.call(self); }); self.slides=[]; self._idCount=0; var returnVal; var ts=self.st.slides ? $(self.st.slides):self.slider.children().detach(); ts.each(function(){ self._parseNode(this, true); }); if(self.st.randomizeSlides){ self.slides.sort(function(){ return 0.5 - Math.random() }); } self.numSlides=self.slides.length; self._refreshNumPreloadImages(); if(!self.st.startSlideId){ self.st.startSlideId=0; }else if(self.st.startSlideId > self.numSlides - 1){ self.st.startSlideId=self.numSlides - 1; } self._newSlideId=self.staticSlideId=self.currSlideId=self._realId=self.st.startSlideId; self.currSlide=self.slides[self.currSlideId]; self._accelerationPos=0; self.msTouch=false; self.slider.addClass((self._slidesHorizontal ? 'rsHor':'rsVer') + (self._isMove ? '':' rsFade')); var sliderHTML='
'; self.slidesSpacing=self.st.slidesSpacing; self._slideSize=(self._slidesHorizontal ? self.slider.width():self.slider.height()) + self.st.slidesSpacing; self._preload=Boolean(self._numPreloadImages > 0); if(self.numSlides <=1){ self._loop=false; } var loopHelpers=(self._loop&&self._isMove) ?(self.numSlides===2 ? 1:2):0; self._loopHelpers=loopHelpers; self._maxImages=self.numSlides < 6 ? self.numSlides:6; self._currBlockIndex=0; self._idOffset=0; self.slidesJQ=[]; for(i=0; i < self.numSlides; i++){ self.slidesJQ.push($(createItemHTML(i))); } self._sliderOverflow=sliderHTML=$(sliderHTML + '
'); var addCursors=function(){ if(self.st.sliderDrag){ self._hasDrag=true; if(br.msie||br.opera){ self._grabCursor=self._grabbingCursor="move"; }else if(br.mozilla){ self._grabCursor="-moz-grab"; self._grabbingCursor="-moz-grabbing"; }else if(br.webkit&&(navigator.platform.indexOf("Mac")!=-1)){ self._grabCursor="-webkit-grab"; self._grabbingCursor="-webkit-grabbing"; } self._setGrabCursor(); }}; var rsNS=self.ns; var addEventNames=function(pref, down, move, up, cancel){ self._downEvent=pref + down + rsNS; self._moveEvent=pref + move + rsNS; self._upEvent=pref + up + rsNS; if(cancel) self._cancelEvent=pref + cancel + rsNS; }; var nPointerEnabled=navigator.pointerEnabled; self.pointerEnabled=nPointerEnabled||navigator.msPointerEnabled; if(self.pointerEnabled){ self.hasTouch=false; self._lastItemFriction=0.2; self.pointerMultitouch=Boolean(navigator[ (nPointerEnabled ? 'm':'msM') + 'axTouchPoints' ] > 1); if(nPointerEnabled){ addEventNames('pointer', 'down', 'move', 'up', 'cancel'); }else{ addEventNames('MSPointer', 'Down', 'Move', 'Up', 'Cancel'); }}else{ if(!self.isIOS){ addEventNames('mouse', 'down', 'move', 'up'); }else{ self._downEvent=self._moveEvent=self._upEvent=self._cancelEvent=''; } if('ontouchstart' in window||'createTouch' in document){ self.hasTouch=true; self._downEvent +=' touchstart' + rsNS; self._moveEvent +=' touchmove' + rsNS; self._upEvent +=' touchend' + rsNS; self._cancelEvent +=' touchcancel' + rsNS; self._lastItemFriction=0.5; if(self.st.sliderTouch){ self._hasDrag=true; }}else{ self.hasTouch=false; self._lastItemFriction=0.2; }} addCursors(); self.slider.html(sliderHTML); self._controlsContainer=self.st.controlsInside ? self._sliderOverflow:self.slider; self._slidesContainer=self._sliderOverflow.children('.rsContainer'); if(self.msEnabled){ self._slidesContainer.css('-ms-touch-action', self._slidesHorizontal ? 'pan-y':'pan-x'); } self._preloader=$('
'); var slides=self._slidesContainer.children('.rsSlide'); self._currHolder=self.slidesJQ[self.currSlideId] self._selectedSlideHolder=0; function createItemHTML(i, className){ return '
'; } if(self._useCSS3Transitions){ self._TP='transition-property'; self._TD='transition-duration'; self._TTF='transition-timing-function'; self._yProp=self._xProp=self._vendorPref +'transform'; if(self._use3dTransform){ if(br.webkit&&!br.chrome){ self.slider.addClass('rsWebkit3d'); } self._tPref1='translate3d('; self._tPref2='px, '; self._tPref3='px, 0px)'; }else{ self._tPref1='translate('; self._tPref2='px, '; self._tPref3='px)'; } if(!self._isMove){ var animObj={}; animObj[(self._vendorPref + self._TP)]='opacity'; animObj[(self._vendorPref + self._TD)]=self.st.transitionSpeed + 'ms'; animObj[(self._vendorPref + self._TTF)]=self.st.css3easeInOut; slides.css(animObj); }else{ self._slidesContainer[(self._vendorPref + self._TP)]=(self._vendorPref + 'transform'); }}else{ self._xProp='left'; self._yProp='top'; } if(!self.st.disableResponsiveness){ var resizeTimer; $(window).on('resize'+self.ns, function(){ if(resizeTimer){ clearTimeout(resizeTimer); } resizeTimer=setTimeout(function(){ self.updateSliderSize(); }, 50); }); } self.ev.trigger('rsAfterPropsSetup'); self.updateSliderSize(); if(self.st.keyboardNavEnabled){ self._bindKeyboardNav(); } if(self.st.arrowsNavHideOnTouch&&(self.hasTouch||self.msTouch)){ self.st.arrowsNav=false; } if(self.st.arrowsNav){ var rArr='rsArrow', container=self._controlsContainer; $('
').appendTo(container); self._arrowLeft=container.children('.'+rArr+'Left').click(function(e){ e.preventDefault(); self.prev(); }); self._arrowRight=container.children('.'+rArr+'Right').click(function(e){ e.preventDefault(); self.next(); }); if(self.st.arrowsNavAutoHide&&!self.hasTouch){ self._arrowLeft.addClass('rsHidden'); self._arrowRight.addClass('rsHidden'); var hoverEl=container; hoverEl.one("mousemove.arrowshover",function(){ self._arrowLeft.removeClass('rsHidden'); self._arrowRight.removeClass('rsHidden'); }); hoverEl.hover(function(){ if(!self._arrowsAutoHideLocked){ self._arrowLeft.removeClass('rsHidden'); self._arrowRight.removeClass('rsHidden'); }}, function(){ if(!self._arrowsAutoHideLocked){ self._arrowLeft.addClass('rsHidden'); self._arrowRight.addClass('rsHidden'); }} ); } self.ev.on('rsOnUpdateNav', function(){ self._updateArrowsNav(); }); self._updateArrowsNav(); } if(self.st.autoPlay.enabled){ var container=self._controlsContainer; $('
').appendTo(container); var rPlay=container.find('.rsPlay'); container.addClass("autoplay-on"); self.ev.on("autoPlayPlay", function(){ rPlay.removeClass("paused"); }); self.ev.on("autoPlayPause", function(){ if(!self._autoPlayEnabled){ rPlay.addClass("paused"); }}); rPlay.on("click", function(){ self.toggleAutoPlay(); }); } if(self._hasDrag){ self._slidesContainer.on(self._downEvent, function(e){ self._onDragStart(e); }); }else{ self.dragSuccess=false; } var videoClasses=['rsPlayBtnIcon', 'rsPlayBtn', 'rsCloseVideoBtn', 'rsCloseVideoIcn']; self._slidesContainer.click(function(e){ if(!self.dragSuccess){ var t=$(e.target); var tClass=t.attr('class'); if($.inArray(tClass, videoClasses)!==-1){ if(self.toggleVideo()){ return false; }} if(self.st.navigateByClick&&!self._blockActions){ if($(e.target).closest('.rsNoDrag', self._currHolder).length){ return true; } self._mouseNext(e); } self.ev.trigger('rsSlideClick'); }}).on('click.rs', 'a', function(e){ if(self.dragSuccess){ return false; }else{ self._blockActions=true; setTimeout(function(){ self._blockActions=false; }, 3); }}); self.ev.trigger('rsAfterInit'); } RoyalSlider.prototype={ constructor: RoyalSlider, _mouseNext: function(e){ var self=this, relativePos=e[self._slidesHorizontal ? 'pageX':'pageY'] - self._sliderOffset; if(relativePos >=self._nextSlidePos){ self.next(); }else if(relativePos < 0){ self.prev(); }}, _refreshNumPreloadImages: function(){ var self=this, n; n=self.st.numImagesToPreload; self._loop=self.st.loop; if(self._loop){ if(self.numSlides===2){ self._loop=false; self.st.loopRewind=true; }else if(self.numSlides < 2){ self.st.loopRewind=self._loop=false; }} if(self._loop&&n > 0){ if(self.numSlides <=4){ n=1; }else{ if(self.st.numImagesToPreload > (self.numSlides - 1) / 2){ n=Math.floor((self.numSlides - 1) / 2); }} } self._numPreloadImages=n; }, _parseNode: function(content, pushToSlides){ var self=this, hasImg, isRoot, hasCover, obj={}, tempEl, first=true; content=$(content); self._currContent=content; self.ev.trigger('rsBeforeParseNode', [content, obj]); if(obj.stopParsing){ return; } content=self._currContent; obj.id=self._idCount; obj.contentAdded=false; self._idCount++; obj.images=[]; obj.isBig=false; if(!obj.hasCover){ if(content.hasClass('rsImg')){ tempEl=content; hasImg=true; }else{ tempEl=content.find('.rsImg'); if(tempEl.length){ hasImg=true; }} if(hasImg){ obj.bigImage=tempEl.eq(0).attr('data-rsBigImg'); tempEl.each(function(){ var item=$(this); if(item.is('a')){ parseEl(item, 'href'); }else if(item.is('img')){ parseEl(item, 'src'); }else{ parseEl(item); }}); }else if(content.is('img')){ content.addClass('rsImg rsMainSlideImage'); parseEl(content, 'src'); }} tempEl=content.find('.rsCaption'); if(tempEl.length){ obj.caption=tempEl.remove(); } obj.content=content; self.ev.trigger('rsAfterParseNode', [content, obj]); function parseEl(el, s){ if(s){ obj.images.push(el.attr(s)); }else{ obj.images.push(el.text()); } if(first){ first=false; obj.caption=(s==='src') ? el.attr('alt'):el.contents(); obj.image=obj.images[0]; obj.videoURL=el.attr('data-rsVideo'); var wAtt=el.attr('data-rsw'), hAtt=el.attr('data-rsh'); if(typeof wAtt!=='undefined'&&wAtt!==false&&typeof hAtt!=='undefined'&&hAtt!==false){ obj.iW=parseInt(wAtt); obj.iH=parseInt(hAtt); }else if(self.st.imgWidth&&self.st.imgHeight){ obj.iW=self.st.imgWidth; obj.iH=self.st.imgHeight; }} } if(pushToSlides){ self.slides.push(obj); } if(obj.images.length===0){ obj.isLoaded=true; obj.isRendered=false; obj.isLoading=false; obj.images=null; } return obj; }, _bindKeyboardNav: function(){ var self=this, interval, keyCode, onKeyboardAction=function (keyCode){ if(keyCode===37){ self.prev(); }else if(keyCode===39){ self.next(); }}; self._doc.on('keydown' + self.ns, function(e){ if(!self._isDragging){ keyCode=e.keyCode; if(keyCode===37||keyCode===39){ if(!interval){ onKeyboardAction(keyCode); interval=setInterval(function(){ onKeyboardAction(keyCode); }, 700); }} }}).on('keyup' + self.ns, function(e){ if(interval){ clearInterval(interval); interval=null; }}); }, goTo: function(id, notUserAction){ var self=this; if(id!==self.currSlideId){ self._moveTo(id,self.st.transitionSpeed, true, !notUserAction); }}, destroy: function(remove){ var self=this; self.ev.trigger('rsBeforeDestroy'); self._doc.off('keydown' +self.ns+ ' keyup' + self.ns + ' ' + self._moveEvent +' '+ self._upEvent); self._slidesContainer.off(self._downEvent + ' click'); self.slider.data('royalSlider', null); $.removeData(self.slider, 'royalSlider'); $(window).off('resize' + self.ns); if(remove){ self.slider.remove(); } self.slides=null; self.slider=null; self.ev=null; }, _updateBlocksContent: function(beforeTransition, getId){ var self=this, item, i, n, pref, group, groupId, slideCode, loop=self._loop, numSlides=self.numSlides; if(!isNaN(getId)){ return getCorrectLoopedId(getId); } var id=self.currSlideId; var groupOffset; var itemsOnSide=beforeTransition ? (Math.abs(self._prevSlideId - self.currSlideId) >=self.numSlides - 1 ? 0:1):self._numPreloadImages; var itemsToCheck=Math.min(2, itemsOnSide); var updateAfter=false; var updateBefore=false; var tempId; for(i=id; i < id + 1 + itemsToCheck; i++){ tempId=getCorrectLoopedId(i); item=self.slides[tempId]; if(item&&(!item.isAdded||!item.positionSet)){ updateAfter=true; break; }} for(i=id - 1; i > id - 1 - itemsToCheck; i--){ tempId=getCorrectLoopedId(i); item=self.slides[tempId]; if(item&&(!item.isAdded||!item.positionSet)){ updateBefore=true; break; }} if(updateAfter){ for(i=id; i < id + itemsOnSide + 1; i++){ tempId=getCorrectLoopedId(i); groupOffset=Math.floor((self._realId - (id - i)) / self.numSlides) * self.numSlides; item=self.slides[tempId]; if(item){ updateItem(item, tempId); }} } if(updateBefore){ for(i=id - 1; i > id - 1 - itemsOnSide; i--){ tempId=getCorrectLoopedId(i); groupOffset=Math.floor((self._realId - (id - i)) / numSlides) * numSlides; item=self.slides[tempId]; if(item){ updateItem(item, tempId); }} } if(!beforeTransition){ var start=id; var distance=itemsOnSide; var min=getCorrectLoopedId(id - itemsOnSide); var max=getCorrectLoopedId(id + itemsOnSide); var nmin=min > max ? 0:min; for (i=0; i < numSlides; i++){ if(min > max){ if(i > min - 1){ continue; }} if(i < nmin||i > max){ item=self.slides[i]; if(item&&item.holder){ item.holder.detach(); item.isAdded=false; }} }} function updateItem(item , i, slideCode){ if(!item.isAdded){ if(!slideCode) slideCode=self.slidesJQ[i]; if(!item.holder){ slideCode=self.slidesJQ[i]=$(slideCode); item.holder=slideCode; }else{ slideCode=item.holder; } item.appendOnLoaded=false; updatePos(i, item, slideCode); addContent(i, item); self._addBlockToContainer(item, slideCode, beforeTransition); item.isAdded=true; appended=true; }else{ addContent(i, item); updatePos(i, item); }} function addContent(i, item){ if(!item.contentAdded){ self.setItemHtml(item, beforeTransition); if(!beforeTransition){ item.contentAdded=true; }} } function updatePos(i, item, slideCode){ if(self._isMove){ if(!slideCode){ slideCode=self.slidesJQ[i]; } slideCode.css(self._reorderProp, (i + self._idOffset + groupOffset) * self._slideSize); }} function getCorrectLoopedId(index){ var changed=false; if(loop){ if(index > numSlides - 1){ return getCorrectLoopedId(index - numSlides); }else if(index < 0){ return getCorrectLoopedId(numSlides + index); }} return index; }}, setItemHtml: function(currSlideObject, beforeTransition){ var self=this; if(currSlideObject.isLoaded){ appendContent(); return; }else{ if(beforeTransition){ waitForTransition(); }else{ parseDataAndLoad(); }} function parseDataAndLoad(){ if(!currSlideObject.images){ currSlideObject.isRendered=true; currSlideObject.isLoaded=true; currSlideObject.isLoading=false; appendContent(true); return; } if(currSlideObject.isLoading){ return; } var el, isRoot; if(currSlideObject.content.hasClass('rsImg')){ el=currSlideObject.content; isRoot=true; }else{ el=currSlideObject.content.find('.rsImg:not(img)') } if(el&&!el.is('img')){ el.each(function(){ var item=$(this), newEl=''; if(!isRoot){ item.replaceWith(newEl); }else{ currSlideObject.content=$(newEl); }}); } el=isRoot ? currSlideObject.content:currSlideObject.content.find('img.rsImg'); setPreloader(); el.eq(0).addClass('rsMainSlideImage'); if(currSlideObject.iW&&currSlideObject.iH){ if(!currSlideObject.isLoaded){ self._resizeImage(currSlideObject); } appendContent(); } currSlideObject.isLoading=true; var newEl; if(currSlideObject.isBig){ $('').on('load.rs error.rs', function(e){ onLoad([this], true); }).attr('src', currSlideObject.image); }else{ currSlideObject.loaded=[]; currSlideObject.imgLoaders=[]; for(var i=0; i < currSlideObject.images.length; i++){ var image=$(''); currSlideObject.imgLoaders.push(this); image.on('load.rs error.rs', function(e){ currSlideObject.loaded.push(this); if(currSlideObject.loaded.length===currSlideObject.imgLoaders.length){ onLoad(currSlideObject.loaded, false); }}).attr('src', currSlideObject.images[i]); }} } function onLoad($images, isBig){ if($images.length){ var img=$images[0], src=img.src; if(isBig!==currSlideObject.isBig){ var c=currSlideObject.holder.children(); if(c&&c.length > 1){ removePreloader(); } return; } if(currSlideObject.iW&&currSlideObject.iH){ imageLoadingComplete(); return; } currSlideObject.iW=img.width; currSlideObject.iH=img.height; if(currSlideObject.iW&&currSlideObject.iH){ imageLoadingComplete(); return; }else{ var loader=new Image(); loader.onload=function(){ if(loader.width){ currSlideObject.iW=loader.width; currSlideObject.iH=loader.height; imageLoadingComplete(); }else{ setTimeout(function(){ if(loader.width){ currSlideObject.iW=loader.width; currSlideObject.iH=loader.height; } imageLoadingComplete(); }, 1000); }}; loader.src=img.src; }}else{ imageLoadingComplete(); }} function imageLoadingComplete(){ currSlideObject.isLoaded=true; currSlideObject.isLoading=false; appendContent(); removePreloader(); triggerLoaded(); } function waitForTransition(){ if(!self._isMove&&currSlideObject.images&&currSlideObject.iW&&currSlideObject.iH){ parseDataAndLoad(); return; } currSlideObject.holder.isWaiting=true; setPreloader(); currSlideObject.holder.slideId=-99; } function appendContent(){ if(!currSlideObject.isAppended){ var visibleNearby=self.st.visibleNearby, bId=currSlideObject.id - self._newSlideId; if(!beforeTransition&&!currSlideObject.appendOnLoaded&&self.st.fadeinLoadedSlide&&(bId===0||((visibleNearby||self._isAnimating||self._isDragging)&&(bId===-1||bId===1)))){ var css={ visibility: 'visible', opacity: 0 }; css[self._vendorPref + 'transition']='opacity 400ms ease-in-out'; currSlideObject.content.css(css); setTimeout(function(){ currSlideObject.content.css('opacity', 1); }, 16); } if(currSlideObject.holder.find('.rsPreloader').length){ currSlideObject.holder.append(currSlideObject.content); }else{ currSlideObject.holder.html(currSlideObject.content); } currSlideObject.isAppended=true; if(currSlideObject.isLoaded){ self._resizeImage(currSlideObject); triggerLoaded(); } if(!currSlideObject.sizeReady){ currSlideObject.sizeReady=true; setTimeout(function(){ self.ev.trigger('rsMaybeSizeReady', currSlideObject); }, 100); }} } function triggerLoaded(){ if(!currSlideObject.loadedTriggered){ currSlideObject.isLoaded=currSlideObject.loadedTriggered=true; currSlideObject.holder.trigger('rsAfterContentSet'); self.ev.trigger('rsAfterContentSet', currSlideObject); }} function setPreloader(){ if(self.st.usePreloader) currSlideObject.holder.html(self._preloader.clone()); } function removePreloader(now){ if(self.st.usePreloader){ var preloader=currSlideObject.holder.find('.rsPreloader'); if(preloader.length){ preloader.remove(); }} }}, _addBlockToContainer: function(slideObject, content, dontFade){ var self=this; var holder=slideObject.holder; var bId=slideObject.id - self._newSlideId; var visibleNearby=false; self._slidesContainer.append(holder); slideObject.appendOnLoaded=false; }, _onDragStart:function(e, isThumbs){ var self=this, point, wasAnimating, isTouch=(e.type==='touchstart'); self._isTouchGesture=isTouch; self.ev.trigger('rsDragStart'); if($(e.target).closest('.rsNoDrag', self._currHolder).length){ self.dragSuccess=false; return true; } if(!isThumbs){ if(self._isAnimating){ self._wasAnimating=true; self._stopAnimation(); }} self.dragSuccess=false; if(self._isDragging){ if(isTouch){ self._multipleTouches=true; } return; }else{ if(isTouch){ self._multipleTouches=false; }} self._setGrabbingCursor(); if(isTouch){ var touches=e.originalEvent.touches; if(touches&&touches.length > 0){ point=touches[0]; if(touches.length > 1){ self._multipleTouches=true; }}else{ return; }}else{ e.preventDefault(); point=e; if(self.msEnabled) point=point.originalEvent; } self._isDragging=true; self._doc.on(self._moveEvent, function(e){ self._onDragMove(e, isThumbs); }) .on(self._upEvent, function(e){ self._onDragRelease(e, isThumbs); }); self._currMoveAxis=''; self._hasMoved=false; self._pageX=point.pageX; self._pageY=point.pageY; self._startPagePos=self._accelerationPos=(!isThumbs ? self._slidesHorizontal:self._thumbsHorizontal) ? point.pageX:point.pageY; self._horDir=0; self._verDir=0; self._currRenderPosition = !isThumbs ? self._sPosition:self._thumbsPosition; self._startTime=new Date().getTime(); if(isTouch){ self._sliderOverflow.on(self._cancelEvent, function(e){ self._onDragRelease(e, isThumbs); }); }}, _renderMovement:function(point, isThumbs){ var self=this; if(self._checkedAxis){ var timeStamp=self._renderMoveTime, deltaX=point.pageX - self._pageX, deltaY=point.pageY - self._pageY, newX=self._currRenderPosition + deltaX, newY=self._currRenderPosition + deltaY, isHorizontal=(!isThumbs ? self._slidesHorizontal:self._thumbsHorizontal), newPos=isHorizontal ? newX:newY, mAxis=self._currMoveAxis; self._hasMoved=true; self._pageX=point.pageX; self._pageY=point.pageY; if(mAxis==='x'&&deltaX!==0){ self._horDir=deltaX > 0 ? 1:-1; }else if(mAxis==='y'&&deltaY!==0){ self._verDir=deltaY > 0 ? 1:-1; } var pointPos=isHorizontal ? self._pageX:self._pageY, deltaPos=isHorizontal ? deltaX:deltaY; if(!isThumbs){ if(!self._loop){ if(self.currSlideId <=0){ if(pointPos - self._startPagePos > 0){ newPos=self._currRenderPosition + deltaPos * self._lastItemFriction; }} if(self.currSlideId >=self.numSlides - 1){ if(pointPos - self._startPagePos < 0){ newPos=self._currRenderPosition + deltaPos * self._lastItemFriction ; }} }}else{ if(newPos > self._thumbsMinPosition){ newPos=self._currRenderPosition + deltaPos * self._lastItemFriction; }else if(newPos < self._thumbsMaxPosition){ newPos=self._currRenderPosition + deltaPos * self._lastItemFriction ; }} self._currRenderPosition=newPos; if(timeStamp - self._startTime > 200){ self._startTime=timeStamp; self._accelerationPos=pointPos; } if(!isThumbs){ if(self._isMove){ self._setPosition(self._currRenderPosition); }}else{ self._setThumbsPosition(self._currRenderPosition); }} }, _onDragMove:function(e, isThumbs){ var self=this, point, isTouch=(e.type==='touchmove'); if(self._isTouchGesture&&!isTouch){ return; } if(isTouch){ if(self._lockAxis){ return; } var touches=e.originalEvent.touches; if(touches){ if(touches.length > 1){ return; }else{ point=touches[0]; }}else{ return; }}else{ point=e; if(self.msEnabled) point=point.originalEvent; } if(!self._hasMoved){ if(self._useCSS3Transitions){ (!isThumbs ? self._slidesContainer:self._thumbsContainer).css((self._vendorPref + self._TD), '0s'); } (function animloop(){ if(self._isDragging){ self._animFrame=requestAnimationFrame(animloop); if(self._renderMoveEvent) self._renderMovement(self._renderMoveEvent, isThumbs); }})(); } if(!self._checkedAxis){ var dir=(!isThumbs ? self._slidesHorizontal:self._thumbsHorizontal), diff=(Math.abs(point.pageX - self._pageX) - Math.abs(point.pageY - self._pageY)) - (dir ? -7:7); if(diff > 7){ if(dir){ e.preventDefault(); self._currMoveAxis='x'; }else if(isTouch){ self._completeGesture(); return; } self._checkedAxis=true; }else if(diff < -7){ if(!dir){ e.preventDefault(); self._currMoveAxis='y'; }else if(isTouch){ self._completeGesture(); return; } self._checkedAxis=true; } return; } e.preventDefault(); self._renderMoveTime=new Date().getTime(); self._renderMoveEvent=point; }, _completeGesture: function(){ var self=this; self._lockAxis=true; self._hasMoved=self._isDragging=false; self._onDragRelease(); }, _onDragRelease:function(e, isThumbs){ var self=this, totalMoveDist, accDist, duration, v0, newPos, newDist, newDuration, blockLink, isTouch=(e.type==='touchend'||e.type==='touchcancel'); if(self._isTouchGesture&&!isTouch){ return; } self._isTouchGesture=false; self.ev.trigger('rsDragRelease'); self._renderMoveEvent=null; self._isDragging=false; self._lockAxis=false; self._checkedAxis=false; self._renderMoveTime=0; cancelAnimationFrame(self._animFrame); if(self._hasMoved){ if(!isThumbs){ if(self._isMove){ self._setPosition(self._currRenderPosition); }}else{ self._setThumbsPosition(self._currRenderPosition); }} self._doc.off(self._moveEvent).off(self._upEvent); if(isTouch){ self._sliderOverflow.off(self._cancelEvent); } self._setGrabCursor(); if(!self._hasMoved&&!self._multipleTouches){ if(isThumbs&&self._thumbsEnabled){ var item=$(e.target).closest('.rsNavItem'); if(item.length){ self.goTo(item.index()); } return; }} var orient=(!isThumbs ? self._slidesHorizontal:self._thumbsHorizontal); if(!self._hasMoved||(self._currMoveAxis==='y'&&orient)||(self._currMoveAxis==='x'&&!orient)){ if(!isThumbs&&self._wasAnimating){ self._wasAnimating=false; if(!self.st.navigateByClick){ self.dragSuccess=true; }else{ self._mouseNext((self.msEnabled ? e.originalEvent:e)); self.dragSuccess=true; return; }}else{ self._wasAnimating=false; self.dragSuccess=false; return; }}else{ self.dragSuccess=true; } self._wasAnimating=false; self._currMoveAxis=''; function getCorrectSpeed(newSpeed){ if(newSpeed < 100){ return 100; }else if(newSpeed > 500){ return 500; } return newSpeed; } function returnToCurrent(isSlow, v0){ if(self._isMove||isThumbs){ newPos=(-self._realId - self._idOffset) * self._slideSize; newDist=Math.abs(self._sPosition - newPos); self._currAnimSpeed=newDist / v0; if(isSlow){ self._currAnimSpeed +=250; } self._currAnimSpeed=getCorrectSpeed(self._currAnimSpeed); self._animateTo(newPos, false); }} var snapDist=self.st.minSlideOffset, point=isTouch ? e.originalEvent.changedTouches[0]:(self.msEnabled ? e.originalEvent:e), pPos=orient ? point.pageX:point.pageY, sPos=self._startPagePos, axPos=self._accelerationPos, axCurrItem=self.currSlideId, axNumItems=self.numSlides, dir=orient ? self._horDir:self._verDir, loop=self._loop, changeHash=false, distOffset=0; totalMoveDist=Math.abs(pPos - sPos); accDist=pPos - axPos; duration=(new Date().getTime()) - self._startTime; v0=Math.abs(accDist) / duration; if(dir===0||axNumItems <=1){ returnToCurrent(true, v0); return; } if(!loop&&!isThumbs){ if(axCurrItem <=0){ if(dir > 0){ returnToCurrent(true, v0); return; }}else if(axCurrItem >=axNumItems - 1){ if(dir < 0){ returnToCurrent(true, v0); return; }} } if(!isThumbs){ if(sPos + snapDist < pPos){ if(dir < 0){ returnToCurrent(false, v0); return; } self._moveTo('prev', getCorrectSpeed(Math.abs(self._sPosition - (-self._realId - self._idOffset + 1) * self._slideSize) / v0), changeHash, true, true); }else if(sPos - snapDist > pPos){ if(dir > 0){ returnToCurrent(false, v0); return; } self._moveTo('next', getCorrectSpeed(Math.abs(self._sPosition - (-self._realId - self._idOffset - 1) * self._slideSize) / v0), changeHash, true, true); }else{ returnToCurrent(false, v0); }}else{ var newPos=self._thumbsPosition; var transitionSpeed; if(newPos > self._thumbsMinPosition){ newPos=self._thumbsMinPosition; }else if(newPos < self._thumbsMaxPosition){ newPos=self._thumbsMaxPosition; }else{ var friction=0.003, S=(v0 * v0) / (friction * 2), minXDist=-self._thumbsPosition, maxXDist=self._thumbsContainerSize - self._thumbsViewportSize + self._thumbsPosition; if(accDist > 0&&S > minXDist){ minXDist=minXDist + self._thumbsViewportSize / (15 / (S / v0 * friction)); v0=v0 * minXDist / S; S=minXDist; }else if(accDist < 0&&S > maxXDist){ maxXDist=maxXDist + self._thumbsViewportSize / (15 / (S / v0 * friction)); v0=v0 * maxXDist / S; S=maxXDist; } transitionSpeed=Math.max(Math.round(v0 / friction), 50); newPos=newPos + S * (accDist < 0 ? -1:1); if(newPos > self._thumbsMinPosition){ self._animateThumbsTo(newPos, transitionSpeed, true, self._thumbsMinPosition, 200); return; }else if(newPos < self._thumbsMaxPosition){ self._animateThumbsTo(newPos, transitionSpeed, true, self._thumbsMaxPosition, 200); return; }} self._animateThumbsTo(newPos, transitionSpeed, true); }}, _setPosition: function(pos){ var self=this; pos=self._sPosition=pos; if(self._useCSS3Transitions){ self._slidesContainer.css(self._xProp, self._tPref1 +(self._slidesHorizontal ? (pos + self._tPref2 + 0):(0 + self._tPref2 + pos)) + self._tPref3); }else{ self._slidesContainer.css(self._slidesHorizontal ? self._xProp:self._yProp, pos); }}, updateSliderSize: function(force){ var self=this, newWidth, newHeight; if(self.st.autoScaleSlider){ var asw=self.st.autoScaleSliderWidth, ash=self.st.autoScaleSliderHeight; if(self.st.autoScaleHeight){ newWidth=self.slider.width(); if(newWidth!=self.width){ self.slider.css("height", newWidth * (ash / asw)); newWidth=self.slider.width(); } newHeight=self.slider.height(); }else{ newHeight=self.slider.height(); if(newHeight!=self.height){ self.slider.css("width", newHeight * (asw / ash)); newHeight=self.slider.height(); } newWidth=self.slider.width(); }}else{ newWidth=self.slider.width(); newHeight=self.slider.height(); } if(force||newWidth!=self.width||newHeight!=self.height){ self.width=newWidth; self.height=newHeight; self._wrapWidth=newWidth; self._wrapHeight=newHeight; self.ev.trigger('rsBeforeSizeSet'); self.ev.trigger('rsAfterSizePropSet'); self._sliderOverflow.css({ width: self._wrapWidth, height: self._wrapHeight }); self._slideSize=(self._slidesHorizontal ? self._wrapWidth:self._wrapHeight) + self.st.slidesSpacing; self._imagePadding=self.st.imageScalePadding; var item, slideItem, i, img; for(i=0; i < self.slides.length; i++){ item=self.slides[i]; item.positionSet=false; if(item&&item.images&&item.isLoaded){ item.isRendered=false; self._resizeImage(item); }} if(self._cloneHolders){ for(i=0; i < self._cloneHolders.length; i++){ item=self._cloneHolders[i]; item.holder.css(self._reorderProp, (item.id + self._idOffset) * self._slideSize); }} self._updateBlocksContent(); if(self._isMove){ if(self._useCSS3Transitions){ self._slidesContainer.css(self._vendorPref + 'transition-duration', '0s'); } self._setPosition((-self._realId - self._idOffset) * self._slideSize); } self.ev.trigger('rsOnUpdateNav'); } self._sliderOffset=self._sliderOverflow.offset(); self._sliderOffset=self._sliderOffset[self._reorderProp]; }, appendSlide: function(htmltext, index){ var self=this, parsedSlide=self._parseNode(htmltext); if(isNaN(index)||index > self.numSlides){ index=self.numSlides; } self.slides.splice(index, 0, parsedSlide); self.slidesJQ.splice(index, 0, '
'); if(index < self.currSlideId){ self.currSlideId++; } self.ev.trigger('rsOnAppendSlide', [parsedSlide, index]); self._refreshSlides(index); if(index===self.currSlideId){ self.ev.trigger('rsAfterSlideChange'); }}, removeSlide: function(index){ var self=this, slideToRemove=self.slides[index]; if(slideToRemove){ if(slideToRemove.holder){ slideToRemove.holder.remove(); } if(index < self.currSlideId){ self.currSlideId--; } self.slides.splice(index, 1); self.slidesJQ.splice(index, 1); self.ev.trigger('rsOnRemoveSlide', [index]); self._refreshSlides(index); if(index===self.currSlideId){ self.ev.trigger('rsAfterSlideChange'); }} }, _refreshSlides: function(refreshIndex){ var self=this; var oldNumSlides=self.numSlides; var numLoops=self._realId <=0 ? 0:Math.floor(self._realId / oldNumSlides); self.numSlides=self.slides.length; if(self.numSlides===0){ self.currSlideId=self._idOffset=self._realId=0; self.currSlide=self._oldHolder=null; }else{ self._realId=numLoops * self.numSlides + self.currSlideId; } for(var i=0; i < self.numSlides; i++){ self.slides[i].id=i; } self.currSlide=self.slides[self.currSlideId]; self._currHolder=self.slidesJQ[self.currSlideId]; if(self.currSlideId >=self.numSlides){ self.goTo(self.numSlides - 1); }else if(self.currSlideId < 0){ self.goTo(0); } self._refreshNumPreloadImages(); if(self._isMove&&self._loop){ self._slidesContainer.css((self._vendorPref + self._TD), '0ms'); } if(self._refreshSlidesTimeout){ clearTimeout(self._refreshSlidesTimeout); } self._refreshSlidesTimeout=setTimeout(function(){ if(self._isMove){ self._setPosition((-self._realId - self._idOffset) * self._slideSize); } self._updateBlocksContent(); if(!self._isMove){ self._currHolder.css({ display: 'block', opacity: 1 }); }}, 14); self.ev.trigger('rsOnUpdateNav'); }, _setGrabCursor:function(){ var self=this; if(self._hasDrag&&self._isMove){ if(self._grabCursor){ self._sliderOverflow.css('cursor', self._grabCursor); }else{ self._sliderOverflow.removeClass('grabbing-cursor'); self._sliderOverflow.addClass('grab-cursor'); }} }, _setGrabbingCursor:function(){ var self=this; if(self._hasDrag&&self._isMove){ if(self._grabbingCursor){ self._sliderOverflow.css('cursor', self._grabbingCursor); }else{ self._sliderOverflow.removeClass('grab-cursor'); self._sliderOverflow.addClass('grabbing-cursor'); }} }, next: function(notUserAction){ var self=this; self._moveTo('next', self.st.transitionSpeed, true, !notUserAction); }, prev: function(notUserAction){ var self=this; self._moveTo('prev', self.st.transitionSpeed, true, !notUserAction); }, _moveTo:function(type, speed, inOutEasing, userAction, fromSwipe){ var self=this, newPos, difference, i; self.ev.trigger('rsBeforeMove', [type, userAction]); if(type==='next'){ newItemId=self.currSlideId+1; }else if(type==='prev'){ newItemId=self.currSlideId-1; }else{ newItemId=type=parseInt(type, 10); } if(!self._loop){ if(newItemId < 0){ self._doBackAndForthAnim('left', !userAction); return; }else if(newItemId >=self.numSlides){ self._doBackAndForthAnim('right', !userAction); return; }} if(self._isAnimating){ self._stopAnimation(true); inOutEasing=false; } difference=newItemId - self.currSlideId; self._prevSlideId=self.currSlideId; var prevId=self.currSlideId; var id=self.currSlideId + difference; var realId=self._realId; var temp; var delayed; if(self._loop){ id=self._updateBlocksContent(false, id); realId +=difference; }else{ realId=id; } self._newSlideId=id; self._oldHolder=self.slidesJQ[self.currSlideId]; self._realId=realId; self.currSlideId=self._newSlideId; self.currSlide=self.slides[self.currSlideId]; self._currHolder=self.slidesJQ[self.currSlideId]; var checkDist=self.st.slidesDiff; var next=Boolean(difference > 0); var absDiff=Math.abs(difference); var g1=Math.floor(prevId / self._numPreloadImages); var g2=Math.floor(( prevId + (next ? checkDist:-checkDist)) / self._numPreloadImages); var biggest=next ? Math.max(g1,g2):Math.min(g1,g2); var biggestId=biggest * self._numPreloadImages +(next ? (self._numPreloadImages - 1):0); if(biggestId > self.numSlides - 1){ biggestId=self.numSlides - 1; }else if(biggestId < 0){ biggestId=0; } var toLast=next ? (biggestId - prevId):(prevId - biggestId); if(toLast > self._numPreloadImages){ toLast=self._numPreloadImages; } if(absDiff > toLast + checkDist){ self._idOffset +=(absDiff - (toLast + checkDist)) *(next ? -1:1); speed=speed * 1.4; for(i=0; i < self.numSlides; i++){ self.slides[i].positionSet=false; }} self._currAnimSpeed=speed; self._updateBlocksContent(true); if(!fromSwipe){ delayed=true; } newPos=(-realId - self._idOffset) * self._slideSize; if(delayed){ setTimeout(function(){ self._isWorking=false; self._animateTo(newPos, type, false, inOutEasing); self.ev.trigger('rsOnUpdateNav'); }, 0); }else{ self._animateTo(newPos, type, false, inOutEasing); self.ev.trigger('rsOnUpdateNav'); } function isSetToCurrent(testId){ if(testId < 0){ testId=self.numSlides + testId; }else if(testId > self.numSlides - 1){ testId=testId - self.numSlides; } if(testId!==self.currSlideId){ return false; } return true; }}, _updateArrowsNav: function(){ var self=this, arrDisClass='rsArrowDisabled'; if(self.st.arrowsNav){ if(self.numSlides <=1){ self._arrowLeft.css('display', 'none'); self._arrowRight.css('display', 'none'); return; }else{ self._arrowLeft.css('display', 'block'); self._arrowRight.css('display', 'block'); } if(!self._loop&&!self.st.loopRewind){ if(self.currSlideId===0){ self._arrowLeft.addClass(arrDisClass); }else{ self._arrowLeft.removeClass(arrDisClass); } if(self.currSlideId===self.numSlides - 1){ self._arrowRight.addClass(arrDisClass); }else{ self._arrowRight.removeClass(arrDisClass); }} }}, _animateTo:function(pos, dir, loadAll, inOutEasing, customComplete){ var self=this, moveProp, oldBlock, animBlock; var animObj={}; if(isNaN(self._currAnimSpeed)){ self._currAnimSpeed=400; } self._sPosition=self._currRenderPosition=pos; self.ev.trigger('rsBeforeAnimStart'); if(!self._useCSS3Transitions){ if(self._isMove){ animObj[self._slidesHorizontal ? self._xProp:self._yProp]=pos + 'px'; self._slidesContainer.animate(animObj, self._currAnimSpeed, inOutEasing ? self.st.easeInOut:self.st.easeOut); }else{ oldBlock=self._oldHolder; animBlock=self._currHolder; animBlock.stop(true, true).css({ opacity: 0, display: 'block', zIndex: self._fadeZIndex }); self._currAnimSpeed=self.st.transitionSpeed; animBlock.animate({opacity: 1}, self._currAnimSpeed, self.st.easeInOut); clearTimeouts(); if(oldBlock){ oldBlock.data('rsTimeout', setTimeout(function(){ oldBlock.stop(true, true).css({ opacity: 0, display: 'none', zIndex: 0 }); }, self._currAnimSpeed + 60)); }} }else{ if(self._isMove){ self._currAnimSpeed=parseInt(self._currAnimSpeed); var td=self._vendorPref + self._TD; var ttf=self._vendorPref + self._TTF; animObj[td]=self._currAnimSpeed+'ms'; animObj[ttf]=inOutEasing ? $.rsCSS3Easing[self.st.easeInOut]:$.rsCSS3Easing[self.st.easeOut]; self._slidesContainer.css(animObj); if(inOutEasing||!self.hasTouch){ setTimeout(function(){ self._setPosition(pos); }, 5); }else{ self._setPosition(pos); }}else{ self._currAnimSpeed=self.st.transitionSpeed; oldBlock=self._oldHolder; animBlock=self._currHolder; if(animBlock.data('rsTimeout')){ animBlock.css('opacity', 0); } clearTimeouts(); if(oldBlock){ oldBlock.data('rsTimeout', setTimeout(function(){ animObj[self._vendorPref + self._TD]='0ms'; animObj.zIndex=0; animObj.display='none'; oldBlock.data('rsTimeout', ''); oldBlock.css(animObj); setTimeout(function(){ oldBlock.css('opacity', 0); }, 16); }, self._currAnimSpeed + 60)); } animObj.display='block'; animObj.zIndex=self._fadeZIndex; animObj.opacity=0; animObj[self._vendorPref + self._TD]='0ms'; animObj[self._vendorPref + self._TTF]=$.rsCSS3Easing[self.st.easeInOut]; animBlock.css(animObj); animBlock.data('rsTimeout', setTimeout(function(){ animBlock.css(self._vendorPref + self._TD, self._currAnimSpeed+'ms'); animBlock.data('rsTimeout', setTimeout(function(){ animBlock.css('opacity', 1); animBlock.data('rsTimeout', ''); }, 20)); }, 20)); }} self._isAnimating=true; if(self.loadingTimeout){ clearTimeout(self.loadingTimeout); } if(customComplete){ self.loadingTimeout=setTimeout(function(){ self.loadingTimeout=null; customComplete.call(); }, self._currAnimSpeed + 60); }else{ self.loadingTimeout=setTimeout(function(){ self.loadingTimeout=null; self._animationComplete(dir); }, self._currAnimSpeed + 60); } function clearTimeouts(){ var t; if(oldBlock){ t=oldBlock.data('rsTimeout'); if(t){ if(oldBlock!==animBlock){ oldBlock.css({ opacity: 0, display: 'none', zIndex: 0 }); } clearTimeout(t); oldBlock.data('rsTimeout', ''); }} t=animBlock.data('rsTimeout'); if(t){ clearTimeout(t); animBlock.data('rsTimeout', ''); }} }, _stopAnimation: function(noCSS3){ var self=this; self._isAnimating=false; clearTimeout(self.loadingTimeout); if(self._isMove){ if(!self._useCSS3Transitions){ self._slidesContainer.stop(true); self._sPosition=parseInt(self._slidesContainer.css(self._xProp), 10); }else if(!noCSS3){ var oldPos=self._sPosition; var newPos=self._currRenderPosition=self._getTransformProp(); self._slidesContainer.css((self._vendorPref + self._TD), '0ms'); if(oldPos!==newPos){ self._setPosition(newPos); }} }else{ if(self._fadeZIndex > 20){ self._fadeZIndex=10; }else{ self._fadeZIndex++; }} }, _getTransformProp:function(){ var self=this, transform=window.getComputedStyle(self._slidesContainer.get(0), null).getPropertyValue(self._vendorPref + 'transform'), explodedMatrix=transform.replace(/^matrix\(/i, '').split(/, |\)$/g), isMatrix3d=(explodedMatrix[0].indexOf('matrix3d')===0); return parseInt(explodedMatrix[(self._slidesHorizontal ? (isMatrix3d ? 12:4):(isMatrix3d ? 13:5))], 10); }, _getCSS3Prop: function(pos, hor){ var self=this; return self._useCSS3Transitions ? self._tPref1 +(hor ? (pos + self._tPref2 + 0):(0 + self._tPref2 + pos)) + self._tPref3:pos; }, _animationComplete: function(dir){ var self=this; if(!self._isMove){ self._currHolder.css('z-index', 0); self._fadeZIndex=10; } self._isAnimating=false; self.staticSlideId=self.currSlideId; self._updateBlocksContent(); self._slidesMoved=false; self.ev.trigger('rsAfterSlideChange'); }, _doBackAndForthAnim:function(type, userAction){ var self=this, newPos=(-self._realId - self._idOffset) * self._slideSize; if(self.numSlides===0||self._isAnimating){ return; } if(self.st.loopRewind){ self.goTo(type==='left' ? self.numSlides - 1:0, userAction); return; } if(self._isMove){ self._currAnimSpeed=200; function allAnimComplete(){ self._isAnimating=false; } function firstAnimComplete(){ self._isAnimating=false; self._animateTo(newPos, '', false, true, allAnimComplete); } self._animateTo(newPos + (type==='left' ? 30:-30),'', false, true, firstAnimComplete); }}, _resizeImage:function(slideObject, useClone){ var isRoot=true; if(slideObject.isRendered){ return; } var img=slideObject.content; var classToFind='rsMainSlideImage'; var isVideo; var self=this, imgAlignCenter=self.st.imageAlignCenter, imgScaleMode=self.st.imageScaleMode, tempEl; if(slideObject.videoURL){ classToFind='rsVideoContainer'; if(imgScaleMode!=='fill'){ isVideo=true; }else{ tempEl=img; if(!tempEl.hasClass(classToFind)){ tempEl=tempEl.find('.'+classToFind); } tempEl.css({width:'100%',height: '100%'}); classToFind='rsMainSlideImage'; }} if(!img.hasClass(classToFind)){ isRoot=false; img=img.find('.'+classToFind); } if(!img){ return; } var baseImageWidth=slideObject.iW, baseImageHeight=slideObject.iH; slideObject.isRendered=true; if(imgScaleMode==='none'&&!imgAlignCenter){ return; } if(imgScaleMode!=='fill'){ bMargin=self._imagePadding; }else{ bMargin=0; } var containerWidth=self._wrapWidth - bMargin * 2, containerHeight=self._wrapHeight - bMargin * 2, hRatio, vRatio, ratio, nWidth, nHeight, cssObj={}; 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 < vRatio ? hRatio:vRatio; }else{ ratio=1; } nWidth=Math.ceil(baseImageWidth * ratio, 10); nHeight=Math.ceil(baseImageHeight * ratio, 10); }else{ nWidth=baseImageWidth; nHeight=baseImageHeight; } if(imgScaleMode!=='none'){ cssObj.width=nWidth; cssObj.height=nHeight; if(isVideo){ img.find('.rsImg').css({width: '100%', height:'100%'}); }} if(imgAlignCenter){ cssObj.marginLeft=Math.floor((containerWidth - nWidth) / 2) + bMargin; cssObj.marginTop=Math.floor((containerHeight - nHeight) / 2) + bMargin; } img.css(cssObj); }}; $.rsProto=RoyalSlider.prototype; $.fn.royalSlider=function(options){ var args=arguments; return this.each(function(){ var self=$(this); if(typeof options==="object"||!options){ if(!self.data('royalSlider')){ self.data('royalSlider', new RoyalSlider(self, options)); }}else{ var royalSlider=self.data('royalSlider'); if(royalSlider&&royalSlider[options]){ return royalSlider[options].apply(royalSlider, Array.prototype.slice.call(args, 1)); }} }); }; $.fn.royalSlider.defaults={ slidesSpacing: 8, startSlideId: 0, loop: false, loopRewind: false, numImagesToPreload: 4, fadeinLoadedSlide: true, slidesOrientation: 'horizontal', transitionType: 'move', transitionSpeed: 600, controlNavigation: 'bullets', controlsInside: true, arrowsNav: true, arrowsAutoplay: true, arrowsNavAutoHide: false, navigateByClick: true, randomizeSlides: false, sliderDrag: true, sliderTouch: true, keyboardNavEnabled: false, fadeInAfterLoaded: true, allowCSS3: true, allowCSS3OnWebkit: true, addActiveClass: false, autoHeight: false, easeOut: 'easeOutSine', easeInOut: 'easeInOutSine', minSlideOffset: 10, imageScaleMode:"fit-if-smaller", imageAlignCenter:true, imageScalePadding: 4, usePreloader: true, autoScaleSlider: false, autoScaleSliderWidth: 800, autoScaleSliderHeight: 400, autoScaleHeight: true, arrowsNavHideOnTouch: false, globalCaption: false, slidesDiff: 2, disableResponsiveness: false }; $.rsCSS3Easing={ easeOutSine: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)', easeInOutSine: 'cubic-bezier(0.445, 0.050, 0.550, 0.950)' }; $.extend(jQuery.easing, { easeInOutSine: function (x, t, b, c, d){ return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; }, easeOutSine: function (x, t, b, c, d){ return c * Math.sin(t/d * (Math.PI/2)) + b; }, easeOutCubic: function (x, t, b, c, d){ return c*((t=t/d-1)*t*t + 1) + b; }}); $.extend($.rsProto, { _initFullscreen: function(){ var self=this; self._fullscreenDefaults={ enabled: false, keyboardNav: true, buttonFS: true, nativeFS: false, doubleTap: true }; self.st.fullscreen=$.extend({}, self._fullscreenDefaults, self.st.fullscreen); if(self.st.fullscreen.enabled){ self.ev.one('rsBeforeSizeSet', function(){ self._setupFullscreen(); }); }}, _setupFullscreen: function(){ var self=this; self._fsKeyboard=(!self.st.keyboardNavEnabled&&self.st.fullscreen.keyboardNav); if(self.st.fullscreen.nativeFS){ self._fullScreenApi={ supportsFullScreen: false, isFullScreen: function(){ return false; }, requestFullScreen: function(){}, cancelFullScreen: function(){}, fullScreenEventName: '', prefix: '' }; var browserPrefixes='webkit moz o ms khtml'.split(' '); if(!self.isAndroid){ if(typeof document.cancelFullScreen!='undefined'){ self._fullScreenApi.supportsFullScreen=true; }else{ for (var i=0; i < browserPrefixes.length; i++){ self._fullScreenApi.prefix=browserPrefixes[i]; if(typeof document[ self._fullScreenApi.prefix + 'CancelFullScreen' ]!='undefined'){ self._fullScreenApi.supportsFullScreen=true; break; }} }} if(self._fullScreenApi.supportsFullScreen){ self.nativeFS=true; self._fullScreenApi.fullScreenEventName=self._fullScreenApi.prefix + 'fullscreenchange' + self.ns; self._fullScreenApi.isFullScreen=function(){ switch (this.prefix){ case '': return document.fullScreen; case 'webkit': return document.webkitIsFullScreen; default: return document[this.prefix + 'FullScreen']; }}; self._fullScreenApi.requestFullScreen=function(el){ return (this.prefix==='') ? el.requestFullScreen():el[this.prefix + 'RequestFullScreen'](); }; self._fullScreenApi.cancelFullScreen=function(el){ return (this.prefix==='') ? document.cancelFullScreen():document[this.prefix + 'CancelFullScreen'](); };}else{ self._fullScreenApi=false; }} if(self.st.fullscreen.buttonFS){ self._fsBtn=$('
') .appendTo(self._controlsContainer) .on('click.rs', function(){ if(self.isFullscreen){ self.exitFullscreen(); }else{ self.enterFullscreen(); }}); }}, enterFullscreen: function(preventNative){ var self=this; if(self._fullScreenApi){ if(!preventNative){ self._doc.on(self._fullScreenApi.fullScreenEventName, function(e){ if(!self._fullScreenApi.isFullScreen()){ self.exitFullscreen(true); }else{ self.enterFullscreen(true); }}); self._fullScreenApi.requestFullScreen($('html')[0]); return; }else{ self._fullScreenApi.requestFullScreen($('html')[0]); }} if(self._isFullscreenUpdating){ return; } self._isFullscreenUpdating=true; self._doc.on('keyup' + self.ns + 'fullscreen', function(e){ if(e.keyCode===27){ self.exitFullscreen(); }}); if(self._fsKeyboard){ self._bindKeyboardNav(); } var win=$(window); self._fsScrollTopOnEnter=win.scrollTop(); self._fsScrollLeftOnEnter=win.scrollLeft(); self._htmlStyle=$('html').attr('style'); self._bodyStyle=$('body').attr('style'); self._sliderStyle=self.slider.attr('style'); $('body, html').css({ overflow: 'hidden', height: '100%', width: '100%', margin: '0', padding: '0' }); self.slider.addClass('rsFullscreen'); var item, i; for(i=0; i < self.numSlides; i++){ item=self.slides[i]; item.isRendered=false; if(item.bigImage){ item.isBig=true; item.isMedLoaded=item.isLoaded; item.isMedLoading=item.isLoading; item.medImage=item.image; item.medIW=item.iW; item.medIH=item.iH; item.slideId=-99; if(item.bigImage!==item.medImage){ item.sizeType='big'; } item.isLoaded=item.isBigLoaded; item.isLoading=false; item.image=item.bigImage; item.images[0]=item.bigImage; item.iW=item.bigIW; item.iH=item.bigIH; item.isAppended=item.contentAdded=false; self._updateItemSrc(item); }} self.isFullscreen=true; self._isFullscreenUpdating=false; self.updateSliderSize(); self.ev.trigger('rsEnterFullscreen'); }, exitFullscreen: function(preventNative){ var self=this; if(self._fullScreenApi){ if(!preventNative){ self._fullScreenApi.cancelFullScreen($('html')[0]); return; } self._doc.off(self._fullScreenApi.fullScreenEventName); } if(self._isFullscreenUpdating){ return; } self._isFullscreenUpdating=true; self._doc.off('keyup' + self.ns + 'fullscreen'); if(self._fsKeyboard){ self._doc.off('keydown' + self.ns); } $('html').attr('style', self._htmlStyle||''); $('body').attr('style', self._bodyStyle||''); var item, i; for(i=0; i < self.numSlides; i++){ item=self.slides[i]; item.isRendered=false; if(item.bigImage){ item.isBig=false; item.slideId=-99; item.isBigLoaded=item.isLoaded; item.isBigLoading=item.isLoading; item.bigImage=item.image; item.bigIW=item.iW; item.bigIH=item.iH; item.isLoaded=item.isMedLoaded; item.isLoading=false; item.image=item.medImage; item.images[0]=item.medImage; item.iW=item.medIW; item.iH=item.medIH; item.isAppended=item.contentAdded=false; self._updateItemSrc(item, true); if(item.bigImage!==item.medImage){ item.sizeType='med'; }} } self.isFullscreen=false; var win=$(window); win.scrollTop(self._fsScrollTopOnEnter); win.scrollLeft(self._fsScrollLeftOnEnter); self._isFullscreenUpdating=false; self.slider.removeClass('rsFullscreen'); self.updateSliderSize(); setTimeout(function(){ self.updateSliderSize(); },1); self.ev.trigger('rsExitFullscreen'); }, _updateItemSrc: function(item, exit){ var newHTML=(!item.isLoaded&&!item.isLoading) ? '':''; if(item.content.hasClass('rsImg')){ item.content=$(newHTML); }else{ item.content.find('.rsImg').eq(0).replaceWith(newHTML); } if(!item.isLoaded&&!item.isLoading&&item.holder){ item.holder.html(item.content); }} }); $.rsModules.fullscreen=$.rsProto._initFullscreen; $.extend($.rsProto, { _initBullets: function(){ var self=this; if(self.st.controlNavigation==='bullets'){ var itemHTML='
'; self.ev.one('rsAfterPropsSetup', function(){ self._controlNavEnabled=true; self.slider.addClass('rsWithBullets'); var out='
'; for(var i=0; i < self.numSlides; i++){ out +=itemHTML; } self._controlNav=out=$(out + '
'); self._controlNavItems=out.appendTo(self.slider).children(); self._controlNav.on('click.rs','.rsNavItem',function(e){ if(!self._thumbsDrag){ self.goTo($(this).index()); }}); }); self.ev.on('rsOnAppendSlide', function(e, parsedSlide, index){ if(index >=self.numSlides){ self._controlNav.append(itemHTML); }else{ self._controlNavItems.eq(index).before(itemHTML); } self._controlNavItems=self._controlNav.children(); }); self.ev.on('rsOnRemoveSlide', function(e, index){ var itemToRemove=self._controlNavItems.eq(index); if(itemToRemove&&itemToRemove.length){ itemToRemove.remove(); self._controlNavItems=self._controlNav.children(); }}); self.ev.on('rsOnUpdateNav', function(){ var id=self.currSlideId, currItem, prevItem; if(self._prevNavItem){ self._prevNavItem.removeClass('rsNavSelected'); } currItem=self._controlNavItems.eq(id); currItem.addClass('rsNavSelected'); self._prevNavItem=currItem; }); }} }); $.rsModules.bullets=$.rsProto._initBullets; $.extend($.rsProto, { _initAutoHeight: function(){ var self=this; if(self.st.autoHeight){ var holder, tH, currSlide, currHeight, updHeight=function(animate){ currSlide=self.slides[self.currSlideId]; holder=currSlide.holder; if(holder){ tH=holder.height(); if(tH&&tH!==currHeight){ self._wrapHeight=tH; if(self._useCSS3Transitions||!animate){ self._sliderOverflow.css('height', tH); }else{ self._sliderOverflow.stop(true,true).animate({height: tH}, self.st.transitionSpeed); }} }}; self.ev.on('rsMaybeSizeReady.rsAutoHeight', function(e, slideObject){ if(currSlide===slideObject){ updHeight(); }}); self.ev.on('rsAfterContentSet.rsAutoHeight', function(e, slideObject){ if(currSlide===slideObject){ updHeight(); }}); self.slider.addClass('rsAutoHeight'); self.ev.one('rsAfterInit', function(){ setTimeout(function(){ updHeight(false); setTimeout(function(){ self.slider.append('
'); if(self._useCSS3Transitions){ self._sliderOverflow.css(self._vendorPref + 'transition', 'height ' + self.st.transitionSpeed + 'ms ease-in-out'); }}, 16); }, 16); }); self.ev.on('rsBeforeAnimStart', function(){ updHeight(true); }); self.ev.on('rsBeforeSizeSet' , function(){ setTimeout(function(){ updHeight(false); }, 16); }); }} }); $.rsModules.autoHeight=$.rsProto._initAutoHeight; $.extend($.rsProto, { _initVideo: function(){ var self=this; self._videoDefaults={ autoHideArrows: true, autoHideControlNav: false, autoHideBlocks: false, autoHideCaption: false, youTubeCode: '', vimeoCode: '' }; self.st.video=$.extend({}, self._videoDefaults, self.st.video); self.ev.on('rsBeforeSizeSet', function(){ if(self._isVideoPlaying){ setTimeout(function(){ var content=self._currHolder; content=content.hasClass('rsVideoContainer') ? content:content.find('.rsVideoContainer'); if(self._videoFrameHolder){ self._videoFrameHolder.css({ width: content.width(), height: content.height() }); }}, 32); }}); var isFF=self._browser.mozilla; self.ev.on('rsAfterParseNode', function(e, content, obj){ var jqcontent=$(content), tempEl, hasVideo; if(obj.videoURL){ if(!hasVideo&&isFF){ hasVideo=true; self._useCSS3Transitions=self._use3dTransform=false; } var wrap=$('
'), playBtn=$('
'); if(jqcontent.hasClass('rsImg')){ obj.content=wrap.append(jqcontent).append(playBtn); }else{ obj.content.find('.rsImg').wrap(wrap).after(playBtn); if(obj.content.find('.rsCLink').length > 0){ obj.content.find('.rsCLink').appendTo(playBtn); playBtn.addClass("with-link"); }} }}); self.ev.on('rsAfterSlideChange', function(){ self.stopVideo(); }); }, toggleVideo: function(){ var self=this; if(!self._isVideoPlaying){ return self.playVideo(); }else{ return self.stopVideo(); }}, playVideo: function(){ var self=this; if(!self._isVideoPlaying){ var currSlide=self.currSlide; if(!currSlide.videoURL){ return false; } var content=self._currVideoContent=currSlide.content; var url=currSlide.videoURL, videoId, regExp, match; if(url.match(/youtu\.be/i)||url.match(/youtube\.com/i)){ regExp=/^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/; match=url.match(regExp); if(match&&match[7].length==11){ videoId=match[7]; } if(videoId!==undefined){ self._videoFrameHolder=self.st.video.youTubeCode.replace("%id%", videoId); }}else if(url.match(/vimeo\.com/i)){ regExp=/(www\.)?vimeo.com\/(\d+)($|\/)/; match=url.match(regExp); if(match){ videoId=match[2]; } if(videoId!==undefined){ self._videoFrameHolder=self.st.video.vimeoCode.replace("%id%", videoId); }} self.videoObj=$(self._videoFrameHolder); self.ev.trigger('rsOnCreateVideoElement', [url]); if(self.videoObj.length){ self._videoFrameHolder=$('
'); self._videoFrameHolder.find('.rsPreloader').after(self.videoObj); content=content.hasClass('rsVideoContainer') ? content:content.find('.rsVideoContainer'); self._videoFrameHolder.css({ width: content.width(), height: content.height() }).find('.rsCloseVideoBtn').off('click.rsv').on('click.rsv', function(e){ self.stopVideo(); e.preventDefault(); e.stopPropagation(); return false; }); content.append(self._videoFrameHolder); if(self.isIPAD){ content.addClass('rsIOSVideo'); } self._toggleHiddenClass(false); setTimeout(function(){ self._videoFrameHolder.addClass('rsVideoActive'); }, 10); self.ev.trigger('rsVideoPlay'); self._isVideoPlaying=true; } return true; } return false; }, stopVideo: function(){ var self=this; if(self._isVideoPlaying){ if(self.isIPAD){ self.slider.find('.rsCloseVideoBtn').remove(); } self._toggleHiddenClass(true); setTimeout(function(){ self.ev.trigger('rsOnDestroyVideoElement', [self.videoObj]); var ifr=self._videoFrameHolder.find('iframe'); if(ifr.length){ try { ifr.attr('src', ""); } catch(ex){ }} self._videoFrameHolder.remove(); self._videoFrameHolder=null; }, 16); self.ev.trigger('rsVideoStop'); self._isVideoPlaying=false; return true; } return false; }, _toggleHiddenClass: function(remove){ var arr=[], self=this, vst=self.st.video; if(vst.autoHideArrows){ if(self._arrowLeft){ arr.push(self._arrowLeft, self._arrowRight); self._arrowsAutoHideLocked = !remove; } if(self._fsBtn){ arr.push(self._fsBtn); }} if(vst.autoHideControlNav&&self._controlNav){ arr.push(self._controlNav); } if(vst.autoHideBlocks&&self.currSlide.animBlocks){ arr.push(self.currSlide.animBlocks); } if(vst.autoHideCaption&&self.globalCaption){ arr.push(self.globalCaption); } if(arr.length){ for(var i=0; i < arr.length; i++){ if(!remove){ arr[i].addClass('rsHidden'); }else{ arr[i].removeClass('rsHidden'); }} }} }); $.rsModules.video=$.rsProto._initVideo; $.extend($.rsProto, { _initAutoplay: function(){ var self=this, del; self._autoPlayDefaults={ enabled: false, stopAtAction: true, pauseOnHover: true, delay: 2000 }; if(!self.st.autoPlay&&self.st.autoplay){ self.st.autoPlay=self.st.autoplay; } self.st.autoPlay=$.extend({}, self._autoPlayDefaults, self.st.autoPlay); if(self.st.autoPlay.enabled){ self.ev.on('rsBeforeParseNode', function(e, content, obj){ content=$(content); del=content.attr('data-rsDelay'); if(del){ obj.customDelay=parseInt(del, 10); }}); self.ev.one('rsAfterInit', function(){ self._setupAutoPlay(); }); self.ev.on('rsBeforeDestroy', function(){ self.stopAutoPlay(); $(window).off('blur'+self.ns + ' focus' + self.ns); }); }}, _setupAutoPlay: function(){ var self=this; self.startAutoPlay(); self.ev.on('rsAfterContentSet', function(e, slideObject){ if(!self._isDragging&&!self._isAnimating&&self._autoPlayEnabled&&slideObject===self.currSlide){ self._play(); }}); self.ev.on('rsDragRelease', function(){ if(self._autoPlayEnabled&&self._autoPlayPaused){ self._autoPlayPaused=false; self._play(); }}); self.ev.on('rsAfterSlideChange', function(){ if(self._autoPlayEnabled){ if(self._autoPlayPaused){ self._autoPlayPaused=false; if(self.currSlide.isLoaded){ self._play(); }} }}); self.ev.on('rsDragStart', function(){ if(self._autoPlayEnabled){ if(self.st.autoPlay.stopAtAction){ self.stopAutoPlay(); }else{ self._autoPlayPaused=true; self._pause(); }} }); self.ev.on('rsBeforeMove', function(e, type, userAction){ if(self._autoPlayEnabled){ if(userAction&&self.st.autoPlay.stopAtAction){ self.stopAutoPlay(); }else{ self._autoPlayPaused=true; self._pause(); }} }); self._pausedByVideo=false; self.ev.on('rsVideoStop', function(){ if(self._autoPlayEnabled){ self._pausedByVideo=false; self._play(); }}); self.ev.on('rsVideoPlay', function(){ if(self._autoPlayEnabled){ self._autoPlayPaused=false; self._pause(); self._pausedByVideo=true; }}); $(window).on('blur'+self.ns, function(){ if(self._autoPlayEnabled){ self._autoPlayPaused=true; self._pause(); }}).on('focus'+self.ns, function(){ if(self._autoPlayEnabled&&self._autoPlayPaused){ self._autoPlayPaused=false; self._play(); }}); if(self.st.autoPlay.pauseOnHover){ self._pausedByHover=false; self.slider.hover(function(){ if(self._autoPlayEnabled){ self._autoPlayPaused=false; self._pause(); self._pausedByHover=true; }}, function(){ if(self._autoPlayEnabled){ self._pausedByHover=false; self._play(); }} ); }}, toggleAutoPlay: function(){ var self=this; if(self._autoPlayEnabled){ self.stopAutoPlay(); }else{ self.startAutoPlay(); }}, startAutoPlay: function(){ var self=this; self._autoPlayEnabled=true; if(self.currSlide.isLoaded){ self._play(); }}, stopAutoPlay: function(){ var self=this; self._pausedByVideo=self._pausedByHover=self._autoPlayPaused=self._autoPlayEnabled=false; self._pause(); }, _play: function(){ var self=this; self.ev.trigger('autoPlayPlay'); if(!self._pausedByHover&&!self._pausedByVideo){ self._autoPlayRunning=true; if(self._autoPlayTimeout){ clearTimeout(self._autoPlayTimeout); } self._autoPlayTimeout=setTimeout(function(){ var changed; if(!self._loop&&!self.st.loopRewind){ changed=true; self.st.loopRewind=true; } self.next(true); if(changed){ changed=false; self.st.loopRewind=false; }}, !self.currSlide.customDelay ? self.st.autoPlay.delay:self.currSlide.customDelay); }}, _pause: function(){ var self=this; self.ev.trigger('autoPlayPause'); if(!self._pausedByHover&&!self._pausedByVideo){ self._autoPlayRunning=false; if(self._autoPlayTimeout){ clearTimeout(self._autoPlayTimeout); self._autoPlayTimeout=null; }} }}); $.rsModules.autoplay=$.rsProto._initAutoplay; $.extend($.rsProto, { _initAnimatedBlocks: function(){ var self=this, i; self._blockDefaults={ fadeEffect: true, moveEffect: 'top', moveOffset:20, speed:400, easing:'easeOutSine', delay:200 }; self.st.block=$.extend({}, self._blockDefaults, self.st.block); self._blockAnimProps=[]; self._animatedBlockTimeouts=[]; self.ev.on('rsAfterInit', function(){ runBlocks(); }); self.ev.on('rsBeforeParseNode', function(e, content, obj){ content=$(content); obj.animBlocks=content.find('.rsABlock').css('display', 'none'); if(!obj.animBlocks.length){ if(content.hasClass('rsABlock')){ obj.animBlocks=content.css('display', 'none'); }else{ obj.animBlocks=false; }} }); self.ev.on('rsAfterContentSet', function(e, slideObject){ var currId=self.slides[self.currSlideId].id; if(slideObject.id===currId){ setTimeout(function(){ runBlocks(); }, self.st.fadeinLoadedSlide ? 300:0); }}); self.ev.on('rsAfterSlideChange', function(){ runBlocks(); }); function runBlocks(){ var slide=self.currSlide; if(!self.currSlide||!self.currSlide.isLoaded){ return; } if(self._slideWithBlocks!==slide){ if(self._animatedBlockTimeouts.length > 0){ for(i=0; i < self._animatedBlockTimeouts.length; i++){ clearTimeout(self._animatedBlockTimeouts[i]); } self._animatedBlockTimeouts=[]; } if(self._blockAnimProps.length > 0){ var cItemTemp; for(i=0; i < self._blockAnimProps.length; i++){ cItemTemp=self._blockAnimProps[i]; if(cItemTemp){ if(!self._useCSS3Transitions){ cItemTemp.block.stop(true).css(cItemTemp.css); }else{ cItemTemp.block.css(self._vendorPref + self._TD, '0s'); cItemTemp.block.css(cItemTemp.css); } self._slideWithBlocks=null; slide.animBlocksDisplayed=false; }} self._blockAnimProps=[]; } if(slide.animBlocks){ slide.animBlocksDisplayed=true; self._slideWithBlocks=slide; self._animateBlocks(slide.animBlocks); }} }}, _updateAnimBlockProps: function(obj, props){ setTimeout(function(){ obj.css(props); }, 6); }, _animateBlocks: function(animBlocks){ var self=this, item, animObj, newPropObj, transitionData; var currItem, fadeEnabled, moveEnabled, effectName, effectsObject, moveEffectProperty, currEffects, newEffectObj, moveOffset, delay, speed, easing, moveProp, i; self._animatedBlockTimeouts=[]; animBlocks.each(function(index){ item=$(this); animObj={}; newPropObj={}; transitionData=null; var moveOffset=item.data('move-offset'); if(isNaN(moveOffset)){ moveOffset=self.st.block.moveOffset; } if(moveOffset > 0){ var moveEffect=item.data('move-effect'); if(moveEffect){ moveEffect=moveEffect.toLowerCase(); if(moveEffect==='none'){ moveEffect=false; }else if(moveEffect!=='left'&&moveEffect!=='top'&&moveEffect!=='bottom'&&moveEffect!=='right'){ moveEffect=self.st.block.moveEffect; if(moveEffect==='none'){ moveEffect=false; }} }else{ moveEffect=self.st.block.moveEffect; } if(moveEffect&&moveEffect!=='none'){ var moveHorizontal; if(moveEffect==='right'||moveEffect==='left'){ moveHorizontal=true; }else{ moveHorizontal=false; } var currPos, moveProp, startPos; isOppositeProp=false; if(self._useCSS3Transitions){ currPos=0; moveProp=self._xProp; }else{ if(moveHorizontal){ if(!isNaN(parseInt(item.css('right'), 10))){ moveProp='right'; isOppositeProp=true; }else{ moveProp='left'; }}else{ if(!isNaN(parseInt(item.css('bottom'), 10))){ moveProp='bottom'; isOppositeProp=true; }else{ moveProp='top'; }} moveProp='margin-'+moveProp; if(isOppositeProp){ moveOffset=-moveOffset; } if(!self._useCSS3Transitions){ currPos=item.data('rs-start-move-prop'); if(currPos===undefined){ currPos=parseInt(item.css(moveProp), 10); item.data('rs-start-move-prop', currPos); }}else{ currPos=parseInt(item.css(moveProp), 10); }} if(moveEffect==='top'||moveEffect==='left'){ startPos=currPos - moveOffset; }else{ startPos=currPos + moveOffset; } newPropObj[moveProp]=self._getCSS3Prop(startPos, moveHorizontal); animObj[moveProp]=self._getCSS3Prop(currPos, moveHorizontal); }} var fadeEffect=item.attr('data-fade-effect'); if(!fadeEffect){ fadeEffect=self.st.block.fadeEffect; }else if(fadeEffect.toLowerCase()==='none'||fadeEffect.toLowerCase()==='false'){ fadeEffect=false; } if(fadeEffect){ newPropObj.opacity=0; animObj.opacity=1; } if(fadeEffect||moveEffect){ transitionData={}; transitionData.hasFade=Boolean(fadeEffect); if(Boolean(moveEffect)){ transitionData.moveProp=moveProp; transitionData.hasMove=true; } transitionData.speed=item.data('speed'); if(isNaN(transitionData.speed)){ transitionData.speed=self.st.block.speed; } transitionData.easing=item.data('easing'); if(!transitionData.easing){ transitionData.easing=self.st.block.easing; } transitionData.css3Easing=$.rsCSS3Easing[transitionData.easing]; transitionData.delay=item.data('delay'); if(isNaN(transitionData.delay)){ transitionData.delay=self.st.block.delay * index; }} var blockPropsObj={}; if(self._useCSS3Transitions){ blockPropsObj[(self._vendorPref + self._TD)]='0ms'; } blockPropsObj.moveProp=animObj.moveProp; blockPropsObj.opacity=animObj.opacity; blockPropsObj.display='none'; self._blockAnimProps.push({block:item, css:blockPropsObj}); self._updateAnimBlockProps(item, newPropObj); self._animatedBlockTimeouts.push(setTimeout((function (cItem, animateData, transitionData, index){ return function(){ cItem.css('display', 'block'); if(transitionData){ var animObj={}; if(!self._useCSS3Transitions){ setTimeout(function(){ cItem.animate(animateData, transitionData.speed, transitionData.easing); }, 16); }else{ var prop=''; if(transitionData.hasMove){ prop +=transitionData.moveProp; } if(transitionData.hasFade){ if(transitionData.hasMove){ prop +=', '; } prop +='opacity'; } animObj[(self._vendorPref + self._TP)]=prop; animObj[(self._vendorPref + self._TD)]=transitionData.speed + 'ms'; animObj[(self._vendorPref + self._TTF)]=transitionData.css3Easing; cItem.css(animObj); setTimeout(function(){ cItem.css(animateData); }, 24); }} delete self._animatedBlockTimeouts[index]; };})(item, animObj, transitionData, index), transitionData.delay <=6 ? 12:transitionData.delay)); }); }}); $.rsModules.animatedBlocks=$.rsProto._initAnimatedBlocks; $.extend($.rsProto, { _initThumbs: function(){ var self=this; if(self.st.controlNavigation==='porthole'){ self._thumbsDefaults={ drag: false, touch: false, orientation: 'vertical', navigation: true, spacing: 10, appendSpan: false, transitionSpeed:600, autoCenter: true, fitInViewport: true, firstMargin: true, paddingTop: 0, paddingBottom: 0 }; self.st.thumbs=$.extend({}, self._thumbsDefaults, self.st.thumbs); self._firstThumbMoved=true; if(self.st.thumbs.firstMargin===false){ self.st.thumbs.firstMargin=0; } else if(self.st.thumbs.firstMargin===true){ self.st.thumbs.firstMargin=self.st.thumbs.spacing; } self.ev.on('rsBeforeParseNode', function(e, content, obj){ content=$(content); obj.thumbnail=content.find('.rsTmb').remove(); if(!obj.thumbnail.length){ obj.thumbnail=content.attr('data-rsTmb'); if(!obj.thumbnail){ obj.thumbnail=content.find('.rsImg').attr('data-rsTmb'); } if(!obj.thumbnail){ obj.thumbnail=''; }else{ obj.thumbnail=''; }}else{ obj.thumbnail=$(document.createElement('div')).append(obj.thumbnail).html(); }}); self.ev.one('rsAfterPropsSetup', function(){ self._createThumbs(); }); self._prevNavItem=null; self.ev.on('rsOnUpdateNav', function(){ var currItem=$(self._controlNavItems[self.currSlideId]); if(currItem===self._prevNavItem){ return; } if(self._prevNavItem){ self._prevNavItem=null; } if(self._thumbsNavigation){ self._setCurrentThumb(self.currSlideId); } self._prevNavItem=currItem; self._controlNavItems.each(function(){ if(self._prevNavItem[0]===this){ $(this).attr('class', 'rsNavItem rsThumb rsNavSelected'); } else if(self._prevNavItem.prev().prev()[0]===this||self._prevNavItem.next().next()[0]===this){ $(this).attr('class', 'rsNavItem rsThumb rsNavVis'); } else if(self._prevNavItem.prev()[0]===this){ $(this).attr('class', 'rsNavItem rsThumb rsNavPrev'); } else if(self._prevNavItem.next()[0]===this){ $(this).attr('class', 'rsNavItem rsThumb rsNavNext'); }else{ $(this).attr('class', 'rsNavItem rsThumb'); }}); }); self.ev.on('rsOnAppendSlide', function(e, parsedSlide, index){ var html=''+self._addThumbHTML+parsedSlide.thumbnail+'
'; if(index >=self.numSlides){ self._thumbsContainer.append(html); }else{ self._controlNavItems.eq(index).before(html); } self._controlNavItems=self._thumbsContainer.children(); self.updateThumbsSize(); }); self.ev.on('rsOnRemoveSlide', function(e, index){ var itemToRemove=self._controlNavItems.eq(index); if(itemToRemove){ itemToRemove.remove(); self._controlNavItems=self._thumbsContainer.children(); self.updateThumbsSize(); }}); }}, _createThumbs: function(){ var self=this, tText='rsThumbs', thumbSt=self.st.thumbs, out='', style, item, spacing=thumbSt.spacing; self._controlNavEnabled=true; self._thumbsHorizontal=(thumbSt.orientation==='vertical') ? false:true; self._thumbsMargin=style=spacing ? ' style="margin-' + (self._thumbsHorizontal ? 'right':'bottom') + ':'+ spacing+'px;"':''; self._thumbsPosition=0; self._isThumbsAnimating=false; self._thumbsDrag=false; self._thumbsNavigation=false; var pl=(self._thumbsHorizontal ? 'Hor':'Ver'); self.slider.addClass('rsWithThumbs' + ' rsWithThumbs'+ pl); out +='
'; self._addThumbHTML=thumbSt.appendSpan ? '':''; for(var i=0; i < self.numSlides; i++){ item=self.slides[i]; out +=''+item.thumbnail+self._addThumbHTML+'
'; } out=$(out +'
'); var o={}; if(thumbSt.paddingTop){ o[self._thumbsHorizontal ? 'paddingTop':'paddingLeft']=thumbSt.paddingTop; } if(thumbSt.paddingBottom){ o[self._thumbsHorizontal ? 'paddingBottom':'paddingRight']=thumbSt.paddingBottom; } out.css(o); self._thumbsContainer=$(out).find('.' + tText + 'Container'); self._controlNav=out; self._controlNavItems=self._thumbsContainer.children(); if(self.msEnabled&&self.st.thumbs.navigation){ self._thumbsContainer.css('-ms-touch-action', self._thumbsHorizontal ? 'pan-y':'pan-x'); } self.slider.append(out); self._thumbsEnabled=true; self._thumbsSpacing=spacing; if(thumbSt.navigation){ if(self._useCSS3Transitions){ self._thumbsContainer.css(self._vendorPref + 'transition-property', self._vendorPref + 'transform'); }} self._controlNav.on('click.rs','.rsNavItem',function(e){ if(!self._thumbsDrag){ self.goTo($(this).index()); }}); self.ev.off('rsBeforeSizeSet.thumbs').on('rsBeforeSizeSet.thumbs', function(){ self._realWrapSize=self._thumbsHorizontal ? self._wrapHeight:self._wrapWidth; self.updateThumbsSize(true); }); if(!self.st.autoPlay&&self.st.autoplay){ self.st.autoPlay=self.st.autoplay; } if(self.st.autoPlay.enabled){ self._thumbsContainer.after('
'); self.progressWrap=self._thumbsContainer.next(); self.progressHtml='
'; self.ev.on("autoPlayPlay", function(){ if(self.progressWrap.find(".progress-mask").length < 1){ self.progressWrap.prepend(self.progressHtml); } self.progressWrap.removeClass("paused"); }); self.ev.on("autoPlayPause", function(){ self.progressWrap.find(".progress-mask").remove(); if(!self._autoPlayEnabled){ self.progressWrap.addClass("paused"); }}); self.ev.on('rsAfterSlideChange', function(){ self.progressWrap.removeClass("blurred"); }); self.ev.on('rsBeforeAnimStart', function(){ self.progressWrap.addClass("blurred"); }); self.ev.on('rsVideoPlay', function(){ $("body").addClass("hide-thumbnails"); if(!self.slider.parent().hasClass("fixed")) $("body").addClass("video-playing"); }); self.ev.on('rsVideoStop', function(){ $("body").removeClass("video-playing").removeClass("hide-thumbnails"); }); self.progressWrap.on("click", function(){ self.toggleAutoPlay(); }); }}, updateThumbsSize: function(isResize){ var self=this, firstThumb=self._controlNavItems.first(), cssObj={}; var numItems=self._controlNavItems.length; self._thumbSize=(self._thumbsHorizontal ? firstThumb.outerWidth():firstThumb.outerHeight()) + self._thumbsSpacing; self._thumbsContainerSize=self._thumbsContainer.outerHeight(); self._thumbsViewportSize=self._thumbsHorizontal ? self._controlNav.width():self._controlNav.height(); self._thumbsMaxPosition=-(self._thumbsContainerSize - self._thumbsViewportSize) - (self.st.thumbs.firstMargin); self._thumbsMinPosition=self.st.thumbs.firstMargin; self._visibleThumbsPerView=Math.floor(self._thumbsViewportSize / self._thumbSize); if(self.st.thumbs.navigation&&!self._thumbsNavigation){ self._thumbsNavigation=true; if((!self.hasTouch&&self.st.thumbs.drag)||(self.hasTouch&&self.st.thumbs.touch)){ self._thumbsDrag=true; self._controlNav.on(self._downEvent, function(e){ self._onDragStart(e, true); }); }} if(self._useCSS3Transitions){ cssObj[(self._vendorPref + 'transition-duration')]='0ms'; } self._thumbsContainer.css(cssObj); }, setThumbsOrientation: function(newPlacement, dontUpdateSize){ var self=this; if(self._thumbsEnabled){ self.st.thumbs.orientation=newPlacement; self._controlNav.remove(); self.slider.removeClass('rsWithThumbsHor rsWithThumbsVer'); self._createThumbs(); self._controlNav.off(self._downEvent); if(!dontUpdateSize){ self.updateSliderSize(true); }} }, _setThumbsPosition: function(pos){ var self=this; self._thumbsPosition=pos; if(self._useCSS3Transitions){ self._thumbsContainer.css(self._xProp, self._tPref1 +(self._thumbsHorizontal ? (pos + self._tPref2 + 0):(0 + self._tPref2 + pos)) + self._tPref3); }else{ self._thumbsContainer.css(self._thumbsHorizontal ? self._xProp:self._yProp, pos); }}, _animateThumbsTo: function(pos, speed, outEasing, bounceAnimPosition, bounceAnimSpeed){ var self=this; if(!self._thumbsNavigation){ return; } if(!speed){ speed=self.st.thumbs.transitionSpeed; } self._thumbsPosition=pos; if(self._thumbsAnimTimeout){ clearTimeout(self._thumbsAnimTimeout); } if(self._isThumbsAnimating){ if(!self._useCSS3Transitions){ self._thumbsContainer.stop(); } outEasing=true; } var animObj={}; self._isThumbsAnimating=true; if(!self._useCSS3Transitions){ animObj[self._thumbsHorizontal ? self._xProp:self._yProp]=pos + 'px'; self._thumbsContainer.animate(animObj, speed, outEasing ? 'easeOutCubic':self.st.easeInOut); }else{ animObj[(self._vendorPref + 'transition-duration')]=speed+'ms'; animObj[(self._vendorPref + 'transition-timing-function')]=outEasing ? $.rsCSS3Easing[self.st.easeOut]:$.rsCSS3Easing[self.st.easeInOut]; self._thumbsContainer.css(animObj); self._setThumbsPosition(pos); } if(bounceAnimPosition){ self._thumbsPosition=bounceAnimPosition; } self._thumbsAnimTimeout=setTimeout(function(){ self._isThumbsAnimating=false; if(bounceAnimSpeed){ self._animateThumbsTo(bounceAnimPosition, bounceAnimSpeed, true); bounceAnimSpeed=null;dech }}, speed); }, _setCurrentThumb: function(id, justSet){ var self=this, newPos=-id * 40; if(newPos==0){ newPos=20; } if(!self._thumbsNavigation){ return; } if(self._firstThumbMoved){ justSet=true; self._firstThumbMoved=false; } if(newPos!==self._thumbsPosition){ if(!justSet){ self._animateThumbsTo(newPos); }else{ self._setThumbsPosition(newPos); }} }}); $.rsModules.thumbnails=$.rsProto._initThumbs; }) jQuery(document).ready(function ($){ if(!('ontouchstart' in window)&&(dtLocal.themeSettings.smoothScroll=="on"||dtLocal.themeSettings.smoothScroll=="on_parallax"&&$(".stripe-parallax-bg").length > 0)){ $("body").css({"scroll-behavior":"smooth"}); }}); jQuery(document).ready(function ($){ var $window=$(window); var windowHeight=$window.height(); $window.resize(function (){ windowHeight=$window.height(); }); $.fn.parallax=function(xpos, speedFactor, outerHeight){ var $this=$(this); var getHeight; var firstTop; var paddingTop=0; var fixTimeout; $this.each(function(){ firstTop=$this.offset().top; }); if(outerHeight){ getHeight=function(jqo){ return jqo.outerHeight(true); };}else{ getHeight=function(jqo){ return jqo.height(); };} if(arguments.length < 1||xpos===null) xpos="50%"; if(arguments.length < 2||speedFactor===null) speedFactor=0.1; if(arguments.length < 3||outerHeight===null) outerHeight=true; function update(){ var pos=$window.scrollTop(); $this.each(function(){ var $element=$(this); var top=$element.offset().top; var height=getHeight($element); if(top + height < pos||top > pos + windowHeight){ return; } $this.css('backgroundPosition', xpos + " " + Math.round((top - pos) * speedFactor) + "px"); }); } $window.bind('scroll', update).resize(function(){ update(); }).bind("debouncedresize", function(){ clearTimeout(fixTimeout); fixTimeout=setTimeout(function(){ update(); }, 20); }); update(); setTimeout(function(){ if(!window.bgGlitchFixed&&$.browser.webkit){ $window.scrollTop($window.scrollTop() + 1); window.bgGlitchFixed=true; }}, 20); };}); (function(factory){ 'use strict'; if(typeof define==='function'&&define.amd){ define(['jquery'], factory); }else if(typeof exports!=='undefined'){ module.exports=factory(require('jquery')); }else{ factory(jQuery); }}(function($){ if(!Date.now) Date.now=function(){ return new Date().getTime(); }; if(!window.requestAnimationFrame) (function(){ 'use strict'; var vendors=['webkit', 'moz']; for (var i=0; i < vendors.length&&!window.requestAnimationFrame; ++i){ var vp=vendors[i]; window.requestAnimationFrame=window[vp+'RequestAnimationFrame']; window.cancelAnimationFrame=(window[vp+'CancelAnimationFrame'] || window[vp+'CancelRequestAnimationFrame']); } if(/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) || !window.requestAnimationFrame||!window.cancelAnimationFrame){ var lastTime=0; window.requestAnimationFrame=function(callback){ var now=Date.now(); var nextTime=Math.max(lastTime + 16, now); return setTimeout(function(){ callback(lastTime=nextTime); }, nextTime - now); }; window.cancelAnimationFrame=clearTimeout; }}()); var supportTransform=(function(){ var prefixes='transform WebkitTransform MozTransform OTransform msTransform'.split(' '); var div=document.createElement('div'); for(var i=0; i < prefixes.length; i++){ if(div&&div.style[prefixes[i]]!==undefined){ return prefixes[i]; }} return false; }()); var support3dtransform=(function(){ if(!window.getComputedStyle){ return false; } var el=document.createElement('p'), has3d, transforms={ 'webkitTransform':'-webkit-transform', 'OTransform':'-o-transform', 'msTransform':'-ms-transform', 'MozTransform':'-moz-transform', 'transform':'transform' }; (document.body||document.documentElement).insertBefore(el, null); for (var t in transforms){ if(el.style[t]!==undefined){ el.style[t]="translate3d(1px,1px,1px)"; has3d=window.getComputedStyle(el).getPropertyValue(transforms[t]); }} (document.body||document.documentElement).removeChild(el); return (has3d!==undefined&&has3d.length > 0&&has3d!=="none"); }()); var isAndroid=navigator.userAgent.toLowerCase().indexOf('android') > -1; var isOperaOld = !!window.opera; var jarallaxList=[]; var Jarallax=(function(){ var instanceID=0; function Jarallax(item, userOptions){ var _this=this, dataOptions; _this.$item=$(item); _this.defaults={ speed:0.5, imgSrc:null, imgWidth:null, imgHeight:null, enableTransform:true, zIndex:-100 }; dataOptions=_this.$item.data('jarallax')||{}; _this.options=$.extend({}, _this.defaults, dataOptions, userOptions); _this.options.speed=Math.min(1, Math.max(-1, parseFloat(_this.options.speed))); _this.instanceID=instanceID++; _this.image={ src:_this.options.imgSrc||null, $container:null, $item:null, width:_this.options.imgWidth||null, height:_this.options.imgHeight||null, useImgTag:isAndroid||isOperaOld } if(_this.initImg()){ _this.init(); jarallaxList.push(_this); }} return Jarallax; }()); Jarallax.prototype.initImg=function(){ var _this=this; if(_this.image.src===null){ _this.image.src=_this.$item.css('background-image').replace(/^url\(['"]?/g,'').replace(/['"]?\)$/g,''); } if(!_this.image.src||_this.image.src==='none'){ return false; } return true; } Jarallax.prototype.init=function(){ if($(".header-side-line").length > 0){ var sideHW=$(".side-header-v-stroke").width(); }else if(!$("body").hasClass("sticky-header")&&!$("body").hasClass("overlay-navigation")&&$(".side-header").length > 0){ var sideHW=$(".side-header").width(); }else{ var sideHW=0; } var $position="absolute"; var _this=this; if(_this.$item[0].classList[0]=='stripe'){ var stripePadL=2000 + sideHW; }else{ var stripePadL=$(".content").offset().left + 22; } var pageW=$("#page").width(), pageOfL=stripePadL - $(".content").offset().left - 22, containerStylesStripe={ position:'absolute', top:0, left:pageOfL, width:pageW, height:'100%', overflow:'hidden', 'pointer-events':'none', 'transition':'transform linear -1ms, -webkit-transform linear -1ms' }, containerStyles={ position:'absolute', top:0, left:0, width:'100%', height:'100%', overflow:'hidden', 'pointer-events':'none', 'transition':'transform linear -1ms, -webkit-transform linear -1ms' }, imageStyles={ position:$position, left:50 + '%', }; _this.image.$container=$('
') .css(containerStyles) .css({ visibility:'hidden', 'z-index':_this.options.zIndex }) .attr('id', 'jarallax-container-' + _this.instanceID) .prependTo(_this.$item); if(_this.image.useImgTag&&supportTransform){ _this.image.$item=$('').attr('src', _this.image.src); imageStyles=$.extend({ 'max-width':'none' }, containerStyles, imageStyles) }else{ _this.image.$item=$('
'); imageStyles=$.extend({ 'background-position':'inherit', 'background-repeat':'inherit', 'background-image':'url("' + _this.image.src + '")' }, containerStyles, imageStyles) } _this.image.$item.css(imageStyles) .prependTo(_this.image.$container); function initAfterReady(){ _this.coverImage(); _this.clipContainer(); _this.onScroll(true); _this.$item.data('jarallax-original-styles', _this.$item.attr('style')); setTimeout(function(){ _this.$item.css({ 'background-image':'none', 'background-attachment':'scroll', 'background-size':'auto' }); }, 0); } if(_this.image.width&&_this.image.height){ initAfterReady(); }else{ _this.getImageSize(_this.image.src, function(width, height){ _this.image.width=width; _this.image.height=height; initAfterReady(); }); }}; Jarallax.prototype.destroy=function(){ var _this=this; for(var k=0, len=jarallaxList.length; k < len; k++){ if(jarallaxList[k].instanceID===_this.instanceID){ jarallaxList.splice(k, 1); break; }} $('head #jarallax-clip-' + _this.instanceID).remove(); _this.$item.attr('style', _this.$item.data('jarallax-original-styles')); _this.$item.removeData('jarallax-original-styles'); _this.image.$container.remove(); delete _this.$item[0].jarallax; } Jarallax.prototype.round=function(num){ return Math.floor(num * 100) / 100; } Jarallax.prototype.getImageSize=function(src, callback){ if(!src||!callback){ return false; } var tempImg=new Image(); tempImg.onload=function(){ callback(tempImg.width, tempImg.height) } tempImg.src=src; } Jarallax.prototype.clipContainer=function(){ var _this=this, width=_this.image.$container.outerWidth(true), height=_this.image.$container.outerHeight(true); var $styles=$('head #jarallax-clip-' + _this.instanceID); if(!$styles.length){ $('head').append(''); $styles=$('head #jarallax-clip-' + _this.instanceID); } var css=[ '#jarallax-container-' + _this.instanceID + ' {', ' clip: rect(0px ' + width + 'px ' + height + 'px 0);', ' clip: rect(0px, ' + width + 'px, ' + height + 'px, 0);', '}' ].join('\n'); if($styles[0].styleSheet){ $styles[0].styleSheet.cssText=css; }else{ $styles.html(css); }} Jarallax.prototype.coverImage=function(){ var _this=this; if(!_this.image.width||!_this.image.height){ return; } if(!$("body").hasClass("transparent")){ var headerH=$(".masthead:not(.side-header):not(.side-header-v-stroke)").height() + $("#wpadminbar").height(); }else{ var headerH=0 + $("#wpadminbar").height(); } if($(".side-header-v-stroke").length > 0){ var headerW=$(".side-header-v-stroke").width(); }else{ var headerW=0; } console.log(headerH + "headerH") var contW=_this.image.$container.outerWidth(true), contH=_this.image.$container.outerHeight(true), wndW=$(window).outerWidth(true), whdH=$(window).outerHeight(true), imgW=_this.image.width, imgH=_this.image.height, resultWidth, resultHeight; if(_this.$item[0].classList[0]=='stripe'){ var contW=_this.image.$container.outerWidth(true) - 4000 } var css={ width:Math.max(wndW, contW) * 1, height:Math.max(whdH, contH) * Math.max(_this.options.speed, 1) }; if(css.width / css.height > imgW / imgH){ resultWidth=css.width; resultHeight=css.width * imgH / imgW; }else{ resultWidth=css.height * imgW / imgH; resultHeight=css.height; } if(_this.image.useImgTag&&supportTransform){ css.width=_this.round(resultWidth); css.height=_this.round(resultHeight); css.marginLeft=_this.round(- (resultWidth - contW) / 2); css.marginTop=_this.round(- (resultHeight - contH) / 2); }else{ css.backgroundSize=_this.round(resultWidth) + 'px ' + _this.round(resultHeight) + 'px'; } _this.image.$item.css(css); }; Jarallax.prototype.onScroll=function(force){ var _this=this; if(!_this.image.width||!_this.image.height){ return; } var scrollTop=$(window).scrollTop(), scrollLeft=$(window).scrollLeft(), wndWidth=$(window).width(), wndHeight=$(window).height(), sectionTop=_this.$item.offset().top, sectionLeft=_this.$item.offset().left, sectionHeight=_this.$item.outerHeight(true), css={ visibility:'visible', backgroundPosition:'inherit' }; var check=force ? false : sectionTop + sectionHeight < scrollTop||sectionTop > scrollTop + wndHeight; if(check){ return; } var positionY=- (scrollTop - sectionTop) * _this.options.speed; var positionX=- (scrollLeft - sectionLeft) * _this.options.speed; positionY=_this.round(positionY); positionX=_this.round(positionX); console.log(sectionTop + "top offset", _this.options.speed + " speed", _this.image.$item.css("position")) if(supportTransform&&_this.options.enableTransform){ css.transform='translateY(' + positionY + 'px) translateX(' + positionX + 'px)'; if(support3dtransform){ css.transform='translate3d(' + -50 + '%, ' + positionY + 'px, 0)'; }}else{ css.backgroundPosition=positionX + 'px ' + positionY + 'px'; } _this.image.$item.css(css); }; (function(){ $(window).on('scroll.jarallax', function(){ window.requestAnimationFrame(function(){ for(var k=0, len=jarallaxList.length; k < len; k++){ jarallaxList[k].onScroll(); }}); }); var timeout; $(window).on('resize.jarallax orientationchange.jarallax load.jarallax', function(){ clearTimeout(timeout); timeout=setTimeout(function(){ window.requestAnimationFrame(function(){ for(var k=0, len=jarallaxList.length; k < len; k++){ var _this=jarallaxList[k]; _this.coverImage(); _this.clipContainer(); _this.onScroll(); }}); }, 100); }); }()); var oldJarallax=$.fn.jarallax; $.fn.jarallax=function(){ var items=this, options=arguments[0], args=Array.prototype.slice.call(arguments, 1), len=items.length, k=0, ret; for (k; k < len; k++){ if(typeof options==='object'||typeof options==='undefined'){ if(!items[k].jarallax){ items[k].jarallax=new Jarallax(items[k], options); }}else{ ret=items[k].jarallax ? items[k].jarallax[options].apply(items[k].jarallax, args):undefined; } if(typeof ret!=='undefined'){ return ret; }} return this; }; $.fn.jarallax.noConflict=function (){ $.fn.jarallax=oldJarallax; return this; }; $(document).on('ready.data-jarallax', function (){ $('[data-jarallax]').jarallax(); }); })); ;(function($){ $.fn.collagePlus=function(options){ var defaults={ 'targetHeight':400, 'albumWidth':this.width(), 'padding':parseFloat(this.css('padding-left')), 'images':this.children(), 'fadeSpeed':"fast", 'display':"inline-block", 'effect':'default', 'direction':'vertical', 'allowPartialLastRow':false }; var settings=$.extend({}, defaults, options); return this.each(function(){ var row=0, elements=[], rownum=1; settings.images.each(function(index){ var $this=$(this), $img=($this.is("img")) ? $this:$(this).find("img").not(".blur-effect").first(); if($img.attr("width")!='undefined'&&$img.attr("height")!='undefined'){ var w=(typeof $img.data("width")!='undefined') ? $img.data("width"):$img.attr("width"), h=(typeof $img.data("height")!='undefined') ? $img.data("height"):$img.attr("height"); }else{ var w=(typeof $img.data("width")!='undefined') ? $img.data("width"):$img.width(), h=(typeof $img.data("height")!='undefined') ? $img.data("height"):$img.height(); } var imgParams=getImgProperty($img); $img.data("width", w); $img.data("height", h); var nw=Math.ceil(w/h*settings.targetHeight), nh=Math.ceil(settings.targetHeight); elements.push([this, nw, nh, imgParams['w'], imgParams['h']]); row +=nw + imgParams['w'] + settings.padding; if(row > settings.albumWidth&&elements.length!=0){ resizeRow(elements, row, settings, rownum); delete row; delete elements; row=0; elements=[]; rownum +=1; } if(settings.images.length-1==index&&elements.length!=0){ resizeRow(elements, row, settings, rownum); delete row; delete elements; row=0; elements=[]; rownum +=1; }} ); $(this).trigger("jgDone"); }); function resizeRow(obj, row, settings, rownum){ var imageExtras=(settings.padding * obj.length) + (obj.length * obj[0][3]), albumWidthAdjusted=settings.albumWidth - imageExtras, overPercent=albumWidthAdjusted / (row - imageExtras), trackWidth=imageExtras, lastRow=(row < settings.albumWidth ? true:false); for (var i=0; i < obj.length; i++){ var $obj=$(obj[i][0]), fw=Math.floor(obj[i][1] * overPercent), fh=Math.floor(obj[i][2] * overPercent), isNotLast = !!((i < obj.length - 1)); if(settings.allowPartialLastRow===true&&lastRow===true){ fw=obj[i][1]; fh=obj[i][2]; } trackWidth +=fw; var $img=($obj.is("img")) ? $obj:$obj.find("img").not(".blur-effect").first(); $img.width(fw); if(!$obj.is("img")){ $obj.width(fw + obj[i][3]); } $img.height(fh); if(!$obj.is("img")){ $obj.height(fh + obj[i][4]); } if(settings.allowPartialLastRow===false&&lastRow===true){ applyModifications($obj, isNotLast, "none"); }else{ applyModifications($obj, isNotLast, settings.display); }; /* $img .load(function(target){ return function(){ if(settings.effect=='default'){ target.animate({opacity: '1'},{duration: settings.fadeSpeed}); }else{ if(settings.direction=='vertical'){ var sequence=(rownum <=10 ? rownum:10); }else{ var sequence=(i <=9 ? i+1:10); } target.addClass(settings.effect); target.addClass("effect-duration-" + sequence); }} }($obj)) */ /* .each(function(){ if(this.complete) $(this).trigger('load'); }); */ }} function applyModifications($obj, isNotLast, settingsDisplay){ var css={ 'display':settingsDisplay, 'vertical-align':"bottom", 'overflow':"hidden" }; return $obj.css(css); } function getImgProperty(img){ $img=$(img); var params=new Array(); params["w"]=(parseFloat($img.css("border-left-width")) + parseFloat($img.css("border-right-width"))); params["h"]=(parseFloat($img.css("border-top-width")) + parseFloat($img.css("border-bottom-width"))); return params; }};})(jQuery); jQuery(document).ready(function($){ var jgCounter=0; $(".jg-container").each(function(){ jgCounter++; var $jgContainer=$(this), $jgItemsPadding=$jgContainer.attr("data-padding"), $jgItems=$jgContainer.find(".wf-cell"); $jgContainer.attr("id", "jg-container-" + jgCounter + ""); $("").insertAfter($jgContainer); $jgContainer.on("jgDone", function(){ var layzrJGrid=new Layzr({ selector: '.jgrid-lazy-load', attr: 'data-src', attrSrcSet: 'data-srcset', retinaAttr: 'data-src-retina', threshold: 0, before: function(){ this.setAttribute("sizes", this.width+"px"); }, callback: function(){ this.classList.add("jgrid-layzr-loaded"); var $this=$(this); $this.one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(e){ setTimeout(function(){ $this.parent().removeClass("layzr-bg"); }, 200) }); }}); }); }); $.fn.collage=function(args){ return this.each(function(){ var $this=$(this); var $jgContainer=$(this), $jgItemsPadding=$jgContainer.attr("data-padding"), $jgItems=$jgContainer.find(".wf-cell"); var jgPadding=parseFloat($jgItems.first().css('padding-left')) + parseFloat($jgItems.first().css('padding-right')), jgTargetHeight=parseInt($jgContainer.attr("data-target-height")), jdPartRow=true; if($jgContainer.attr("data-part-row")=="false"){ jdPartRow=false; }; if($jgContainer.parent(".full-width-wrap").length){ var jgAlbumWidth=$jgContainer.parents(".full-width-wrap").width() - parseInt($jgItemsPadding)*2; }else{ var jgAlbumWidth=$jgContainer.parent().width() + parseInt($jgItemsPadding)*2; } var $jgCont={ 'albumWidth':jgAlbumWidth, 'targetHeight':jgTargetHeight, 'padding':jgPadding, 'allowPartialLastRow':jdPartRow, 'fadeSpeed':2000, 'effect':'effect-1', 'direction':'vertical' }; $.extend($jgCont, args); dtGlobals.jGrid=$jgCont; $jgContainer.collagePlus($jgCont); $jgContainer.css({ 'width': jgAlbumWidth }); }); }; $(window).on("debouncedresize", function(){ $(".jg-container").not('.jgrid-shortcode').collage(); $(".jgrid-shortcode").each(function(){ var $this=$(this); var $visibleItems=$this.data('visibleItems'); if($visibleItems){ $this.collage({ 'images': $visibleItems }); }else{ $this.collage(); }}); }); }); ;(function($, window, undefined){ 'use strict'; $.HoverDir=function(options, element){ this.$el=$(element); this._init(options); }; $.HoverDir.defaults={ speed:300, easing:'ease', hoverDelay:0, inverse:false }; $.HoverDir.prototype={ _init:function(options){ this.options=$.extend(true, {}, $.HoverDir.defaults, options); this.transitionProp='all ' + this.options.speed + 'ms ' + this.options.easing; this.support=Modernizr.csstransitions; this._loadEvents(); }, _loadEvents:function(){ var self=this; this.$el.on('mouseenter.hoverdir, mouseleave.hoverdir', function(event){ var $el=$(this), $hoverElem=$el.find('.rollover-content'), direction=self._getDir($el, { x:event.pageX, y:event.pageY }), styleCSS=self._getStyle(direction); if(event.type==='mouseenter'){ $hoverElem.hide().css(styleCSS.from); clearTimeout(self.tmhover); self.tmhover=setTimeout(function(){ $hoverElem.show(0, function(){ var $el=$(this); if(self.support){ $el.css('transition', self.transitionProp); } self._applyAnimation($el, styleCSS.to, self.options.speed); }); }, self.options.hoverDelay); }else{ if(self.support){ $hoverElem.css('transition', self.transitionProp); } clearTimeout(self.tmhover); self._applyAnimation($hoverElem, styleCSS.from, self.options.speed); }}); }, _getDir:function($el, coordinates){ var w=$el.width(), h=$el.height(), x=(coordinates.x - $el.offset().left -(w/2)) *(w > h ?(h/w):1), y=(coordinates.y - $el.offset().top -(h/2)) *(h > w ?(w/h):1), direction=Math.round(((( Math.atan2(y, x) * (180 / Math.PI)) + 180) / 90) + 3) % 4; return direction; }, _getStyle:function(direction){ var fromStyle, toStyle, slideFromTop={ left:'0px', top:'-100%' }, slideFromBottom={ left:'0px', top:'100%' }, slideFromLeft={ left:'-100%', top:'0px' }, slideFromRight={ left:'100%', top:'0px' }, slideTop={ top:'0px' }, slideLeft={ left:'0px' }; switch(direction){ case 0: fromStyle = !this.options.inverse ? slideFromTop:slideFromBottom; toStyle=slideTop; break; case 1: fromStyle = !this.options.inverse ? slideFromRight:slideFromLeft; toStyle=slideLeft; break; case 2: fromStyle = !this.options.inverse ? slideFromBottom:slideFromTop; toStyle=slideTop; break; case 3: fromStyle = !this.options.inverse ? slideFromLeft:slideFromRight; toStyle=slideLeft; break; }; return { from:fromStyle, to:toStyle };}, _applyAnimation:function(el, styleCSS, speed){ $.fn.applyStyle=this.support ? $.fn.css:$.fn.animate; el.stop().applyStyle(styleCSS, $.extend(true, [], { duration:speed + 'ms' })); }, }; var logError=function(message){ if(window.console){ window.console.error(message); }}; $.fn.hoverdir=function(options){ var instance=$.data(this, 'hoverdir'); if(typeof options==='string'){ var args=Array.prototype.slice.call(arguments, 1); this.each(function(){ if(!instance){ logError("cannot call methods on hoverdir prior to initialization; " + "attempted to call method '" + options + "'"); return; } if(!$.isFunction(instance[options])||options.charAt(0)==="_"){ logError("no such method '" + options + "' for hoverdir instance"); return; } instance[ options ].apply(instance, args); }); }else{ this.each(function(){ if(instance){ instance._init(); }else{ instance=$.data(this, 'hoverdir', new $.HoverDir(options, this)); }}); } return instance; };})(jQuery, window); function simple_tooltip(e,t){jQuery(e).each(function(e){jQuery("body").append("
"+jQuery(this).find("span.tooltip-c").html()+"
");var n=jQuery("#"+t+e);jQuery(this).removeAttr("title").mouseover(function(){n.css({opacity:1,display:"none"}).fadeIn(400)}).mousemove(function(e){var t=jQuery(window).scrollTop();var r=jQuery(window).width();var i;var s;var o=15;if(r-o*2>=n.width()+e.pageX){i=e.pageX+o}else{i=r-n.width()-o}if(t+o*2>=e.pageY-n.height()){s=t+o}else{s=e.pageY-n.height()-2.2*o}n.css({left:i,top:s})}).mouseout(function(){n.css({left:"-9999px"})})})} (function(factory){ if(typeof module!=="undefined"&&module.exports){ module.exports=factory; }else{ factory(jQuery,window,document); }}(function($){ (function(init){ var _rjs=typeof define==="function"&&define.amd, _njs=typeof module!=="undefined"&&module.exports, _dlp=("https:"==document.location.protocol) ? "https:":"http:", _url=dtLocal.themeUrl + "/js/atoms/plugins/jquery.mousewheel.min.js"; if(!_rjs){ if(_njs){ require("jquery-mousewheel")($); }else{ $.event.special.mousewheel||$("head").append(decodeURI("%3Cscript src="+_url+"%3E%3C/script%3E")); }} init(); }(function(){ var pluginNS="mCustomScrollbar", pluginPfx="mCS", defaultSelector=".mCustomScrollbar", defaults={ setTop:0, setLeft:0, axis:"y", scrollbarPosition:"inside", scrollInertia:950, autoDraggerLength:true, alwaysShowScrollbar:0, snapOffset:0, mouseWheel:{ enable:true, scrollAmount:"auto", axis:"y", deltaFactor:"auto", disableOver:["select","option","keygen","datalist","textarea"] }, scrollButtons:{ scrollType:"stepless", scrollAmount:"auto" }, keyboard:{ enable:true, scrollType:"stepless", scrollAmount:"auto" }, contentTouchScroll:25, advanced:{ autoScrollOnFocus:"input,textarea,select,button,datalist,keygen,a[tabindex],area,object,[contenteditable='true']", updateOnContentResize:true, updateOnImageLoad:true, autoUpdateTimeout:60 }, theme:"light", callbacks:{ onTotalScrollOffset:0, onTotalScrollBackOffset:0, alwaysTriggerOffsets:true } }, totalInstances=0, liveTimers={}, oldIE=(window.attachEvent&&!window.addEventListener) ? 1:0, touchActive=false,touchable, classes=[ "mCSB_dragger_onDrag","mCSB_scrollTools_onDrag","mCS_img_loaded","mCS_disabled","mCS_destroyed","mCS_no_scrollbar", "mCS-autoHide","mCS-dir-rtl","mCS_no_scrollbar_y","mCS_no_scrollbar_x","mCS_y_hidden","mCS_x_hidden","mCSB_draggerContainer", "mCSB_buttonUp","mCSB_buttonDown","mCSB_buttonLeft","mCSB_buttonRight" ], methods={ init:function(options){ var options=$.extend(true,{},defaults,options), selector=_selector.call(this); if(options.live){ var liveSelector=options.liveSelector||this.selector||defaultSelector, $liveSelector=$(liveSelector); if(options.live==="off"){ removeLiveTimers(liveSelector); return; } liveTimers[liveSelector]=setTimeout(function(){ $liveSelector.mCustomScrollbar(options); if(options.live==="once"&&$liveSelector.length){ removeLiveTimers(liveSelector); }},500); }else{ removeLiveTimers(liveSelector); } options.setWidth=(options.set_width) ? options.set_width:options.setWidth; options.setHeight=(options.set_height) ? options.set_height:options.setHeight; options.axis=(options.horizontalScroll) ? "x":_findAxis(options.axis); options.scrollInertia=options.scrollInertia>0&&options.scrollInertia<17 ? 17:options.scrollInertia; if(typeof options.mouseWheel!=="object"&&options.mouseWheel==true){ options.mouseWheel={enable:true,scrollAmount:"auto",axis:"y",preventDefault:false,deltaFactor:"auto",normalizeDelta:false,invert:false}} options.mouseWheel.scrollAmount=!options.mouseWheelPixels ? options.mouseWheel.scrollAmount:options.mouseWheelPixels; options.mouseWheel.normalizeDelta=!options.advanced.normalizeMouseWheelDelta ? options.mouseWheel.normalizeDelta:options.advanced.normalizeMouseWheelDelta; options.scrollButtons.scrollType=_findScrollButtonsType(options.scrollButtons.scrollType); _theme(options); return $(selector).each(function(){ var $this=$(this); if(!$this.data(pluginPfx)){ $this.data(pluginPfx,{ idx:++totalInstances, opt:options, scrollRatio:{y:null,x:null}, overflowed:null, contentReset:{y:null,x:null}, bindEvents:false, tweenRunning:false, sequential:{}, langDir:$this.css("direction"), cbOffsets:null, trigger:null }); var d=$this.data(pluginPfx),o=d.opt, htmlDataAxis=$this.data("mcs-axis"),htmlDataSbPos=$this.data("mcs-scrollbar-position"),htmlDataTheme=$this.data("mcs-theme"); if(htmlDataAxis){o.axis=htmlDataAxis;} if(htmlDataSbPos){o.scrollbarPosition=htmlDataSbPos;} if(htmlDataTheme){ o.theme=htmlDataTheme; _theme(o); } _pluginMarkup.call(this); $("#mCSB_"+d.idx+"_container img:not(."+classes[2]+")").addClass(classes[2]); methods.update.call(null,$this); }}); }, update:function(el,cb){ var selector=el||_selector.call(this); return $(selector).each(function(){ var $this=$(this); if($this.data(pluginPfx)){ var d=$this.data(pluginPfx),o=d.opt, mCSB_container=$("#mCSB_"+d.idx+"_container"), mCSB_dragger=[$("#mCSB_"+d.idx+"_dragger_vertical"),$("#mCSB_"+d.idx+"_dragger_horizontal")]; if(!mCSB_container.length){return;} if(d.tweenRunning){_stop($this);} if($this.hasClass(classes[3])){$this.removeClass(classes[3]);} if($this.hasClass(classes[4])){$this.removeClass(classes[4]);} _maxHeight.call(this); _expandContentHorizontally.call(this); if(o.axis!=="y"&&!o.advanced.autoExpandHorizontalScroll){ mCSB_container.css("width",_contentWidth(mCSB_container.children())); } d.overflowed=_overflowed.call(this); _scrollbarVisibility.call(this); if(o.autoDraggerLength){_setDraggerLength.call(this);} _scrollRatio.call(this); _bindEvents.call(this); var to=[Math.abs(mCSB_container[0].offsetTop),Math.abs(mCSB_container[0].offsetLeft)]; if(o.axis!=="x"){ if(!d.overflowed[0]){ _resetContentPosition.call(this); if(o.axis==="y"){ _unbindEvents.call(this); }else if(o.axis==="yx"&&d.overflowed[1]){ _scrollTo($this,to[1].toString(),{dir:"x",dur:0,overwrite:"none"}); }}else if(mCSB_dragger[0].height()>mCSB_dragger[0].parent().height()){ _resetContentPosition.call(this); }else{ _scrollTo($this,to[0].toString(),{dir:"y",dur:0,overwrite:"none"}); d.contentReset.y=null; }} if(o.axis!=="y"){ if(!d.overflowed[1]){ _resetContentPosition.call(this); if(o.axis==="x"){ _unbindEvents.call(this); }else if(o.axis==="yx"&&d.overflowed[0]){ _scrollTo($this,to[0].toString(),{dir:"y",dur:0,overwrite:"none"}); }}else if(mCSB_dragger[1].width()>mCSB_dragger[1].parent().width()){ _resetContentPosition.call(this); }else{ _scrollTo($this,to[1].toString(),{dir:"x",dur:0,overwrite:"none"}); d.contentReset.x=null; }} if(cb&&d){ if(cb===2&&o.callbacks.onImageLoad&&typeof o.callbacks.onImageLoad==="function"){ o.callbacks.onImageLoad.call(this); }else if(cb===3&&o.callbacks.onSelectorChange&&typeof o.callbacks.onSelectorChange==="function"){ o.callbacks.onSelectorChange.call(this); }else if(o.callbacks.onUpdate&&typeof o.callbacks.onUpdate==="function"){ o.callbacks.onUpdate.call(this); }} _autoUpdate.call(this); }}); }, scrollTo:function(val,options){ if(typeof val=="undefined"||val==null){return;} var selector=_selector.call(this); return $(selector).each(function(){ var $this=$(this); if($this.data(pluginPfx)){ var d=$this.data(pluginPfx),o=d.opt, methodDefaults={ trigger:"external", scrollInertia:o.scrollInertia, scrollEasing:"mcsEaseInOut", moveDragger:false, timeout:60, callbacks:true, onStart:true, onUpdate:true, onComplete:true }, methodOptions=$.extend(true,{},methodDefaults,options), to=_arr.call(this,val),dur=methodOptions.scrollInertia>0&&methodOptions.scrollInertia<17 ? 17:methodOptions.scrollInertia; to[0]=_to.call(this,to[0],"y"); to[1]=_to.call(this,to[1],"x"); if(methodOptions.moveDragger){ to[0]*=d.scrollRatio.y; to[1]*=d.scrollRatio.x; } methodOptions.dur=dur; setTimeout(function(){ if(to[0]!==null&&typeof to[0]!=="undefined"&&o.axis!=="x"&&d.overflowed[0]){ methodOptions.dir="y"; methodOptions.overwrite="all"; _scrollTo($this,to[0].toString(),methodOptions); } if(to[1]!==null&&typeof to[1]!=="undefined"&&o.axis!=="y"&&d.overflowed[1]){ methodOptions.dir="x"; methodOptions.overwrite="none"; _scrollTo($this,to[1].toString(),methodOptions); }},methodOptions.timeout); }}); }, stop:function(){ var selector=_selector.call(this); return $(selector).each(function(){ var $this=$(this); if($this.data(pluginPfx)){ _stop($this); }}); }, disable:function(r){ var selector=_selector.call(this); return $(selector).each(function(){ var $this=$(this); if($this.data(pluginPfx)){ var d=$this.data(pluginPfx); _autoUpdate.call(this,"remove"); _unbindEvents.call(this); if(r){_resetContentPosition.call(this);} _scrollbarVisibility.call(this,true); $this.addClass(classes[3]); }}); }, destroy:function(){ var selector=_selector.call(this); return $(selector).each(function(){ var $this=$(this); if($this.data(pluginPfx)){ var d=$this.data(pluginPfx),o=d.opt, mCustomScrollBox=$("#mCSB_"+d.idx), mCSB_container=$("#mCSB_"+d.idx+"_container"), scrollbar=$(".mCSB_"+d.idx+"_scrollbar"); if(o.live){removeLiveTimers(o.liveSelector||$(selector).selector);} _autoUpdate.call(this,"remove"); _unbindEvents.call(this); _resetContentPosition.call(this); $this.removeData(pluginPfx); _delete(this,"mcs"); scrollbar.remove(); mCSB_container.find("img."+classes[2]).removeClass(classes[2]); mCustomScrollBox.replaceWith(mCSB_container.contents()); $this.removeClass(pluginNS+" _"+pluginPfx+"_"+d.idx+" "+classes[6]+" "+classes[7]+" "+classes[5]+" "+classes[3]).addClass(classes[4]); }}); } }, _selector=function(){ return (typeof $(this)!=="object"||$(this).length<1) ? defaultSelector:this; }, _theme=function(obj){ var fixedSizeScrollbarThemes=["rounded","rounded-dark","rounded-dots","rounded-dots-dark"], nonExpandedScrollbarThemes=["rounded-dots","rounded-dots-dark","3d","3d-dark","3d-thick","3d-thick-dark","inset","inset-dark","inset-2","inset-2-dark","inset-3","inset-3-dark"], disabledScrollButtonsThemes=["minimal","minimal-dark"], enabledAutoHideScrollbarThemes=["minimal","minimal-dark"], scrollbarPositionOutsideThemes=["minimal","minimal-dark"]; obj.autoDraggerLength=$.inArray(obj.theme,fixedSizeScrollbarThemes) > -1 ? false:obj.autoDraggerLength; obj.autoExpandScrollbar=$.inArray(obj.theme,nonExpandedScrollbarThemes) > -1 ? false:obj.autoExpandScrollbar; obj.scrollButtons.enable=$.inArray(obj.theme,disabledScrollButtonsThemes) > -1 ? false:obj.scrollButtons.enable; obj.autoHideScrollbar=$.inArray(obj.theme,enabledAutoHideScrollbarThemes) > -1 ? true:obj.autoHideScrollbar; obj.scrollbarPosition=$.inArray(obj.theme,scrollbarPositionOutsideThemes) > -1 ? "outside":obj.scrollbarPosition; }, removeLiveTimers=function(selector){ if(liveTimers[selector]){ clearTimeout(liveTimers[selector]); _delete(liveTimers,selector); }}, _findAxis=function(val){ return (val==="yx"||val==="xy"||val==="auto") ? "yx":(val==="x"||val==="horizontal") ? "x":"y"; }, _findScrollButtonsType=function(val){ return (val==="stepped"||val==="pixels"||val==="step"||val==="click") ? "stepped":"stepless"; }, _pluginMarkup=function(){ var $this=$(this),d=$this.data(pluginPfx),o=d.opt, expandClass=o.autoExpandScrollbar ? " "+classes[1]+"_expand":"", scrollbar=["
","
"], wrapperClass=o.axis==="yx" ? "mCSB_vertical_horizontal":o.axis==="x" ? "mCSB_horizontal":"mCSB_vertical", scrollbars=o.axis==="yx" ? scrollbar[0]+scrollbar[1]:o.axis==="x" ? scrollbar[1]:scrollbar[0], contentWrapper=o.axis==="yx" ? "
":"", autoHideClass=o.autoHideScrollbar ? " "+classes[6]:"", scrollbarDirClass=(o.axis!=="x"&&d.langDir==="rtl") ? " "+classes[7]:""; if(o.setWidth){$this.css("width",o.setWidth);} if(o.setHeight){$this.css("height",o.setHeight);} o.setLeft=(o.axis!=="y"&&d.langDir==="rtl") ? "989999px":o.setLeft; $this.addClass(pluginNS+" _"+pluginPfx+"_"+d.idx+autoHideClass+scrollbarDirClass).wrapInner("
"); var mCustomScrollBox=$("#mCSB_"+d.idx), mCSB_container=$("#mCSB_"+d.idx+"_container"); if(o.axis!=="y"&&!o.advanced.autoExpandHorizontalScroll){ mCSB_container.css("width",_contentWidth(mCSB_container.children())); } if(o.scrollbarPosition==="outside"){ if($this.css("position")==="static"){ $this.css("position","relative"); } $this.css("overflow","visible"); mCustomScrollBox.addClass("mCSB_outside").after(scrollbars); }else{ mCustomScrollBox.addClass("mCSB_inside").append(scrollbars); mCSB_container.wrap(contentWrapper); } _scrollButtons.call(this); var mCSB_dragger=[$("#mCSB_"+d.idx+"_dragger_vertical"),$("#mCSB_"+d.idx+"_dragger_horizontal")]; mCSB_dragger[0].css("min-height",mCSB_dragger[0].height()); mCSB_dragger[1].css("min-width",mCSB_dragger[1].width()); }, _contentWidth=function(el){ return Math.max.apply(Math,el.map(function(){return $(this).outerWidth(true);}).get()); }, _expandContentHorizontally=function(){ var $this=$(this),d=$this.data(pluginPfx),o=d.opt, mCSB_container=$("#mCSB_"+d.idx+"_container"); if(o.advanced.autoExpandHorizontalScroll&&o.axis!=="y"){ mCSB_container.css({"position":"absolute","width":"auto"}) .wrap("
") .css({ "width":(Math.ceil(mCSB_container[0].getBoundingClientRect().right+0.4)-Math.floor(mCSB_container[0].getBoundingClientRect().left)), "position":"relative" }).unwrap(); }}, _scrollButtons=function(){ var $this=$(this),d=$this.data(pluginPfx),o=d.opt, mCSB_scrollTools=$(".mCSB_"+d.idx+"_scrollbar:first"), tabindex=!_isNumeric(o.scrollButtons.tabindex) ? "":"tabindex='"+o.scrollButtons.tabindex+"'", btnHTML=[ "", "", "", "" ], btn=[(o.axis==="x" ? btnHTML[2]:btnHTML[0]),(o.axis==="x" ? btnHTML[3]:btnHTML[1]),btnHTML[2],btnHTML[3]]; if(o.scrollButtons.enable){ mCSB_scrollTools.prepend(btn[0]).append(btn[1]).next(".mCSB_scrollTools").prepend(btn[2]).append(btn[3]); }}, _maxHeight=function(){ var $this=$(this),d=$this.data(pluginPfx), mCustomScrollBox=$("#mCSB_"+d.idx), mh=$this.css("max-height")||"none",pct=mh.indexOf("%")!==-1, bs=$this.css("box-sizing"); if(mh!=="none"){ var val=pct ? $this.parent().height()*parseInt(mh)/100:parseInt(mh); if(bs==="border-box"){val-=(($this.innerHeight()-$this.height())+($this.outerHeight()-$this.innerHeight()));} mCustomScrollBox.css("max-height",Math.round(val)); }}, _setDraggerLength=function(){ var $this=$(this),d=$this.data(pluginPfx), mCustomScrollBox=$("#mCSB_"+d.idx), mCSB_container=$("#mCSB_"+d.idx+"_container"), mCSB_dragger=[$("#mCSB_"+d.idx+"_dragger_vertical"),$("#mCSB_"+d.idx+"_dragger_horizontal")], ratio=[mCustomScrollBox.height()/mCSB_container.outerHeight(false),mCustomScrollBox.width()/mCSB_container.outerWidth(false)], l=[ parseInt(mCSB_dragger[0].css("min-height")),Math.round(ratio[0]*mCSB_dragger[0].parent().height()), parseInt(mCSB_dragger[1].css("min-width")),Math.round(ratio[1]*mCSB_dragger[1].parent().width()) ], h=oldIE&&(l[1]mCustomScrollBox.height(),contentWidth>mCustomScrollBox.width()]; }, _resetContentPosition=function(){ var $this=$(this),d=$this.data(pluginPfx),o=d.opt, mCustomScrollBox=$("#mCSB_"+d.idx), mCSB_container=$("#mCSB_"+d.idx+"_container"), mCSB_dragger=[$("#mCSB_"+d.idx+"_dragger_vertical"),$("#mCSB_"+d.idx+"_dragger_horizontal")]; _stop($this); if((o.axis!=="x"&&!d.overflowed[0])||(o.axis==="y"&&d.overflowed[0])){ mCSB_dragger[0].add(mCSB_container).css("top",0); _scrollTo($this,"_resetY"); } if((o.axis!=="y"&&!d.overflowed[1])||(o.axis==="x"&&d.overflowed[1])){ var cx=dx=0; if(d.langDir==="rtl"){ cx=mCustomScrollBox.width()-mCSB_container.outerWidth(false); dx=Math.abs(cx/d.scrollRatio.x); } mCSB_container.css("left",cx); mCSB_dragger[1].css("left",dx); _scrollTo($this,"_resetX"); }}, _bindEvents=function(){ var $this=$(this),d=$this.data(pluginPfx),o=d.opt; if(!d.bindEvents){ _draggable.call(this); if(o.contentTouchScroll){_contentDraggable.call(this);} _selectable.call(this); if(o.mouseWheel.enable){ function _mwt(){ mousewheelTimeout=setTimeout(function(){ if(!$.event.special.mousewheel){ _mwt(); }else{ clearTimeout(mousewheelTimeout); _mousewheel.call($this[0]); }},100); } var mousewheelTimeout; _mwt(); } _draggerRail.call(this); _wrapperScroll.call(this); if(o.advanced.autoScrollOnFocus){_focus.call(this);} if(o.scrollButtons.enable){_buttons.call(this);} if(o.keyboard.enable){_keyboard.call(this);} d.bindEvents=true; }}, _unbindEvents=function(){ var $this=$(this),d=$this.data(pluginPfx),o=d.opt, namespace=pluginPfx+"_"+d.idx, sb=".mCSB_"+d.idx+"_scrollbar", sel=$("#mCSB_"+d.idx+",#mCSB_"+d.idx+"_container,#mCSB_"+d.idx+"_container_wrapper,"+sb+" ."+classes[12]+",#mCSB_"+d.idx+"_dragger_vertical,#mCSB_"+d.idx+"_dragger_horizontal,"+sb+">a"), mCSB_container=$("#mCSB_"+d.idx+"_container"); if(o.advanced.releaseDraggableSelectors){sel.add($(o.advanced.releaseDraggableSelectors));} if(d.bindEvents){ $(document).unbind("."+namespace); sel.each(function(){ $(this).unbind("."+namespace); }); clearTimeout($this[0]._focusTimeout); _delete($this[0],"_focusTimeout"); clearTimeout(d.sequential.step); _delete(d.sequential,"step"); clearTimeout(mCSB_container[0].onCompleteTimeout); _delete(mCSB_container[0],"onCompleteTimeout"); d.bindEvents=false; }}, _scrollbarVisibility=function(disabled){ var $this=$(this),d=$this.data(pluginPfx),o=d.opt, contentWrapper=$("#mCSB_"+d.idx+"_container_wrapper"), content=contentWrapper.length ? contentWrapper:$("#mCSB_"+d.idx+"_container"), scrollbar=[$("#mCSB_"+d.idx+"_scrollbar_vertical"),$("#mCSB_"+d.idx+"_scrollbar_horizontal")], mCSB_dragger=[scrollbar[0].find(".mCSB_dragger"),scrollbar[1].find(".mCSB_dragger")]; if(o.axis!=="x"){ if(d.overflowed[0]&&!disabled){ scrollbar[0].add(mCSB_dragger[0]).add(scrollbar[0].children("a")).css("display","block"); content.removeClass(classes[8]+" "+classes[10]); }else{ if(o.alwaysShowScrollbar){ if(o.alwaysShowScrollbar!==2){mCSB_dragger[0].css("display","none");} content.removeClass(classes[10]); }else{ scrollbar[0].css("display","none"); content.addClass(classes[10]); } content.addClass(classes[8]); }} if(o.axis!=="y"){ if(d.overflowed[1]&&!disabled){ scrollbar[1].add(mCSB_dragger[1]).add(scrollbar[1].children("a")).css("display","block"); content.removeClass(classes[9]+" "+classes[11]); }else{ if(o.alwaysShowScrollbar){ if(o.alwaysShowScrollbar!==2){mCSB_dragger[1].css("display","none");} content.removeClass(classes[11]); }else{ scrollbar[1].css("display","none"); content.addClass(classes[11]); } content.addClass(classes[9]); }} if(!d.overflowed[0]&&!d.overflowed[1]){ $this.addClass(classes[5]); }else{ $this.removeClass(classes[5]); }}, _coordinates=function(e){ var t=e.type; switch(t){ case "pointerdown": case "MSPointerDown": case "pointermove": case "MSPointerMove": case "pointerup": case "MSPointerUp": return e.target.ownerDocument!==document ? [e.originalEvent.screenY,e.originalEvent.screenX,false]:[e.originalEvent.pageY,e.originalEvent.pageX,false]; break; case "touchstart": case "touchmove": case "touchend": var touch=e.originalEvent.touches[0]||e.originalEvent.changedTouches[0], touches=e.originalEvent.touches.length||e.originalEvent.changedTouches.length; return e.target.ownerDocument!==document ? [touch.screenY,touch.screenX,touches>1]:[touch.pageY,touch.pageX,touches>1]; break; default: return [e.pageY,e.pageX,false]; }}, _draggable=function(){ var $this=$(this),d=$this.data(pluginPfx),o=d.opt, namespace=pluginPfx+"_"+d.idx, draggerId=["mCSB_"+d.idx+"_dragger_vertical","mCSB_"+d.idx+"_dragger_horizontal"], mCSB_container=$("#mCSB_"+d.idx+"_container"), mCSB_dragger=$("#"+draggerId[0]+",#"+draggerId[1]), draggable,dragY,dragX, rds=o.advanced.releaseDraggableSelectors ? mCSB_dragger.add($(o.advanced.releaseDraggableSelectors)):mCSB_dragger; mCSB_dragger.bind("mousedown."+namespace+" touchstart."+namespace+" pointerdown."+namespace+" MSPointerDown."+namespace,function(e){ e.stopImmediatePropagation(); e.preventDefault(); if(!_mouseBtnLeft(e)){return;} touchActive=true; if(oldIE){document.onselectstart=function(){return false;}} _iframe(false); _stop($this); draggable=$(this); var offset=draggable.offset(),y=_coordinates(e)[0]-offset.top,x=_coordinates(e)[1]-offset.left, h=draggable.height()+offset.top,w=draggable.width()+offset.left; if(y0&&x0){ dragY=y; dragX=x; } _onDragClasses(draggable,"active",o.autoExpandScrollbar); }).bind("touchmove."+namespace,function(e){ e.stopImmediatePropagation(); e.preventDefault(); var offset=draggable.offset(),y=_coordinates(e)[0]-offset.top,x=_coordinates(e)[1]-offset.left; _drag(dragY,dragX,y,x); }); $(document).bind("mousemove."+namespace+" pointermove."+namespace+" MSPointerMove."+namespace,function(e){ if(draggable){ var offset=draggable.offset(),y=_coordinates(e)[0]-offset.top,x=_coordinates(e)[1]-offset.left; if(dragY===y){return;} _drag(dragY,dragX,y,x); }}).add(rds).bind("mouseup."+namespace+" touchend."+namespace+" pointerup."+namespace+" MSPointerUp."+namespace,function(e){ if(draggable){ _onDragClasses(draggable,"active",o.autoExpandScrollbar); draggable=null; } touchActive=false; if(oldIE){document.onselectstart=null;} _iframe(true); }); function _iframe(evt){ var el=mCSB_container.find("iframe"); if(!el.length){return;} var val=!evt ? "none":"auto"; el.css("pointer-events",val); } function _drag(dragY,dragX,y,x){ mCSB_container[0].idleTimer=o.scrollInertia<233 ? 250:0; if(draggable.attr("id")===draggerId[1]){ var dir="x",to=((draggable[0].offsetLeft-dragX)+x)*d.scrollRatio.x; }else{ var dir="y",to=((draggable[0].offsetTop-dragY)+y)*d.scrollRatio.y; } _scrollTo($this,to.toString(),{dir:dir,drag:true}); }}, _contentDraggable=function(){ var $this=$(this),d=$this.data(pluginPfx),o=d.opt, namespace=pluginPfx+"_"+d.idx, mCustomScrollBox=$("#mCSB_"+d.idx), mCSB_container=$("#mCSB_"+d.idx+"_container"), mCSB_dragger=[$("#mCSB_"+d.idx+"_dragger_vertical"),$("#mCSB_"+d.idx+"_dragger_horizontal")], dragY,dragX,touchStartY,touchStartX,touchMoveY=[],touchMoveX=[],startTime,runningTime,endTime,distance,speed,amount, durA=0,durB,overwrite=o.axis==="yx" ? "none":"all",touchIntent=[],touchDrag,docDrag, iframe=mCSB_container.find("iframe"), events=[ "touchstart."+namespace+" pointerdown."+namespace+" MSPointerDown."+namespace, "touchmove."+namespace+" pointermove."+namespace+" MSPointerMove."+namespace, "touchend."+namespace+" pointerup."+namespace+" MSPointerUp."+namespace ]; mCSB_container.bind(events[0],function(e){ _onTouchstart(e); }).bind(events[1],function(e){ _onTouchmove(e); }); mCustomScrollBox.bind(events[0],function(e){ _onTouchstart2(e); }).bind(events[2],function(e){ _onTouchend(e); }); if(iframe.length){ iframe.each(function(){ $(this).load(function(){ if(_canAccessIFrame(this)){ $(this.contentDocument||this.contentWindow.document).bind(events[0],function(e){ _onTouchstart(e); _onTouchstart2(e); }).bind(events[1],function(e){ _onTouchmove(e); }).bind(events[2],function(e){ _onTouchend(e); }); }}); }); } function _onTouchstart(e){ if(!_pointerTouch(e)||touchActive||_coordinates(e)[2]){touchable=0; return;} touchable=1; touchDrag=0; docDrag=0; $this.removeClass("mCS_touch_action"); var offset=mCSB_container.offset(); dragY=_coordinates(e)[0]-offset.top; dragX=_coordinates(e)[1]-offset.left; touchIntent=[_coordinates(e)[0],_coordinates(e)[1]]; } function _onTouchmove(e){ if(!_pointerTouch(e)||touchActive||_coordinates(e)[2]){return;} e.stopImmediatePropagation(); if(docDrag&&!touchDrag){return;} runningTime=_getTime(); var offset=mCustomScrollBox.offset(),y=_coordinates(e)[0]-offset.top,x=_coordinates(e)[1]-offset.left, easing="mcsLinearOut"; touchMoveY.push(y); touchMoveX.push(x); touchIntent[2]=Math.abs(_coordinates(e)[0]-touchIntent[0]); touchIntent[3]=Math.abs(_coordinates(e)[1]-touchIntent[1]); if(d.overflowed[0]){ var limit=mCSB_dragger[0].parent().height()-mCSB_dragger[0].height(), prevent=((dragY-y)>0&&(y-dragY)>-(limit*d.scrollRatio.y)&&(touchIntent[3]*20&&(x-dragX)>-(limitX*d.scrollRatio.x)&&(touchIntent[2]*230){return;} speed=1000/(endTime-startTime); var easing="mcsEaseOut",slow=speed<2.5, diff=slow ? [touchMoveY[touchMoveY.length-2],touchMoveX[touchMoveX.length-2]]:[0,0]; distance=slow ? [(y-diff[0]),(x-diff[1])]:[y-touchStartY,x-touchStartX]; var absDistance=[Math.abs(distance[0]),Math.abs(distance[1])]; speed=slow ? [Math.abs(distance[0]/4),Math.abs(distance[1]/4)]:[speed,speed]; var a=[ Math.abs(mCSB_container[0].offsetTop)-(distance[0]*_m((absDistance[0]/speed[0]),speed[0])), Math.abs(mCSB_container[0].offsetLeft)-(distance[1]*_m((absDistance[1]/speed[1]),speed[1])) ]; amount=o.axis==="yx" ? [a[0],a[1]]:o.axis==="x" ? [null,a[1]]:[a[0],null]; durB=[(absDistance[0]*4)+o.scrollInertia,(absDistance[1]*4)+o.scrollInertia]; var md=parseInt(o.contentTouchScroll)||0; amount[0]=absDistance[0]>md ? amount[0]:0; amount[1]=absDistance[1]>md ? amount[1]:0; if(d.overflowed[0]){_drag(amount[0],durB[0],easing,"y",overwrite,false);} if(d.overflowed[1]){_drag(amount[1],durB[1],easing,"x",overwrite,false);}} function _m(ds,s){ var r=[s*1.5,s*2,s/1.5,s/2]; if(ds>90){ return s>4 ? r[0]:r[3]; }else if(ds>60){ return s>3 ? r[3]:r[2]; }else if(ds>30){ return s>8 ? r[1]:s>6 ? r[0]:s>4 ? s:r[2]; }else{ return s>8 ? s:r[3]; }} function _drag(amount,dur,easing,dir,overwrite,drag){ if(!amount){return;} _scrollTo($this,amount.toString(),{dur:dur,scrollEasing:easing,dir:dir,overwrite:overwrite,drag:drag}); }}, _selectable=function(){ var $this=$(this),d=$this.data(pluginPfx),o=d.opt,seq=d.sequential, namespace=pluginPfx+"_"+d.idx, mCSB_container=$("#mCSB_"+d.idx+"_container"), wrapper=mCSB_container.parent(), action; mCSB_container.bind("mousedown."+namespace,function(e){ if(touchable){return;} if(!action){action=1; touchActive=true;}}).add(document).bind("mousemove."+namespace,function(e){ if(!touchable&&action&&_sel()){ var offset=mCSB_container.offset(), y=_coordinates(e)[0]-offset.top+mCSB_container[0].offsetTop,x=_coordinates(e)[1]-offset.left+mCSB_container[0].offsetLeft; if(y>0&&y0&&xwrapper.height()){ _seq("on",40); }} if(o.axis!=="y"&&d.overflowed[1]){ if(x<0){ _seq("on",37); }else if(x>wrapper.width()){ _seq("on",39); }} }} }).bind("mouseup."+namespace,function(e){ if(touchable){return;} if(action){action=0; _seq("off",null);} touchActive=false; }); function _sel(){ return window.getSelection ? window.getSelection().toString() : document.selection&&document.selection.type!="Control" ? document.selection.createRange().text:0; } function _seq(a,c,s){ seq.type=s&&action ? "stepped":"stepless"; seq.scrollAmount=10; _sequentialScroll($this,a,c,"mcsLinearOut",s ? 60:null); }}, _mousewheel=function(){ if(!$(this).data(pluginPfx)){return;} var $this=$(this),d=$this.data(pluginPfx),o=d.opt, namespace=pluginPfx+"_"+d.idx, mCustomScrollBox=$("#mCSB_"+d.idx), mCSB_dragger=[$("#mCSB_"+d.idx+"_dragger_vertical"),$("#mCSB_"+d.idx+"_dragger_horizontal")], iframe=$("#mCSB_"+d.idx+"_container").find("iframe"); if(iframe.length){ iframe.each(function(){ $(this).load(function(){ if(_canAccessIFrame(this)){ $(this.contentDocument||this.contentWindow.document).bind("mousewheel."+namespace,function(e,delta){ _onMousewheel(e,delta); }); }}); }); } mCustomScrollBox.bind("mousewheel."+namespace,function(e,delta){ _onMousewheel(e,delta); }); function _onMousewheel(e,delta){ _stop($this); if(_disableMousewheel($this,e.target)){return;} var deltaFactor=o.mouseWheel.deltaFactor!=="auto" ? parseInt(o.mouseWheel.deltaFactor):(oldIE&&e.deltaFactor<100) ? 100:e.deltaFactor||100; if(o.axis==="x"||o.mouseWheel.axis==="x"){ var dir="x", px=[Math.round(deltaFactor*d.scrollRatio.x),parseInt(o.mouseWheel.scrollAmount)], amount=o.mouseWheel.scrollAmount!=="auto" ? px[1]:px[0]>=mCustomScrollBox.width() ? mCustomScrollBox.width()*0.9:px[0], contentPos=Math.abs($("#mCSB_"+d.idx+"_container")[0].offsetLeft), draggerPos=mCSB_dragger[1][0].offsetLeft, limit=mCSB_dragger[1].parent().width()-mCSB_dragger[1].width(), dlt=e.deltaX||e.deltaY||delta; }else{ var dir="y", px=[Math.round(deltaFactor*d.scrollRatio.y),parseInt(o.mouseWheel.scrollAmount)], amount=o.mouseWheel.scrollAmount!=="auto" ? px[1]:px[0]>=mCustomScrollBox.height() ? mCustomScrollBox.height()*0.9:px[0], contentPos=Math.abs($("#mCSB_"+d.idx+"_container")[0].offsetTop), draggerPos=mCSB_dragger[0][0].offsetTop, limit=mCSB_dragger[0].parent().height()-mCSB_dragger[0].height(), dlt=e.deltaY||delta; } if((dir==="y"&&!d.overflowed[0])||(dir==="x"&&!d.overflowed[1])){return;} if(o.mouseWheel.invert||e.webkitDirectionInvertedFromDevice){dlt=-dlt;} if(o.mouseWheel.normalizeDelta){dlt=dlt<0 ? -1:1;} if((dlt>0&&draggerPos!==0)||(dlt<0&&draggerPos!==limit)||o.mouseWheel.preventDefault){ e.stopImmediatePropagation(); e.preventDefault(); } _scrollTo($this,(contentPos-(dlt*amount)).toString(),{dir:dir}); }}, _canAccessIFrame=function(iframe){ var html=null; try{ var doc=iframe.contentDocument||iframe.contentWindow.document; html=doc.body.innerHTML; }catch(err){} return(html!==null); }, _disableMousewheel=function(el,target){ var tag=target.nodeName.toLowerCase(), tags=el.data(pluginPfx).opt.mouseWheel.disableOver, focusTags=["select","textarea"]; return $.inArray(tag,tags) > -1&&!($.inArray(tag,focusTags) > -1&&!$(target).is(":focus")); }, _draggerRail=function(){ var $this=$(this),d=$this.data(pluginPfx), namespace=pluginPfx+"_"+d.idx, mCSB_container=$("#mCSB_"+d.idx+"_container"), wrapper=mCSB_container.parent(), mCSB_draggerContainer=$(".mCSB_"+d.idx+"_scrollbar ."+classes[12]); mCSB_draggerContainer.bind("touchstart."+namespace+" pointerdown."+namespace+" MSPointerDown."+namespace,function(e){ touchActive=true; }).bind("touchend."+namespace+" pointerup."+namespace+" MSPointerUp."+namespace,function(e){ touchActive=false; }).bind("click."+namespace,function(e){ if($(e.target).hasClass(classes[12])||$(e.target).hasClass("mCSB_draggerRail")){ _stop($this); var el=$(this),mCSB_dragger=el.find(".mCSB_dragger"); if(el.parent(".mCSB_scrollTools_horizontal").length>0){ if(!d.overflowed[1]){return;} var dir="x", clickDir=e.pageX>mCSB_dragger.offset().left ? -1:1, to=Math.abs(mCSB_container[0].offsetLeft)-(clickDir*(wrapper.width()*0.9)); }else{ if(!d.overflowed[0]){return;} var dir="y", clickDir=e.pageY>mCSB_dragger.offset().top ? -1:1, to=Math.abs(mCSB_container[0].offsetTop)-(clickDir*(wrapper.height()*0.9)); } _scrollTo($this,to.toString(),{dir:dir,scrollEasing:"mcsEaseInOut"}); }}); }, _focus=function(){ var $this=$(this),d=$this.data(pluginPfx),o=d.opt, namespace=pluginPfx+"_"+d.idx, mCSB_container=$("#mCSB_"+d.idx+"_container"), wrapper=mCSB_container.parent(); mCSB_container.bind("focusin."+namespace,function(e){ var el=$(document.activeElement), nested=mCSB_container.find(".mCustomScrollBox").length, dur=0; if(!el.is(o.advanced.autoScrollOnFocus)){return;} _stop($this); clearTimeout($this[0]._focusTimeout); $this[0]._focusTimer=nested ? (dur+17)*nested:0; $this[0]._focusTimeout=setTimeout(function(){ var to=[_childPos(el)[0],_childPos(el)[1]], contentPos=[mCSB_container[0].offsetTop,mCSB_container[0].offsetLeft], isVisible=[ (contentPos[0]+to[0]>=0&&contentPos[0]+to[0]=0&&contentPos[0]+to[1]a"); btn.bind("mousedown."+namespace+" touchstart."+namespace+" pointerdown."+namespace+" MSPointerDown."+namespace+" mouseup."+namespace+" touchend."+namespace+" pointerup."+namespace+" MSPointerUp."+namespace+" mouseout."+namespace+" pointerout."+namespace+" MSPointerOut."+namespace+" click."+namespace,function(e){ e.preventDefault(); if(!_mouseBtnLeft(e)){return;} var btnClass=$(this).attr("class"); seq.type=o.scrollButtons.scrollType; switch(e.type){ case "mousedown": case "touchstart": case "pointerdown": case "MSPointerDown": if(seq.type==="stepped"){return;} touchActive=true; d.tweenRunning=false; _seq("on",btnClass); break; case "mouseup": case "touchend": case "pointerup": case "MSPointerUp": case "mouseout": case "pointerout": case "MSPointerOut": if(seq.type==="stepped"){return;} touchActive=false; if(seq.dir){_seq("off",btnClass);} break; case "click": if(seq.type!=="stepped"||d.tweenRunning){return;} _seq("on",btnClass); break; } function _seq(a,c){ seq.scrollAmount=o.snapAmount||o.scrollButtons.scrollAmount; _sequentialScroll($this,a,c); }}); }, _keyboard=function(){ var $this=$(this),d=$this.data(pluginPfx),o=d.opt,seq=d.sequential, namespace=pluginPfx+"_"+d.idx, mCustomScrollBox=$("#mCSB_"+d.idx), mCSB_container=$("#mCSB_"+d.idx+"_container"), wrapper=mCSB_container.parent(), editables="input,textarea,select,datalist,keygen,[contenteditable='true']", iframe=mCSB_container.find("iframe"), events=["blur."+namespace+" keydown."+namespace+" keyup."+namespace]; if(iframe.length){ iframe.each(function(){ $(this).load(function(){ if(_canAccessIFrame(this)){ $(this.contentDocument||this.contentWindow.document).bind(events[0],function(e){ _onKeyboard(e); }); }}); }); } mCustomScrollBox.attr("tabindex","0").bind(events[0],function(e){ _onKeyboard(e); }); function _onKeyboard(e){ switch(e.type){ case "blur": if(d.tweenRunning&&seq.dir){_seq("off",null);} break; case "keydown": case "keyup": var code=e.keyCode ? e.keyCode:e.which,action="on"; if((o.axis!=="x"&&(code===38||code===40))||(o.axis!=="y"&&(code===37||code===39))){ if(((code===38||code===40)&&!d.overflowed[0])||((code===37||code===39)&&!d.overflowed[1])){return;} if(e.type==="keyup"){action="off";} if(!$(document.activeElement).is(editables)){ e.preventDefault(); e.stopImmediatePropagation(); _seq(action,code); }}else if(code===33||code===34){ if(d.overflowed[0]||d.overflowed[1]){ e.preventDefault(); e.stopImmediatePropagation(); } if(e.type==="keyup"){ _stop($this); var keyboardDir=code===34 ? -1:1; if(o.axis==="x"||(o.axis==="yx"&&d.overflowed[1]&&!d.overflowed[0])){ var dir="x",to=Math.abs(mCSB_container[0].offsetLeft)-(keyboardDir*(wrapper.width()*0.9)); }else{ var dir="y",to=Math.abs(mCSB_container[0].offsetTop)-(keyboardDir*(wrapper.height()*0.9)); } _scrollTo($this,to.toString(),{dir:dir,scrollEasing:"mcsEaseInOut"}); }}else if(code===35||code===36){ if(!$(document.activeElement).is(editables)){ if(d.overflowed[0]||d.overflowed[1]){ e.preventDefault(); e.stopImmediatePropagation(); } if(e.type==="keyup"){ if(o.axis==="x"||(o.axis==="yx"&&d.overflowed[1]&&!d.overflowed[0])){ var dir="x",to=code===35 ? Math.abs(wrapper.width()-mCSB_container.outerWidth(false)):0; }else{ var dir="y",to=code===35 ? Math.abs(wrapper.height()-mCSB_container.outerHeight(false)):0; } _scrollTo($this,to.toString(),{dir:dir,scrollEasing:"mcsEaseInOut"}); }} } break; } function _seq(a,c){ seq.type=o.keyboard.scrollType; seq.scrollAmount=o.snapAmount||o.keyboard.scrollAmount; if(seq.type==="stepped"&&d.tweenRunning){return;} _sequentialScroll($this,a,c); }} }, _sequentialScroll=function(el,action,trigger,e,s){ var d=el.data(pluginPfx),o=d.opt,seq=d.sequential, mCSB_container=$("#mCSB_"+d.idx+"_container"), once=seq.type==="stepped" ? true:false, steplessSpeed=o.scrollInertia < 26 ? 26:o.scrollInertia, steppedSpeed=o.scrollInertia < 1 ? 17:o.scrollInertia; switch(action){ case "on": seq.dir=[ (trigger===classes[16]||trigger===classes[15]||trigger===39||trigger===37 ? "x":"y"), (trigger===classes[13]||trigger===classes[15]||trigger===38||trigger===37 ? -1:1) ]; _stop(el); if(_isNumeric(trigger)&&seq.type==="stepped"){return;} _on(once); break; case "off": _off(); if(once||(d.tweenRunning&&seq.dir)){ _on(true); } break; } function _on(once){ var c=seq.type!=="stepped", t=s ? s:!once ? 1000/60:c ? steplessSpeed/1.5:steppedSpeed, m=!once ? 2.5:c ? 7.5:40, contentPos=[Math.abs(mCSB_container[0].offsetTop),Math.abs(mCSB_container[0].offsetLeft)], ratio=[d.scrollRatio.y>10 ? 10:d.scrollRatio.y,d.scrollRatio.x>10 ? 10:d.scrollRatio.x], amount=seq.dir[0]==="x" ? contentPos[1]+(seq.dir[1]*(ratio[1]*m)):contentPos[0]+(seq.dir[1]*(ratio[0]*m)), px=seq.dir[0]==="x" ? contentPos[1]+(seq.dir[1]*parseInt(seq.scrollAmount)):contentPos[0]+(seq.dir[1]*parseInt(seq.scrollAmount)), to=seq.scrollAmount!=="auto" ? px:amount, easing=e ? e:!once ? "mcsLinear":c ? "mcsLinearOut":"mcsEaseInOut", onComplete=!once ? false:true; if(once&&t<17){ to=seq.dir[0]==="x" ? contentPos[1]:contentPos[0]; } _scrollTo(el,to.toString(),{dir:seq.dir[0],scrollEasing:easing,dur:t,onComplete:onComplete}); if(once){ seq.dir=false; return; } clearTimeout(seq.step); seq.step=setTimeout(function(){ _on(); },t); } function _off(){ clearTimeout(seq.step); _delete(seq,"step"); _stop(el); }}, _arr=function(val){ var o=$(this).data(pluginPfx).opt,vals=[]; if(typeof val==="function"){val=val();} if(!(val instanceof Array)){ vals[0]=val.y ? val.y:val.x||o.axis==="x" ? null:val; vals[1]=val.x ? val.x:val.y||o.axis==="y" ? null:val; }else{ vals=val.length>1 ? [val[0],val[1]]:o.axis==="x" ? [null,val[0]]:[val[0],null]; } if(typeof vals[0]==="function"){vals[0]=vals[0]();} if(typeof vals[1]==="function"){vals[1]=vals[1]();} return vals; }, _to=function(val,dir){ if(val==null||typeof val=="undefined"){return;} var $this=$(this),d=$this.data(pluginPfx),o=d.opt, mCSB_container=$("#mCSB_"+d.idx+"_container"), wrapper=mCSB_container.parent(), t=typeof val; if(!dir){dir=o.axis==="x" ? "x":"y";} var contentLength=dir==="x" ? mCSB_container.outerWidth(false):mCSB_container.outerHeight(false), contentPos=dir==="x" ? mCSB_container[0].offsetLeft:mCSB_container[0].offsetTop, cssProp=dir==="x" ? "left":"top"; switch(t){ case "function": return val(); break; case "object": var obj=val.jquery ? val:$(val); if(!obj.length){return;} return dir==="x" ? _childPos(obj)[1]:_childPos(obj)[0]; break; case "string": case "number": if(_isNumeric(val)){ return Math.abs(val); }else if(val.indexOf("%")!==-1){ return Math.abs(contentLength*parseInt(val)/100); }else if(val.indexOf("-=")!==-1){ return Math.abs(contentPos-parseInt(val.split("-=")[1])); }else if(val.indexOf("+=")!==-1){ var p=(contentPos+parseInt(val.split("+=")[1])); return p>=0 ? 0:Math.abs(p); }else if(val.indexOf("px")!==-1&&_isNumeric(val.split("px")[0])){ return Math.abs(val.split("px")[0]); }else{ if(val==="top"||val==="left"){ return 0; }else if(val==="bottom"){ return Math.abs(wrapper.height()-mCSB_container.outerHeight(false)); }else if(val==="right"){ return Math.abs(wrapper.width()-mCSB_container.outerWidth(false)); }else if(val==="first"||val==="last"){ var obj=mCSB_container.find(":"+val); return dir==="x" ? _childPos(obj)[1]:_childPos(obj)[0]; }else{ if($(val).length){ return dir==="x" ? _childPos($(val))[1]:_childPos($(val))[0]; }else{ mCSB_container.css(cssProp,val); methods.update.call(null,$this[0]); return; }} } break; }}, _autoUpdate=function(rem){ var $this=$(this),d=$this.data(pluginPfx),o=d.opt, mCSB_container=$("#mCSB_"+d.idx+"_container"); if(rem){ clearTimeout(mCSB_container[0].autoUpdate); _delete(mCSB_container[0],"autoUpdate"); return; } var wrapper=mCSB_container.parent(), scrollbar=[$("#mCSB_"+d.idx+"_scrollbar_vertical"),$("#mCSB_"+d.idx+"_scrollbar_horizontal")], scrollbarSize=function(){return [ scrollbar[0].is(":visible") ? scrollbar[0].outerHeight(true):0, scrollbar[1].is(":visible") ? scrollbar[1].outerWidth(true):0 ]}, oldSelSize=sizesSum(),newSelSize, os=[mCSB_container.outerHeight(false),mCSB_container.outerWidth(false),wrapper.height(),wrapper.width(),scrollbarSize()[0],scrollbarSize()[1]],ns, oldImgsLen=imgSum(),newImgsLen; upd(); function upd(){ clearTimeout(mCSB_container[0].autoUpdate); if($this.parents("html").length===0){ $this=null; return; } mCSB_container[0].autoUpdate=setTimeout(function(){ if(o.advanced.updateOnSelectorChange){ newSelSize=sizesSum(); if(newSelSize!==oldSelSize){ doUpd(3); oldSelSize=newSelSize; return; }} if(o.advanced.updateOnContentResize){ ns=[mCSB_container.outerHeight(false),mCSB_container.outerWidth(false),wrapper.height(),wrapper.width(),scrollbarSize()[0],scrollbarSize()[1]]; if(ns[0]!==os[0]||ns[1]!==os[1]||ns[2]!==os[2]||ns[3]!==os[3]||ns[4]!==os[4]||ns[5]!==os[5]){ doUpd(ns[0]!==os[0]||ns[1]!==os[1]); os=ns; }} if(o.advanced.updateOnImageLoad){ newImgsLen=imgSum(); if(newImgsLen!==oldImgsLen){ mCSB_container.find("img").each(function(){ imgLoader(this); }); oldImgsLen=newImgsLen; }} if(o.advanced.updateOnSelectorChange||o.advanced.updateOnContentResize||o.advanced.updateOnImageLoad){upd();}},o.advanced.autoUpdateTimeout); } function imgSum(){ var total=0 if(o.advanced.updateOnImageLoad){total=mCSB_container.find("img").length;} return total; } function imgLoader(el){ if($(el).hasClass(classes[2])){doUpd(); return;} var img=new Image(); function createDelegate(contextObject,delegateMethod){ return function(){return delegateMethod.apply(contextObject,arguments);}} function imgOnLoad(){ this.onload=null; $(el).addClass(classes[2]); doUpd(2); } img.onload=createDelegate(img,imgOnLoad); img.src=el.src; } function sizesSum(){ if(o.advanced.updateOnSelectorChange===true){o.advanced.updateOnSelectorChange="*";} var total=0,sel=mCSB_container.find(o.advanced.updateOnSelectorChange); if(o.advanced.updateOnSelectorChange&&sel.length>0){sel.each(function(){total+=$(this).height()+$(this).width();});} return total; } function doUpd(cb){ clearTimeout(mCSB_container[0].autoUpdate); methods.update.call(null,$this[0],cb); }}, _snapAmount=function(to,amount,offset){ return (Math.round(to/amount)*amount-offset); }, _stop=function(el){ var d=el.data(pluginPfx), sel=$("#mCSB_"+d.idx+"_container,#mCSB_"+d.idx+"_container_wrapper,#mCSB_"+d.idx+"_dragger_vertical,#mCSB_"+d.idx+"_dragger_horizontal"); sel.each(function(){ _stopTween.call(this); }); }, _scrollTo=function(el,to,options){ var d=el.data(pluginPfx),o=d.opt, defaults={ trigger:"internal", dir:"y", scrollEasing:"mcsEaseOut", drag:false, dur:o.scrollInertia, overwrite:"all", callbacks:true, onStart:true, onUpdate:true, onComplete:true }, options=$.extend(defaults,options), dur=[options.dur,(options.drag ? 0:options.dur)], mCustomScrollBox=$("#mCSB_"+d.idx), mCSB_container=$("#mCSB_"+d.idx+"_container"), wrapper=mCSB_container.parent(), totalScrollOffsets=o.callbacks.onTotalScrollOffset ? _arr.call(el,o.callbacks.onTotalScrollOffset):[0,0], totalScrollBackOffsets=o.callbacks.onTotalScrollBackOffset ? _arr.call(el,o.callbacks.onTotalScrollBackOffset):[0,0]; d.trigger=options.trigger; if(wrapper.scrollTop()!==0||wrapper.scrollLeft()!==0){ $(".mCSB_"+d.idx+"_scrollbar").css("visibility","visible"); wrapper.scrollTop(0).scrollLeft(0); } if(to==="_resetY"&&!d.contentReset.y){ if(_cb("onOverflowYNone")){o.callbacks.onOverflowYNone.call(el[0]);} d.contentReset.y=1; } if(to==="_resetX"&&!d.contentReset.x){ if(_cb("onOverflowXNone")){o.callbacks.onOverflowXNone.call(el[0]);} d.contentReset.x=1; } if(to==="_resetY"||to==="_resetX"){return;} if((d.contentReset.y||!el[0].mcs)&&d.overflowed[0]){ if(_cb("onOverflowY")){o.callbacks.onOverflowY.call(el[0]);} d.contentReset.x=null; } if((d.contentReset.x||!el[0].mcs)&&d.overflowed[1]){ if(_cb("onOverflowX")){o.callbacks.onOverflowX.call(el[0]);} d.contentReset.x=null; } if(o.snapAmount){to=_snapAmount(to,o.snapAmount,o.snapOffset);} switch(options.dir){ case "x": var mCSB_dragger=$("#mCSB_"+d.idx+"_dragger_horizontal"), property="left", contentPos=mCSB_container[0].offsetLeft, limit=[ mCustomScrollBox.width()-mCSB_container.outerWidth(false), mCSB_dragger.parent().width()-mCSB_dragger.width() ], scrollTo=[to,to===0 ? 0:(to/d.scrollRatio.x)], tso=totalScrollOffsets[1], tsbo=totalScrollBackOffsets[1], totalScrollOffset=tso>0 ? tso/d.scrollRatio.x:0, totalScrollBackOffset=tsbo>0 ? tsbo/d.scrollRatio.x:0; break; case "y": var mCSB_dragger=$("#mCSB_"+d.idx+"_dragger_vertical"), property="top", contentPos=mCSB_container[0].offsetTop, limit=[ mCustomScrollBox.height()-mCSB_container.outerHeight(false), mCSB_dragger.parent().height()-mCSB_dragger.height() ], scrollTo=[to,to===0 ? 0:(to/d.scrollRatio.y)], tso=totalScrollOffsets[0], tsbo=totalScrollBackOffsets[0], totalScrollOffset=tso>0 ? tso/d.scrollRatio.y:0, totalScrollBackOffset=tsbo>0 ? tsbo/d.scrollRatio.y:0; break; } if(scrollTo[1]<0||(scrollTo[0]===0&&scrollTo[1]===0)){ scrollTo=[0,0]; }else if(scrollTo[1]>=limit[1]){ scrollTo=[limit[0],limit[1]]; }else{ scrollTo[0]=-scrollTo[0]; } if(!el[0].mcs){ _mcs(); if(_cb("onInit")){o.callbacks.onInit.call(el[0]);} } clearTimeout(mCSB_container[0].onCompleteTimeout); if(!d.tweenRunning&&((contentPos===0&&scrollTo[0]>=0)||(contentPos===limit[0]&&scrollTo[0]<=limit[0]))){return;} _tweenTo(mCSB_dragger[0],property,Math.round(scrollTo[1]),dur[1],options.scrollEasing); _tweenTo(mCSB_container[0],property,Math.round(scrollTo[0]),dur[0],options.scrollEasing,options.overwrite,{ onStart:function(){ if(options.callbacks&&options.onStart&&!d.tweenRunning){ if(_cb("onScrollStart")){_mcs(); o.callbacks.onScrollStart.call(el[0]);} d.tweenRunning=true; _onDragClasses(mCSB_dragger); d.cbOffsets=_cbOffsets(); }},onUpdate:function(){ if(options.callbacks&&options.onUpdate){ if(_cb("whileScrolling")){_mcs(); o.callbacks.whileScrolling.call(el[0]);}} },onComplete:function(){ if(options.callbacks&&options.onComplete){ if(o.axis==="yx"){clearTimeout(mCSB_container[0].onCompleteTimeout);} var t=mCSB_container[0].idleTimer||0; mCSB_container[0].onCompleteTimeout=setTimeout(function(){ if(_cb("onScroll")){_mcs(); o.callbacks.onScroll.call(el[0]);} if(_cb("onTotalScroll")&&scrollTo[1]>=limit[1]-totalScrollOffset&&d.cbOffsets[0]){_mcs(); o.callbacks.onTotalScroll.call(el[0]);} if(_cb("onTotalScrollBack")&&scrollTo[1]<=totalScrollBackOffset&&d.cbOffsets[1]){_mcs(); o.callbacks.onTotalScrollBack.call(el[0]);} d.tweenRunning=false; mCSB_container[0].idleTimer=0; _onDragClasses(mCSB_dragger,"hide"); },t); }} }); function _cb(cb){ return d&&o.callbacks[cb]&&typeof o.callbacks[cb]==="function"; } function _cbOffsets(){ return [o.callbacks.alwaysTriggerOffsets||contentPos>=limit[0]+tso,o.callbacks.alwaysTriggerOffsets||contentPos<=-tsbo]; } function _mcs(){ var cp=[mCSB_container[0].offsetTop,mCSB_container[0].offsetLeft], dp=[mCSB_dragger[0].offsetTop,mCSB_dragger[0].offsetLeft], cl=[mCSB_container.outerHeight(false),mCSB_container.outerWidth(false)], pl=[mCustomScrollBox.height(),mCustomScrollBox.width()]; el[0].mcs={ content:mCSB_container, top:cp[0],left:cp[1],draggerTop:dp[0],draggerLeft:dp[1], topPct:Math.round((100*Math.abs(cp[0]))/(Math.abs(cl[0])-pl[0])),leftPct:Math.round((100*Math.abs(cp[1]))/(Math.abs(cl[1])-pl[1])), direction:options.dir }; }}, _tweenTo=function(el,prop,to,duration,easing,overwrite,callbacks){ if(!el._mTween){el._mTween={top:{},left:{}};} var callbacks=callbacks||{}, onStart=callbacks.onStart||function(){},onUpdate=callbacks.onUpdate||function(){},onComplete=callbacks.onComplete||function(){}, startTime=_getTime(),_delay,progress=0,from=el.offsetTop,elStyle=el.style,_request,tobj=el._mTween[prop]; if(prop==="left"){from=el.offsetLeft;} var diff=to-from; tobj.stop=0; if(overwrite!=="none"){_cancelTween();} _startTween(); function _step(){ if(tobj.stop){return;} if(!progress){onStart.call();} progress=_getTime()-startTime; _tween(); if(progress>=tobj.time){ tobj.time=(progress>tobj.time) ? progress+_delay-(progress-tobj.time):progress+_delay-1; if(tobj.time0){ tobj.currVal=_ease(tobj.time,from,diff,duration,easing); elStyle[prop]=Math.round(tobj.currVal)+"px"; }else{ elStyle[prop]=to+"px"; } onUpdate.call(); } function _startTween(){ _delay=1000/60; tobj.time=progress+_delay; _request=(!window.requestAnimationFrame) ? function(f){_tween(); return setTimeout(f,0.01);}:window.requestAnimationFrame; tobj.id=_request(_step); } function _cancelTween(){ if(tobj.id==null){return;} if(!window.requestAnimationFrame){clearTimeout(tobj.id); }else{window.cancelAnimationFrame(tobj.id);} tobj.id=null; } function _ease(t,b,c,d,type){ switch(type){ case "linear": case "mcsLinear": return c*t/d + b; break; case "mcsLinearOut": t/=d; t--; return c * Math.sqrt(1 - t*t) + b; break; case "easeInOutSmooth": t/=d/2; if(t<1) return c/2*t*t + b; t--; return -c/2 * (t*(t-2) - 1) + b; break; case "easeInOutStrong": t/=d/2; if(t<1) return c/2 * Math.pow(2, 10 * (t - 1)) + b; t--; return c/2 *(-Math.pow(2, -10 * t) + 2) + b; break; case "easeInOut": case "mcsEaseInOut": t/=d/2; if(t<1) return c/2*t*t*t + b; t-=2; return c/2*(t*t*t + 2) + b; break; case "easeOutSmooth": t/=d; t--; return -c * (t*t*t*t - 1) + b; break; case "easeOutStrong": return c *(-Math.pow(2, -10 * t/d) + 1) + b; break; case "easeOut": case "mcsEaseOut": default: var ts=(t/=d)*t,tc=ts*t; return b+c*(0.499999999999997*tc*ts + -2.5*ts*ts + 5.5*tc + -6.5*ts + 4*t); }} }, _getTime=function(){ if(window.performance&&window.performance.now){ return window.performance.now(); }else{ if(window.performance&&window.performance.webkitNow){ return window.performance.webkitNow(); }else{ if(Date.now){return Date.now();}else{return new Date().getTime();}} }}, _stopTween=function(){ var el=this; if(!el._mTween){el._mTween={top:{},left:{}};} var props=["top","left"]; for(var i=0; i=0&&cPos[0]+_childPos($el)[0]=0&&cPos[1]+_childPos($el)[1]").addClass(b("Inner")),h=a("");g.after(h.append(i));h.addClass(d);if(c.mapClass){h.addClass(g.attr("class"))}if(c.mapStyle){h.attr("style",g.attr("style"))}g.addClass("hasCustomSelect").on("update",function(){f(g,h);var k=parseInt(g.outerWidth(),10)-(parseInt(h.outerWidth(),10)-parseInt(h.width(),10));h.css({display:"inline-block"});var j=h.outerHeight();if(g.attr("disabled")){h.addClass(b("Disabled"))}else{h.removeClass(b("Disabled"))}i.css({width:k,display:"inline-block"});g.css({"-webkit-appearance":"menulist-button",width:h.outerWidth(),position:"absolute",opacity:0,height:j,fontSize:h.css("font-size")})}).on("change",function(){h.addClass(b("Changed"));f(g,h)}).on("keyup",function(j){if(!h.hasClass(b("Open"))){g.blur();g.focus()}else{if(j.which==13||j.which==27){f(g,h)}}}).on("mousedown",function(j){h.removeClass(b("Changed"))}).on("mouseup",function(j){if(!h.hasClass(b("Open"))){if(a("."+b("Open")).not(h).length>0&&typeof InstallTrigger!=="undefined"){g.focus()}else{h.addClass(b("Open"));j.stopPropagation();a(document).one("mouseup."+b("Open"),function(k){if(k.target!=g.get(0)&&a.inArray(k.target,g.find("*").get())<0){g.blur()}else{f(g,h)}})}}}).focus(function(){h.removeClass(b("Changed")).addClass(b("Focus"))}).blur(function(){h.removeClass(b("Focus")+" "+b("Open"))}).hover(function(){h.addClass(b("Hover"))},function(){h.removeClass(b("Hover"))}).trigger("update")})}})}); jQuery(document).ready(function($){ $.fn.exists=function(){ if($(this).length > 0){ return true; }else{ return false; }} $.fn.loaded=function(callback, jointCallback, ensureCallback){ var len=this.length; if(len > 0){ return this.each(function(){ var el=this, $el=$(el), blank="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="; $el.on("load.dt", function(event){ $(this).off("load.dt"); if(typeof callback=="function"){ callback.call(this); } if(--len <=0&&(typeof jointCallback=="function")){ jointCallback.call(this); }}); if(!el.complete||el.complete===undefined){ el.src=el.src; }else{ $el.trigger("load.dt") }}); }else if(ensureCallback){ if(typeof jointCallback=="function"){ jointCallback.call(this); } return this; }}; var $body=$("body"), $mainSlider=$('#main-slideshow'), $3DSlider=$('.three-d-slider'), adminH=$('#wpadminbar').height(), header=$('.masthead:not(.side-header):not(.side-header-v-stroke)').height(); if($body.hasClass("transparent")){ var headerH=0; }else if($body.hasClass("overlap")){ var headerH=($('.masthead:not(.side-header):not(.side-header-v-stroke)').height() + (parseInt($mainSlider.css("marginTop")) + parseInt($mainSlider.css("marginBottom")))); }else{ var headerH=$('.masthead:not(.side-header):not(.side-header-v-stroke)').height(); } if($3DSlider.length > 0){ if($mainSlider.hasClass('fixed')){ var ratioFix=$3DSlider.attr('data-height')/$3DSlider.attr('data-width'); var thisH=$3DSlider.css('height'), main=$3DSlider.css("height", $3DSlider.width() * (ratioFix)).addClass('slide-me'); var fixW=$3DSlider.width(); }else if($mainSlider.hasClass('fixed-height')){ var ratioFix=$3DSlider.attr('data-height')/$3DSlider.attr('data-width'); var thisH=$3DSlider.css('height'), main=$3DSlider.css("height", $3DSlider.width() * (ratioFix)).addClass('slide-me'); var fixW=$3DSlider.width(); }else{ if($('.boxed').length > 0){ var boxedM=parseInt($('#page.boxed').css('margin-bottom')); }else{ var boxedM=0; } var main=$3DSlider.css({'height': $(window).height() - headerH - boxedM - adminH - boxedM }).addClass('slide-me'); } var settings={ useJS:1, cellSize:300, images:[$('#level1 img'),$('#level2 img'),$('#level3 img')], scale:[0.14, 0.23, 0.35], corner_w:3, corner_l:30, corner_color:"#ffffff", hover_color:"rgba(0, 0, 0, .35)" }; var Plane=[], $all_images=$([]), real_length=0; function checkOptions(){ var source=settings.images.slice(); for (var i=0; i < source.length; i++){ if(source[i]&&source[i].length){ Plane[real_length]=source[i].slice(0); $all_images=$.merge($all_images, source[i]); source[i].parent().addClass('erase-source'); real_length++; }} } checkOptions(); var loaded_imgs=0, total=$all_images.length, $loading=main.children('#loading'), windowH=main.height(), windowW=main.width(), ratio=windowW/windowH, length=3, indexZ=[3, 6, 9], IEsc=[1, 1, 1], $hovered, lightbox_sc=Math.round(100 / settings.scale[length - 1])/100, time={ layer:700, invis:850, scrn:500, delay:100, }, timer1, timer2, timer3, timer4, timer5, timer6, timer7, timer8, n=[], m=[], Container=[], flags={ allowParallax:length, useNavig:0, antiStumble:0, isLightbox:0, isMobile :(/(Android|BlackBerry|iPhone|iPod|iPad|Palm|Symbian)/.test(navigator.userAgent)), scrolling:false, noImagesWarning:"There are no slides to display. Please upload images." }; if($mainSlider.hasClass('fixed')){ var newWidth, newHeight; var fixedW=fixW; $(window).on('resize', function(){ var asw=$3DSlider.attr('data-width'), ash=$3DSlider.attr('data-height'); newWidth=$3DSlider.width(); if(newWidth!=fixedW){ var main=$3DSlider.css("height", newWidth * (ash / asw)).addClass('slide-me'); newWidth=$3DSlider.width(); }else{ main=$3DSlider.css("height", $3DSlider.width() * (ratioFix)).addClass('slide-me'); }}); }else if($mainSlider.hasClass('fixed-height')){ var newWidth, newHeight; var fixedW=fixW; $(window).on('resize', function(){ var asw=$3DSlider.attr('data-width'), ash=$3DSlider.attr('data-height'); newWidth=$3DSlider.width(); if(newWidth!=fixedW){ var main=$3DSlider.css("height", newWidth * (ash / asw)).addClass('slide-me'); newWidth=$3DSlider.width(); }else{ main=$3DSlider.css("height", $3DSlider.width() * (ratioFix)).addClass('slide-me'); }}); }else{ $(window).on('resize', function(){ if($('.boxed').length > 0){ var boxedM=parseInt($('#page.boxed').css('margin-bottom')); }else{ var boxedM=0; } var main=$3DSlider.css({'height': $(window).height() - headerH - boxedM - adminH - boxedM}).addClass('slide-me'); }); } var main_left=main.offset().left, main_top=main.offset().top; function synthesizePlanes(){ var imgPerPlane=Math.floor(total/length); for (var k=0; k < length; k++){ Plane[k]=[]; for (var r=0; r < imgPerPlane+Math.floor((k+1)/length)*(total-3*imgPerPlane); r++){ Plane[k][r]=$all_images[r+k*imgPerPlane]; }} } function start(){ var dfdStart=$.Deferred(); if(real_length!=length) synthesizePlanes(); main.addClass('slide-me'); if(total!=0){ main.append($loading); $all_images.loaded(function(){ ++loaded_imgs; }); $.when(showLoadProgress()).done(function(){dfdStart.resolve(); }); return main; }else{ main.addClass('lightbox').append('

'+flags.noImagesWarning+'

'); return main; }} function showLoadProgress(){ var dfdLoad=$.Deferred(); timer7=setTimeout(function(){ if(loaded_imgs > 0.5 * total){ var fakeimgs=0; timer8=setInterval(function(){ if(fakeimgs < total){ $loading.html((++fakeimgs)+'/'+total); }else{ $loading.html((total)+'/'+total); if(loaded_imgs==total){ clearInterval(timer8); $.when(launchSlideshow()).done(function(){ dfdLoad.resolve(); }); }} },50); }else{ timer8=setInterval(function(){ $loading.html((loaded_imgs)+'/'+total); if(loaded_imgs==total){ clearInterval(timer8); $.when(launchSlideshow()).done(function(){ dfdLoad.resolve(); }); }},100); } clearTimeout(timer7); },150); return dfdLoad.promise(); } var vP=""; var transSupport=''; if(/webkit/.test(navigator.userAgent.toLowerCase())){ vP="-webkit-"; transSupport='Webkit'; }else if(/msie/.test(navigator.userAgent.toLowerCase())||(!!(navigator.userAgent.match(/Trident/)&&!navigator.userAgent.match(/MSIE/)))){ vP="-ms-"; transSupport='ms'; }else if(/mozilla/.test(navigator.userAgent.toLowerCase())&&!/webkit/.test(navigator.userAgent.toLowerCase())){ vP="-moz-"; transSupport='Moz'; }else if(/opera/.test(navigator.userAgent.toLowerCase())){ vP="-o-"; transSupport='O'; } function supportsTransforms(){ var b=document.body||document.documentElement; var s=b.style; var pp='transform'; if(typeof s[pp]=='string') return true; pp=pp.charAt(0).toUpperCase() + pp.substr(1); if(typeof s[transSupport + pp]=='string') return true; return false; } function supportsTransitions(){ var b=document.body||document.documentElement; var s=b.style; var pp='transition'; if(typeof s[pp]=='string') return true; pp=pp.charAt(0).toUpperCase() + pp.substr(1); if(typeof s[transSupport + pp]=='string') return true; return false; } var smart=supportsTransitions() * supportsTransforms(), trasitDur=vP+"transition-duration", trasitDel=vP+"transition-delay", transform=vP+"transform"; function coordinates(event){ if(event.originalEvent.touches!==undefined&&event.originalEvent.touches[0]){ event.pageX=event.originalEvent.touches[0].pageX; event.pageY=event.originalEvent.touches[0].pageY; } return event; } function makeEasyReposition(){ windowH=main.height(); windowW=main.width(); animateLayersBunch(0.5 * windowW, 0.5 * windowH); } function makeTotalReposition(){ windowH=main.height(); windowW=main.width(); resizePlanes(windowW / windowH); } function createContainers(planes){ var CanvasArray='

', corner; for (var k=0; k < length; k++){ CanvasArray +='
'; var plane_lngth=planes[k].length; for (var i=0; i < plane_lngth; i++){ if($('')[0].getContext){ var newImg=''; }else{ var newImg=''; } CanvasArray +=newImg; } CanvasArray +='
'; if(!flags.isMobile){ if(smart){ corner=''; }else{ corner=''; } CanvasArray +=corner; } CanvasArray +='
'; } main.append(CanvasArray); findInterfaceElems(); $(window).resize(function(){ var wWidth=$(window).width(); main_left=main.offset().left; main_top=main.offset().top; if(settings.layout){ if(settings.layout==1){ main.css({"max-width":wWidth, "height": wWidth/ settings.fixed_ratio}); }else if(settings.fixed_width > wWidth){ main.css({"max-width":wWidth, "height": wWidth/ settings.fixed_ratio}); }else{ main.css({"max-width":settings.fixed_width, "height": settings.fixed_height}); }}else{ main.css("height",$(window).height()-main_top); } if(!flags.isLightbox){ if(settings.img_reposition&&smart&&!settings.useJS){ $navig.css("top" , Math.round(0.5 * (windowH - $navig.height()))); makeTotalReposition(); return true; } makeEasyReposition(); $navig.css("top" , Math.round(0.5 * (windowH - $navig.height()))); }}); $(document).on("scroll", function(){ $this=$(document); scrollTop=$this.scrollTop(); scrollLeft=$this.scrollLeft(); }); return $('div.container'); } function findInterfaceElems(){ $closeX=main.children('.close'); $dark_layer1=main.children('.l1'); $dark_layer2=main.children('.l2'); $caption=main.children('.img-caption'); $caption_text=$caption.children('p'); $navig=main.children('.navig'); $navig.css("top" , Math.round(0.5 * (windowH - $navig.height()))); $darkLayers=main.find('div.dark-layer'); scrollTop=$(document).scrollTop(); scrollLeft=$(document).scrollLeft(); } function drawCanvas(planes){ for (var k=0; k < length; k++){ var readyImgs=readyCanvas(k), readyImgsLngth=readyImgs.length; for (var i=0; i < readyImgsLngth; i++){ var real_img=planes[k][i], img_width=$(real_img).width(), img_height=$(real_img).height(), $descr=$(real_img).next(); readyImgs[i].width=img_width; readyImgs[i].height=img_height; if($('')[0].getContext){ var context=readyImgs[i].getContext("2d"); context.drawImage(real_img, 0, 0, img_width, img_height); }else{ $(readyImgs[i]).attr("src" , $(real_img).attr("src")); } if(!$descr.is('img')) $(readyImgs[i]).data("descr" , $descr.html()); getCanvasSize(readyImgs[i]); }} } function readyCanvas(i){ return $(Container[i]).children('.photo'); } function getCanvasSize(canva){ var $self=$(canva), w=Math.ceil($self.width() / settings.cellSize), h=Math.ceil($self.height() / settings.cellSize); $self.data({ "wCanvas":w, "hCanvas":h, "deviationX":Math.floor((w * settings.cellSize - $self.width()) * Math.random()), "deviationY":Math.floor((h * settings.cellSize - $self.height()) * Math.random()) }); } function resizePlanes(ratio){ for (var i=0; i < length; i++){ var readyImgs=readyCanvas(i), side=planeSide(readyImgs, ratio); n[i]=side.n; m[i]=side.m; var newNM=positionImage(readyImgs, createMatrix(0,m[i],0,n[i]), 0, 0, n[i], m[i]); m[i]=newNM[0]; n[i]=newNM[1]; Container[i].ind=i; var vertical=addPaddings(n[i], windowH), horizontal=addPaddings(m[i], windowW), readyImgsLng=readyImgs.length; Container[i].Wo=horizontal[0]; Container[i].Ho=vertical[0]; for (var index=0; index < readyImgsLng; index++){ var $img=$(readyImgs[index]), top=parseFloat($img.css("top")), left=parseFloat($img.css("left")); $img.css({"top":top + vertical[1], "left":left + horizontal[1]}); } Container[i].Scale=1; $(Container[i]).css({"width":Container[i].Wo, "height":Container[i].Ho}); if(!smart||settings.useJS){ IEsc[i]=settings.scale[i]; Container[i]=scaleIE(settings.scale[i], Container[i], 0); }} animateLayersBunch(0.5 * windowW+main_left, 0.5 * windowH+main_top); flags.allowParallax=length; return main; } function planeSide(realImages, proportion){ var totalImgArea=0, img_numb=realImages.length, max_w=0, max_h=0 giveMoreSpace=1.3; for (var i=0; i < img_numb; i++){ var imw=realImages[i].width, imh=realImages[i].height; max_w=Math.max(max_w, imw); max_h=Math.max(max_h, imh); totalImgArea +=giveMoreSpace * imw * imh + 2 * settings.cellSize * settings.cellSize; } max_w=Math.ceil(max_w / settings.cellSize); max_h=Math.ceil(max_h / settings.cellSize); var W0=Math.ceil(Math.sqrt(proportion * totalImgArea) / settings.cellSize), H0; if(!(W0 > max_w)) W0=max_w + 1; H0=Math.ceil(giveMoreSpace * W0 / proportion); if(!(H0 > max_h)) H0=max_h + 1; return {"n":H0,"m":W0};} function createMatrix(Mo, M, No, N){ var Matrix=[]; for (var j=No; j < N; j++){ var row=[]; for (var i=Mo; i < M; i++){ row[i]=true; } Matrix[j]=row; } return Matrix; } function positionImage(imagesArray, uMatrix, Jo, Io, matrixN, matrixM){ var maxM=0, maxN=0, Ioo=Io; var imgArrLng=imagesArray.length; for (var index=0; index < imgArrLng; index++){ Io=Ioo; var $img=$(imagesArray[index]); widthCanvas=$img.data("wCanvas"), heightCanvas=$img.data("hCanvas"); IamDone : for (var j=Jo; j < (matrixN-heightCanvas); j++){ MoveToNextCellinRow : for (var i=Io; i < (matrixM - widthCanvas); i++){ for (var r=j; r < (j + heightCanvas); r++){ for (var s=i; s < (i + widthCanvas); s++){ if(uMatrix[r][s]==false){ if(j==(matrixN - heightCanvas - 1)&&i==(matrixM - widthCanvas - 1)){ for (var q=0; q < matrixN; q++){ uMatrix[q].push(true); } i=Io; matrixM++; j=0; } continue MoveToNextCellinRow; }} } for (var r=j; r < (j + heightCanvas + 1); r++){ for (var s=i; s < (i + widthCanvas + 1); s++){ uMatrix[r][s]=false; }} if((i + widthCanvas) > maxM) maxM=i + widthCanvas; if((j + heightCanvas) > maxN) maxN=j + heightCanvas; $img.css({"top":Math.floor(j*settings.cellSize + $img.data("deviationY")), "left":Math.floor(i*settings.cellSize + $img.data("deviationX"))}); break IamDone; }} } return [maxM, maxN]; } function addPaddings(n_m, H_W){ if(settings.cellSize * n_m * settings.scale[length - 1] < H_W){ var newH_W=Math.round((H_W + 0.5 * settings.cellSize) / settings.scale[length - 1]), newPadding=Math.round(0.5 * (newH_W - settings.cellSize * n_m)); }else{ var newH_W=Math.round(settings.cellSize * n_m + 0.5 * settings.cellSize / settings.scale[length - 1]), newPadding=Math.round(0.25 * settings.cellSize / settings.scale[length - 1]); } return [newH_W, newPadding]; } function animateLayersBunch(epageX, epageY){ if(flags.allowParallax!=length) return false; epageX -=main_left; epageY -=main_top; var ratioX=epageX/windowW, ratioY=epageY/windowH, k=length - 1, Left=(ratioX - 0.5) * (1 - settings.scale[k] / IEsc[k]) * Container[k].Wo - ratioX * (Container[k].Wo - windowW), Top=(ratioY - 0.5) * (1 - settings.scale[k]/IEsc[k]) * Container[k].Ho - ratioY * (Container[k].Ho - windowH); for (var s=0; s < k; s++){ var L=settings.scale[s] / IEsc[k] * (Left + 0.5 * (IEsc[s] * Container[s].Wo - windowW)) - 0.5 * (IEsc[s] * Container[s].Wo - windowW) , T=settings.scale[s] / IEsc[k] * (Top + 0.5 * (IEsc[s] * Container[s].Ho - windowH)) - 0.5 * (IEsc[s] * Container[s].Ho - windowH); if(!flags.antiStumble){ $(Container[s]).css({"left":Math.round(L), "top":Math.round(T)}); }else{ flags.allowParallax=0; $(Container[s]).animate({"left":Math.round(L), "top":Math.round(T)}, 120, 'linear'); }} if(!flags.antiStumble){ $(Container[k]).css({"left":Math.floor(Left), "top":Math.floor(Top)}); }else{ $(Container[k]).animate({"left":Math.floor(Left), "top":Math.floor(Top)}, 120, "linear" , function(){flags.antiStumble=false; flags.allowParallax=length}); }} function animateLayersMobile(){ var prevX=0, prevY=0, startX=0, endX=0, startY=0, endY=0, d_X=0, d_Y=0, _delX, _delY, is_move; main[0].ontouchmove=function(evdef){ evdef.preventDefault(); } main.on('touchstart', function(evstart){ var start=coordinates(evstart); flags.scrolling=false; startX=start.pageX - main_left; startY=start.pageY - main_top; d_X=prevX + (startX - 0.5 * windowW); d_Y=prevY + (startY - 0.5 * windowH); }); main.on('touchmove', function(evmove){ var move=coordinates(evmove), moveX=move.pageX - main_left, moveY=move.pageY - main_top, X=moveX - d_X, Y=moveY - d_Y, desktopX, desktopY; _delX=moveX; _delY=moveY; desktopX=((X > windowW) * (windowW + 0.1) + (X < 0) * 0.1); desktopY=((Y > windowH) * (windowH + 0.1) + (Y < 0) * 0.1); if(!desktopX){ desktopX=X; }else{ desktopX=desktopX - 0.1; startX=windowW - desktopX - prevX; } if(!desktopY){ desktopY=Y; }else{ desktopY=desktopY - 0.1; startY=windowH - desktopY - prevY; } flags.scrolling=true; animateLayersBunch(windowW - desktopX + main_left , windowH - desktopY + main_top); is_move=true; }); main.on('touchend', function(ed){ if(is_move){ prevX +=startX - _delX; prevY +=startY - _delY; } is_move=0; }); } function drawCorners(actimg){ if(smart){ var c_w=actimg.width() + 2 * settings.corner_w, c_h=actimg.height() + 2 * settings.corner_w, c_l=parseFloat(actimg.css("left")) - settings.corner_w,//"corner" side length c_t=parseFloat(actimg.css("top")) - settings.corner_w,//"corner" side width corners=actimg.siblings(".corners").css({"left":c_l, "top":c_t}); corners[0].width=c_w; corners[0].height=c_h; var ctx=corners[0].getContext("2d"); ctx.clearRect(0, 0, c_w, c_h); ctx.fillStyle=settings.hover_color; ctx.fillRect(settings.corner_w, settings.corner_w, c_w - 2*settings.corner_w, c_h - 2 * settings.corner_w ); ctx.beginPath(); ctx.strokeStyle=settings.corner_color; ctx.lineWidth=settings.corner_w; ctx.lineCap="square"; newCorner( ctx, 0.5 * settings.corner_w,settings.corner_l, 0.5 * settings.corner_w,0.5 * settings.corner_w, settings.corner_l,0.5 * settings.corner_w ); newCorner( ctx, c_w - settings.corner_l,0.5 * settings.corner_w, c_w - 0.5 * settings.corner_w,0.5 * settings.corner_w, c_w - 0.5 * settings.corner_w,settings.corner_l ); newCorner( ctx, c_w - 0.5 * settings.corner_w,c_h - settings.corner_l, c_w - 0.5 * settings.corner_w,c_h - 0.5 * settings.corner_w, c_w - settings.corner_l,c_h - 0.5 * settings.corner_w ); ctx.stroke(); newCorner( ctx, settings.corner_l,c_h - 0.5 * settings.corner_w, 0.5 * settings.corner_w,c_h - 0.5 * settings.corner_w, 0.5 * settings.corner_w,c_h - settings.corner_l ); ctx.stroke(); return false; }else{ var $span_t_l=actimg.siblings('span.top-l'), $span_b_l=actimg.siblings('span.bottom-l'), $span_t_r=actimg.siblings('span.top-r'), $span_b_r=actimg.siblings('span.bottom-r'), l=parseFloat(actimg.css("left")), t=parseFloat(actimg.css("top")), w=actimg.width(), h=actimg.height(); span_side=settings.corner_l - settings.corner_w; $span_t_l.css({"opacity":0.7,"left":l,"top":t}); $span_b_l.css({"opacity":0.7,"left":l,"top":t + h - span_side}); $span_t_r.css({"opacity":0.7,"left":l + w - span_side,"top":t}); $span_b_r.css({"opacity":0.7,"left":l + w - span_side,"top":t + h - span_side}); actimg.on('mouseleave', function(){ $span_t_l.css("opacity" , 0); $span_b_l.css("opacity" , 0); $span_t_r.css("opacity" , 0); $span_b_r.css("opacity" , 0); }); }} function newCorner(brush, startX,startY, angleX,angleY, endX,endY){ brush.moveTo(startX, startY); brush.lineTo(angleX, angleY); brush.lineTo(endX, endY); } function findOnClickImage(planes, ev){ var count=planes.length - 1, el_below=ev.target; switchDarkLayers(); while (!$(el_below).hasClass("photo")&&(count!=0)){ var e=new jQuery.Event("click"); e.pageX=ev.pageX - scrollLeft; e.pageY=ev.pageY - scrollTop; $(planes[count]).addClass("toBG"); el_below=document.elementFromPoint(e.pageX, e.pageY); count--; } var planes_length=planes.length; for (var pp=0; pp < planes_length; pp++){ $(planes[pp]).removeClass("toBG"); } switchDarkLayers(); if(!$(el_below).hasClass("photo")) el_below=false return el_below; } function switchDarkLayers(){ for (var i=0; i < $darkLayers.length; i++){ $($darkLayers[i]).toggleClass('toBG'); } return $darkLayers; } function bringToTheFront(img){ if(!flags.useNavig){ var $this=$(img), $self=$this.parent('div.container'); $navig.children('div.act').removeClass('act'); $navig.children(':nth-child('+(length - $self.index('div.container'))+')').addClass('act'); viewImg($this); }else{ var $self=$(img); animateLayersBunch(0.5 * windowW+main_left, 0.5 * windowH+main_top); } flags.allowParallax=0; var current=$self[0].ind, dif=length - 1 - current, reOrderCont=[]; main.addClass('scale-me').removeClass('slide-me'); for (var i=0; i < current+1; i++){ var ind=(i + dif) % length, duration=(ind - i) * time.layer; reOrderCont[ind]=bringOnlyToFront(Container[i], settings.scale[ind], indexZ[ind], duration); reOrderCont[ind].ind=ind; if(flags.useNavig){ timer2=setTimeout(function(){ flags.allowParallax++; flags.useNavig--; }, 1.25 * (duration - time.layer)); }} for (var ii=current+1; ii < length; ii++){ var ind=(ii + dif) % length, durBefore=(length - 1 - ii) * time.layer, durAfter=(ind) * time.layer; reOrderCont[ind]=bringToFrontAndBack(Container[ii], settings.scale[ind], indexZ[ind], durBefore, durAfter); reOrderCont[ind].ind=ind; if(flags.useNavig){ timer3=setTimeout(function(){ flags.allowParallax++; flags.useNavig--; Math.floor(flags.allowParallax/length) * main.removeClass('scale-me').addClass('slide-me'); }, durBefore + time.scrn + time.delay + 300 + durAfter + time.invis); }} return reOrderCont; } function bringOnlyToFront(el, scaling, Zindex, duration0){ $dark_layer1.removeClass('l1'); $dark_layer2.removeClass('l2'); if(smart&&!settings.useJS){ $(el).css(trasitDur,time.layer+"ms").css(trasitDel,"0ms") .css(transform, "scale("+scaling+","+scaling+")"); }else{ el=scaleIE(scaling, el, duration0); } timer4=setTimeout(function(){ $(el).css({"zIndex":Zindex}); $dark_layer1.addClass('l1'); $dark_layer2.addClass('l2'); }, 1.25 * (duration0 - time.layer)); return el; } function bringToFrontAndBack(el, scaling, Zindex, duration1, duration2){ var ttt1=duration1 + time.scrn; ttt2=0.5 * duration1; $(el).css("zIndex" , 90 * scaling); if(smart&&!settings.useJS){ $(el).css(trasitDur,ttt1+"ms, "+time.scrn+"ms").css(trasitDel," 0ms, "+ttt2+"ms") .css(transform, "scale(1,1)").css({"opacity":0}); }else{ el=scaleIE(1, el, ttt1); if(flags.isMobile) $(el).css({"opacity" :0}).css(trasitDur,time.scrn+"ms").css(trasitDel,ttt2+"ms"); } timer5=setTimeout(function(){ $(el).css({"zIndex":Zindex}); if(smart&&!settings.useJS){ $(el).css(trasitDur,"0ms").css(trasitDel,"0ms").css(transform, "scale(0.1,0.1)"); }else{ el=scaleIE(0.1, el, 0); if(!flags.isMobile) $(el).css("visibility" , "hidden"); }}, duration1 + time.scrn + time.delay); var ttt3=duration2 + time.invis; ttt4=0.5 * time.invis; timer6=setTimeout(function(){ if(smart&&!settings.useJS){ $(el).css(trasitDur,ttt3+"ms, "+ttt4+"ms").css(trasitDel," 0ms") .css(transform, "scale("+scaling+","+scaling+")").css({"opacity":1}); }else{ $(el).css("visibility" , "visible"); el=scaleIE(scaling, el, ttt3); if(flags.isMobile){ $(el).css({"opacity":1}).css(trasitDur,ttt4+"ms").css(trasitDel," 0ms"); }else{$(el).css("visibility" , "visible");}} }, duration1 + time.scrn + time.delay + 300); return el; } function scaleIE(scale, plane, time){ var newscale=scale/plane.Scale; plane.Scale=scale; var inContW=plane.Wo, inContH=plane.Ho, inContT=parseFloat($(plane).css("top")), inContL=parseFloat($(plane).css("left")), images=$(plane).children('.photo'), ieW=Math.round(newscale * inContW), ieH=Math.round(newscale * inContH); $(plane).animate({ "width":ieW, "height":ieH, "top":Math.round(inContT + 0.5 * (1 - newscale) * inContH), "left":Math.round(inContL + 0.5 * (1 - newscale) * inContW) }, time); plane.Wo=ieW; plane.Ho=ieH; var images_length=images.length; for (var j=0; j < images_length; j++){ var inImW=parseFloat($(images[j]).css("width")), inImH=parseFloat($(images[j]).css("height")), inImT=parseFloat($(images[j]).css("top")), inImL=parseFloat($(images[j]).css("left")); if(!$(images[j]).hasClass('show')){ $(images[j]).animate({ "width":Math.round(newscale * inImW), "height":Math.round(newscale * inImH), "top":Math.round(newscale * inImT), "left":Math.round(newscale * inImL) }, time); }} return plane; } function scaleContainers(i){ var l3_scale=Math.round((100 / settings.scale[0])) / 100; $(Container[i]).css(transform, "scale("+settings.scale[i]+","+settings.scale[i]+")") .children('div.dark-layer').css(transform, "scale("+l3_scale+","+l3_scale+")"); } function launchSlideshow(){ clearInterval(timer7); $loading.css("display" , "none"); Container=createContainers(Plane); if(settings.useJS *=flags.isMobile) main.addClass('useJS'); if(smart&&!settings.useJS) for (var k=0; k < length; k++){ scaleContainers(k); } drawCanvas(Plane); $('.erase-source').remove(); resizePlanes(windowW/windowH); if(!smart){ $closeX.css("display" , "none"); $caption.css("display" , "none") }else{ settings.corner_w=Math.round(settings.corner_w / settings.scale[length - 1]); settings.corner_l=Math.round(settings.corner_l / settings.scale[length - 1]); } if($(Container[length - 1]).width()){ main.on('click',function(ev){ if((flags.allowParallax==length)&&(!$(ev.target).hasClass("act"))){ var targ=findOnClickImage(Container, ev); if(targ){ Container=bringToTheFront(targ); }} }); } if(!flags.isMobile){ main.on('mousemove',function(ex){ animateLayersBunch(ex.pageX, ex.pageY); }); main.children('div.container').children('.photo').on('click', function(){ if($(this).parent(".container")[0]==Container[length - 1]) viewImg($(this)); }); main.children('div.container').children('canvas.corners').on('click touchend',function(){ viewImg($hovered); }); main.children('div.container').children('.photo').not('.top-slice').on('mouseenter', function(evnt){ $hovered=$(evnt.target); if(($hovered.parent(".container")[0]==Container[length - 1])&&(!$hovered.hasClass('top-slice'))){ drawCorners($hovered); }}); }else{ animateLayersMobile(); main.children('div.container').children('.photo').on('touchend', function(){ if(!flags.scrolling) viewImg($(this)); }); } $navig.children('div').on('click touchend',function(){ layersNavig($(this)); }); return main; } function viewImg($IMG){ if(!$IMG.hasClass('show')&&(flags.allowParallax==length)){ flags.isLightbox=true; flags.allowParallax=0; inImW=$IMG.width(); inImH=$IMG.height(); inImT=parseFloat($IMG.css("top")); inImL=parseFloat($IMG.css("left")); $parent=$IMG.parent(); sc=settings.scale[length-1]; inScale=settings.scale[$parent[0].ind]; $dark_bg=$IMG.siblings('.dark-layer').addClass('l3'); main[0].ontouchstart=function(evdef){ evdef.preventDefault(); } var parentT=parseFloat($parent.css("top")), parentL=parseFloat($parent.css("left")), parentW=$parent[0].Wo, parentH=$parent[0].Ho; main.addClass('lightbox'); if($IMG.data('descr')){$caption_text.html($IMG.data('descr'));} $IMG.addClass('show top-slice'); imgFitScreen($IMG, inImW, inImH, sc, inScale, parentW, parentH, parentL, parentT, $dark_bg); if(smart&&!settings.useJS){ $IMG.css(transform, "scale("+lightbox_sc+","+lightbox_sc+")"); $dark_bg.css({"width":windowW, "height":windowH, "left":Math.round((0.5 * (parentW - windowW) * (inScale - 1) - parentL) / inScale), "top":Math.round((0.5 * (parentH - windowH) * (inScale - 1) - parentT) / inScale) }); }else{ $IMG.siblings('span').css("opacity" , 0); $dark_bg.css({"width":windowW, "height":windowH, "left":Math.round(-parentL - 0.5 * (1 - sc / inScale) * parentW), "top":Math.round(-parentT - 0.5 * (1 - sc / inScale) * parentH), "display":"none" }); } $(window).resize(function(){ if(flags.isLightbox&&smart){ main_left=main.offset().left; main_top=main.offset().top; makeEasyReposition(); parentT=parseFloat($parent.css("top")); parentL=parseFloat($parent.css("left")); imgFitScreen(main.children('div.container').children('.show.top-slice'), inImW, inImH, sc, inScale, parentW, parentH, parentL, parentT, $dark_bg); }}); $closeX.on('mouseover', function(){ $closeX.addClass('hovered'); }) $closeX.on('click touchend', function(){ // 'close' button is pressed viewImg($IMG) }); $(document).keyup(function(e){ if(e.keyCode==27) viewImg($IMG); }); return true; }else if($IMG.hasClass('show')&&(Container.length==length)&&($closeX[0].offsetWidth)){ main[0].ontouchstart=function(evdef){ return true; } main.removeClass("lightbox"); $closeX.removeClass('hovered'); $IMG.siblings(".dark-layer").removeClass('l3'); $caption_text.empty(); if(smart&&!settings.useJS){ $IMG.removeClass('show').css({"left":Math.round(inImL), "top":Math.round(inImT), "maxWidth":"none", "maxHeight":"none"}).css(transform, "none"); }else{ $IMG.removeClass('show').animate({ "left":Math.round(sc * inImL / inScale), "top":Math.round(sc * inImT / inScale), "width":Math.round(sc * inImW / inScale), "height":Math.round(sc * inImH / inScale)}, 400) .css({"maxWidth":"none", "maxHeight":"none"}); $closeX.fadeOut(); $dark_bg.fadeOut(); $caption.fadeOut(); } timer1=setTimeout(function(){ $IMG.removeClass('top-slice'); flags.allowParallax=length; flags.isLightbox=false; flags.antiStumble=true; main.removeClass('scale-me').addClass('slide-me'); }, 400); return true; }} function imgFitScreen($Img, inImgW, inImgH, sc, inScle, parntW, parntH, parntL, parntT, $darkbg){ var w, h, $closeX_left=20, ifsmart=(smart * !settings.useJS) + (!smart + settings.useJS) * inScle; if((inImgW/ifsmart > windowW)||(inImgH/ifsmart > (windowH - 110))){ if((inImgW/inImgH) > (windowW/windowH)){ var maxW=windowW - 2 * $closeX.width(), maxH=Math.round((windowW - 2 * $closeX.width()) * inImgH / inImgW); $closeX_left=0.5 * $closeX.width(); }else{ var maxW=Math.round((windowH - 110) * inImgW / inImgH), maxH=windowH - 110; } $Img.css({"maxHeight":maxH, "maxWidth":maxW}); w=maxW * ifsmart; h=maxH * ifsmart; }else{ w=inImgW; h=inImgH; } if(smart&&!settings.useJS){ $Img.css({ "left":Math.round(0.5 * (windowW - w * sc - 2 * parntL - parntW * (1 - sc)) / sc), "top":Math.round(0.5 * (windowH - h * sc - 2 * parntT - parntH * (1 - sc)) / sc) }); }else{ $Img.animate({ "left":Math.round(-parntL - 0.5 * (1 - sc / inScle) * parntW + 0.5 * (windowW - w / inScle)), "top":Math.round(-parntT - 0.5 * (1 - sc/inScle) * parntH + 0.5 * (windowH - h / inScle)), "width":Math.round((w / inScle)), "height":Math.round((h / inScle)) }, 850,function(){$closeX.delay(700).fadeIn(400); $darkbg.delay(700).fadeIn(400); $caption.delay(700).fadeIn(400); }); } $caption.css("top" , Math.round(0.5 * (windowH + h / ((smart * !settings.useJS) + (!smart + settings.useJS) * inScle)))); $closeX.css({"top":Math.round(0.5 * (windowH - h / ((smart * !settings.useJS) + (!smart + settings.useJS) * inScle))), "left":Math.round(0.5 * w / ((smart * !settings.useJS) + (!smart + settings.useJS) * inScle) + $closeX_left) }); return $Img; } function layersNavig($ths){ if((flags.allowParallax >=length)&&(!$ths.hasClass('act'))){ animateLayersMobile(); flags.useNavig=length; var actind=length - $navig.children('.act').index(), curind=length - $ths.index(), difr=length - 1 - actind; $navig.children('.act').removeClass('act'); $ths.addClass('act'); Container=bringToTheFront($(Container[(curind + difr) % length])); }} function totalDestroy (){ clearTimeout(timer1); clearTimeout(timer2); clearTimeout(timer3); clearTimeout(timer4); clearTimeout(timer5); clearTimeout(timer6); clearTimeout(timer7); clearInterval(timer8); main.children('div.container').children('.photo').off("click"); $closeX.off("click"); main.off("click"); main.off("mousemove"); main.children('div.container').children('.photo').off('mouseenter'); main.children('div.container').children('.photo').off('mouseleave'); !flags.isMobile * main.children('div.container').children('canvas.corners').off('click'); $dark_layer1.remove(); $dark_layer2.remove(); $closeX.remove(); $caption.remove(); Container.remove(); } return start(); } $.fn.loaded=function(callback, jointCallback, ensureCallback){ var len=this.length; if(len > 0){ return this.each(function(){ var el=this, $el=$(el), blank="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="; $el.on("load.dt", function(event){ $(this).off("load.dt"); if(typeof callback=="function"){ callback.call(this); } if(--len <=0&&(typeof jointCallback=="function")){ jointCallback.call(this); }}); if(!el.complete||el.complete===undefined){ el.src=el.src; }else{ $el.trigger("load.dt") }}); }else if(ensureCallback){ if(typeof jointCallback=="function"){ jointCallback.call(this); } return this; }};}); !function(a){function b(){}function c(a){function c(b){b.prototype.option||(b.prototype.option=function(b){a.isPlainObject(b)&&(this.options=a.extend(!0,this.options,b))})}function e(b,c){a.fn[b]=function(e){if("string"==typeof e){for(var g=d.call(arguments,1),h=0,i=this.length;i>h;h++){var j=this[h],k=a.data(j,b);if(k)if(a.isFunction(k[e])&&"_"!==e.charAt(0)){var l=k[e].apply(k,g);if(void 0!==l)return l}else f("no such method '"+e+"' for "+b+" instance");else f("cannot call methods on "+b+" prior to initialization; attempted to call '"+e+"'")}return this}return this.each(function(){var d=a.data(this,b);d?(d.option(e),d._init()):(d=new c(this,e),a.data(this,b,d))})}}if(a){var f="undefined"==typeof console?b:function(a){console.error(a)};return a.bridget=function(a,b){c(b),e(a,b)},a.bridget}}var d=Array.prototype.slice;"function"==typeof define&&define.amd?define("jquery-bridget/jquery.bridget",["jquery"],c):c("object"==typeof exports?require("jquery"):a.jQuery)}(window),function(a){function b(b){var c=a.event;return c.target=c.target||c.srcElement||b,c}var c=document.documentElement,d=function(){};c.addEventListener?d=function(a,b,c){a.addEventListener(b,c,!1)}:c.attachEvent&&(d=function(a,c,d){a[c+d]=d.handleEvent?function(){var c=b(a);d.handleEvent.call(d,c)}:function(){var c=b(a);d.call(a,c)},a.attachEvent("on"+c,a[c+d])});var e=function(){};c.removeEventListener?e=function(a,b,c){a.removeEventListener(b,c,!1)}:c.detachEvent&&(e=function(a,b,c){a.detachEvent("on"+b,a[b+c]);try{delete a[b+c]}catch(d){a[b+c]=void 0}});var f={bind:d,unbind:e};"function"==typeof define&&define.amd?define("eventie/eventie",f):"object"==typeof exports?module.exports=f:a.eventie=f}(window),function(){"use strict";function a(){}function b(a,b){for(var c=a.length;c--;)if(a[c].listener===b)return c;return-1}function c(a){return function(){return this[a].apply(this,arguments)}}var d=a.prototype,e=this,f=e.EventEmitter;d.getListeners=function(a){var b,c,d=this._getEvents();if(a instanceof RegExp){b={};for(c in d)d.hasOwnProperty(c)&&a.test(c)&&(b[c]=d[c])}else b=d[a]||(d[a]=[]);return b},d.flattenListeners=function(a){var b,c=[];for(b=0;be;e++)if(b=c[e]+a,"string"==typeof d[b])return b}}var c="Webkit Moz ms Ms O".split(" "),d=document.documentElement.style;"function"==typeof define&&define.amd?define("get-style-property/get-style-property",[],function(){return b}):"object"==typeof exports?module.exports=b:a.getStyleProperty=b}(window),function(a,b){function c(a){var b=parseFloat(a),c=-1===a.indexOf("%")&&!isNaN(b);return c&&b}function d(){}function e(){for(var a={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},b=0,c=h.length;c>b;b++){var d=h[b];a[d]=0}return a}function f(b){function d(){if(!m){m=!0;var d=a.getComputedStyle;if(j=function(){var a=d?function(a){return d(a,null)}:function(a){return a.currentStyle};return function(b){var c=a(b);return c||g("Style returned "+c+". Are you running this code in a hidden iframe on Firefox? See http://bit.ly/getsizebug1"),c}}(),k=b("boxSizing")){var e=document.createElement("div");e.style.width="200px",e.style.padding="1px 2px 3px 4px",e.style.borderStyle="solid",e.style.borderWidth="1px 2px 3px 4px",e.style[k]="border-box";var f=document.body||document.documentElement;f.appendChild(e);var h=j(e);l=200===c(h.width),f.removeChild(e)}}}function f(a){if(d(),"string"==typeof a&&(a=document.querySelector(a)),a&&"object"==typeof a&&a.nodeType){var b=j(a);if("none"===b.display)return e();var f={};f.width=a.offsetWidth,f.height=a.offsetHeight;for(var g=f.isBorderBox=!(!k||!b[k]||"border-box"!==b[k]),m=0,n=h.length;n>m;m++){var o=h[m],p=b[o];p=i(a,p);var q=parseFloat(p);f[o]=isNaN(q)?0:q}var r=f.paddingLeft+f.paddingRight,s=f.paddingTop+f.paddingBottom,t=f.marginLeft+f.marginRight,u=f.marginTop+f.marginBottom,v=f.borderLeftWidth+f.borderRightWidth,w=f.borderTopWidth+f.borderBottomWidth,x=g&&l,y=c(b.width);y!==!1&&(f.width=y+(x?0:r+v));var z=c(b.height);return z!==!1&&(f.height=z+(x?0:s+w)),f.innerWidth=f.width-(r+v),f.innerHeight=f.height-(s+w),f.outerWidth=f.width+t,f.outerHeight=f.height+u,f}}function i(b,c){if(a.getComputedStyle||-1===c.indexOf("%"))return c;var d=b.style,e=d.left,f=b.runtimeStyle,g=f&&f.left;return g&&(f.left=b.currentStyle.left),d.left=c,c=d.pixelLeft,d.left=e,g&&(f.left=g),c}var j,k,l,m=!1;return f}var g="undefined"==typeof console?d:function(a){console.error(a)},h=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"];"function"==typeof define&&define.amd?define("get-size/get-size",["get-style-property/get-style-property"],f):"object"==typeof exports?module.exports=f(require("desandro-get-style-property")):a.getSize=f(a.getStyleProperty)}(window),function(a){function b(a){"function"==typeof a&&(b.isReady?a():g.push(a))}function c(a){var c="readystatechange"===a.type&&"complete"!==f.readyState;b.isReady||c||d()}function d(){b.isReady=!0;for(var a=0,c=g.length;c>a;a++){var d=g[a];d()}}function e(e){return"complete"===f.readyState?d():(e.bind(f,"DOMContentLoaded",c),e.bind(f,"readystatechange",c),e.bind(a,"load",c)),b}var f=a.document,g=[];b.isReady=!1,"function"==typeof define&&define.amd?define("doc-ready/doc-ready",["eventie/eventie"],e):"object"==typeof exports?module.exports=e(require("eventie")):a.docReady=e(a.eventie)}(window),function(a){"use strict";function b(a,b){return a[g](b)}function c(a){if(!a.parentNode){var b=document.createDocumentFragment();b.appendChild(a)}}function d(a,b){c(a);for(var d=a.parentNode.querySelectorAll(b),e=0,f=d.length;f>e;e++)if(d[e]===a)return!0;return!1}function e(a,d){return c(a),b(a,d)}var f,g=function(){if(a.matches)return"matches";if(a.matchesSelector)return"matchesSelector";for(var b=["webkit","moz","ms","o"],c=0,d=b.length;d>c;c++){var e=b[c],f=e+"MatchesSelector";if(a[f])return f}}();if(g){var h=document.createElement("div"),i=b(h,"div");f=i?b:e}else f=d;"function"==typeof define&&define.amd?define("matches-selector/matches-selector",[],function(){return f}):"object"==typeof exports?module.exports=f:window.matchesSelector=f}(Element.prototype),function(a,b){"use strict";"function"==typeof define&&define.amd?define("fizzy-ui-utils/utils",["doc-ready/doc-ready","matches-selector/matches-selector"],function(c,d){return b(a,c,d)}):"object"==typeof exports?module.exports=b(a,require("doc-ready"),require("desandro-matches-selector")):a.fizzyUIUtils=b(a,a.docReady,a.matchesSelector)}(window,function(a,b,c){var d={};d.extend=function(a,b){for(var c in b)a[c]=b[c];return a},d.modulo=function(a,b){return(a%b+b)%b};var e=Object.prototype.toString;d.isArray=function(a){return"[object Array]"==e.call(a)},d.makeArray=function(a){var b=[];if(d.isArray(a))b=a;else if(a&&"number"==typeof a.length)for(var c=0,e=a.length;e>c;c++)b.push(a[c]);else b.push(a);return b},d.indexOf=Array.prototype.indexOf?function(a,b){return a.indexOf(b)}:function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},d.removeFrom=function(a,b){var c=d.indexOf(a,b);-1!=c&&a.splice(c,1)},d.isElement="function"==typeof HTMLElement||"object"==typeof HTMLElement?function(a){return a instanceof HTMLElement}:function(a){return a&&"object"==typeof a&&1==a.nodeType&&"string"==typeof a.nodeName},d.setText=function(){function a(a,c){b=b||(void 0!==document.documentElement.textContent?"textContent":"innerText"),a[b]=c}var b;return a}(),d.getParent=function(a,b){for(;a!=document.body;)if(a=a.parentNode,c(a,b))return a},d.getQueryElement=function(a){return"string"==typeof a?document.querySelector(a):a},d.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},d.filterFindElements=function(a,b){a=d.makeArray(a);for(var e=[],f=0,g=a.length;g>f;f++){var h=a[f];if(d.isElement(h))if(b){c(h,b)&&e.push(h);for(var i=h.querySelectorAll(b),j=0,k=i.length;k>j;j++)e.push(i[j])}else e.push(h)}return e},d.debounceMethod=function(a,b,c){var d=a.prototype[b],e=b+"Timeout";a.prototype[b]=function(){var a=this[e];a&&clearTimeout(a);var b=arguments,f=this;this[e]=setTimeout(function(){d.apply(f,b),delete f[e]},c||100)}},d.toDashed=function(a){return a.replace(/(.)([A-Z])/g,function(a,b,c){return b+"-"+c}).toLowerCase()};var f=a.console;return d.htmlInit=function(c,e){b(function(){for(var b=d.toDashed(e),g=document.querySelectorAll(".js-"+b),h="data-"+b+"-options",i=0,j=g.length;j>i;i++){var k,l=g[i],m=l.getAttribute(h);try{k=m&&JSON.parse(m)}catch(n){f&&f.error("Error parsing "+h+" on "+l.nodeName.toLowerCase()+(l.id?"#"+l.id:"")+": "+n);continue}var o=new c(l,k),p=a.jQuery;p&&p.data(l,e,o)}})},d}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("outlayer/item",["eventEmitter/EventEmitter","get-size/get-size","get-style-property/get-style-property","fizzy-ui-utils/utils"],function(c,d,e,f){return b(a,c,d,e,f)}):"object"==typeof exports?module.exports=b(a,require("wolfy87-eventemitter"),require("get-size"),require("desandro-get-style-property"),require("fizzy-ui-utils")):(a.Outlayer={},a.Outlayer.Item=b(a,a.EventEmitter,a.getSize,a.getStyleProperty,a.fizzyUIUtils))}(window,function(a,b,c,d,e){"use strict";function f(a){for(var b in a)return!1;return b=null,!0}function g(a,b){a&&(this.element=a,this.layout=b,this.position={x:0,y:0},this._create())}function h(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}var i=a.getComputedStyle,j=i?function(a){return i(a,null)}:function(a){return a.currentStyle},k=d("transition"),l=d("transform"),m=k&&l,n=!!d("perspective"),o={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"otransitionend",transition:"transitionend"}[k],p=["transform","transition","transitionDuration","transitionProperty"],q=function(){for(var a={},b=0,c=p.length;c>b;b++){var e=p[b],f=d(e);f&&f!==e&&(a[e]=f)}return a}();e.extend(g.prototype,b.prototype),g.prototype._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},g.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},g.prototype.getSize=function(){this.size=c(this.element)},g.prototype.css=function(a){var b=this.element.style;for(var c in a){var d=q[c]||c;b[d]=a[c]}},g.prototype.getPosition=function(){var a=j(this.element),b=this.layout.options,c=b.isOriginLeft,d=b.isOriginTop,e=a[c?"left":"right"],f=a[d?"top":"bottom"],g=this.layout.size,h=-1!=e.indexOf("%")?parseFloat(e)/100*g.width:parseInt(e,10),i=-1!=f.indexOf("%")?parseFloat(f)/100*g.height:parseInt(f,10);h=isNaN(h)?0:h,i=isNaN(i)?0:i,h-=c?g.paddingLeft:g.paddingRight,i-=d?g.paddingTop:g.paddingBottom,this.position.x=h,this.position.y=i},g.prototype.layoutPosition=function(){var a=this.layout.size,b=this.layout.options,c={},d=b.isOriginLeft?"paddingLeft":"paddingRight",e=b.isOriginLeft?"left":"right",f=b.isOriginLeft?"right":"left",g=this.position.x+a[d];c[e]=this.getXValue(g),c[f]="";var h=b.isOriginTop?"paddingTop":"paddingBottom",i=b.isOriginTop?"top":"bottom",j=b.isOriginTop?"bottom":"top",k=this.position.y+a[h];c[i]=this.getYValue(k),c[j]="",this.css(c),this.emitEvent("layout",[this])},g.prototype.getXValue=function(a){var b=this.layout.options;return b.percentPosition&&!b.isHorizontal?a/this.layout.size.width*100+"%":a+"px"},g.prototype.getYValue=function(a){var b=this.layout.options;return b.percentPosition&&b.isHorizontal?a/this.layout.size.height*100+"%":a+"px"},g.prototype._transitionTo=function(a,b){this.getPosition();var c=this.position.x,d=this.position.y,e=parseInt(a,10),f=parseInt(b,10),g=e===this.position.x&&f===this.position.y;if(this.setPosition(a,b),g&&!this.isTransitioning)return void this.layoutPosition();var h=a-c,i=b-d,j={};j.transform=this.getTranslate(h,i),this.transition({to:j,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})},g.prototype.getTranslate=function(a,b){var c=this.layout.options;return a=c.isOriginLeft?a:-a,b=c.isOriginTop?b:-b,n?"translate3d("+a+"px, "+b+"px, 0)":"translate("+a+"px, "+b+"px)"},g.prototype.goTo=function(a,b){this.setPosition(a,b),this.layoutPosition()},g.prototype.moveTo=m?g.prototype._transitionTo:g.prototype.goTo,g.prototype.setPosition=function(a,b){this.position.x=parseInt(a,10),this.position.y=parseInt(b,10)},g.prototype._nonTransition=function(a){this.css(a.to),a.isCleaning&&this._removeStyles(a.to);for(var b in a.onTransitionEnd)a.onTransitionEnd[b].call(this)},g.prototype._transition=function(a){if(!parseFloat(this.layout.options.transitionDuration))return void this._nonTransition(a);var b=this._transn;for(var c in a.onTransitionEnd)b.onEnd[c]=a.onTransitionEnd[c];for(c in a.to)b.ingProperties[c]=!0,a.isCleaning&&(b.clean[c]=!0);if(a.from){this.css(a.from);var d=this.element.offsetHeight;d=null}this.enableTransition(a.to),this.css(a.to),this.isTransitioning=!0};var r="opacity,"+h(q.transform||"transform");g.prototype.enableTransition=function(){this.isTransitioning||(this.css({transitionProperty:r,transitionDuration:this.layout.options.transitionDuration}),this.element.addEventListener(o,this,!1))},g.prototype.transition=g.prototype[k?"_transition":"_nonTransition"],g.prototype.onwebkitTransitionEnd=function(a){this.ontransitionend(a)},g.prototype.onotransitionend=function(a){this.ontransitionend(a)};var s={"-webkit-transform":"transform","-moz-transform":"transform","-o-transform":"transform"};g.prototype.ontransitionend=function(a){if(a.target===this.element){var b=this._transn,c=s[a.propertyName]||a.propertyName;if(delete b.ingProperties[c],f(b.ingProperties)&&this.disableTransition(),c in b.clean&&(this.element.style[a.propertyName]="",delete b.clean[c]),c in b.onEnd){var d=b.onEnd[c];d.call(this),delete b.onEnd[c]}this.emitEvent("transitionEnd",[this])}},g.prototype.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(o,this,!1),this.isTransitioning=!1},g.prototype._removeStyles=function(a){var b={};for(var c in a)b[c]="";this.css(b)};var t={transitionProperty:"",transitionDuration:""};return g.prototype.removeTransitionStyles=function(){this.css(t)},g.prototype.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},g.prototype.remove=function(){if(!k||!parseFloat(this.layout.options.transitionDuration))return void this.removeElem();var a=this;this.once("transitionEnd",function(){a.removeElem()}),this.hide()},g.prototype.reveal=function(){delete this.isHidden,this.css({display:""});var a=this.layout.options,b={},c=this.getHideRevealTransitionEndProperty("visibleStyle");b[c]=this.onRevealTransitionEnd,this.transition({from:a.hiddenStyle,to:a.visibleStyle,isCleaning:!0,onTransitionEnd:b})},g.prototype.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},g.prototype.getHideRevealTransitionEndProperty=function(a){var b=this.layout.options[a];if(b.opacity)return"opacity";for(var c in b)return c},g.prototype.hide=function(){this.isHidden=!0,this.css({display:""});var a=this.layout.options,b={},c=this.getHideRevealTransitionEndProperty("hiddenStyle");b[c]=this.onHideTransitionEnd,this.transition({from:a.visibleStyle,to:a.hiddenStyle,isCleaning:!0,onTransitionEnd:b})},g.prototype.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},g.prototype.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},g}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("outlayer/outlayer",["eventie/eventie","eventEmitter/EventEmitter","get-size/get-size","fizzy-ui-utils/utils","./item"],function(c,d,e,f,g){return b(a,c,d,e,f,g)}):"object"==typeof exports?module.exports=b(a,require("eventie"),require("wolfy87-eventemitter"),require("get-size"),require("fizzy-ui-utils"),require("./item")):a.Outlayer=b(a,a.eventie,a.EventEmitter,a.getSize,a.fizzyUIUtils,a.Outlayer.Item)}(window,function(a,b,c,d,e,f){"use strict";function g(a,b){var c=e.getQueryElement(a);if(!c)return void(h&&h.error("Bad element for "+this.constructor.namespace+": "+(c||a)));this.element=c,i&&(this.$element=i(this.element)),this.options=e.extend({},this.constructor.defaults),this.option(b);var d=++k;this.element.outlayerGUID=d,l[d]=this,this._create(),this.options.isInitLayout&&this.layout()}var h=a.console,i=a.jQuery,j=function(){},k=0,l={};return g.namespace="outlayer",g.Item=f,g.defaults={containerStyle:{position:"relative"},isInitLayout:!0,isOriginLeft:!0,isOriginTop:!0,isResizeBound:!0,isResizingContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}},e.extend(g.prototype,c.prototype),g.prototype.option=function(a){e.extend(this.options,a)},g.prototype._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),e.extend(this.element.style,this.options.containerStyle),this.options.isResizeBound&&this.bindResize()},g.prototype.reloadItems=function(){this.items=this._itemize(this.element.children)},g.prototype._itemize=function(a){for(var b=this._filterFindItemElements(a),c=this.constructor.Item,d=[],e=0,f=b.length;f>e;e++){var g=b[e],h=new c(g,this);d.push(h)}return d},g.prototype._filterFindItemElements=function(a){return e.filterFindElements(a,this.options.itemSelector)},g.prototype.getItemElements=function(){for(var a=[],b=0,c=this.items.length;c>b;b++)a.push(this.items[b].element);return a},g.prototype.layout=function(){this._resetLayout(),this._manageStamps();var a=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;this.layoutItems(this.items,a),this._isLayoutInited=!0},g.prototype._init=g.prototype.layout,g.prototype._resetLayout=function(){this.getSize()},g.prototype.getSize=function(){this.size=d(this.element)},g.prototype._getMeasurement=function(a,b){var c,f=this.options[a];f?("string"==typeof f?c=this.element.querySelector(f):e.isElement(f)&&(c=f),this[a]=c?d(c)[b]:f):this[a]=0},g.prototype.layoutItems=function(a,b){a=this._getItemsForLayout(a),this._layoutItems(a,b),this._postLayout()},g.prototype._getItemsForLayout=function(a){for(var b=[],c=0,d=a.length;d>c;c++){var e=a[c];e.isIgnored||b.push(e)}return b},g.prototype._layoutItems=function(a,b){if(this._emitCompleteOnItems("layout",a),a&&a.length){for(var c=[],d=0,e=a.length;e>d;d++){var f=a[d],g=this._getItemLayoutPosition(f);g.item=f,g.isInstant=b||f.isLayoutInstant,c.push(g)}this._processLayoutQueue(c)}},g.prototype._getItemLayoutPosition=function(){return{x:0,y:0}},g.prototype._processLayoutQueue=function(a){for(var b=0,c=a.length;c>b;b++){var d=a[b];this._positionItem(d.item,d.x,d.y,d.isInstant)}},g.prototype._positionItem=function(a,b,c,d){d?a.goTo(b,c):a.moveTo(b,c)},g.prototype._postLayout=function(){this.resizeContainer()},g.prototype.resizeContainer=function(){if(this.options.isResizingContainer){var a=this._getContainerSize();a&&(this._setContainerMeasure(a.width,!0),this._setContainerMeasure(a.height,!1))}},g.prototype._getContainerSize=j,g.prototype._setContainerMeasure=function(a,b){if(void 0!==a){var c=this.size;c.isBorderBox&&(a+=b?c.paddingLeft+c.paddingRight+c.borderLeftWidth+c.borderRightWidth:c.paddingBottom+c.paddingTop+c.borderTopWidth+c.borderBottomWidth),a=Math.max(a,0),this.element.style[b?"width":"height"]=a+"px"}},g.prototype._emitCompleteOnItems=function(a,b){function c(){e.dispatchEvent(a+"Complete",null,[b])}function d(){g++,g===f&&c()}var e=this,f=b.length;if(!b||!f)return void c();for(var g=0,h=0,i=b.length;i>h;h++){var j=b[h];j.once(a,d)}},g.prototype.dispatchEvent=function(a,b,c){var d=b?[b].concat(c):c;if(this.emitEvent(a,d),i)if(this.$element=this.$element||i(this.element),b){var e=i.Event(b);e.type=a,this.$element.trigger(e,c)}else this.$element.trigger(a,c)},g.prototype.ignore=function(a){var b=this.getItem(a);b&&(b.isIgnored=!0)},g.prototype.unignore=function(a){var b=this.getItem(a);b&&delete b.isIgnored},g.prototype.stamp=function(a){if(a=this._find(a)){this.stamps=this.stamps.concat(a);for(var b=0,c=a.length;c>b;b++){var d=a[b];this.ignore(d)}}},g.prototype.unstamp=function(a){if(a=this._find(a))for(var b=0,c=a.length;c>b;b++){var d=a[b];e.removeFrom(this.stamps,d),this.unignore(d)}},g.prototype._find=function(a){return a?("string"==typeof a&&(a=this.element.querySelectorAll(a)),a=e.makeArray(a)):void 0},g.prototype._manageStamps=function(){if(this.stamps&&this.stamps.length){this._getBoundingRect();for(var a=0,b=this.stamps.length;b>a;a++){var c=this.stamps[a];this._manageStamp(c)}}},g.prototype._getBoundingRect=function(){var a=this.element.getBoundingClientRect(),b=this.size;this._boundingRect={left:a.left+b.paddingLeft+b.borderLeftWidth,top:a.top+b.paddingTop+b.borderTopWidth,right:a.right-(b.paddingRight+b.borderRightWidth),bottom:a.bottom-(b.paddingBottom+b.borderBottomWidth)}},g.prototype._manageStamp=j,g.prototype._getElementOffset=function(a){var b=a.getBoundingClientRect(),c=this._boundingRect,e=d(a),f={left:b.left-c.left-e.marginLeft,top:b.top-c.top-e.marginTop,right:c.right-b.right-e.marginRight,bottom:c.bottom-b.bottom-e.marginBottom};return f},g.prototype.handleEvent=function(a){var b="on"+a.type;this[b]&&this[b](a)},g.prototype.bindResize=function(){this.isResizeBound||(b.bind(a,"resize",this),this.isResizeBound=!0)},g.prototype.unbindResize=function(){this.isResizeBound&&b.unbind(a,"resize",this),this.isResizeBound=!1},g.prototype.onresize=function(){function a(){b.resize(),delete b.resizeTimeout}this.resizeTimeout&&clearTimeout(this.resizeTimeout);var b=this;this.resizeTimeout=setTimeout(a,100)},g.prototype.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},g.prototype.needsResizeLayout=function(){var a=d(this.element),b=this.size&&a;return b&&a.innerWidth!==this.size.innerWidth},g.prototype.addItems=function(a){var b=this._itemize(a);return b.length&&(this.items=this.items.concat(b)),b},g.prototype.appended=function(a){var b=this.addItems(a);b.length&&(this.layoutItems(b,!0),this.reveal(b))},g.prototype.prepended=function(a){var b=this._itemize(a);if(b.length){var c=this.items.slice(0);this.items=b.concat(c),this._resetLayout(),this._manageStamps(),this.layoutItems(b,!0),this.reveal(b),this.layoutItems(c)}},g.prototype.reveal=function(a){this._emitCompleteOnItems("reveal",a);for(var b=a&&a.length,c=0;b&&b>c;c++){var d=a[c];d.reveal()}},g.prototype.hide=function(a){this._emitCompleteOnItems("hide",a);for(var b=a&&a.length,c=0;b&&b>c;c++){var d=a[c];d.hide()}},g.prototype.revealItemElements=function(a){var b=this.getItems(a);this.reveal(b)},g.prototype.hideItemElements=function(a){var b=this.getItems(a);this.hide(b)},g.prototype.getItem=function(a){for(var b=0,c=this.items.length;c>b;b++){var d=this.items[b];if(d.element===a)return d}},g.prototype.getItems=function(a){a=e.makeArray(a);for(var b=[],c=0,d=a.length;d>c;c++){var f=a[c],g=this.getItem(f);g&&b.push(g)}return b},g.prototype.remove=function(a){var b=this.getItems(a);if(this._emitCompleteOnItems("remove",b),b&&b.length)for(var c=0,d=b.length;d>c;c++){var f=b[c];f.remove(),e.removeFrom(this.items,f)}},g.prototype.destroy=function(){var a=this.element.style;a.height="",a.position="",a.width="";for(var b=0,c=this.items.length;c>b;b++){var d=this.items[b];d.destroy()}this.unbindResize();var e=this.element.outlayerGUID;delete l[e],delete this.element.outlayerGUID,i&&i.removeData(this.element,this.constructor.namespace)},g.data=function(a){a=e.getQueryElement(a);var b=a&&a.outlayerGUID;return b&&l[b]},g.create=function(a,b){function c(){g.apply(this,arguments)}return Object.create?c.prototype=Object.create(g.prototype):e.extend(c.prototype,g.prototype),c.prototype.constructor=c,c.defaults=e.extend({},g.defaults),e.extend(c.defaults,b),c.prototype.settings={},c.namespace=a,c.data=g.data,c.Item=function(){f.apply(this,arguments)},c.Item.prototype=new f,e.htmlInit(c,a),i&&i.bridget&&i.bridget(a,c),c},g.Item=f,g}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("isotope/js/item",["outlayer/outlayer"],b):"object"==typeof exports?module.exports=b(require("outlayer")):(a.Isotope=a.Isotope||{},a.Isotope.Item=b(a.Outlayer))}(window,function(a){"use strict";function b(){a.Item.apply(this,arguments)}b.prototype=new a.Item,b.prototype._create=function(){this.id=this.layout.itemGUID++,a.Item.prototype._create.call(this),this.sortData={}},b.prototype.updateSortData=function(){if(!this.isIgnored){this.sortData.id=this.id,this.sortData["original-order"]=this.id,this.sortData.random=Math.random();var a=this.layout.options.getSortData,b=this.layout._sorters;for(var c in a){var d=b[c];this.sortData[c]=d(this.element,this)}}};var c=b.prototype.destroy;return b.prototype.destroy=function(){c.apply(this,arguments),this.css({display:""})},b}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("isotope/js/layout-mode",["get-size/get-size","outlayer/outlayer"],b):"object"==typeof exports?module.exports=b(require("get-size"),require("outlayer")):(a.Isotope=a.Isotope||{},a.Isotope.LayoutMode=b(a.getSize,a.Outlayer))}(window,function(a,b){"use strict";function c(a){this.isotope=a,a&&(this.options=a.options[this.namespace],this.element=a.element,this.items=a.filteredItems,this.size=a.size)}return function(){function a(a){return function(){return b.prototype[a].apply(this.isotope,arguments)}}for(var d=["_resetLayout","_getItemLayoutPosition","_manageStamp","_getContainerSize","_getElementOffset","needsResizeLayout"],e=0,f=d.length;f>e;e++){var g=d[e];c.prototype[g]=a(g)}}(),c.prototype.needsVerticalResizeLayout=function(){var b=a(this.isotope.element),c=this.isotope.size&&b;return c&&b.innerHeight!=this.isotope.size.innerHeight},c.prototype._getMeasurement=function(){this.isotope._getMeasurement.apply(this,arguments)},c.prototype.getColumnWidth=function(){this.getSegmentSize("column","Width")},c.prototype.getRowHeight=function(){this.getSegmentSize("row","Height")},c.prototype.getSegmentSize=function(a,b){var c=a+b,d="outer"+b;if(this._getMeasurement(c,d),!this[c]){var e=this.getFirstItemSize();this[c]=e&&e[d]||this.isotope.size["inner"+b]}},c.prototype.getFirstItemSize=function(){var b=this.isotope.filteredItems[0];return b&&b.element&&a(b.element)},c.prototype.layout=function(){this.isotope.layout.apply(this.isotope,arguments)},c.prototype.getSize=function(){this.isotope.getSize(),this.size=this.isotope.size},c.modes={},c.create=function(a,b){function d(){c.apply(this,arguments)}return d.prototype=new c,b&&(d.options=b),d.prototype.namespace=a,c.modes[a]=d,d},c}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("masonry/masonry",["outlayer/outlayer","get-size/get-size","fizzy-ui-utils/utils"],b):"object"==typeof exports?module.exports=b(require("outlayer"),require("get-size"),require("fizzy-ui-utils")):a.Masonry=b(a.Outlayer,a.getSize,a.fizzyUIUtils)}(window,function(a,b,c){var d=a.create("masonry");return d.prototype._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns();var a=this.cols;for(this.colYs=[];a--;)this.colYs.push(0);this.maxY=0},d.prototype.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var a=this.items[0],c=a&&a.element;this.columnWidth=c&&b(c).outerWidth||this.containerWidth}var d=this.columnWidth+=this.gutter,e=this.containerWidth+this.gutter,f=e/d,g=d-e%d,h=g&&1>g?"round":"floor";f=Math[h](f),this.cols=Math.max(f,1)},d.prototype.getContainerWidth=function(){var a=this.options.isFitWidth?this.element.parentNode:this.element,c=b(a);this.containerWidth=c&&c.innerWidth},d.prototype._getItemLayoutPosition=function(a){a.getSize();var b=a.size.outerWidth%this.columnWidth,d=b&&1>b?"round":"ceil",e=Math[d](a.size.outerWidth/this.columnWidth);e=Math.min(e,this.cols);for(var f=this._getColGroup(e),g=Math.min.apply(Math,f),h=c.indexOf(f,g),i={x:this.columnWidth*h,y:g},j=g+a.size.outerHeight,k=this.cols+1-f.length,l=0;k>l;l++)this.colYs[h+l]=j;return i},d.prototype._getColGroup=function(a){if(2>a)return this.colYs;for(var b=[],c=this.cols+1-a,d=0;c>d;d++){var e=this.colYs.slice(d,d+a);b[d]=Math.max.apply(Math,e)}return b},d.prototype._manageStamp=function(a){var c=b(a),d=this._getElementOffset(a),e=this.options.isOriginLeft?d.left:d.right,f=e+c.outerWidth,g=Math.floor(e/this.columnWidth);g=Math.max(0,g);var h=Math.floor(f/this.columnWidth);h-=f%this.columnWidth?0:1,h=Math.min(this.cols-1,h);for(var i=(this.options.isOriginTop?d.top:d.bottom)+c.outerHeight,j=g;h>=j;j++)this.colYs[j]=Math.max(i,this.colYs[j])},d.prototype._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var a={height:this.maxY};return this.options.isFitWidth&&(a.width=this._getContainerFitWidth()),a},d.prototype._getContainerFitWidth=function(){for(var a=0,b=this.cols;--b&&0===this.colYs[b];)a++;return(this.cols-a)*this.columnWidth-this.gutter},d.prototype.needsResizeLayout=function(){var a=this.containerWidth;return this.getContainerWidth(),a!==this.containerWidth},d}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("isotope/js/layout-modes/masonry",["../layout-mode","masonry/masonry"],b):"object"==typeof exports?module.exports=b(require("../layout-mode"),require("masonry-layout")):b(a.Isotope.LayoutMode,a.Masonry)}(window,function(a,b){"use strict";function c(a,b){for(var c in b)a[c]=b[c];return a}var d=a.create("masonry"),e=d.prototype._getElementOffset,f=d.prototype.layout,g=d.prototype._getMeasurement; c(d.prototype,b.prototype),d.prototype._getElementOffset=e,d.prototype.layout=f,d.prototype._getMeasurement=g;var h=d.prototype.measureColumns;d.prototype.measureColumns=function(){this.items=this.isotope.filteredItems,h.call(this)};var i=d.prototype._manageStamp;return d.prototype._manageStamp=function(){this.options.isOriginLeft=this.isotope.options.isOriginLeft,this.options.isOriginTop=this.isotope.options.isOriginTop,i.apply(this,arguments)},d}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("isotope/js/layout-modes/fit-rows",["../layout-mode"],b):"object"==typeof exports?module.exports=b(require("../layout-mode")):b(a.Isotope.LayoutMode)}(window,function(a){"use strict";var b=a.create("fitRows");return b.prototype._resetLayout=function(){this.x=0,this.y=0,this.maxY=0,this._getMeasurement("gutter","outerWidth")},b.prototype._getItemLayoutPosition=function(a){a.getSize();var b=a.size.outerWidth+this.gutter,c=this.isotope.size.innerWidth+this.gutter;0!==this.x&&b+this.x>c&&(this.x=0,this.y=this.maxY);var d={x:this.x,y:this.y};return this.maxY=Math.max(this.maxY,this.y+a.size.outerHeight),this.x+=b,d},b.prototype._getContainerSize=function(){return{height:this.maxY}},b}),function(a,b){"use strict";"function"==typeof define&&define.amd?define("isotope/js/layout-modes/vertical",["../layout-mode"],b):"object"==typeof exports?module.exports=b(require("../layout-mode")):b(a.Isotope.LayoutMode)}(window,function(a){"use strict";var b=a.create("vertical",{horizontalAlignment:0});return b.prototype._resetLayout=function(){this.y=0},b.prototype._getItemLayoutPosition=function(a){a.getSize();var b=(this.isotope.size.innerWidth-a.size.outerWidth)*this.options.horizontalAlignment,c=this.y;return this.y+=a.size.outerHeight,{x:b,y:c}},b.prototype._getContainerSize=function(){return{height:this.y}},b}),function(a,b){"use strict";"function"==typeof define&&define.amd?define(["outlayer/outlayer","get-size/get-size","matches-selector/matches-selector","fizzy-ui-utils/utils","isotope/js/item","isotope/js/layout-mode","isotope/js/layout-modes/masonry","isotope/js/layout-modes/fit-rows","isotope/js/layout-modes/vertical"],function(c,d,e,f,g,h){return b(a,c,d,e,f,g,h)}):"object"==typeof exports?module.exports=b(a,require("outlayer"),require("get-size"),require("desandro-matches-selector"),require("fizzy-ui-utils"),require("./item"),require("./layout-mode"),require("./layout-modes/masonry"),require("./layout-modes/fit-rows"),require("./layout-modes/vertical")):a.Isotope=b(a,a.Outlayer,a.getSize,a.matchesSelector,a.fizzyUIUtils,a.Isotope.Item,a.Isotope.LayoutMode)}(window,function(a,b,c,d,e,f,g){function h(a,b){return function(c,d){for(var e=0,f=a.length;f>e;e++){var g=a[e],h=c.sortData[g],i=d.sortData[g];if(h>i||i>h){var j=void 0!==b[g]?b[g]:b,k=j?1:-1;return(h>i?1:-1)*k}}return 0}}var i=a.jQuery,j=String.prototype.trim?function(a){return a.trim()}:function(a){return a.replace(/^\s+|\s+$/g,"")},k=document.documentElement,l=k.textContent?function(a){return a.textContent}:function(a){return a.innerText},m=b.create("isotope",{layoutMode:"masonry",isJQueryFiltering:!0,sortAscending:!0});m.Item=f,m.LayoutMode=g,m.prototype._create=function(){this.itemGUID=0,this._sorters={},this._getSorters(),b.prototype._create.call(this),this.modes={},this.filteredItems=this.items,this.sortHistory=["original-order"];for(var a in g.modes)this._initLayoutMode(a)},m.prototype.reloadItems=function(){this.itemGUID=0,b.prototype.reloadItems.call(this)},m.prototype._itemize=function(){for(var a=b.prototype._itemize.apply(this,arguments),c=0,d=a.length;d>c;c++){var e=a[c];e.id=this.itemGUID++}return this._updateItemsSortData(a),a},m.prototype._initLayoutMode=function(a){var b=g.modes[a],c=this.options[a]||{};this.options[a]=b.options?e.extend(b.options,c):c,this.modes[a]=new b(this)},m.prototype.layout=function(){return!this._isLayoutInited&&this.options.isInitLayout?void this.arrange():void this._layout()},m.prototype._layout=function(){var a=this._getIsInstant();this._resetLayout(),this._manageStamps(),this.layoutItems(this.filteredItems,a),this._isLayoutInited=!0},m.prototype.arrange=function(a){function b(){d.reveal(c.needReveal),d.hide(c.needHide)}this.option(a),this._getIsInstant();var c=this._filter(this.items);this.filteredItems=c.matches;var d=this;this._bindArrangeComplete(),this._isInstant?this._noTransition(b):b(),this._sort(),this._layout()},m.prototype._init=m.prototype.arrange,m.prototype._getIsInstant=function(){var a=void 0!==this.options.isLayoutInstant?this.options.isLayoutInstant:!this._isLayoutInited;return this._isInstant=a,a},m.prototype._bindArrangeComplete=function(){function a(){b&&c&&d&&e.dispatchEvent("arrangeComplete",null,[e.filteredItems])}var b,c,d,e=this;this.once("layoutComplete",function(){b=!0,a()}),this.once("hideComplete",function(){c=!0,a()}),this.once("revealComplete",function(){d=!0,a()})},m.prototype._filter=function(a){var b=this.options.filter;b=b||"*";for(var c=[],d=[],e=[],f=this._getFilterTest(b),g=0,h=a.length;h>g;g++){var i=a[g];if(!i.isIgnored){var j=f(i);j&&c.push(i),j&&i.isHidden?d.push(i):j||i.isHidden||e.push(i)}}return{matches:c,needReveal:d,needHide:e}},m.prototype._getFilterTest=function(a){return i&&this.options.isJQueryFiltering?function(b){return i(b.element).is(a)}:"function"==typeof a?function(b){return a(b.element)}:function(b){return d(b.element,a)}},m.prototype.updateSortData=function(a){var b;a?(a=e.makeArray(a),b=this.getItems(a)):b=this.items,this._getSorters(),this._updateItemsSortData(b)},m.prototype._getSorters=function(){var a=this.options.getSortData;for(var b in a){var c=a[b];this._sorters[b]=n(c)}},m.prototype._updateItemsSortData=function(a){for(var b=a&&a.length,c=0;b&&b>c;c++){var d=a[c];d.updateSortData()}};var n=function(){function a(a){if("string"!=typeof a)return a;var c=j(a).split(" "),d=c[0],e=d.match(/^\[(.+)\]$/),f=e&&e[1],g=b(f,d),h=m.sortDataParsers[c[1]];return a=h?function(a){return a&&h(g(a))}:function(a){return a&&g(a)}}function b(a,b){var c;return c=a?function(b){return b.getAttribute(a)}:function(a){var c=a.querySelector(b);return c&&l(c)}}return a}();m.sortDataParsers={parseInt:function(a){return parseInt(a,10)},parseFloat:function(a){return parseFloat(a)}},m.prototype._sort=function(){var a=this.options.sortBy;if(a){var b=[].concat.apply(a,this.sortHistory),c=h(b,this.options.sortAscending);this.filteredItems.sort(c),a!=this.sortHistory[0]&&this.sortHistory.unshift(a)}},m.prototype._mode=function(){var a=this.options.layoutMode,b=this.modes[a];if(!b)throw new Error("No layout mode: "+a);return b.options=this.options[a],b},m.prototype._resetLayout=function(){b.prototype._resetLayout.call(this),this._mode()._resetLayout()},m.prototype._getItemLayoutPosition=function(a){return this._mode()._getItemLayoutPosition(a)},m.prototype._manageStamp=function(a){this._mode()._manageStamp(a)},m.prototype._getContainerSize=function(){return this._mode()._getContainerSize()},m.prototype.needsResizeLayout=function(){return this._mode().needsResizeLayout()},m.prototype.appended=function(a){var b=this.addItems(a);if(b.length){var c=this._filterRevealAdded(b);this.filteredItems=this.filteredItems.concat(c)}},m.prototype.prepended=function(a){var b=this._itemize(a);if(b.length){this._resetLayout(),this._manageStamps();var c=this._filterRevealAdded(b);this.layoutItems(this.filteredItems),this.filteredItems=c.concat(this.filteredItems),this.items=b.concat(this.items)}},m.prototype._filterRevealAdded=function(a){var b=this._filter(a);return this.hide(b.needHide),this.reveal(b.matches),this.layoutItems(b.matches,!0),b.matches},m.prototype.insert=function(a){var b=this.addItems(a);if(b.length){var c,d,e=b.length;for(c=0;e>c;c++)d=b[c],this.element.appendChild(d.element);var f=this._filter(b).matches;for(c=0;e>c;c++)b[c].isLayoutInstant=!0;for(this.arrange(),c=0;e>c;c++)delete b[c].isLayoutInstant;this.reveal(f)}};var o=m.prototype.remove;return m.prototype.remove=function(a){a=e.makeArray(a);var b=this.getItems(a);o.call(this,a);var c=b&&b.length;if(c)for(var d=0;c>d;d++){var f=b[d];e.removeFrom(this.filteredItems,f)}},m.prototype.shuffle=function(){for(var a=0,b=this.items.length;b>a;a++){var c=this.items[a];c.sortData.random=Math.random()}this.options.sortBy="random",this._sort(),this._layout()},m.prototype._noTransition=function(a){var b=this.options.transitionDuration;this.options.transitionDuration=0;var c=a.call(this);return this.options.transitionDuration=b,c},m.prototype.getFilteredItemElements=function(){for(var a=[],b=0,c=this.filteredItems.length;c>b;b++)a.push(this.filteredItems[b].element);return a},m}); jQuery(document).ready(function($){ var $document=$(document), $window=$(window), $html=$("html"), $body=$("body"), $page=$("#page"); window.retinizer=function(){ if($body.hasClass("srcset-enabled")){ var $coll=$("img:not(.retinized)").filter("[srcset]"), ratio=window.devicePixelRatio ? window.devicePixelRatio:1; };}; retinizer(); $.fn.layzrInitialisation=function(container){ return this.each(function(){ var $this=$(this); var layzr=new Layzr({ container: container, selector: '.lazy-load', attr: 'data-src', attrSrcSet: 'data-srcset', retinaAttr: 'data-src-retina', hiddenAttr: 'data-src-hidden', threshold: 30, before: function(){ this.setAttribute("sizes", this.width+"px"); }, callback: function(){ this.classList.add("is-loaded"); var $this=$(this); setTimeout(function(){ $this.parent().removeClass("layzr-bg"); }, 350) }}); }); }; $(".layzr-loading-on, .vc_single_image-img").layzrInitialisation(); if($('div[data-vc-stretch-content="true"]').length > 0&&$('div[data-vc-full-width-init="false"]').length > 0){ vc_rowBehaviour(); } dtGlobals.touches={}; dtGlobals.touches.touching=false; dtGlobals.touches.touch=false; dtGlobals.touches.currX=0; dtGlobals.touches.currY=0; dtGlobals.touches.cachedX=0; dtGlobals.touches.cachedY=0; dtGlobals.touches.count=0; dtGlobals.resizeCounter=0; $document.on("touchstart",function(e){ if(e.originalEvent.touches.length==1){ dtGlobals.touches.touch=e.originalEvent.touches[0]; dtGlobals.touches.cachedX=dtGlobals.touches.touch.pageX; dtGlobals.touches.cachedY=dtGlobals.touches.touch.pageY; dtGlobals.touches.touching=true; setTimeout(function(){ dtGlobals.touches.currX=dtGlobals.touches.touch.pageX; dtGlobals.touches.currY=dtGlobals.touches.touch.pageY; if((dtGlobals.touches.cachedX===dtGlobals.touches.currX)&&!dtGlobals.touches.touching&&(dtGlobals.touches.cachedY===dtGlobals.touches.currY)){ dtGlobals.touches.count++; $(e.target).trigger("tap"); }},200); }}); $document.on("touchend touchcancel",function (e){ dtGlobals.touches.touching=false; }); $document.on("touchmove",function (e){ dtGlobals.touches.touch=e.originalEvent.touches[0]; if(dtGlobals.touches.touching){ }}); $document.on("tap", function(e){ $(".dt-hovered").trigger("mouseout"); }); (function (module){ if(typeof define==='function'&&define.amd){ define(['jquery'], module); }else{ module(jQuery); }})(function(jQuery, undefined){ var threshold=6, add=jQuery.event.add, remove=jQuery.event.remove, trigger=function(node, type, data){ jQuery.event.trigger(type, data, node); }, requestFrame=(function(){ return ( window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function(fn, element){ return window.setTimeout(function(){ fn(); }, 25); } ); })(), ignoreTags={ textarea: true, input: true, select: true, button: true }, mouseevents={ move: 'mousemove', cancel: 'mouseup dragstart', end: 'mouseup' }, touchevents={ move: 'touchmove', cancel: 'touchend', end: 'touchend' }; function Timer(fn){ var callback=fn, active=false, running=false; function trigger(time){ if(active){ callback(); requestFrame(trigger); running=true; active=false; }else{ running=false; }} this.kick=function(fn){ active=true; if(!running){ trigger(); }}; this.end=function(fn){ var cb=callback; if(!fn){ return; } if(!running){ fn(); }else{ callback=active ? function(){ cb(); fn(); } : fn ; active=true; }};} function returnTrue(){ return true; } function returnFalse(){ return false; } function preventDefault(e){ e.preventDefault(); } function preventIgnoreTags(e){ if(ignoreTags[ e.target.tagName.toLowerCase() ]){ return; } e.preventDefault(); } function isLeftButton(e){ return (e.which===1&&!e.ctrlKey&&!e.altKey); } function identifiedTouch(touchList, id){ var i, l; if(touchList.identifiedTouch){ return touchList.identifiedTouch(id); } i=-1; l=touchList.length; while (++i < l){ if(touchList[i].identifier===id){ return touchList[i]; }} } function changedTouch(e, event){ var touch=identifiedTouch(e.changedTouches, event.identifier); if(!touch){ return; } if(touch.pageX===event.pageX&&touch.pageY===event.pageY){ return; } return touch; } function mousedown(e){ var data; if(!isLeftButton(e)){ return; } data={ target: e.target, startX: e.pageX, startY: e.pageY, timeStamp: e.timeStamp }; add(document, mouseevents.move, mousemove, data); add(document, mouseevents.cancel, mouseend, data); } function mousemove(e){ var data=e.data; checkThreshold(e, data, e, removeMouse); } function mouseend(e){ removeMouse(); } function removeMouse(){ remove(document, mouseevents.move, mousemove); remove(document, mouseevents.cancel, mouseend); } function touchstart(e){ var touch, template; if(ignoreTags[ e.target.tagName.toLowerCase() ]){ return; } touch=e.changedTouches[0]; template={ target: touch.target, startX: touch.pageX, startY: touch.pageY, timeStamp: e.timeStamp, identifier: touch.identifier }; add(document, touchevents.move + '.' + touch.identifier, touchmove, template); add(document, touchevents.cancel + '.' + touch.identifier, touchend, template); } function touchmove(e){ var data=e.data, touch=changedTouch(e, data); if(!touch){ return; } checkThreshold(e, data, touch, removeTouch); } function touchend(e){ var template=e.data, touch=identifiedTouch(e.changedTouches, template.identifier); if(!touch){ return; } removeTouch(template.identifier); } function removeTouch(identifier){ remove(document, '.' + identifier, touchmove); remove(document, '.' + identifier, touchend); } function checkThreshold(e, template, touch, fn){ var distX=touch.pageX - template.startX, distY=touch.pageY - template.startY; if((distX * distX) + (distY * distY) < (threshold * threshold)){ return; } triggerStart(e, template, touch, distX, distY, fn); } function handled(){ this._handled=returnTrue; return false; } function flagAsHandled(e){ e._handled(); } function triggerStart(e, template, touch, distX, distY, fn){ var node=template.target, touches, time; touches=e.targetTouches; time=e.timeStamp - template.timeStamp; template.type='movestart'; template.distX=distX; template.distY=distY; template.deltaX=distX; template.deltaY=distY; template.pageX=touch.pageX; template.pageY=touch.pageY; template.velocityX=distX / time; template.velocityY=distY / time; template.targetTouches=touches; template.finger=touches ? touches.length : 1 ; template._handled=handled; template._preventTouchmoveDefault=function(){ e.preventDefault(); }; trigger(template.target, template); fn(template.identifier); } function activeMousemove(e){ var timer=e.data.timer; e.data.touch=e; e.data.timeStamp=e.timeStamp; timer.kick(); } function activeMouseend(e){ var event=e.data.event, timer=e.data.timer; removeActiveMouse(); endEvent(event, timer, function(){ setTimeout(function(){ remove(event.target, 'click', returnFalse); }, 0); }); } function removeActiveMouse(event){ remove(document, mouseevents.move, activeMousemove); remove(document, mouseevents.end, activeMouseend); } function activeTouchmove(e){ var event=e.data.event, timer=e.data.timer, touch=changedTouch(e, event); if(!touch){ return; } e.preventDefault(); event.targetTouches=e.targetTouches; e.data.touch=touch; e.data.timeStamp=e.timeStamp; timer.kick(); } function activeTouchend(e){ var event=e.data.event, timer=e.data.timer, touch=identifiedTouch(e.changedTouches, event.identifier); if(!touch){ return; } removeActiveTouch(event); endEvent(event, timer); } function removeActiveTouch(event){ remove(document, '.' + event.identifier, activeTouchmove); remove(document, '.' + event.identifier, activeTouchend); } function updateEvent(event, touch, timeStamp, timer){ var time=timeStamp - event.timeStamp; event.type='move'; event.distX=touch.pageX - event.startX; event.distY=touch.pageY - event.startY; event.deltaX=touch.pageX - event.pageX; event.deltaY=touch.pageY - event.pageY; event.velocityX=0.3 * event.velocityX + 0.7 * event.deltaX / time; event.velocityY=0.3 * event.velocityY + 0.7 * event.deltaY / time; event.pageX=touch.pageX; event.pageY=touch.pageY; } function endEvent(event, timer, fn){ timer.end(function(){ event.type='moveend'; trigger(event.target, event); return fn&&fn(); }); } function setup(data, namespaces, eventHandle){ add(this, 'movestart.move', flagAsHandled); return true; } function teardown(namespaces){ remove(this, 'dragstart drag', preventDefault); remove(this, 'mousedown touchstart', preventIgnoreTags); remove(this, 'movestart', flagAsHandled); return true; } function addMethod(handleObj){ if(handleObj.namespace==="move"||handleObj.namespace==="moveend"){ return; } add(this, 'dragstart.' + handleObj.guid + ' drag.' + handleObj.guid, preventDefault, undefined, handleObj.selector); add(this, 'mousedown.' + handleObj.guid, preventIgnoreTags, undefined, handleObj.selector); } function removeMethod(handleObj){ if(handleObj.namespace==="move"||handleObj.namespace==="moveend"){ return; } remove(this, 'dragstart.' + handleObj.guid + ' drag.' + handleObj.guid); remove(this, 'mousedown.' + handleObj.guid); } jQuery.event.special.movestart={ setup: setup, teardown: teardown, add: addMethod, remove: removeMethod, _default: function(e){ var event, data; if(!e._handled()){ return; } function update(time){ updateEvent(event, data.touch, data.timeStamp); trigger(e.target, event); } event={ target: e.target, startX: e.startX, startY: e.startY, pageX: e.pageX, pageY: e.pageY, distX: e.distX, distY: e.distY, deltaX: e.deltaX, deltaY: e.deltaY, velocityX: e.velocityX, velocityY: e.velocityY, timeStamp: e.timeStamp, identifier: e.identifier, targetTouches: e.targetTouches, finger: e.finger }; data={ event: event, timer: new Timer(update), touch: undefined, timeStamp: undefined }; if(e.identifier===undefined){ add(e.target, 'click', returnFalse); add(document, mouseevents.move, activeMousemove, data); add(document, mouseevents.end, activeMouseend, data); }else{ e._preventTouchmoveDefault(); add(document, touchevents.move + '.' + e.identifier, activeTouchmove, data); add(document, touchevents.end + '.' + e.identifier, activeTouchend, data); }} }; jQuery.event.special.move={ setup: function(){ add(this, 'movestart.move', jQuery.noop); }, teardown: function(){ remove(this, 'movestart.move', jQuery.noop); }}; jQuery.event.special.moveend={ setup: function(){ add(this, 'movestart.moveend', jQuery.noop); }, teardown: function(){ remove(this, 'movestart.moveend', jQuery.noop); }}; add(document, 'mousedown.move', mousedown); add(document, 'touchstart.move', touchstart); if(typeof Array.prototype.indexOf==='function'){ (function(jQuery, undefined){ var props=["changedTouches", "targetTouches"], l=props.length; while (l--){ if(jQuery.event.props.indexOf(props[l])===-1){ jQuery.event.props.push(props[l]); }} })(jQuery); };}); $.belowthefold=function(element, settings){ var fold=$window.height() + $window.scrollTop(); return fold <=$(element).offset().top - settings.threshold; }; $.abovethetop=function(element, settings){ var top=$window.scrollTop(); return top >=$(element).offset().top + $(element).height() - settings.threshold; }; $.rightofscreen=function(element, settings){ var fold=$window.width() + $window.scrollLeft(); return fold <=$(element).offset().left - settings.threshold; }; $.leftofscreen=function(element, settings){ var left=$window.scrollLeft(); return left >=$(element).offset().left + $(element).width() - settings.threshold; }; $.inviewport=function(element, settings){ return !$.rightofscreen(element, settings)&&!$.leftofscreen(element, settings)&&!$.belowthefold(element, settings)&&!$.abovethetop(element, settings); }; $.extend($.expr[':'], { "below-the-fold": function(a, i, m){ return $.belowthefold(a, {threshold:0}); }, "above-the-top": function(a, i, m){ return $.abovethetop(a, {threshold:0}); }, "left-of-screen": function(a, i, m){ return $.leftofscreen(a, {threshold:0}); }, "right-of-screen": function(a, i, m){ return $.rightofscreen(a, {threshold:0}); }, "in-viewport": function(a, i, m){ return $.inviewport(a, {threshold:-30}); }}); function doAnimation(){ if(!dtGlobals.isMobile){ if($(".animation-at-the-same-time").length > 0||$(".animate-element").length > 0){ var j=-1; $(".animation-at-the-same-time:in-viewport").each(function (){ var $this=$(this), $thisElem=$this.find(".animate-element"); $thisElem.addClass("animation-triggered"); $this.find(".animate-element:not(.start-animation)").addClass("start-animation"); }); $(".animate-element:not(.start-animation):in-viewport").each(function (){ var $this=$(this); if(!$this.parents(".animation-at-the-same-time").length > 0){ if(!$this.hasClass("start-animation")&&!$this.hasClass("animation-triggered")){ $this.addClass("animation-triggered"); j++; setTimeout(function (){ $this.addClass("start-animation"); if($this.hasClass("skills")){ $this.animateSkills(); };}, 200 * j); };}; }); }}else{ $(".skills").animateSkills(); };}; setTimeout(function(){ doAnimation(); }, 50); if(!dtGlobals.isMobile){ $window.on("scroll", function (){ doAnimation(); }); }; $.fn.exists=function(){ if($(this).length > 0){ return true; }else{ return false; }} $.fn.loaded=function(callback, jointCallback, ensureCallback){ var len=this.length; if(len > 0){ return this.each(function(){ var el=this, $el=$(el), blank="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="; $el.on("load.dt", function(event){ $(this).off("load.dt"); if(typeof callback=="function"){ callback.call(this); } if(--len <=0&&(typeof jointCallback=="function")){ jointCallback.call(this); }}); if(!el.complete||el.complete===undefined){ el.src=el.src; }else{ $el.trigger("load.dt") }}); }else if(ensureCallback){ if(typeof jointCallback=="function"){ jointCallback.call(this); } return this; }}; var icons=[ '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' ]; var icons=$(''+icons+''); $(document.body).prepend($(icons)); $(".soc-ico a").not(".entry-share .soc-ico a").html(''); $(".entry-share .soc-ico a").append('') var svg_icon=$(".soc-ico a svg use"); $(".px-500").find(svg_icon).attr("xlink:href", "#social-500px"); $(".tripedvisor").find(svg_icon).attr("xlink:href", "#tripedvisor"); $(".vk").find(svg_icon).attr("xlink:href", "#vk"); $(".foursquare").find(svg_icon).attr("xlink:href", "#foursquare"); $(".website").find(svg_icon).attr("xlink:href", "#website"); $(".mail").find(svg_icon).attr("xlink:href", "#mail"); $(".behance").find(svg_icon).attr("xlink:href", "#behance"); $(".stumbleupon").find(svg_icon).attr("xlink:href", "#stumbleupon"); $(".instagram").find(svg_icon).attr("xlink:href", "#instagram"); $(".github").find(svg_icon).attr("xlink:href", "#github"); $(".skype").find(svg_icon).attr("xlink:href", "#skype"); $(".devian").find(svg_icon).attr("xlink:href", "#devian"); $(".pinterest").find(svg_icon).attr("xlink:href", "#pinterest"); $(".tumbler").find(svg_icon).attr("xlink:href", "#tumbler"); $(".vimeo").find(svg_icon).attr("xlink:href", "#vimeo"); $(".linkedin").find(svg_icon).attr("xlink:href", "#linkedin"); $(".lastfm").find(svg_icon).attr("xlink:href", "#lastfm"); $(".forrst").find(svg_icon).attr("xlink:href", "#forrst"); $(".flickr").find(svg_icon).attr("xlink:href", "#flickr"); $(".delicious").find(svg_icon).attr("xlink:href", "#delicious"); $(".rss").find(svg_icon).attr("xlink:href", "#rss"); $(".you-tube").find(svg_icon).attr("xlink:href", "#you-tube"); $(".dribbble").find(svg_icon).attr("xlink:href", "#dribbble"); $(".google").find(svg_icon).attr("xlink:href", "#google"); $(".twitter").find(svg_icon).attr("xlink:href", "#twitter"); $(".facebook").find(svg_icon).attr("xlink:href", "#facebook"); $(".xing").find(svg_icon).attr("xlink:href", "#xing"); $(".odnoklassniki").find(svg_icon).attr("xlink:href", "#odnoklassniki"); $(".weibo").find(svg_icon).attr("xlink:href", "#weibo"); $(".research-gate").find(svg_icon).attr("xlink:href", "#research-gate"); $(".yelp").find(svg_icon).attr("xlink:href", "#yelp"); $(".blogger").find(svg_icon).attr("xlink:href", "#blogger"); $(".soc-ico a").css("visibility", "visible"); $.fn.exists=function(){ if($(this).length > 0){ return true; }else{ return false; }} $.fn.loaded=function(callback, jointCallback, ensureCallback){ var len=this.length; if(len > 0){ return this.each(function(){ var el=this, $el=$(el), blank="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="; $el.on("load.dt", function(event){ $(this).off("load.dt"); if(typeof callback=="function"){ callback.call(this); } if(--len <=0&&(typeof jointCallback=="function")){ jointCallback.call(this); }}); if(!el.complete||el.complete===undefined){ el.src=el.src; }else{ $el.trigger("load.dt") }}); }else if(ensureCallback){ if(typeof jointCallback=="function"){ jointCallback.call(this); } return this; }}; $.rsCSS3Easing={ easeOutSine: 'cubic-bezier(0.390, 0.575, 0.565, 1.000)', easeInOutSine: 'cubic-bezier(0.445, 0.050, 0.550, 0.950)' }; $.extend(jQuery.easing, { easeInOutSine: function (x, t, b, c, d){ return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; }, easeOutSine: function (x, t, b, c, d){ return c * Math.sin(t/d * (Math.PI/2)) + b; }, easeOutCubic: function (x, t, b, c, d){ return c*((t=t/d-1)*t*t + 1) + b; }}); $.thePhotoSlider=function(element, settings){ var self=$(element).data("thePhotoSlider"); if(!self){ this._init(element, settings); }else{ self.update(); };}; $.thePhotoSlider.defaults={ mode: { type: "slider" }, responsive: true, height: false, width: false, sidePaddings: 0, storeHTML: false, autoPlay: false, threshold: 20, collapsePoint: 700 }; $.thePhotoSlider.prototype={ _init: function(element, settings){ var self=this; self.st=$.extend({}, $.thePhotoSlider.defaults, settings); self.ev=$(self); self.autoPlay={ enabled: false, delay: 2000, loop: true }; self.currSlide=0; self.noSlide=true; self.lockLeft=true; self.lockRight=true; self.sliderLock=false; self.lockTimeout=false; self.wrap={}; self.wrap.$el=$(element); self.wrap.width=0; self.wrap.height=false; self.wrap.$el.data("thePhotoSlider", self); self.viewport=self.wrap.$el.find(".ts-viewport"); self.cont={}; self.cont.$el=self.viewport.find(".ts-cont"); self.cont.width=0; self.cont.startX=0; self.cont.instantX=0; self.slides={}; self.slides.$items=self.cont.$el.children(); self.slides.number=self.slides.$items.length; self.slides.position=[]; self.slides.width=[]; self.slides.isLoaded=[]; self.drag={}; self.drag.isMoving=false; self.drag.startX=0; self.drag.startY=0; self.drag.offsetX=0; self.drag.offsetY=0; self.drag.lockX=false; self.drag.lockY=false; self.features={}; self._featureDetection(); if(self.st.storeHTML) self.origHTML=self.wrap.$el.html(); self._buildHTML(); self._calcSliderSize(); if(!self.wrap.height) self.wrap.$el.addClass("ts-autoHeight"); self._setSliderWidth(); self._adjustSlides(); self._setSliderHeight(); self.slideTo(0, true); if(!self.noSlide) self._bindEvents(); setTimeout(function(){ self.wrap.$el.addClass("ts-ready"); self.ev.trigger("sliderReady"); }, 20); if(self.st.responsive){ if(!("onorientationchange" in window)){ var dtResizeTimeout; $(window).on("resize", function(e){ clearTimeout(dtResizeTimeout); dtResizeTimeout=setTimeout(function(){ self.update(); }, 200); }); }else{ var scrOrientation=window.orientation; $(window).on("orientationchange", function(e){ var tempOrientation=window.orientation; if(tempOrientation!==scrOrientation){ scrOrientation=tempOrientation; self.update(); };}); };}; if(self.st.autoPlay.enabled){ self.play(); };}, _featureDetection: function(){ var self=this, tempStyle=document.createElement('div').style, vendors=['webkit','Moz','ms','O'], tempV; self.features.vendor=''; for (i=0; i < vendors.length; i++){ tempV=vendors[i]; if(!self.features.vendor&&(tempV + 'Transform') in tempStyle){ self.features.vendor="-"+tempV.toLowerCase()+"-"; }} if(navigator.userAgent.indexOf('Safari')!=-1&&navigator.userAgent.indexOf('Chrome')==-1&&!('ontouchstart' in window)){ self.features.css3d=Modernizr.csstransforms3d; } else if(typeof Modernizr!="undefined"){ self.features.css3d=Modernizr.csstransforms3d; }}, _buildHTML: function(){ var self=this; if(self.st.mode.type==="centered"){ self.wrap.$el.addClass("ts-centered"); }; if(self.st.mode.type==="slider"){ self.slides.$items.addClass("ts-slide"); } else if(self.st.mode.type==="scroller"||self.st.mode.type==="centered"||self.st.mode.type==="carousel"){ self.slides.$items.addClass("ts-cell"); };}, _calcSliderSize: function(){ var self=this, typeofWidth=typeof self.st.width, typeofHeight=typeof self.st.height, tempWidth=false, tempHeight=false; self.wrap.width=self.wrap.$el.width(); if(typeofWidth==="function"){ tempWidth=self.st.width(this); } else if(typeofWidth==="number"){ tempWidth=self.st.width; }; if(typeofHeight==="function"){ tempHeight=self.st.height(this); } else if(typeofHeight==="number"){ tempHeight=self.st.height; }; if(tempHeight&&!tempWidth){ self.wrap.height=tempHeight; } else if(tempHeight&&tempWidth){ self.wrap.height=(tempHeight * self.wrap.width) / tempWidth; }else{ self.wrap.height=false; };}, _setSliderWidth: function(){ var self=this; if(self.st.mode.type!=="centered"){ self.viewport.css({ width: self.wrap.width }); } else if(self.wrap.width > self.st.collapsePoint){ self.wrap.$el.removeClass("ts-collapsed"); }else{ self.wrap.$el.addClass("ts-collapsed"); };}, _setSliderHeight: function(){ var self=this; if(typeof self.wrap.height==="number"){ self.viewport.css({ height: self.wrap.height }); } else if(self.st.mode.type==="scroller"||self.st.mode.type==="centered"||self.st.mode.type==="carousel"){ if(self.viewport.css("height")==="0px"||self.viewport.css("height")==0||!self.viewport.css("height")){ self.viewport.css({ height: Math.max.apply(null, self.slides.height) }); };} else if(self.slides.isLoaded[self.currSlide]){ var jsHeight=$(self.slides.$items[self.currSlide]).height(); if(jsHeight > 0){ self.viewport.css({ height: jsHeight }); }else{ self.viewport.css({ height: auto }); };}else{ var jsHeight=$(self.slides.$items[self.currSlide]).height(); if(jsHeight > 0){ self.viewport.css({ height: jsHeight }); }else{ self.viewport.css({ height: auto }); }; /* self.slides.$items[self.currSlide].find("img").loaded(false, function(){ $(self.slides.$items[self.currSlide]).addClass("ts-loaded"); self._setSliderHeight(); }, true); */ };}, _adjustSlides: function(){ var self=this; if(self.st.mode.type==="slider"){ self.cont.width=0; self.slides.$items.each(function(i){ var $slide=$(self.slides.$items[i]), tempCSS={}; self.slides.position[i]=- self.cont.width - self.st.sidePaddings/2; self.cont.width=self.cont.width + self.wrap.width + self.st.sidePaddings; tempCSS.left=-self.slides.position[i]; if(!self.slides.isLoaded[i]){ $slide.find("img").loaded(false, function(){ self.slides.isLoaded[i]=true; $slide.addClass("ts-loaded"); }, true); }else{ }; $slide.css(tempCSS); }); } else if(self.st.mode.type==="centered"){ self.cont.width=0; self.slides.contRatio=[]; self.slides.ratio=[]; if(self.st.mode.lsMinW||self.st.mode.lsMaxW){ var lsMinW=self.wrap.width/100 * self.st.mode.lsMinW, lsMaxW=self.wrap.width/100 * self.st.mode.lsMaxW; }; if(self.st.mode.ptMinW||self.st.mode.ptMaxW){ var ptMinW=self.wrap.width/100 * self.st.mode.ptMinW, ptMaxW=self.wrap.width/100 * self.st.mode.ptMaxW; }; self.slides.$items.each(function(i){ var $slide=$(self.slides.$items[i]), tempCSS={}; var dataWidth=$slide.attr("data-width") ? parseFloat($slide.attr("data-width")):$slide.width(), dataHeight=$slide.attr("data-height") ? parseFloat($slide.attr("data-height")):$slide.height(); if(!self.slides.contRatio[i]){ self.slides.contRatio[i]=dataWidth / dataHeight; if(self.slides.contRatio[i] > 1){ $slide.addClass("ts-ls"); }else{ $slide.addClass("ts-pt"); };}; if(self.wrap.width > self.st.collapsePoint){ dataHeight=self.wrap.height; dataWidth=self.wrap.height * self.slides.contRatio[i]; if((lsMinW||lsMaxW)&&(dataWidth > dataHeight)){ if(lsMinW===lsMaxW||dataWidth > lsMaxW){ dataWidth=lsMaxW; } else if(dataWidth < lsMinW){ dataWidth=lsMinW; };} else if((ptMinW||ptMaxW)&&(dataWidth <=dataHeight)){ if(ptMinW===ptMaxW||dataWidth > ptMaxW){ dataWidth=ptMaxW; } else if(dataWidth < ptMinW){ dataWidth=ptMinW; };}; self.slides.ratio[i]=dataWidth / dataHeight; tempCSS.height=self.wrap.height; tempCSS.width=self.slides.width[i]=dataWidth; self.slides.position[i]=- self.cont.width; self.cont.width=self.cont.width + self.slides.width[i] + self.st.sidePaddings; tempCSS.left=-self.slides.position[i]; }else{ dataHeight=tempCSS.height=self.wrap.height; dataWidth=self.slides.width[i]=tempCSS.width=self.wrap.width; self.slides.ratio[i]=dataWidth / dataHeight; self.slides.position[i]=- self.cont.width; self.cont.width=self.cont.width + self.slides.width[i]; tempCSS.left=-self.slides.position[i]; }; self.slides.position[i]=self.slides.position[i] - (self.slides.width[i]/2); if(self.slides.ratio[i] > self.slides.contRatio[i]){ $slide.removeClass("ts-narrow"); $slide.addClass("ts-wide"); }else{ $slide.removeClass("ts-wide"); $slide.addClass("ts-narrow"); }; if(!self.slides.isLoaded[i]){ $slide.find("img").loaded(false, function(){ self.slides.isLoaded[i]=true; $slide.addClass("ts-loaded"); }, true); }else{ }; $slide.css(tempCSS); }); } else if(self.st.mode.type==="scroller"){ self.cont.width=0; self.slides.ratio=[]; if(!(typeof self.wrap.height==="number")){ self.slides.height=[]; } self.slides.$items.each(function(i){ var $slide=$(self.slides.$items[i]), tempCSS={}; var dataWidth=$slide.attr("data-width") ? parseFloat($slide.attr("data-width")):$slide.width(), dataHeight=$slide.attr("data-height") ? parseFloat($slide.attr("data-height")):$slide.height(); if(dataWidth > 0&&dataHeight > 0){ self.slides.ratio[i]=dataWidth / dataHeight; }else{ self.slides.ratio[i]=1; }; if(typeof self.wrap.height==="number"){ self.slides.width[i]=self.wrap.height * self.slides.ratio[i]; tempCSS.width=self.slides.width[i]; tempCSS.height=self.slides.width[i] / self.slides.ratio[i]; } else if(dataWidth > 0&&dataHeight > 0){ if(!self.slides.width[i]) tempCSS.width=self.slides.width[i]=dataWidth; if(!self.slides.height[i]){ tempCSS.height="100%"; }; self.slides.height[i]=dataHeight; }else{ $slide.css("height", "auto"); self.slides.width[i]=$slide.width(); self.slides.height[i]=$slide.height(); tempCSS.height="100%"; }; self.slides.position[i]=- self.cont.width; self.cont.width=self.cont.width + self.slides.width[i]; if(i < self.slides.number - 1) self.cont.width +=self.st.sidePaddings tempCSS.left=-self.slides.position[i] if(!self.slides.isLoaded[i]){ $slide.find("img").loaded(false, function(){ self.slides.isLoaded[i]=true; $slide.addClass("ts-loaded"); }, true); }else{ }; $slide.css(tempCSS); }); } else if(self.st.mode.type==="carousel"){ self.cont.width=0; var perView=self.st.mode.perView, minWidth=self.st.mode.minWidth, cellWidth=self.wrap.width/perView; while (cellWidth < minWidth&&perView > 0.31){ perView--; if(perView < 1) perView=1; cellWidth=self.wrap.width/perView; }; self.perView=perView; self.slides.$items.each(function(i){ var $slide=$(self.slides.$items[i]), tempCSS={}; self.slides.position[i]=- self.cont.width; self.cont.width=self.cont.width + cellWidth; tempCSS.width=cellWidth - self.st.sidePaddings; tempCSS.left=-self.slides.position[i] + self.st.sidePaddings/2; $slide.css(tempCSS); }); }; if((self.st.mode.type!=="centered")&&(self.cont.width <=self.wrap.width)){ self.noSlide=true; self._transitionStart(0, 0, "easeInOutSine", true); self.cont.$el.css("left", (self.wrap.width - self.cont.width) / 2); self.lockLeft=true; self.lockRight=true; self.ev.trigger("updateNav"); } else if((self.st.mode.type==="centered")&&(self.slides.number < 2) ){ self.noSlide=true; self._transitionStart(0, 0, "easeInOutSine", true); self.cont.$el.css("left", -(self.cont.width) / 2); self.lockLeft=true; self.lockRight=true; self.ev.trigger("updateNav"); }else{ self.noSlide=false; self.cont.$el.css("left", ""); if(self.lockRight){ self.lockLeft=false; self.lockRight=true; self.ev.trigger("lockRight").trigger("updateNav"); } else if(self.currSlide <=0){ self.lockLeft=true; self.lockRight=false; self.ev.trigger("lockLeft").trigger("updateNav"); } else if(self.currSlide > 0){ self.lockLeft=false; self.lockRight=false; self.ev.trigger("updateNav"); };}; }, _unifiedEvent: function(event){ if(event.originalEvent.touches!==undefined&&event.originalEvent.touches[0]){ event.pageX=event.originalEvent.touches[0].pageX; event.pageY=event.originalEvent.touches[0].pageY; } return event; }, _unifiedX: function(){ var self=this, coord=0, css3dTransform=self.cont.$el.css("transform"); if(css3dTransform){ var css3dArray=css3dTransform.split(", "); } if(self.features.css3d&&css3dTransform!=="none"&&css3dArray[0]==="matrix(1"){ coord=parseFloat(css3dArray[4]); } else if(self.features.css3d&&css3dTransform!=="none"&&css3dArray[0]==="matrix3d(1"){ coord=parseFloat(css3dArray[12]); }else{ coord=parseFloat(self.cont.$el.css("left")); }; return coord; }, _bindEvents: function(){ var self=this; self.wrap.$el.on("mousedown.theSlider touchstart.theSlider", function(event){ if(event.type!="touchstart") event.preventDefault(); self._onStart(self._unifiedEvent(event)); $(document).on("mousemove.theSlider touchmove.theSlider", function(event){ self._onMove(self._unifiedEvent(event)); }); $(document).on("mouseup.theSlider mouseleave.theSlider touchend.theSlider touchcancel.theSlider", function(event){ $(document).off("mousemove.theSlider mouseup.theSlider mouseleave.theSlider touchmove.theSlider touchend.theSlider touchcancel.theSlider"); self._onStop(self._unifiedEvent(event)); }); }); }, _unbindEvents: function(){ var self=this; self.wrap.$el.off("mousedown.theSlider touchstart.theSlider"); $(document).off("mousemove.theSlider mouseup.theSlider mouseleave.theSlider touchmove.theSlider touchend.theSlider touchcancel.theSlider"); }, _onStart: function(event){ var self=this; if(!self.drag.isMoving&&!self.sliderLock){ self.drag.isMoving=true; self.drag.startX=event.pageX; self.drag.startY=event.pageY; self.cont.startX=self._unifiedX(); self.drag.offsetX=0; self.drag.offsetY=0; self.drag.lockX=false; self.drag.lockY=false; }else{ };}, _onMove: function(event){ var self=this, coord=0; if(self.drag.isMoving){ self.drag.offsetX=event.pageX - self.drag.startX; self.drag.offsetY=event.pageY - self.drag.startY; if((Math.abs(self.drag.offsetX) >=self.st.threshold-1)&&(Math.abs(self.drag.offsetX) > Math.abs(self.drag.offsetY))&&!self.drag.lockX){ self.drag.lockX=false; self.drag.lockY=true; if(event.type=="touchmove") self.drag.offsetY=0; } else if((Math.abs(self.drag.offsetY) >=self.st.threshold-1)&&(Math.abs(self.drag.offsetX) < Math.abs(self.drag.offsetY))&&!self.drag.lockY){ self.drag.lockX=true; self.drag.lockY=false; if(event.type=="touchmove") self.drag.offsetX=0; }; if(self.drag.lockX&&event.type=="touchmove") self.drag.offsetX=0; else if(self.drag.lockY&&event.type=="touchmove") self.drag.offsetY=0; if(self.drag.lockY) event.preventDefault(); self.cont.instantX=self.cont.startX + self.drag.offsetX; if(self.cont.instantX < 0&&self.cont.instantX > -self.cont.width + self.viewport.width()){ coord=self.cont.instantX; } else if(self.cont.instantX >=0){ coord=self.cont.instantX/4; }else{ coord=(-self.cont.width + self.viewport.width()) + ((self.cont.width - self.viewport.width() + self.cont.instantX) / 4); }; self._doDrag(coord); }; if(self.st.autoPlay.enabled){ self.pause(); };}, _onStop: function(event){ var self=this; if(self.drag.isMoving){ self.cont.instantX=self.cont.startX + self.drag.offsetX; if(Math.abs(self.drag.offsetX) > self.st.threshold){ self.wrap.$el.addClass("ts-interceptClicks"); self.wrap.$el.one("click.preventClick", function(e){ e.preventDefault(); e.stopImmediatePropagation(); e.stopPropagation(); }); window.setTimeout(function(){ self.wrap.$el.off('click.preventClick'); self.wrap.$el.removeClass("ts-interceptClicks"); }, 301); }; self._autoAdjust(); self._setSliderHeight(); self.cont.startX=0; self.cont.instantX=0; self.drag.isMoving=false; self.drag.startX=0; self.drag.startY=0; self.drag.offsetX=0; self.drag.offsetY=0; self.drag.lockX=false; self.drag.lockY=false; }; if(self.st.autoPlay.enabled){ self.play(); } return false; }, _doDrag: function(coord){ var self=this; if(self.features.css3d){ var tempCSS={}; tempCSS[self.features.vendor+"transform"]="translate3d("+coord+"px,0,0)"; tempCSS["transform"]="translate3d("+coord+"px,0,0)"; tempCSS[self.vendor+"transition"]=""; tempCSS["transition"]=""; self.cont.$el.css(tempCSS); }else{ self.cont.$el.css({ "left": coord }); };}, _calcCurrSlide: function(coord){ var self=this, tempCurrSlide=self.slides.number - 1; self.slides.$items.each(function(i){ if(coord > self.slides.position[i]){ tempCurrSlide=i-1; return false; };}); if(tempCurrSlide < 0) tempCurrSlide=0; return tempCurrSlide; }, _isRightExceed: function(coord){ var self=this, edge=0; if(self.st.mode.type==="centered"){ edge=self.slides.position[self.slides.number - 1]; }else{ edge=-self.cont.width + self.viewport.width(); }; if(coord < edge){ return true; }else{ return false; };}, _autoAdjust: function(){ var self=this, adjustTo=0, duration=0, tempCurrSlide=self.slides.number - 1; if(self.cont.instantX >=0){ adjustTo=self.slides.position[0]; self.currSlide=0; self.lockLeft=true; self.lockRight=false; self.ev.trigger("lockLeft").trigger("updateNav"); } else if(self._isRightExceed(self.cont.instantX)){ if(self.st.mode.type==="centered"){ adjustTo=self.slides.position[self.slides.number-1]; }else{ adjustTo=-self.cont.width + self.viewport.width(); }; self.currSlide=self._calcCurrSlide(adjustTo); self.lockLeft=false; self.lockRight=true; self.ev.trigger("lockRight").trigger("updateNav"); }else{ if(self.drag.offsetX < -self.st.threshold){ tempCurrSlide=self._calcCurrSlide(self.cont.instantX) + 1; if(self._isRightExceed(self.slides.position[tempCurrSlide])){ adjustTo=-self.cont.width + self.viewport.width(); for(i=tempCurrSlide; i >=0; i--){ if(!self._isRightExceed(self.slides.position[i])){ tempCurrSlide=i; break; }} self.lockLeft=false; self.lockRight=true; self.ev.trigger("lockRight").trigger("updateNav"); }else{ adjustTo=self.slides.position[tempCurrSlide]; if(tempCurrSlide < self.slides.number - 1){ self.lockLeft=false; self.lockRight=false; self.ev.trigger("updateNav"); }else{ self.lockLeft=false; self.lockRight=true; self.ev.trigger("lockRight").trigger("updateNav"); };}; self.currSlide=tempCurrSlide; } else if(self.drag.offsetX > self.st.threshold){ self.currSlide=self._calcCurrSlide(self.cont.instantX); adjustTo=self.slides.position[self.currSlide]; if(self.currSlide > 0){ self.lockLeft=false; self.lockRight=false; self.ev.trigger("updateNav"); }else{ self.lockLeft=true; self.lockRight=false; self.ev.trigger("lockLeft").trigger("updateNav"); };}else{ adjustTo=self.cont.startX; };}; duration=Math.sqrt(Math.abs(self.cont.instantX - adjustTo)) * 10 + 100; self._transitionStart(adjustTo, duration, "easeOutSine"); }, _transitionStart: function(coord, duration, easing, justSet){ var self=this, tempCSS={}, cssEasing=$.rsCSS3Easing[easing]; self._transitionEnd(); self.ev.trigger("beforeTransition"); if(justSet){ if(self.features.css3d){ tempCSS[self.features.vendor+"transform"]="translate3d("+coord+"px,0,0)"; tempCSS["transform"]="translate3d("+coord+"px,0,0)"; }else{ tempCSS.left=coord; }; self.cont.$el.css(tempCSS); return false; } self.ev.trigger("beforeTransition"); self.sliderLock=true; clearTimeout(self.lockTimeout); self.lockTimeout=setTimeout(function(){ self.sliderLock=false; self.ev.trigger("afterTransition"); }, duration); if(self.features.css3d){ tempCSS[self.features.vendor+"transform"]="translate3d("+coord+"px,0,0)"; tempCSS["transform"]="translate3d("+coord+"px,0,0)"; tempCSS[self.features.vendor+"transition"]="all "+duration+"ms "+cssEasing; tempCSS["transition"]="all "+duration+"ms "+cssEasing; self.cont.$el.css(tempCSS); self.cont.$el.one("webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend", function(){ }); }else{ self.cont.$el.animate({ "left": coord }, duration, easing); };}, _transitionEnd: function(){ var self=this; if(self.features.css3d){ var tempCSS={}; tempCSS[self.vendor+"transition"]=""; tempCSS["transition"]=""; self.cont.$el.css(tempCSS); }else{ self.cont.$el.stop(); };}, _transitionCancel: function(){ var self=this, coord=self.cont.$el.position().left, tempCSS={}; tempCSS[self.vendor+"transition"]=""; tempCSS["transition"]=""; self.cont.$el.off("webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend"); if(self.features.css3d){ var str=self.cont.$el.css("transform"), result=str.split(", "); coord=result[4]; tempCSS[self.features.vendor+"transform"]="translate3d("+coord+"px,0,0)"; tempCSS["transform"]="translate3d("+coord+"px,0,0)"; self.cont.$el.css(tempCSS); }else{ self.cont.$el.stop(); self.cont.$el.animate({ "left": coord }, duration, easing); };}, pause: function(){ var self=this; self._autoPlayRunning=false; if(self._autoPlayTimeout){ clearTimeout(self._autoPlayTimeout); self._autoPlayTimeout=null; }}, slideTo: function(slideID, justSet){ var self=this, slideToX=self.slides.position[slideID], duration=0, oldID=self.currSlide; self.pause(); if(self.noSlide) return false; self._transitionEnd(); if(slideToX >=self.slides.position[0]){ self.currSlide=0; self.lockLeft=true; self.lockRight=false; self.ev.trigger("lockLeft").trigger("updateNav"); } else if(self._isRightExceed(slideToX)||slideID >=self.slides.number - 1){ if(self.st.mode.type==="centered"){ slideToX=self.slides.position[slideID]; self.currSlide=slideID; }else{ slideToX=-self.cont.width + self.viewport.width(); self.currSlide=self._calcCurrSlide(slideToX); }; self.lockLeft=false; self.lockRight=true; self.ev.trigger("lockRight").trigger("updateNav"); }else{ self.currSlide=slideID; self.lockLeft=false; self.lockRight=false; self.ev.trigger("updateNav"); }; duration=Math.sqrt(Math.abs(self.slides.position[oldID] - slideToX)) * 10 + 100; self._transitionStart(slideToX, duration, "easeInOutSine", justSet); if(self.st.autoPlay.enabled){ self.play(); }}, startPlay: function(){ var self=this; if(self.currSlide + 1 <=self.slides.number - 1&&!self.lockRight){ self.slideTo(self.currSlide + 1); } else if(self.currSlide >=self.slides.number-1&&self.st.autoPlay.loop){ self.slideTo(0); } else if(self.lockRight&&self.st.autoPlay.loop){ self.slideTo(0); } }, play: function(){ var self=this; self._autoPlayRunning=true; if(self._autoPlayTimeout){ clearTimeout(self._autoPlayTimeout); } self._autoPlayTimeout=setTimeout(function(){ self.startPlay(); }, self.st.autoPlay.delay); }, slideNext: function(){ var self=this; if(self.currSlide + 1 <=self.slides.number - 1){ self.slideTo(self.currSlide + 1); }else{ return false; };}, slidePrev: function(){ var self=this; if(self.currSlide - 1 >=0){ self.slideTo(self.currSlide - 1); } else if(self.currSlide==0&&self.lockLeft==false){ self.slideTo(self.currSlide); }else{ return false; };}, update: function(){ var self=this; self._calcSliderSize(); self._setSliderWidth(); self._adjustSlides(); self._setSliderHeight(); self._doDrag(); if(self.noSlide){ self.slideTo(0, true); self._unbindEvents(); }else{ self.slideTo(self.currSlide, true); self._bindEvents(); }} }; $.fn.thePhotoSlider=function(settings){ return this.each(function(){ new $.thePhotoSlider(this, settings); }); }; var $photoScroller=$(".photo-scroller"); if($photoScroller.length > 0){ $.fn.photoSlider=function(){ var $el=$(this), slides={}, thumbs=""; $elParent=$el.parents(".photo-scroller"); slides.$items=$el.children("figure"); slides.count=slides.$items.length; slides.$items.each(function(i){ var $this=$(this), $slide=$this.children().first().remove(), src=$slide.attr("href"), $thumbImg=$slide.children("img"), thumbSrc=$thumbImg.attr("src"), thumbDataSrc=$thumbImg.attr("data-src"), thumbDataSrcset=$thumbImg.attr("data-srcset"), thumbClass=$thumbImg.attr("class"); if($thumbImg.hasClass("lazy-load")){ var $layzrBg="layzr-bg"; }else{ var $layzrBg=""; } $this.find("figcaption").addClass("caption-" + (i+1) + ""); var $thisCaptionClone=$(this).find("figcaption").clone(true); $(".slide-caption").append($thisCaptionClone); if(parseInt($elParent.attr("data-thumb-width")) > 0){ var thisWidth=parseInt($elParent.attr("data-thumb-width")), thisHeight=parseInt($elParent.attr("data-thumb-height")); $elParent.removeClass("proportional-thumbs"); }else{ var thisWidth=parseInt($thumbImg.attr("width")), thisHeight=parseInt($thumbImg.attr("height")); $elParent.addClass("proportional-thumbs"); }; thumbs=thumbs + '
'; $this.prepend('
'); }); $elParent.append('') $el.addClass("ts-cont"); $el.wrap('
'); var $slider=$el.parents(".ts-wrap"), windowW=$window.width(), $sliderPar=$elParent, $sliderAutoslide=($sliderPar.attr("data-autoslide")=="true") ? true:false, $sliderAutoslideDelay=($sliderPar.attr("data-delay")&&parseInt($sliderPar.attr("data-delay")) > 999) ? parseInt($sliderPar.attr("data-delay")):5000, $sliderLoop=($sliderPar.attr("data-loop")==="true") ? true:false, $thumbHeight=$sliderPar.attr("data-thumb-height") ? parseInt($sliderPar.attr("data-thumb-height"))+10:80+10, $slideOpacity=$sliderPar.attr("data-transparency") ? $sliderPar.attr("data-transparency"):0.5, $adminBarH=$("#wpadminbar").length > 0? $("#wpadminbar").height():0; var dataLsMin=$sliderPar.attr("data-ls-min") ? parseInt($sliderPar.attr("data-ls-min")):0, dataLsMax=$sliderPar.attr("data-ls-max") ? parseInt($sliderPar.attr("data-ls-max")):100, dataLsFillDt=$sliderPar.attr("data-ls-fill-dt") ? $sliderPar.attr("data-ls-fill-dt"):"fill", dataLsFillMob=$sliderPar.attr("data-ls-fill-mob") ? $sliderPar.attr("data-ls-fill-mob"):"fit", dataPtMin=$sliderPar.attr("data-pt-min") ? parseInt($sliderPar.attr("data-pt-min")):0, dataPtMax=$sliderPar.attr("data-pt-max") ? parseInt($sliderPar.attr("data-pt-max")):100, dataPtFillDt=$sliderPar.attr("data-pt-fill-dt") ? $sliderPar.attr("data-pt-fill-dt"):"fill", dataPtFillMob=$sliderPar.attr("data-pt-fill-mob") ? $sliderPar.attr("data-pt-fill-mob"):"fit", dataSidePaddings=$sliderPar.attr("data-padding-side") ? parseInt($sliderPar.attr("data-padding-side")):0; if(dataLsMax <=0) dataLsMax=100; if(dataPtMax <=0) dataPtMax=100; if(dataLsMax < dataLsMax) dataLsMax=dataLsMax; if(dataPtMax < dataPtMax) dataPtMax=dataPtMax; $slider.addClass("ts-ls-"+dataLsFillDt).addClass("ts-ls-mob-"+dataLsFillMob); $slider.addClass("ts-pt-"+dataPtFillDt).addClass("ts-pt-mob-"+dataPtFillMob); $slider.find(".ts-slide-img").css({ "opacity": $slideOpacity }); $slider.find(".video-icon").css({ "opacity": $slideOpacity }); var $slideTopPadding=($sliderPar.attr("data-padding-top")&&windowW > 760) ? $sliderPar.attr("data-padding-top"):0, $slideBottomPadding=($sliderPar.attr("data-padding-bottom")&&windowW > 760) ? $sliderPar.attr("data-padding-bottom"):0; var $sliderVP=$slider.find(".ts-viewport"); $sliderVP.css({ "margin-top": $slideTopPadding+"px", "margin-bottom": $slideBottomPadding+"px" }); $window.on("debouncedresize", function(){ if($sliderPar.attr("data-padding-top")&&$window.width() > 760){ $slideTopPadding=$sliderPar.attr("data-padding-top"); }else{ $slideTopPadding=0; }; if($sliderPar.attr("data-padding-bottom")&&$window.width() > 760){ $slideBottomPadding=$sliderPar.attr("data-padding-bottom"); }else{ $slideBottomPadding=0; }; if($window.width() > 760){ $sliderVP.css({ "margin-top": $slideTopPadding+"px", "margin-bottom": $slideBottomPadding+"px" }); }else{ $sliderVP.css({ "margin-top": 0+"px", "margin-bottom": 0+"px" }); };}); var $sliderData=$slider.thePhotoSlider({ mode: { type: "centered", lsMinW: dataLsMin, lsMaxW: dataLsMax, ptMinW: dataPtMin, ptMaxW: dataPtMax, }, height: function(){ var $windowH=$window.height(), $adminBarH=$("#wpadminbar").height(); if($(".mixed-header").length > 0){ var $headerH=$(".mixed-header").height(); }else{ var $headerH=$(".masthead").height(); } if($body.hasClass("transparent")||$slider.parents(".photo-scroller").hasClass("full-screen")){ if(window.innerWidth < dtLocal.themeSettings.mobileHeader.secondSwitchPoint){ return ($windowH - $slideTopPadding - $slideBottomPadding - $headerH - $adminBarH); }else{ return ($windowH - $slideTopPadding - $slideBottomPadding - $adminBarH); };}else if($(".mixed-header").length > 0||$slider.parents(".photo-scroller").hasClass("full-screen")){ if(window.innerWidth < dtLocal.themeSettings.mobileHeader.firstSwitchPoint){ return ($windowH - $slideTopPadding - $slideBottomPadding - $headerH - $adminBarH); }else{ if($(".side-header-h-stroke").length > 0){ return ($windowH - $slideTopPadding - $slideBottomPadding - $headerH - $adminBarH); }else{ return ($windowH - $slideTopPadding - $slideBottomPadding - $adminBarH); }};}else if($(".side-header").length > 0||$slider.parents(".photo-scroller").hasClass("full-screen")){ if(window.innerWidth < dtLocal.themeSettings.mobileHeader.firstSwitchPoint){ return ($windowH - $slideTopPadding - $slideBottomPadding - $headerH - $adminBarH); }else{ return ($windowH - $slideTopPadding - $slideBottomPadding - $adminBarH); };}else{ if(window.innerWidth < dtLocal.themeSettings.mobileHeader.firstSwitchPoint){ return ($windowH - $slideTopPadding - $slideBottomPadding - $headerH - $adminBarH); }else{ return ($windowH - $slideTopPadding - $slideBottomPadding - $headerH - $adminBarH); };}; }, sidePaddings: dataSidePaddings, autoPlay: { enabled: $sliderAutoslide, delay: $sliderAutoslideDelay, loop: $sliderLoop }}).data("thePhotoSlider"); var $thumbsScroller=$('
'+thumbs+'
'); $slider.after($thumbsScroller); var $thumbsScrollerData=$thumbsScroller.thePhotoSlider({ mode: { type: "scroller" }, height: $thumbHeight }).data("thePhotoSlider"); $(".prev", $this_par).click(function(){ if(!$sliderData.noSlide) $sliderData.slidePrev(); }); $(".next", $this_par).click(function(){ if(!$sliderData.noSlide) $sliderData.slideNext(); }); $sliderData.ev.on("updateNav sliderReady", function(){ if($sliderData.lockRight){ $(".next", $elParent).addClass("disabled"); }else{ $(".next", $elParent).removeClass("disabled"); }; if($sliderData.lockLeft){ $(".prev", $elParent).addClass("disabled"); }else{ $(".prev", $elParent).removeClass("disabled"); };}); window.addEventListener("keydown", checkKeyPressed, false); function checkKeyPressed(e){ if(e.keyCode=="37"){ if(!$sliderData.noSlide) $sliderData.slidePrev(); }else if(e.keyCode=="39"){ if(!$sliderData.noSlide) $sliderData.slideNext(); }} $sliderData.ev.on("sliderReady beforeTransition", function(){ $sliderData.slides.$items.removeClass("act"); $sliderData.slides.$items.eq($sliderData.currSlide).addClass("act"); $thumbsScrollerData.slides.$items.removeClass("act"); $thumbsScrollerData.slides.$items.eq($sliderData.currSlide).addClass("act"); if($sliderData.slides.$items.eq($sliderData.currSlide).hasClass("ts-video")){ $sliderData.slides.$items.parents(".ts-wrap ").addClass("hide-slider-overlay"); }else if($sliderData.slides.$items.eq($sliderData.currSlide).find(".ps-link").length > 0){ $sliderData.slides.$items.parents(".ts-wrap ").addClass("hide-slider-overlay"); }else{ $sliderData.slides.$items.parents(".ts-wrap ").removeClass("hide-slider-overlay"); }; var actCaption=$sliderData.slides.$items.eq($sliderData.currSlide).find("figcaption").attr("class"); $('.slide-caption > figcaption').removeClass("actCaption"); $('.slide-caption > .'+actCaption).addClass("actCaption"); }); $sliderData.ev.on("afterTransition", function(){ var viewportLeft=-($thumbsScrollerData._unifiedX()), viewportRight=viewportLeft + $thumbsScrollerData.wrap.width, targetLeft=-$thumbsScrollerData.slides.position[$sliderData.currSlide], targetRight=targetLeft + $thumbsScrollerData.slides.width[$sliderData.currSlide]; targetLeft=targetLeft - 50; targetRight=targetRight + 50; if(targetLeft < viewportLeft){ for (i=$thumbsScrollerData.currSlide; i >=0; i--){ targetLeft=targetLeft + 50; targetRight=targetRight - 50; var tempViewportLeft=-$thumbsScrollerData.slides.position[i], tempViewportRight=tempViewportLeft + $thumbsScrollerData.wrap.width; if(targetRight > tempViewportRight){ $thumbsScrollerData.slideTo(i+1); break; } else if(i===0){ $thumbsScrollerData.slideTo(0); }} } else if(targetRight > viewportRight){ $thumbsScrollerData.slideTo($sliderData.currSlide); };}); $thumbsScroller.addClass("scroller-thumbnails"); $thumbsScrollerData.slides.$items.each(function(i){ $(this).on("click", function(event){ var $this=$(this); if($this.parents(".ts-wrap").hasClass("ts-interceptClicks")) return; $sliderData.slideTo(i); }); }); $(".scroller-thumbnails").layzrInitialisation(); $sliderData.slides.$items.each(function(i){ $(this).on("click", function(event){ var $this=$(this); if($this.parents(".ts-wrap").hasClass("ts-interceptClicks")) return; $sliderData.slideTo(i); }); }); var $this_par=$slider.parents(".photo-scroller"); if($sliderData.st.autoPlay.enabled){ $(".auto-play-btn", $this_par).addClass("paused"); } $(".auto-play-btn", $this_par).on("click", function(e){ e.preventDefault(); var $this=$(this); if($this.hasClass("paused")){ $this.removeClass("paused"); if(!$sliderData.noSlide) $sliderData.pause(); $sliderData.st.autoPlay.enabled=false; }else{ $this.addClass("paused"); if(!$sliderData.noSlide) $sliderData.play(); $sliderData.st.autoPlay.enabled=true; }}); }; $(".photoSlider").photoSlider(); $(".photoSlider").parents(".photo-scroller").css("visibility", "visible"); function launchFullscreen(element){ if(element.requestFullscreen){ element.requestFullscreen(); }else if(element.mozRequestFullScreen){ element.mozRequestFullScreen(); }else if(element.webkitRequestFullscreen){ element.webkitRequestFullscreen(); }else if(element.msRequestFullscreen){ element.msRequestFullscreen(); }} function exitFullscreen(){ if(document.exitFullscreen){ document.exitFullscreen(); }else if(document.mozCancelFullScreen){ document.mozCancelFullScreen(); }else if(document.webkitExitFullscreen){ document.webkitExitFullscreen(); }}; if(!dtGlobals.isWindowsPhone){ $(".full-screen-btn").each(function(){ var $this=$(this), $thisParent=$this.parents(".photo-scroller"); document.addEventListener("fullscreenchange", function (){ if(!document.fullscreen){ $this.removeClass("act"); $thisParent.removeClass("full-screen"); $("body, html").css("overflow", ""); }}, false); document.addEventListener("mozfullscreenchange", function (){ if(!document.mozFullScreen){ $this.removeClass("act"); $thisParent.removeClass("full-screen"); $("body, html").css("overflow", ""); }}, false); document.addEventListener("webkitfullscreenchange", function (){ if(!document.webkitIsFullScreen){ $this.removeClass("act"); $thisParent.removeClass("full-screen"); $("body, html").css("overflow", ""); var scroller=$frame.data("thePhotoSlider"); if(typeof scroller!="undefined"){ scroller.update(); };}}, false); }) $(".full-screen-btn").on("click", function(e){ e.preventDefault(); var $this=$(this), $thisParent=$this.parents(".photo-scroller"), $frame=$thisParent.find(".ts-wrap"), $thumbs=$thisParent.find(".scroller-thumbnails").data("thePhotoSlider"), $scroller=$frame.data("thePhotoSlider"); $this.parents(".photo-scroller").find("figure").animate({"opacity": 0},150); if($this.hasClass("act")){ $this.removeClass("act"); exitFullscreen(); $thisParent.removeClass("full-screen"); setTimeout(function(){ $this.parents(".photo-scroller").find("figure").delay(600).animate({"opacity": 1},300) }, 300); }else{ $this.addClass("act"); $thisParent.addClass("full-screen"); launchFullscreen(document.documentElement); $("body, html").css("overflow", "hidden"); setTimeout(function(){ $this.parents(".photo-scroller").find("figure").delay(600).animate({"opacity": 1},300) }, 300) } var scroller=$frame.data("thePhotoSlider"); if(typeof scroller!="undefined"){ scroller.update(); };}); } $photoScroller.each(function(){ var $this=$(this); $(".btn-cntr, .slide-caption", $this).css({ "bottom": parseInt($this.attr("data-thumb-height")) + 15 }); if($this.hasClass("hide-thumbs")){ $this.find(".hide-thumb-btn").addClass("act"); $(".scroller-thumbnails", $this).css({ "bottom": -(parseInt($this.attr("data-thumb-height")) +20) }); $(".btn-cntr, .slide-caption", $this).css({ "bottom": 5 + "px" }); }}); $(".hide-thumb-btn").on("click", function(e){ e.preventDefault(); var $this=$(this), $thisParent=$this.parents(".photo-scroller"); if($this.hasClass("act")){ $this.removeClass("act"); $thisParent.removeClass("hide-thumbs"); $(".scroller-thumbnails", $thisParent).css({ "bottom": 0 }); $(".btn-cntr, .slide-caption", $thisParent).css({ "bottom": parseInt($thisParent.attr("data-thumb-height")) + 15 }); }else{ $this.addClass("act"); $thisParent.addClass("hide-thumbs"); $(".scroller-thumbnails", $thisParent).css({ "bottom": -(parseInt($thisParent.attr("data-thumb-height")) +20) }); $(".btn-cntr, .slide-caption", $thisParent).css({ "bottom": 5 + "px" }); }}); }; $(".fullwidth-slider .fs-entry").not(".text-on-img .fullwidth-slider .fs-entry").each(function(i){ var $this=$(this), $img=$this.find("img").eq(0), imgW=parseInt($img.attr("width")), imgH=parseInt($img.attr("height")); if(!$img.exists()) imgW=280; var leftPadding=parseInt($img.parents(".wf-td").eq(0).css("paddingLeft")), rightPadding=parseInt($img.parents(".wf-td").eq(0).css("paddingRight")), addedW=0; if(leftPadding > 0&&rightPadding > 0) addedW=leftPadding + rightPadding; $this.attr("data-width", imgW + addedW).css({ width: imgW + addedW, opacity: 1 }); var $imgPar=$img.parent("a"), imgParW=$imgPar.width(), imgParH=(imgH * imgParW) / imgW; $img.parent("a").css({ height: imgParH }); $(".fs-entry-content:not(.buttons-on-img)", $this).css("opacity", "1"); }).find("article").css("height", "100%"); $(".text-on-img .fullwidth-slider .fs-entry, .description-on-hover .fs-entry, .dt-photos-shortcode .fs-entry").each(function(){ var $this=$(this); $(".rollover-project", $this).css({ "width": $this.attr("data-width"), "height": $this.attr("data-height") }); }); $.fn.shortcodesScroller=function(){ var $el=$(this), slides={}, thumbs=""; slides.$items=$el.children(".fs-entry"), slides.count=slides.$items.length; $el.addClass("ts-cont"); $el.wrap('
'); var scroller=$el.parents(".ts-wrap"), $this_par=$el.parents(".slider-wrapper"), windowW=$window.width(), paddings=$this_par.attr("data-padding-side") ? parseInt($this_par.attr("data-padding-side")):0, $sliderAutoslide=('true'===$this_par.attr("data-autoslide")) ? true:false, $sliderAutoslideDelay=$this_par.attr("data-delay")&&parseInt($this_par.attr("data-delay")) > 999 ? parseInt($this_par.attr("data-delay")):5000, $sliderLoop=('true'===$this_par.attr("data-loop")) ? true:false; var $sliderData=scroller.thePhotoSlider({ mode: { type: "scroller" }, sidePaddings: paddings, autoPlay: { enabled: $sliderAutoslide, delay: $sliderAutoslideDelay, loop: $sliderLoop }}).data("thePhotoSlider"); $(".prev", $this_par).click(function(){ if(!$sliderData.noSlide) $sliderData.slidePrev(); }); $(".next", $this_par).click(function(){ if(!$sliderData.noSlide) $sliderData.slideNext(); }); $sliderData.ev.on("updateNav sliderReady", function(){ if($sliderData.lockRight){ $(".next", $this_par).addClass("disabled"); }else{ $(".next", $this_par).removeClass("disabled"); }; if($sliderData.lockLeft){ $(".prev", $this_par).addClass("disabled"); }else{ $(".prev", $this_par).removeClass("disabled"); }; if($sliderData.lockRight&&$sliderData.lockLeft){ $this_par.addClass("hide-arrows"); };}); scroller.hover(function(){ if($sliderAutoslide){ $sliderData._autoPlayPaused=false; $sliderData.pause(); $sliderData._pausedByHover=true; }}, function(){ if($sliderAutoslide){ $sliderData._pausedByHover=false; if(!$sliderData._pausedByClick){ $sliderData.play(); }} } ); }; $(".slider-wrapper .blog-media").css({ "height": "" }); $(".fullwidth-slider ul.clearfix").each(function(){ $(this).shortcodesScroller(); }); var $sliderWrapper=$(".slider-wrapper"); $sliderWrapper.css("visibility", "visible"); $sliderWrapper.each(function(){ var $this=$(this), $thisUl=$this.find(".ts-wrap").data("thePhotoSlider"); $this.append('
'); $this.on("mouseenter", function(e){ $this.addClass("show-arrows"); }); $this.on("mouseleave", function(e){ $this.removeClass("show-arrows"); }); if($thisUl.st.autoPlay.enabled){ $(".auto-play-btn", $this).addClass("paused"); } $(".auto-play-btn", $this).on("click", function(e){ e.preventDefault(); var $this=$(this); if($this.hasClass("paused")){ $this.removeClass("paused"); $thisUl._pausedByClick=true; if(!$thisUl.noSlide) $thisUl.pause(); $thisUl.st.autoPlay.enabled=false; }else{ $this.addClass("paused"); $thisUl._pausedByClick=false; if(!$thisUl.noSlide) $thisUl.play(); $thisUl.st.autoPlay.enabled=true; }}); }); var $overlayHeader=$(".overlay-navigation"), $stickyHeader=$(".sticky-header"), $mainSlider=$("#main-slideshow, .photo-scroller"), $leftHeader=$(".header-side-left").length > 0, $rightHeader=$(".header-side-right").length > 0, $main=$("#main, #main-slideshow, .photo-scroller, .page-title, .fancy-header, .footer"), $topHeader=$(".floating-logo.side-header-menu-icon .branding, .side-header-h-stroke, #phantom"), $sideHeader=$(".side-header"), $movesideHeader=$(".move-header-animation").length > 0, $onePage=$(".page-template-template-microsite").length > 0, dtScrollTimeout; if($(".side-header-v-stroke").length > 0){ var $sideHeaderW=$sideHeader.width() - $(".side-header-v-stroke").width(), $delay=200; }else{ var $sideHeaderW=$sideHeader.width(), $delay=0; } $overlapContent=$(".overlap #content"); if( dtGlobals.isMobile){ }else{ $overlapContent.find(">:first-child").css({ position: "relative", "z-index": "4" }); if($overlapContent.find(">:first-child").height() < 36){ $overlapContent.find("> :nth-child(2)").css({ position: "relative", "z-index": "4" }) };}; $.closeSideHeader=function(){ $page.removeClass("show-mobile-header show-header"); $page.addClass("closed-mobile-header closed-header"); $body.removeClass("show-sticky-mobile-header show-sticky-header show-overlay-mobile-header").addClass("closed-overlay-mobile-header"); $(".mobile-sticky-header-overlay, .dt-mobile-menu-icon, .menu-toggle").removeClass("active"); $(".sticky-header-overlay").removeClass("active"); if($movesideHeader){ if($leftHeader){ $sideHeader.velocity({ translateX:-100 + "%" }, 400); }else{ $sideHeader.velocity({ translateX:100 + "%" }, 400); } $main.velocity({ translateX:"" }, 400, function(){ $main.css({ "transform": "none" }); }); $topHeader.velocity({ translateX:"" }, 400); };} if($stickyHeader.length > 0||$overlayHeader.length > 0){ $('
').appendTo(".menu-toggle"); if($stickyHeader.length > 0){ $body.append('
'); if(!$(".side-header-h-stroke").length > 0&&!$(".header-under-side-line").length > 0&&$(".mixed-header").length > 0){ var mixedMenuToggle=$(".mixed-header").find(".menu-toggle").position().top; $(".mixed-header").find(".menu-toggle").clone(true).prependTo(".side-header").css({ top: mixedMenuToggle }); }}; if($movesideHeader){ if($leftHeader){ $sideHeader.velocity({ translateX:-100 + "%" }, 0); }else if($rightHeader){ $sideHeader.velocity({ translateX:100 + "%" }, 0); }}; if($overlayHeader.length > 0){ $($sideHeader).append('
'); $('
').appendTo(".hide-overlay"); } var $hamburger=$(".menu-toggle .lines-button"), $menuToggle=$(".menu-toggle"), $overlay=$(".sticky-header-overlay"); $hamburger.on("click", function (){ if(!$(".header-under-side-line").length > 0){ var $this=$(".side-header .menu-toggle"); }else{ var $this=$(".menu-toggle"); } if($this.hasClass("active")){ $this.removeClass("active"); $page.removeClass("show-header").addClass("closed-header"); $this.parents("body").removeClass("show-sticky-header"); $overlay.removeClass("active"); $(".hide-overlay").removeClass("active"); if($movesideHeader){ if($leftHeader){ $sideHeader.velocity({ translateX:-100 + "%" }, { duration: 400, delay: $delay }); }else{ $sideHeader.velocity({ translateX:100 + "%" }, { duration: 400, delay: $delay }); } if(!$page.hasClass("boxed")){ $main.velocity({ translateX:"" }, 400, function(){ $main.css({ "transform": "none" }); }); $topHeader.velocity({ translateX:"" }, 400); }};}else{ $menuToggle.removeClass("active"); $this.addClass('active'); $page.addClass("show-header").removeClass("closed-header"); $this.parents("body").addClass("show-sticky-header"); $overlay.addClass("active"); $(".hide-overlay").addClass("active"); if($movesideHeader){ if($leftHeader){ $sideHeader.velocity({ translateX:"" }, 400); if(!$page.hasClass("boxed")){ $main.velocity({ translateX:$sideHeaderW }, { duration: 400, delay: $delay }); $topHeader.velocity({ translateX:$sideHeaderW }, { duration: 400, delay: $delay }); }}else{ $sideHeader.velocity({ translateX:"" }, 400); if(!$page.hasClass("boxed")){ $main.velocity({ translateX:-$sideHeaderW }, { duration: 400, delay: $delay }); $topHeader.velocity({ translateX:-$sideHeaderW }, { duration: 400, delay: $delay }); }} }};}); $overlay.on("click", function (){ if($(this).hasClass("active")){ $menuToggle.removeClass("active"); $page.removeClass("show-header").addClass("closed-header"); $body.removeClass("show-sticky-header"); $overlay.removeClass("active"); if($movesideHeader){ if($leftHeader){ $sideHeader.velocity({ translateX:-100 + "%" }, { duration: 400, delay: $delay }); }else{ $sideHeader.velocity({ translateX:100 + "%" }, { duration: 400, delay: $delay }); } $main.velocity({ translateX:"" }, 400, function(){ $main.css({ "transform": "none" }); }); $topHeader.velocity({ translateX:"" }, 400); }} }); $(".hide-overlay").on("click", function (){ if($(this).hasClass("active")){ $menuToggle.removeClass("active"); $page.removeClass("show-header"); $page.addClass("closed-header"); $body.removeClass("show-sticky-header"); $overlay.removeClass("active"); if($movesideHeader){ if($leftHeader){ $sideHeader.velocity({ translateX:-100 + "%" }, { duration: 400, delay: $delay }); }else{ $sideHeader.velocity({ translateX:100 + "%" }, { duration: 400, delay: $delay }); } $main.velocity({ translateX:"" }, 400, function(){ $main.css({ "transform": "none" }); }); $topHeader.velocity({ translateX:"" }, 400); }} }); }; function ofX(){ var $windowW=$window.width(), $boxedHeaderPos=($windowW - $page.innerWidth())/2, $sideHeaderToggleExist=$(".side-header-menu-icon").length > 0; if($body.hasClass("header-side-right")&&$page.hasClass("boxed")){ if(!$stickyHeader.length > 0){ $sideHeader.css({ right: $boxedHeaderPos }); }; if($sideHeaderToggleExist){ $menuToggle.css({ right: $boxedHeaderPos }); $(".branding").css({ left: $boxedHeaderPos }); }}; if($body.hasClass("header-side-left")&&$page.hasClass("boxed")){ if($sideHeaderToggleExist){ $(".floating-logo .branding").css({ right: $boxedHeaderPos }); $menuToggle.css({ left: $boxedHeaderPos }); }}; if($overlayHeader.length > 0&&$sideHeaderToggleExist&&$page.hasClass("boxed")){ $menuToggle.css({ right: $boxedHeaderPos }); $(".floating-logo .branding").css({ left: $boxedHeaderPos }); }}; ofX(); $window.on("resize", function(){ ofX(); }); var position=0; window.clickMenuToggle=function($el, e){ if($(".show-mobile-header").length > 0){ var $menu=$(".dt-mobile-header"); }else{ var $menu=$sideHeader; } if(!$onePage){ if(!$html.hasClass("menu-open")){ position=dtGlobals.winScrollTop; $html.addClass("menu-open"); if(!dtGlobals.isiOS){ $body.css("margin-top", -position); }else{ $window.on("touchstart.dt", function(e){ $window.off("touchmove.dt"); if($menu[0].offsetHeight >=$menu[0].scrollHeight){ $window.on("touchmove.dt", function(e){ e.preventDefault(); }); } else if($menu[0].scrollTop <=0){ $menu[0].scrollTop +=1; } else if($menu[0].scrollTop + $menu[0].offsetHeight >=$menu[0].scrollHeight){ $menu[0].scrollTop -=1; };}); };}else{ $html.removeClass("menu-open"); if(!dtGlobals.isiOS){ $body.css("margin-top", 0); $window.scrollTop(position); }else{ $window.off("touchstart.dt"); $window.off("touchmove.dt"); }};}; }; $body.on('click', '.menu-toggle .lines-button, .sticky-header-overlay, .hide-overlay, .dt-mobile-menu-icon, .dt-close-mobile-menu-icon span, .mobile-sticky-header-overlay, .floating-btn', function(e){ clickMenuToggle($(this), e); }); $(".side-header .header-bar").wrap("
"); if($sideHeader.length > 0&&!dtGlobals.isMobile){ $(".header-scrollbar-wrap").mCustomScrollbar({ scrollInertia:150 }); }; if($sideHeader.length > 0){ if(!$(".mCSB_container").length > 0){ $(".side-header .header-scrollbar-wrap .header-bar").wrap("
"); }} dtGlobals.desktopProcessed=false; dtGlobals.mobileProcessed=false; var headerBelowSliderExists=$(".floating-navigation-below-slider").exists(), bodyTransparent=$body.hasClass("transparent"); $.headerBelowSlider=function(){ if(headerBelowSliderExists){ var $header=$(".masthead:not(.side-header):not(#phantom)"); if(window.innerWidth > dtLocal.themeSettings.mobileHeader.secondSwitchPoint&&!dtGlobals.desktopProcessed){ dtGlobals.desktopProcessed=true; dtGlobals.mobileProcessed=false; if(bodyTransparent){ $header.insertAfter("#main-slideshow, .photo-scroller").velocity({ translateY:-100 + '%' }, 0, function(){ }); $header.css({ "visibility": "visible", "opacity": 1, "top":"auto", }); }else{ $header.insertAfter("#main-slideshow, .photo-scroller").css({ "visibility": "visible", "opacity": 1 }); };} else if(window.innerWidth <=dtLocal.themeSettings.mobileHeader.secondSwitchPoint&&!dtGlobals.mobileProcessed){ dtGlobals.desktopProcessed=false; dtGlobals.mobileProcessed=true; $header.insertBefore("#main-slideshow, .photo-scroller").css({ "visibility": "visible", "opacity": 1, "transform": "", "-webkit-transform":"" }); if(!$(".mobile-header-space").length > 0){ $("
").insertBefore($header); $(".mobile-header-space").css({ height: $header.height() }); };}; };}; $.headerBelowSlider(); var stickyMobileHeaderExists=$(".sticky-mobile-header").exists(); $window.scroll(function (){ if(headerBelowSliderExists&&stickyMobileHeaderExists){ if($body.hasClass("transparent")){ var fixedHeadMobAfter=dtGlobals.winScrollTop > ($mainSlider.height() - $(".masthead:not(.side-header)").height()); }else{ var fixedHeadMobAfter=dtGlobals.winScrollTop > ($mainSlider.height()); } if(fixedHeadMobAfter){ $body.addClass("fixed-mobile-header"); }else{ $body.removeClass("fixed-mobile-header"); }} }) var $mixedHeader=$(".mixed-header"), $mobileWidgets=$(".masthead:not(.side-header) .header-bar .mini-widgets > * ").clone(true), $mobileSideWidgets=$(".side-header .header-bar .mini-widgets ").clone(true), $firstSwitchWidgetsNearLogo=$(".masthead .near-logo-first-switch").clone(true).addClass("show-on-first-switch"), $secondSwitchWidgetsNearLogo=$(".masthead .near-logo-second-switch").clone(true).addClass("show-on-second-switch"), $mobileWidgetsInMenu=$(".masthead").find(".in-menu-first-switch, .in-menu-second-switch").clone(true), $mobileWidgetsNearLogo=$(".masthead").find(".near-logo-first-switch, .near-logo-second-switch ").clone(true).addClass("show-on-second-switch"); if($mixedHeader.length > 0){ var $mobileLogo=$mixedHeader.find(".branding > a, .branding > img").clone(true), $activeHeader=$mixedHeader }else{ var $mobileLogo=$(".masthead:not(.mixed-header)").find(".branding > a, .branding > img").clone(true), $activeHeader=$(".masthead"); } $("
").appendTo(".masthead"); $(".mobile-header-bar .mobile-navigation").append(""); $(".mobile-header-bar .mobile-mini-widgets").append($mobileWidgets); $(".mobile-header-bar .mobile-branding").append($mobileLogo); var $mobileMenu=$(".dt-mobile-header"); if($mobileMenu.siblings().hasClass("dt-parent-menu-clickable")){ $mobileMenu.addClass("dt-parent-menu-clickable"); } $($mobileWidgetsInMenu).appendTo(".mobile-mini-widgets-in-menu"); $($secondSwitchWidgetsNearLogo).appendTo(".mobile-mini-widgets"); $mobileMenu.append($mobileSideWidgets); $(".mobile-main-nav ").find("li").each(function(){ var $this=$(this), $this_sub=$this.find(" > .dt-mega-menu-wrap > .sub-nav"); if($this.hasClass("new-column")){ var $thisPrev=$this.prev().find(" > .sub-nav"); $(" > .sub-nav > *", $this).appendTo($thisPrev) } $this_sub.unwrap(); }).removeClass('dt-mega-menu dt-mega-parent hide-mega-title').find(" > .sub-nav").removeClass("hover-style-click-bg hover-style-bg"); if($mobileMenu.length > 0){ dtGlobals.mobileMenuPoint=50; var $menu=$(".dt-mobile-header"), $Mobilehamburger=$(".dt-mobile-menu-icon"); if(!$(".floating-btn").length > 0&&$(".floating-mobile-menu-icon").length > 0){ var $hamburgerFloat=$Mobilehamburger.first().clone(true); $hamburgerFloat.insertBefore($Mobilehamburger).addClass("floating-btn"); } var $floatMobBtn=$(".floating-btn"); $window.scroll(function (){ dtGlobals.mobileMenuPoint=$activeHeader.offset().top + $activeHeader.height() + 50; if(dtGlobals.winScrollTop > dtGlobals.mobileMenuPoint){ $floatMobBtn.parents(".masthead").addClass("show-floating-icon"); }else{ $floatMobBtn.parents(".masthead").removeClass("show-floating-icon"); }}); var $Mobilehamburger=$(".dt-mobile-menu-icon"); if(!$(".mobile-sticky-header-overlay").length > 0){ $body.append('
'); } var $mobileOverlay=$(".mobile-sticky-header-overlay"); $Mobilehamburger.on("click", function (e){ e.preventDefault(); var $this=$(this); if($this.hasClass("active")){ $this.removeClass("active"); $page.removeClass("show-mobile-header").addClass("closed-mobile-header"); $body.removeClass("show-mobile-overlay-header").addClass("closed-overlay-mobile-header"); $this.parents("body").removeClass("show-sticky-mobile-header"); $mobileOverlay.removeClass("active"); }else{ $Mobilehamburger.removeClass("active"); $this.addClass('active'); $page.addClass("show-mobile-header").removeClass("closed-mobile-header"); $body.removeClass("closed-overlay-mobile-header").addClass("show-overlay-mobile-header"); $mobileOverlay.removeClass("active"); $this.parents("body").addClass("show-sticky-mobile-header"); $mobileOverlay.addClass("active"); };}); $mobileOverlay.on("click", function (){ if($(this).hasClass("active")){ $Mobilehamburger.removeClass("active"); $page.removeClass("show-mobile-header").addClass("closed-mobile-header"); $body.removeClass("show-sticky-mobile-header").removeClass("show-overlay-mobile-header").addClass("closed-overlay-mobile-header"); $mobileOverlay.removeClass("active"); }}); $(".dt-close-mobile-menu-icon span").on("click", function (){ $page.removeClass("show-mobile-header"); $page.addClass("closed-mobile-header"); $body.removeClass("show-sticky-mobile-header"); $body.removeClass("show-overlay-mobile-header").addClass("closed-overlay-mobile-header"); $mobileOverlay.removeClass("active"); $Mobilehamburger.removeClass("active"); }); $(".dt-mobile-header").wrapInner("
"); if(!dtGlobals.isMobile){ $(".mobile-header-scrollbar-wrap").mCustomScrollbar({ scrollInertia:150 }); }}; $.mobileHeader=function(){ if($(".sticky-mobile-header ").length > 0){ if($(".mixed-header").length > 0){ var headerH=$(".mixed-header").height(); }else{ var headerH=$(".masthead").height(); } var stickyMobileHeader=$('.masthead').first(); if(!$(".mobile-header-space").length > 0&&!$(".floating-navigation-below-slider").length > 0){ $("
").insertBefore(stickyMobileHeader); } $(".mobile-header-space").css({ height: headerH }); }} $.mobileHeader(); $(".l-to-r-line > li:not(.menu-item-language) > a > span").not(".l-to-r-line > li > a > span.mega-icon").append(""); $(".btn-material .dt-btn, .btn-material a.button, .masthead:not(.sub-downwards) .animate-click-decoration > .menu-item > a:not(.not-clickable-item), .masthead:not(.sub-downwards) .main-nav .hover-style-click-bg > li > a:not(.not-clickable-item)").each(function(){ var $this=$(this), rippleTimer; $this.addClass("ripple"); $this.ripple(); var $thisRipple=$(".rippleWrap", $this) $this .on("click", function(e){ if(!$thisRipple.parent('a[href^="#"]').length > 0){ e.preventDefault(); }}) .on("mousedown", function(e){ if(e.which==3){ }else if(e.shiftKey||e.ctrlKey||e.metaKey){ window.open($this.attr("href"), '_blank'); }else{ e.preventDefault(); var $thisTarget=$this.attr("target") ? $this.attr("target"):"_self"; clearTimeout(rippleTimer); rippleTimer=setTimeout(function(){ if(!$thisRipple.parent('a[href^="#"]').length > 0){ window.open($this.attr("href"), $thisTarget); return false; }else{ $(this).parent("a").trigger("click"); return false; }}, 200) }}); }); $(".not-clickable-item").on("click", function(e){ e.preventDefault(); e.stopPropagation(); }); if($(".active-line-decoration").length > 0||$(".hover-line-decoration").length > 0){ $(".main-nav > .menu-item > a").append(""); }; var $mainNav=$(".main-nav, .mini-nav"), $mainMenu=$(".masthead:not(.sub-downwards) .main-nav, .mini-nav"), $mainNavMob=$(".main-nav"), $sideHeader=$(".side-header"); $(".menu-item-language").each(function(){ var $this=$(this); if($this.children('.submenu-languages').length > 0){ $this.addClass("has-children"); }}); $(".act", $mainNav).parents("li").addClass("act"); var $mobileNav=$mainNavMob.clone(); var $mobileTopNav=$(".mini-nav").clone(); $(".mini-nav select").change(function(){ window.location.href=$(this).val(); }); dtGlobals.isHovering=false; $(".main-nav li", $sideHeader).each(function(){ var $this=$(this); if($this.hasClass("new-column")){ var $thisPrev=$this.prev().find(" > .sub-nav"); $(" > .sub-nav > *", $this).appendTo($thisPrev) }}) $(".sub-downwards .main-nav > li").each(function(){ var $this=$(this), $this_sub=$this.find(" > .dt-mega-menu-wrap > .sub-nav"); $this_sub.unwrap(); }); var droupdownCustomMenu=$(".select-type-menu"); if($(".masthead").find(".sub-nav").length > 0){ var subMenuClassList=$(".masthead").find(".sub-nav").attr("class"); }else{ var subMenuClassList="sub-nav"; } droupdownCustomMenu.find("> ul").addClass(subMenuClassList); $(" li.has-children ", $mainMenu).each(function(){ var $this=$(this); if($this.parent().hasClass("main-nav")){ var $thisHover=$this.find("> a"); }else if($this.parent().hasClass("sub-nav")||$this.parents().hasClass("mini-nav")){ var $thisHover=$this; }; if(dtGlobals.isMobile||dtGlobals.isWindowsPhone){ $this.find("> a").on("click", function(e){ if(!$(this).hasClass("dt-clicked")){ e.preventDefault(); $mainNav.find(".dt-clicked").removeClass("dt-clicked"); $(this).addClass("dt-clicked"); }else{ e.stopPropagation(); }}); }; var menuTimeoutShow, menuTimeoutHide; $thisHover.on("mouseenter tap", function(e){ var $this=$(this); if(e.type=="tap") e.stopPropagation(); if($this.parent("li").length > 0){ var $thisPar=$this.parent(), $subMenu=$this.siblings("div, ul"); }else{ var $thisPar=$this, $this_a=$this.find("> a"), $subMenu=$this_a.siblings("div, ul"); } var $this_of_l=$this.offset().left, $this_a=$this.offset().left, $masthead=$this.parents(".masthead"); $thisPar.addClass("dt-hovered"); if($thisPar.hasClass("dt-mega-menu")) $thisPar.addClass("show-mega-menu"); dtGlobals.isHovering=true; if($page.width() - ($subMenu.offset().left - $page.offset().left) - $subMenu.width() < 0){ $subMenu.addClass("right-overflow"); } if($window.height() - ($subMenu.offset().top - dtGlobals.winScrollTop) - $subMenu.innerHeight() < 0){ $subMenu.addClass("bottom-overflow"); }; if(!$sideHeader.length > 0){ $subMenu.not(".right-overflow").css({ left: $this_a - $this_of_l }); }; if($thisPar.hasClass("mega-auto-width")){ var $_this_par_width=$thisPar.width(), $_this_par_of_l=$masthead.offset().left, $_this_of_l=$thisPar.offset().left; $_this_parents_ofs=$thisPar.offset().left - $_this_par_of_l; if(!$sideHeader.length){ var $pageW=$page.width(); if($(".boxed").length > 0){ var $_this_of_l=$thisPar.position().left; }else{ var $_this_of_l=$thisPar.offset().left; } if($subMenu.width() > ($pageW - $thisPar.position().left)){ $subMenu.css({ left: -($subMenu.innerWidth() - ($pageW - $_this_of_l)) }); } if($subMenu.width() > $pageW){ if($(".boxed").length > 0){ $subMenu.css({ width: $masthead.width(), left: -($thisPar.position().left) }); }else{ $subMenu.css({ width: $masthead.width(), left: -($_this_of_l - $_this_par_of_l) }); }} }}; if($thisPar.hasClass("mega-full-width")){ var $_this_of_l=$thisPar.offset().left; if($this.parents(".header-bar").length > 0){ var $_this_par_w=$this.parents(".header-bar").innerWidth(), $_this_par_of_l=$this.parents(".header-bar").offset().left; }else{ var $_this_par_w=$this.parents(".ph-wrap").innerWidth(), $_this_par_of_l=$this.parents(".ph-wrap").offset().left; } if(!$sideHeader.length > 0){ $subMenu.css({ width: $_this_par_w, left: -($_this_of_l - $_this_par_of_l) }) }} clearTimeout(menuTimeoutShow); clearTimeout(menuTimeoutHide); menuTimeoutShow=setTimeout(function(){ if($thisPar.hasClass("dt-hovered")){ $subMenu.stop().css("visibility", "visible").animate({ "opacity": 1 }, 150); }}, 100); }); $this.on("mouseleave", function(e){ var $this=$(this), $thisLink=$this.find("> a"), $subMenu=$thisLink.siblings("div, ul"); $this.removeClass("dt-hovered"); dtGlobals.isHovering=false; clearTimeout(menuTimeoutShow); clearTimeout(menuTimeoutHide); menuTimeoutHide=setTimeout(function(){ if(!$this.hasClass("dt-hovered")){ $subMenu.stop().animate({ "opacity": 0 }, 150, function(){ $(this).css("visibility", "hidden"); }); $this.removeClass("show-mega-menu"); setTimeout(function(){ if(!$this.hasClass("dt-hovered")){ $subMenu.removeClass("right-overflow"); $subMenu.removeClass("bottom-overflow"); if($this.hasClass("mega-auto-width")){ $subMenu.css({ width: "", left: "" }); }} }, 400); }}, 150); $this.find("> a").removeClass("dt-clicked"); }); }); var menuTimeoutShow, menuTimeoutHide; droupdownCustomMenu.on("mouseenter tap", function(e){ if(e.type=="tap") e.stopPropagation(); var $this=$(this); $this.addClass("dt-hovered"); if($page.width() - ($this.children(".sub-nav").offset().left - $page.offset().left) - $this.find(" > .sub-nav").width() < 0){ $this.children(".sub-nav").addClass("right-overflow"); } if($window.height() - ($this.children(".sub-nav").offset().top - dtGlobals.winScrollTop) - $this.children(".sub-nav").height() < 0){ $this.children(".sub-nav").addClass("bottom-overflow"); }; dtGlobals.isHovering=true; clearTimeout(menuTimeoutShow); clearTimeout(menuTimeoutHide); menuTimeoutShow=setTimeout(function(){ if($this.hasClass("dt-hovered")){ $this.children('.sub-nav').stop().css("visibility", "visible").animate({ "opacity": 1 }, 150); }}, 100); }); droupdownCustomMenu.on("mouseleave", function(e){ var $this=$(this); $this.removeClass("dt-hovered"); dtGlobals.isHovering=false; clearTimeout(menuTimeoutShow); clearTimeout(menuTimeoutHide); menuTimeoutHide=setTimeout(function(){ if(!$this.hasClass("dt-hovered")){ if(!$this.parents().hasClass("dt-mega-menu")){ $this.children(".sub-nav").stop().animate({ "opacity": 0 }, 150, function(){ $(this).css("visibility", "hidden"); }); } setTimeout(function(){ if(!$this.hasClass("dt-hovered")){ $this.children(".sub-nav").removeClass("right-overflow"); $this.children(".sub-nav").removeClass("bottom-overflow"); }}, 400); }}, 150); }); var customTimeoutShow; if($(".dt-parent-menu-clickable").length > 0){ var item=$('.main-nav li.has-children > a, .mobile-main-nav li.has-children > a'); $("").insertAfter(item); $(".sub-downwards .main-nav li.has-children, .mobile-main-nav li.has-children").each(function(){ var $this=$(this); var subMenu=$this.find(" > .sub-nav, .sub-menu"); if($this.find(".sub-nav li, .sub-menu li").hasClass("act")){ $this.addClass('active'); }; if($this.find(".sub-nav li.act, .sub-menu li.act").hasClass("act")){ $this.addClass('open-sub'); subMenu.stop(true, true).slideDown(100); }; $this.find(" > .next-level-button").on("click", function(e){ var $this=$(this).parent(); if($this.hasClass("active")){ subMenu.stop(true, true).slideUp(500); $this.removeClass("active"); $this.removeClass('open-sub'); }else{ $this.siblings().find(" .sub-nav, .dt-mega-menu-wrap, .sub-menu").stop(true, true).slideUp(400); subMenu.stop(true, true).slideDown(500); $this.siblings().removeClass("active"); $this.addClass('active'); $this.siblings().removeClass('open-sub'); $this.addClass('open-sub'); };}) }); }else{ $(".sub-downwards .main-nav li > a, .mobile-main-nav li.has-children > a").each(function(){ var $this=$(this); if($this.parent("li").find(".sub-nav li, .sub-menu li").hasClass("act")){ $this.addClass('act'); }; if($this.parent("li").find(".sub-nav li.act, .sub-menu li.act").hasClass("act")){ $this.parent("li").addClass('open-sub'); $this.siblings(".sub-nav, .sub-menu").stop(true, true).slideDown(100); }; $this.on("click", function(e){ $menuItem=$this.parent(); if($menuItem.hasClass("has-children menu-item-language")) e.preventDefault(); if($this.hasClass("act")){ $this.siblings(".sub-nav, .sub-menu").stop(true, true).slideUp(500); $this.removeClass("act"); $this.parent("li").removeClass('open-sub'); }else{ $this.parent().siblings().find(".sub-nav, .dt-mega-menu-wrap, .sub-menu").stop(true, true).slideUp(400); $this.siblings(".sub-nav, .sub-menu").stop(true, true).slideDown(500); $this.parent().siblings().find("> a").removeClass("act"); $this.addClass('act'); $this.parent("li").siblings().removeClass('open-sub'); $this.parent("li").addClass('open-sub'); }; $(".header-bar").mCustomScrollbar("update"); }); }); }; $(".custom-nav > li > a").click(function(e){ $menuItem=$(this).parent(); if($menuItem.hasClass("has-children")) e.preventDefault(); if($(this).attr("class")!="active"){ $(".custom-nav > li > ul").stop(true, true).slideUp(400); $(this).next().stop(true, true).slideDown(500); $(".custom-nav > li > a").removeClass("active"); $(this).addClass('active'); }else{ $(this).next().stop(true, true).slideUp(500); $(this).removeClass("active"); } $menuItem.siblings().removeClass("act"); $menuItem.addClass("act"); }); $(".custom-nav > li > ul").each(function(){ clearTimeout(customTimeoutShow); $this=$(this); $thisChildren=$this.find("li"); if($thisChildren.hasClass("act")){ $this.prev().addClass("active"); $this.parent().siblings().removeClass("act"); $this.parent().addClass("act"); $(this).slideDown(500); }}); if(dtGlobals.isMobile&&!dtGlobals.isiPad) dtLocal.themeSettings.floatingHeader.showMenu=false; var bodyTransparent=$body.hasClass("transparent"), phantomStickyExists=$(".phantom-sticky").exists(), sideHeaderExists=$(".side-header").exists(), sideHeaderHStrokeExists=$(".side-header-h-stroke").exists(), floatingNavigationBelowSliderExists=$(".floating-navigation-below-slider").exists(); if(dtLocal.themeSettings.floatingHeader.showMenu){ if((phantomStickyExists&&!sideHeaderExists)||(phantomStickyExists&&sideHeaderHStrokeExists)){ var $topBar=$(".top-bar"), topBarH=0, stickyHeaderH=$(".masthead").height(), logoURL=$(".masthead:not(.side-header) .branding a").attr("href"), $stickyHeader=$(".masthead:not(.side-header)"), $stickyMenu=$stickyHeader.find(".header-bar"), $stickyLogo=$stickyHeader.find(".branding"), $topLine=$(".side-header-h-stroke"), topLineExists=$topLine.exists(), $headerSpace=$(".header-space"), $mainSlideshow=$("#main-slideshow, .photo-scroller"), $classHeaderExists=$(".classic-header").length > 0; if(!floatingNavigationBelowSliderExists){ if(!$classHeaderExists){ $("
").prependTo($stickyMenu); }} var $animatedLine=$(".animate-sticky"); if(topLineExists){ stickyHeaderH=$topLine.height(), $stickyHeader=$topLine; } if(!$headerSpace.exists()){ $("
").insertBefore($stickyHeader); $headerSpace=$(".header-space"); }; if(topLineExists){ $headerSpace.addClass("top-line-space"); }; $headerSpace.css({ height: stickyHeaderH }); $animatedLine.css({ height: $stickyMenu.height() }); $body.addClass('sticky-off fixed-masthead'); if(!$(".sticky-logo").length > 0){ if(dtLocal.themeSettings.floatingHeader.logo.html&&dtLocal.themeSettings.floatingHeader.logo.showLogo){ if(logoURL==undefined){ $(dtLocal.themeSettings.floatingHeader.logo.html).addClass("sticky-logo").prependTo($stickyLogo) }else{ $('').prependTo($stickyLogo); };}; }; var $stickyLogo=$(".phantom-custom-logo-on .sticky-logo"), $logo=$(".phantom-custom-logo-on").find(".branding > a:not(.sticky-logo), .branding > img:not(.sticky-logo)", $stickyHeader); var phantomAnimate=false, adminBarExists=$(".admin-bar").exists(); if(adminBarExists){ var adminBarH=32; }else{ var adminBarH=0; }; if($topBar.exists()&&!$topBar.is(":hidden")&&!floatingNavigationBelowSliderExists){ topBarH=$topBar.innerHeight(); }; var stickyHeaderStartHeight=$stickyHeader.height(); $window.on("scroll", function(){ var posScrollTop=dtGlobals.winScrollTop, sliderH, showFloatingAfter; if(floatingNavigationBelowSliderExists&&!bodyTransparent){ sliderH=$mainSlideshow.height(); showFloatingAfter=posScrollTop > sliderH; } else if(floatingNavigationBelowSliderExists&&bodyTransparent){ sliderH=$mainSlideshow.height() - adminBarH - stickyHeaderStartHeight; showFloatingAfter=posScrollTop > sliderH; }else{ showFloatingAfter=posScrollTop > dtLocal.themeSettings.floatingHeader.showAfter; }; if(showFloatingAfter&&!phantomAnimate&&!dtGlobals.mobileProcessed){ phantomAnimate=true; if(!floatingNavigationBelowSliderExists){ $stickyHeader .stop(true, true) .velocity({ translateY:-topBarH, }, 300); $animatedLine.stop() .velocity({ height:dtLocal.themeSettings.floatingHeader.height, }, 300); if(!bodyTransparent){ $headerSpace.css({ height: stickyHeaderH }); }else{ $headerSpace.css({ display: "none", }); };}else{ if(!bodyTransparent){ $stickyHeader .stop(true, true) .velocity({ translateY:-topBarH, }, 300); $animatedLine.stop() .velocity({ height:dtLocal.themeSettings.floatingHeader.height, }, 300); $headerSpace.css({ height: stickyHeaderH }); }else{ $stickyHeader .velocity({ translateY:"" }, 0, function(){ $stickyHeader.css({ top: adminBarH, "transform": "", "-webkit-transform":"", }); }); $animatedLine.stop() .velocity({ height:dtLocal.themeSettings.floatingHeader.height, }, 300); $headerSpace.css({ display: "none", }); };} $body.removeClass('sticky-off').addClass('sticky-on'); } else if(!showFloatingAfter&&phantomAnimate&&!dtGlobals.mobileProcessed){ phantomAnimate=false; if(!floatingNavigationBelowSliderExists){ $stickyHeader .velocity({ translateY:0, }, 0); if(!$html.hasClass("menu-open")){ $animatedLine.stop() .velocity({ height:stickyHeaderH, }, 0); } if(!bodyTransparent){ $headerSpace.css({ height: stickyHeaderH }); }else{ $headerSpace.css({ display: "none", }); };}else{ if(!bodyTransparent){ $stickyHeader .stop(true, true) .velocity({ translateY:-topBarH, }, 0); if(!$html.hasClass("menu-open")){ $animatedLine.stop() .velocity({ height:stickyHeaderH, }, 0); } $headerSpace.css({ height: stickyHeaderH }); }else{ if(!$html.hasClass("menu-open")){ $stickyHeader .css({ bottom:"auto", top: "auto", "transform": "translateY(-100%)", "-webkit-transform":"translateY(-100%)", }); $headerSpace.css({ display: "none", }); }};}; if(!$html.hasClass("menu-open")){ $body.removeClass('sticky-on').addClass('sticky-off'); $animatedLine.stop() .velocity({ height:$stickyMenu.height(), }, 0); }} else if(dtGlobals.mobileProcessed){ $stickyHeader .css({ bottom:"auto", top: "auto", "transform": "", "-webkit-transform":"", }); $headerSpace.css({ display: "none", }); $body.removeClass('sticky-on').addClass('sticky-off'); };}); };}; if(dtLocal.themeSettings.floatingHeader.showMenu){ if((dtLocal.themeSettings.floatingHeader.showMenu&&!(sideHeaderExists&&!phantomStickyExists))||(dtLocal.themeSettings.floatingHeader.showMenu&&(sideHeaderHStrokeExists&&!phantomStickyExists))){ var phantomFadeExists=$(".phantom-fade").exists(), phantomSlideExists=$(".phantom-slide").exists(), splitHeaderExists=$(".split-header").exists(), $mainSlideshow=$("#main-slideshow, .photo-scroller"), $mainHeader=$(".masthead:not(.side-header)"); if(phantomFadeExists||phantomSlideExists){ var $headerMenu=$(".masthead:not(#phantom) .main-nav"), logoURL=$(".masthead:not(.side-header) .branding a").attr("href"), isMoved=false; if(sideHeaderHStrokeExists||splitHeaderExists){ var $headerTopLine=$(".side-header-h-stroke, .split-header"), headerClass=$headerTopLine.attr("class"), $headerMenu=$(".side-header-h-stroke .header-bar, .split-header .header-bar"), $parent=$headerMenu.parent(), $phantom=$('
').appendTo("body"), $menuBox=$phantom.find(".ph-wrap"), $widgetBox=$phantom.find(".widget-box"), $widget=$headerMenu.find(".mini-widgets"), $phantomLogo=$headerTopLine.find(".branding"); if($(".phantom-custom-logo-on").length > 0){ if(dtLocal.themeSettings.floatingHeader.logo.html&&dtLocal.themeSettings.floatingHeader.logo.showLogo){ if(logoURL==undefined){ $(dtLocal.themeSettings.floatingHeader.logo.html).prependTo($phantomLogo) }else{ $('').prependTo($phantomLogo); };}; };}else{ var headerClass=$(".masthead").attr("class"), $parent=$headerMenu.parent(), $phantom=$('
').appendTo("body"), $menuBox=$phantom.find(".menu-box"), $widgetBox=$phantom.find(".widget-box"); if($(".classic-header").length > 0){ var $widget=$(".header-bar .navigation .mini-widgets"); } else if(splitHeaderExists){ }else{ var $widget=$(".header-bar .mini-widgets"); }; if(dtLocal.themeSettings.floatingHeader.logo.html&&dtLocal.themeSettings.floatingHeader.logo.showLogo){ $phantom.find(".ph-wrap").addClass("with-logo"); if(logoURL==undefined){ $phantom.find(".logo-box").html(dtLocal.themeSettings.floatingHeader.logo.html); }else{ $phantom.find(".logo-box").html('' + dtLocal.themeSettings.floatingHeader.logo.html +' '); };}; }; if($page.hasClass("boxed")){ $phantom.addClass("boxed").velocity({ translateX:"-50%" }, 0).find(".ph-wrap").addClass("boxed"); } $body.removeClass('phantom-on').addClass('phantom-off'); var phantomAnimate=false; var phantomTimeoutShow, phantomTimeoutHide; if(phantomSlideExists){ $phantom.velocity({ translateY:-$phantom.height(), }, 0); }; $window.on("scroll", function(){ var tempScrTop=dtGlobals.winScrollTop, sliderH=$mainSlideshow.height(), headerH=$mainHeader.height(); if(floatingNavigationBelowSliderExists&&bodyTransparent){ var showFloatingAfter=tempScrTop > sliderH&&isMoved===false, hideFloatingAfter=tempScrTop <=sliderH&&isMoved===true; } else if(floatingNavigationBelowSliderExists){ var showFloatingAfter=tempScrTop > (sliderH + headerH)&&isMoved===false, hideFloatingAfter=tempScrTop <=(sliderH + headerH)&&isMoved===true; }else{ var showFloatingAfter=tempScrTop > dtLocal.themeSettings.floatingHeader.showAfter&&isMoved===false, hideFloatingAfter=tempScrTop <=dtLocal.themeSettings.floatingHeader.showAfter&&isMoved===true; }; if(showFloatingAfter){ if(!$html.hasClass("menu-open")){ if(!dtGlobals.isHovering&&!phantomAnimate){ phantomAnimate=true; if(sideHeaderHStrokeExists||splitHeaderExists){ $headerMenu.appendTo($menuBox); }else{ if(splitHeaderExists){ }else{ $headerMenu.appendTo($menuBox); $widget.appendTo($widgetBox); };}; if(phantomFadeExists){ $phantom .stop() .css({ "visibility":"visible" }) .velocity({ "opacity":1 }, 350); } else if(phantomSlideExists){ $phantom .stop(true, true) .css({ "visibility":"visible" }) .velocity({ translateY:0, opacity:1 }, { duration: 400, }); }; $body.removeClass('phantom-off').addClass('phantom-on'); isMoved=true; };}} else if(hideFloatingAfter){ if(phantomAnimate){ if(!$html.hasClass("menu-open")){ phantomAnimate=false; if(sideHeaderHStrokeExists||splitHeaderExists){ $headerMenu.appendTo($parent); }else{ if(splitHeaderExists){ }else{ $headerMenu.appendTo($parent); $widget.appendTo($parent); };}; $body.removeClass('phantom-on').addClass('phantom-off'); if(phantomFadeExists){ $phantom.stop().velocity({ "opacity":0 }, 120, function(){ $phantom.css({ "visibility": "" }); }); } else if(phantomSlideExists){ $phantom.velocity({ opacity:0 }, 0, function(){ $phantom .css({ "visibility": "" }) .velocity({ translateY:-$phantom.height(), }, 0); }); } isMoved=false; }} };}); };}; }; $(".filter-categories > a").on("click", function(e){ var $this=$(this); if(typeof arguments.callee.dtPreventD=='undefined'){ var $filter=$this.parents(".filter").first(); if($filter.hasClass("without-isotope")){ arguments.callee.dtPreventD=$filter.hasClass("with-ajax") ? true: false; }else{ arguments.callee.dtPreventD=true; };}; e.preventDefault(); $this.trigger("mouseleave"); if($this.hasClass("act")&&!$this.hasClass("show-all")){ e.stopImmediatePropagation(); $this.removeClass("act"); $this.siblings("a.show-all").trigger("click"); }else{ $this.siblings().removeClass("act"); $this.addClass("act"); if(!arguments.callee.dtPreventD){ window.location.href=$this.attr("href"); }};}); $(".filter-extras .filter-switch").each(function(){ var $_this=$(this); if($_this.prev('.act').length > 0){ $_this.addClass('left-act'); }else if($_this.next('.act').length > 0){ $_this.addClass('right-act'); }else{ $_this.removeClass('right-act'); $_this.removeClass('left-act'); };}); $(".filter-extras a").on("click", function(e){ var $this=$(this); if(typeof arguments.callee.dtPreventD=='undefined'){ var $filter=$this.parents(".filter").first(); if($filter.hasClass("without-isotope")){ arguments.callee.dtPreventD=$filter.hasClass("with-ajax") ? true: false; }else{ arguments.callee.dtPreventD=true; }}; if(arguments.callee.dtPreventD){ e.preventDefault(); }; $this.siblings().removeClass("act"); $this.addClass("act"); $(".filter-extras .filter-switch").each(function(){ var $_this=$(this); if($_this.prev($this).hasClass('act')){ $_this.addClass('left-act'); $_this.removeClass('right-act'); }else if($_this.next($this).hasClass('act')){ $_this.addClass('right-act'); $_this.removeClass('left-act'); }else{ $_this.removeClass('right-act'); $_this.removeClass('left-act'); };}); }); $(".filter-extras .filter-switch").each(function(){ var $this=$(this); var $filter=$this.parents(".filter").first(); $this.on("click", function(){ if($filter.hasClass("without-isotope")){ if($this.hasClass("right-act")){ $this.prev("a")[0].click(); }else if($this.hasClass("left-act")){ $this.next("a")[0].click(); };}else{ if($this.hasClass("right-act")){ $this.prev("a").trigger("click"); }else if($this.hasClass("left-act")){ $this.next("a").trigger("click"); };}; }); }); var $moveBody=$("html"); if($(".phantom-sticky").length > 0){ var $phantom=$(".masthead:not(.side-header):not(.side-header-v-stroke)"), $phantomVisibility=1; }else{ var $phantom=$("#phantom"), $phantomVisibility=$phantom.css("display")=="block"; } var phantomStickyExists=$(".phantom-sticky").exists(), sideHeaderExists=$(".side-header").exists(), sideHeaderHStrokeExists=$(".side-header-h-stroke").exists(), floatMenuH=0; if($(".mobile-header-bar").css('display')!=='none'){ var $headerBar=$(".mobile-header-bar"); if($(".phantom-sticky").length > 0){ if($(".sticky-header .masthead.side-header").length > 0||$(".overlay-navigation .masthead.side-header").length > 0){ var $phantom=$(".mobile-header-bar").parent(".masthead:not(.side-header)"); }else{ var $phantom=$(".mobile-header-bar").parent(); }} }else{ var $headerBar=$(".masthead:not(.side-header):not(.side-header-v-stroke) .header-bar"); } function set_sticky_header_height(){ if(window.innerWidth < dtLocal.themeSettings.mobileHeader.firstSwitchPoint){ if($(".sticky-mobile-header").length > 0){ floatMenuH=$phantom.height(); }else{ floatMenuH=0; }}else{ if($phantom.css("display")=="block"||(phantomStickyExists&&!sideHeaderExists)||(phantomStickyExists&&sideHeaderHStrokeExists)){ floatMenuH=$phantom.height(); }else{ floatMenuH=0; }} } set_sticky_header_height(); jQuery(window).load(function(){ var locHash=window.location.hash; if(locHash.match("^#!")){ var urlHash=locHash.substring(3); } if(typeof urlHash!='undefined'&&urlHash.length > 0){ if(urlHash=="up"){ $moveBody.stop().velocity("scroll", { offset: 0, duration: 600, mobileHA: false, complete: function(elements){ $.closeSideHeader(); }}); }else{ setTimeout(function(){ $moveBody.stop().velocity("scroll", { offset: $("#" + urlHash).offset().top - floatMenuH, duration: 600, mobileHA: false, complete: function(elements){ if(window.innerWidth < dtLocal.themeSettings.mobileHeader.firstSwitchPoint){ if($(".sticky-mobile-header").length > 0){ $moveBody.stop().velocity("scroll", { offset: $("#" + urlHash).offset().top - $phantom.height(), duration: 650, mobileHA: false }); }}else{ if((phantomStickyExists&&!sideHeaderExists)||(phantomStickyExists&&sideHeaderHStrokeExists)){ $moveBody.stop().velocity("scroll", { offset: $("#" + urlHash).offset().top - $($headerBar, $phantom).height(), duration: 650, mobileHA: false }); }} }}); },300) }}else{ if(urlHash=='undefined'&&$('.menu-item > a[href="#!/up"]').length > 0){ $('.menu-item > a[href="#!/up"]').parent("li").addClass("act"); }} }); jQuery(window).on('resize', function(){ set_sticky_header_height(); }); var $anchors=$('.stripe'), $menus=$('.menu-item > a[href^="#!"]'); window.clickAnchorLink=function($a, e){ var url=$a.attr('href'), hash=url, $target=url.substring(3), base_speed=600, speed=base_speed; set_sticky_header_height(); if(typeof $target!='undefined'&&$target&&$target.length > 0){ location.hash=url; if($("#" + $target).length > 0){ var top=$("#" + $target).offset().top + 1, this_offset=$a.offset(), that_offset=$("#" + $target).offset(), offset_diff=Math.abs(that_offset.top - this_offset.top), speed=3400 * Math.log(offset_diff/8253 + 1.02); $newScrollPosition=top - floatMenuH; }; if($target=="up"){ if($body.hasClass("overlay-navigation")){ $.closeSideHeader(); $moveBody.stop().velocity("scroll", { offset: top - floatMenuH, duration: speed, mobileHA: false }); }else{ $moveBody.stop().velocity("scroll", { offset: 0, duration: speed, mobileHA: false, complete: function(elements){ $.closeSideHeader(); }}); }}else{ if($body.hasClass("overlay-navigation")){ $.closeSideHeader(); $moveBody.stop().velocity("scroll", { offset: top - floatMenuH , duration: speed, mobileHA: false, complete: function(elements){ if(window.innerWidth < dtLocal.themeSettings.mobileHeader.firstSwitchPoint){ if($(".sticky-mobile-header").length > 0){ $newScrollPosition=(top - $phantom.height()); $moveBody.stop().velocity("scroll", { offset: $newScrollPosition, duration: 650, mobileHA: false, }); }}else{ if((phantomStickyExists&&!sideHeaderExists)||(phantomStickyExists&&sideHeaderHStrokeExists)){ $newScrollPosition=(top - $($headerBar, $phantom).height()); $moveBody.stop().velocity("scroll", { offset: $newScrollPosition, duration: 650, mobileHA: false, }); }} }}); }else{ $moveBody.stop().velocity("scroll", { offset: top - floatMenuH , duration: speed, mobileHA: false, complete: function(elements){ $.closeSideHeader(); if(window.innerWidth < dtLocal.themeSettings.mobileHeader.firstSwitchPoint){ if($(".sticky-mobile-header").length > 0){ $newScrollPosition=(top - $phantom.height()); $moveBody.stop().velocity("scroll", { offset: $newScrollPosition, duration: 650, mobileHA: false, }); }}else{ if((phantomStickyExists&&!sideHeaderExists)||(phantomStickyExists&&sideHeaderHStrokeExists)){ $newScrollPosition=(top - $($headerBar, $phantom).height()); $moveBody.stop().velocity("scroll", { offset: $newScrollPosition, duration: 650, mobileHA: false, }); }} }}); }}; $('.menu-item a').parent("li").removeClass('act'); $a.parent("li").addClass('act'); e.preventDefault(); return false; };}; $body.on('click', '.anchor-link[href^="#!"], .logo-box a[href^="#!"], .branding a[href^="#!"], #branding-bottom a[href^="#!"]', function(e){ clickAnchorLink($(this), e); }); $menus.on('click', function(e){ clickAnchorLink($(this), e); }); if(($('.one-page-row div[data-anchor^="#"]').length > 0||$('.vc_row[id]').length > 0)&&$(".one-page-row").length > 0){ $window.scroll(function (e){ var currentNode=null; if(!$body.hasClass("is-scroll")){ $('.one-page-row .vc_row[id]').each(function(){ var $_this=$(this) activeSection=$_this, currentId=$_this.attr('id'); if(dtGlobals.winScrollTop >=($(".one-page-row .vc_row[id='" + currentId + "']").offset().top - $phantom.height())){ currentNode="#!/" + currentId; };}); $('.one-page-row div[data-anchor^="#"]').each(function(){ var $_this=$(this) activeSection=$_this, currentId=$_this.attr('data-anchor'); if(dtGlobals.winScrollTop >=($(".one-page-row div[data-anchor='" + currentId + "']").offset().top - $phantom.height())){ currentNode="#!/" + currentId.substring(1); };}); $('.menu-item a[href^="#!"]').parent("li").removeClass('act'); if($(".one-page-row div[data-anchor^='#']").length > 0){ if(dtGlobals.winScrollTop < ($(".one-page-row div[data-anchor^='#']").first().offset().top - $phantom.height())&&$('.menu-item > a[href="#!/up"]').length > 0){ $('.menu-item > a[href="#!/up"]').parent("li").addClass("act"); };}else if($('.vc_row[id]').length > 0){ if(dtGlobals.winScrollTop < ($('.one-page-row .vc_row[id]').first().offset().top - $phantom.height())&&$('.menu-item > a[href="#!/up"]').length > 0){ $('.menu-item > a[href="#!/up"]').parent("li").addClass("act"); };} $('.menu-item a[href="'+currentNode+'"]').parent("li").addClass('act'); if($('.menu-item a[href="#"]').length&¤tNode==null){ $('.menu-item a[href="#"]').parent("li").addClass('act'); }};}); }; if($(".rsHomePorthole").exists()){ var portholeSlider={}; portholeSlider.container=$("#main-slideshow"); portholeSlider.width=portholeSlider.container.attr("data-width") ? parseInt(portholeSlider.container.attr("data-width")):1280; portholeSlider.height=portholeSlider.container.attr("data-height") ? parseInt(portholeSlider.container.attr("data-height")):720; portholeSlider.autoslide=portholeSlider.container.attr("data-autoslide")&&parseInt(portholeSlider.container.attr("data-autoslide")) > 999 ? parseInt(portholeSlider.container.attr("data-autoslide")):5000; portholeSlider.scale=portholeSlider.container.attr("data-scale") ? portholeSlider.container.attr("data-scale"):"fill"; portholeSlider.paused=portholeSlider.container.attr("data-paused") ? portholeSlider.container.attr("data-paused"):true; portholeSlider.hendheld=$window.width() < 740&&dtGlobals.isMobile ? true:false; $("#main-slideshow-content").appendTo(portholeSlider.container); portholeSlider.api=$(".rsHomePorthole").royalSlider({ autoScaleSlider: true, autoScaleSliderWidth: portholeSlider.width, autoScaleSliderHeight: portholeSlider.height, autoPlay: { enabled: !portholeSlider.hendheld, stopAtAction: false, pauseOnHover: false, delay: portholeSlider.autoslide }, imageScaleMode: portholeSlider.scale, imageScalePadding: 0, numImagesToPreload: 999, slidesOrientation: "horizontal", disableResponsiveness: false, loopRewind: true, arrowsNav: false, globalCaption: true, controlNavigation: !portholeSlider.hendheld ? 'porthole':'none', thumbs: { orientation: 'vertical', drag: false, touch: false, spacing: 10, firstMargin: false, appendSpan: false }, block: { fadeEffect: true, moveEffect: 'bottom', moveOffset: 5 }}).data("royalSlider"); var $_this=portholeSlider.container, $_this_childs=$_this.find(".rsSlide").size(); if($_this_childs < 2){ $(".rsThumbs", $_this).hide(); portholeSlider.api._isMove=false; $_this.find(".rsOverflow").css("cursor", "auto") }; if(portholeSlider.paused=="true"){ $(".rsHomePorthole").royalSlider("stopAutoPlay"); } $(".rsHomePorthole").data("royalSlider").ev.on('rsAfterContentSet', function(){ }); }; $(".slider-post").each(function(){ $(this).royalSlider({ autoScaleSlider: true, imageScaleMode: "fit", autoScaleSliderWidth: $(this).attr("data-width"), autoScaleSliderHeight: $(this).attr("data-height"), imageScalePadding: 0, numImagesToPreload: 6, slidesOrientation: "horizontal", disableResponsiveness: false, globalCaption:true }); }); $(".slider-simple").not(".shortcode-royal-slider").each(function(){ $(this).royalSlider({ autoScaleSlider: true, imageScaleMode: "fit", autoScaleSliderWidth: $(this).attr("data-width"), autoScaleSliderHeight: $(this).attr("data-height"), imageScalePadding: 0, numImagesToPreload: 6, slidesOrientation: "horizontal", disableResponsiveness: false, globalCaption:true }); }); $(".shortcode-royal-slider").each(function(){ var shortcodeSlider={}; shortcodeSlider.container=$(this); shortcodeSlider.container.paused=shortcodeSlider.container.attr("data-paused") ? shortcodeSlider.container.attr("data-paused"):true; shortcodeSlider.container.hendheld=$window.width() < 740&&dtGlobals.isMobile ? true:false; $(this).royalSlider({ autoScaleSlider: true, imageScaleMode: "fit", autoScaleSliderWidth: $(this).attr("data-width"), autoScaleSliderHeight: $(this).attr("data-height"), autoPlay: { enabled: !shortcodeSlider.container.hendheld, stopAtAction: false, pauseOnHover: false, delay: parseInt($(this).attr("data-autoslide")) }, imageScalePadding: 0, numImagesToPreload: 6, slidesOrientation: "horizontal", disableResponsiveness: false, globalCaption:true }); if(shortcodeSlider.container.paused=="true"){ shortcodeSlider.container.royalSlider("stopAutoPlay"); }}); $(".slider-content .preload-me").loaded(null, function(){ $(".slider-content").each(function(){ var $this=$(this), autoslide=$this.attr("data-autoslide")&&parseInt($this.attr("data-autoslide")) > 999 ? parseInt($this.attr("data-autoslide")):5000; hendheld = !($window.width() < 740&&dtGlobals.isMobile)&&$this.attr("data-autoslide") ? true:false; $this.royalSlider({ autoPlay: { enabled: hendheld, stopAtAction: false, pauseOnHover: false, delay: autoslide }, autoHeight: true, controlsInside: false, fadeinLoadedSlide: false, controlNavigationSpacing: 0, controlNavigation: 'bullets', imageScaleMode: 'none', imageAlignCenter:false, loop: false, loopRewind: true, numImagesToPreload: 6, keyboardNavEnabled: true }).data("royalSlider"); }); }, true); $.fn.addRollover=function(){ return this.each(function(){ var $this=$(this); if($this.hasClass("this-ready")){ return; } $this.append(""); if($this.find(".rollover-thumbnails").length){ $this.addClass("rollover-thumbnails-on"); } if($this.parent().find(".links-container").length){ $this.addClass("rollover-buttons-on"); } $this.addClass("this-ready"); }); }; $(".rollover, .rollover-video, .post-rollover, .rollover-project .show-content, .vc-item .vc-inner > a").addRollover(); $(".filter-grayscale .slider-masonry").on("mouseenter tap", function(e){ if(e.type=="tap"){ e.stopPropagation(); }; $(this).addClass("dt-hovered"); }); $(".filter-grayscale .slider-masonry").on("mouseleave", function(e){ $(this).removeClass("dt-hovered"); }); $.fn.scaleInHover=function(){ return this.each(function(){ var $this=$(this); if($this.hasClass("scale-ready")){ return; } var $img=$this.find("img.preload-me"), imgWidth=parseInt($img.attr('width')), imgHeight=parseInt($img.attr('height')), imgRatio=imgWidth/imgHeight; if(imgRatio < 2&&imgRatio >=1.5){ $this.addClass("ratio_3-2"); }else if(imgRatio < 1.5&&imgRatio >=1){ $this.addClass("ratio_4-3"); }else if(imgRatio < 1&&imgRatio >=0.75){ $this.addClass("ratio_3-4"); }else if(imgRatio < 0.75&&imgRatio >=0.6){ $this.addClass("ratio_2-3"); }else{ $this.removeClass("ratio_2-3").removeClass("ratio_3-2").removeClass("ratio-2").removeClass("ratio_4-3").removeClass("ratio_3-4"); }; if(imgRatio >=2){ $this.addClass("ratio-2"); }; if(imgRatio==1){ $this.removeClass("ratio_2-3").removeClass("ratio-2").removeClass("ratio_3-2").removeClass("ratio_4-3").removeClass("ratio_3-4"); }; $this.addClass("scale-ready"); }); }; $(".hover-scale .rollover-project").scaleInHover(); $('.mobile-false .hover-grid .rollover-project').each(function(){ $(this).hoverdir(); }); $('.mobile-false .hover-grid-reverse .rollover-project ').each(function(){ $(this).hoverdir({ inverse:true });}); $.fn.hoverLinks=function(){ if($(".semitransparent-portfolio-icons").length > 0||$(".accent-portfolio-icons").length > 0){ return this.each(function(){ var $img=$(this); if($img.hasClass("height-ready")){ return; } $("").appendTo($(this)); $img.on({ mouseenter: function (){ if(0===$(this).children("span").length){ var a=$("").appendTo($(this)); setTimeout(function (){ a.addClass("icon-hover") }, 20) } else $(this).children("span").addClass("icon-hover") }, mouseleave: function (){ $(this).children("span").removeClass("icon-hover") }}); $img.addClass("height-ready"); }); }}; $(".links-container a").hoverLinks(); $.fn.forwardToPost=function(){ return this.each(function(){ var $this=$(this); if($this.hasClass("this-ready")){ return; }; $this.on("click", function(){ if($this.parents(".ts-wrap").hasClass("ts-interceptClicks")) return; window.location.href=$this.find("a").first().attr("href"); return false; }); $this.addClass("this-ready"); }); }; $(".mobile-false .rollover-project.forward-post").forwardToPost(); $.fn.touchforwardToPost=function(){ return this.each(function(){ var $this=$(this); if($this.hasClass("touch-hover-ready")){ return; } $body.on("touchend", function(e){ $(".mobile-true .rollover-content").removeClass("is-clicked"); $(".mobile-true .rollover-project").removeClass("is-clicked"); }); var $this=$(this).find(".rollover-content"); $this.on("touchstart", function(e){ origY=e.originalEvent.touches[0].pageY; origX=e.originalEvent.touches[0].pageX; }); $this.on("touchend", function(e){ var touchEX=e.originalEvent.changedTouches[0].pageX, touchEY=e.originalEvent.changedTouches[0].pageY; if(origY==touchEY||origX==touchEX){ if($this.hasClass("is-clicked")){ window.location.href=$this.prev("a").first().attr("href"); }else{ e.preventDefault(); $(".mobile-ture .rollover-content").removeClass("is-clicked"); $(".mobile-true .rollover-project").removeClass("is-clicked"); $this.addClass("is-clicked"); $this.parent(".rollover-project").addClass("is-clicked"); return false; };}; }); $this.addClass("touch-hover-ready"); }); }; $(".mobile-true .rollover-project.forward-post").touchforwardToPost(); $.fn.followCurentLink=function(){ return this.each(function(){ var $this=$(this); if($this.hasClass("this-ready")){ return; } var $thisSingleLink=$this.find(".links-container > a"), $thisCategory=$this.find(".portfolio-categories a"); $this.on("click", function(){ $thisSingleLink.each(function(){ $thisTarget=$(this).attr("target") ? $(this).attr("target"):"_self"; }); if($thisSingleLink.hasClass("project-details")||$thisSingleLink.hasClass("link")||$thisSingleLink.hasClass("project-link")){ window.open($thisSingleLink.attr("href"), $thisTarget); return false; }else{ $thisSingleLink.trigger("click"); return false; }}); $this.find($thisCategory).click(function(e){ e.stopPropagation(); window.location.href=$thisCategory.attr('href'); }); $this.addClass("this-ready"); }); }; $(".mobile-false .rollover-project.rollover-active, .mobile-false .buttons-on-img.rollover-active").followCurentLink(); $.fn.touchNewHover=function(){ return this.each(function(){ var $this=$(this); if($this.hasClass("this-ready")){ return; } if($(".rollover-content", this).length > 0||$(".woocom-rollover-content", this).length > 0){ $body.on("touchend", function(e){ $(".mobile-true .rollover-content, .mobile-true .rollover-project, .mobile-true .woocom-rollover-content, .mobile-true .woocom-project").removeClass("is-clicked"); }); $this.on("touchstart", function(e){ origY=e.originalEvent.touches[0].pageY; origX=e.originalEvent.touches[0].pageX; }); $this.on("touchend", function(e){ var touchEX=e.originalEvent.changedTouches[0].pageX, touchEY=e.originalEvent.changedTouches[0].pageY; if(origY==touchEY||origX==touchEX){ if($this.hasClass("is-clicked")){ if($this.find(".dt-gallery-container").length > 0){ $this.find(".rollover-content").on("click.dtAlbums", function(e){ $this.find(".rollover-content").off("click.dtAlbums"); $(this).find("a.dt-gallery-mfp-popup, .dt-trigger-first-mfp, .dt-mfp-item").first().trigger('click'); }); } if($(this).find(".rollover-click-target.go-to").length > 0){ window.location.href=$(this).find(".rollover-click-target.go-to").attr('href'); }else if($(this).hasClass("woocom-project")){ if($(e.target).is(".add_to_cart_button")){ return true }else{ window.location.href=$(this).find(" > a").attr('href'); }} }else{ $('.links-container > a', $this).on('touchend', function(e){ e.stopPropagation(); $this.addClass("is-clicked"); }); e.preventDefault(); $(".mobile-true .rollover-content, .mobile-true .rollover-project, .mobile-true .woocom-rollover-content, .mobile-true .woocom-project").removeClass("is-clicked"); $this.addClass("is-clicked"); $this.find(".rollover-content").addClass("is-clicked"); $this.find(".woocom-rollover-content").addClass("is-clicked"); return false; };}; }); }; $this.addClass("this-ready"); }); }; $(".mobile-true .rollover-project, .mobile-true .woocom-project").touchNewHover(); $(".hover-style-one article:not(.description-off) .rollover-project > a, .hover-style-two article:not(.description-off) .rollover-project > a, .mobile-true .cart-btn-on-img .buttons-on-img > a, .hover-style-three article:not(.description-off) .rollover-project > a").on("click", function(e){ e.preventDefault(); }); $(".mobile-false .albums .rollover-content a:not(.portfolio-categories a), .mobile-false .media .rollover-content, .mobile-false .dt-gallery-container .rollover-content").on("click", function(e){ if($(e.target).is("a")){return true}; $(this).siblings("a.dt-single-mfp-popup, a.dt-gallery-mfp-popup, a.dt-mfp-item").first().click(); }); $.fn.touchHoverImage=function(){ return this.each(function(){ var $img=$(this); if($img.hasClass("hover-ready")){ return; } $body.on("touchend", function(e){ $(".mobile-true .rollover-content").removeClass("is-clicked"); }); var $this=$(this).find(".rollover-content"), thisPar=$this.parents(".wf-cell"); $this.on("touchstart", function(e){ origY=e.originalEvent.touches[0].pageY; origX=e.originalEvent.touches[0].pageX; }); $this.on("touchend", function(e){ var touchEX=e.originalEvent.changedTouches[0].pageX, touchEY=e.originalEvent.changedTouches[0].pageY; if(origY==touchEY||origX==touchEX){ if($this.hasClass("is-clicked")){ }else{ $('.links-container > a', $this).on('touchend', function(e){ e.stopPropagation(); $this.addClass("is-clicked"); }); e.preventDefault(); $(".mobile-true .buttons-on-img .rollover-content").removeClass("is-clicked"); $this.addClass("is-clicked"); return false; };}; }); $img.addClass("hover-ready"); }); }; $(".mobile-true .buttons-on-img").touchHoverImage(); $.fn.touchWooHoverImage=function(){ return this.each(function(){ var $img=$(this); if($img.hasClass("woo-ready")){ return; } $body.on("touchend", function(e){ $(".mobile-true .cart-btn-on-img .buttons-on-img").removeClass("is-clicked"); }); var $this=$(this); $this.on("touchstart", function(e){ origY=e.originalEvent.touches[0].pageY; origX=e.originalEvent.touches[0].pageX; }); $this.on("touchend", function(e){ var touchEX=e.originalEvent.changedTouches[0].pageX, touchEY=e.originalEvent.changedTouches[0].pageY; if(origY==touchEY||origX==touchEX){ if($this.hasClass("is-clicked")){ if($(e.target).parent().hasClass("woo-buttons")){ $(e.target).trigger('click'); }else{ window.location.href=$this.find("a").first().attr("href"); }}else{ e.preventDefault(); $(".mobile-true .cart-btn-on-img .buttons-on-img").removeClass("is-clicked"); $this.addClass("is-clicked"); return false; };}; }); $img.addClass("woo-ready"); }); }; $(".mobile-true .cart-btn-on-img .buttons-on-img").touchWooHoverImage(); $.fn.touchScrollerImage=function(){ return this.each(function(){ var $img=$(this); if($img.hasClass("hover-ready")){ return; } $body.on("touchend", function(e){ $(".mobile-true .fs-entry").removeClass("is-clicked"); }); var $this=$(this), $thisSingleLink=$this.find("a.rollover-click-target").first(), $thisButtonLink=$this.find(".links-container"); $this.on("touchstart", function(e){ origY=e.originalEvent.touches[0].pageY; origX=e.originalEvent.touches[0].pageX; }); $this.on("touchend", function(e){ var touchEX=e.originalEvent.changedTouches[0].pageX, touchEY=e.originalEvent.changedTouches[0].pageY; if(origY==touchEY||origX==touchEX){ if($this.hasClass("is-clicked")){ }else{ if($thisSingleLink.length > 0){ $thisSingleLink.on("click", function(event){ event.stopPropagation(); if($(this).hasClass('go-to')){ window.location.href=$(this).attr('href'); }}); $thisSingleLink.trigger("click"); }; if($thisButtonLink.length > 0){ $thisButtonLink.find(" > a ").each(function(){ $(this).on("touchend", function(event){ event.stopPropagation(); $(this).trigger("click"); }); }); } e.preventDefault(); $(".mobile-true .fs-entry").removeClass("is-clicked"); $this.addClass("is-clicked"); return false; };}; }); $img.addClass("hover-ready"); }); }; $(".mobile-true .fs-entry").touchScrollerImage(); $.fn.touchHoverLinks=function(){ return this.each(function(){ var $img=$(this); if($img.hasClass("hover-ready")){ return; } var $this=$(this); $this.on("touchend", function(e){ if($this.hasClass("is-clicked")){ return; }else{ if($this.hasClass("project-zoom")){ $this.trigger("click"); }else{ window.location.href=$this.attr("href"); return false; }; $(".mobile-true .links-container > a").removeClass("is-clicked"); $this.addClass("is-clicked"); return false; };}); $img.addClass("hover-ready"); }); }; $(".mobile-true .fs-entry .links-container > a").touchHoverLinks(); $.fn.triggerAlbumsClick=function(){ return this.each(function(){ var $this=$(this); if($this.hasClass("this-ready")){ return; } var $thisSingleLink=$this.find("a.rollover-click-target, .dt-mfp-item").first(), $thisCategory=$this.find(".portfolio-categories a"); if($thisSingleLink.length > 0){ $thisSingleLink.on("click", function(event){ event.stopPropagation(); if($(this).hasClass('go-to')){ window.location.href=$(this).attr('href'); }}); var alreadyTriggered=false; $this.on("click", function(){ if($this.parents(".ts-wrap").hasClass("ts-interceptClicks")) return; if(!alreadyTriggered){ alreadyTriggered=true; $thisSingleLink.trigger("click"); alreadyTriggered=false; } return false; }) $this.find($thisCategory).click(function(e){ e.stopPropagation(); window.location.href=$thisCategory.attr('href'); }); } $this.addClass("this-ready"); }); }; $(".dt-albums-template .rollover-project, .dt-albums-shortcode .rollover-project, .dt-albums-template .buttons-on-img, .dt-albums-shortcode .buttons-on-img").triggerAlbumsClick(); $.fn.triggerHoverClick=function(){ return this.each(function(){ var $this=$(this); if($this.hasClass("click-ready")){ return; } var $thisSingleLink=$this.prev("a:not(.dt-single-mfp-popup):not(.dt-mfp-item)").first(), $thisCategory=$this.find(".portfolio-categories a"), $thisLink=$this.find(".project-link"), $thisTarget=$thisLink.attr("target") ? $thisLink.attr("target"):"_self", $targetClick; if($thisSingleLink.length > 0){ var alreadyTriggered=false; $this.on("click", function(e){ if($this.parents(".ts-wrap").hasClass("ts-interceptClicks")) return; if($(".semitransparent-portfolio-icons").length > 0||$(".accent-portfolio-icons").length > 0){ $targetClick=$(e.target).parent(); }else{ $targetClick=$(e.target); } if($targetClick.hasClass("project-zoom")){ $(this).find("a.dt-gallery-mfp-popup, .dt-trigger-first-mfp, .dt-single-mfp-popup, .dt-mfp-item").first().trigger('click'); }else{ if(!alreadyTriggered){ alreadyTriggered=true; $thisSingleLink.trigger("click"); window.location.href=$thisSingleLink.attr('href'); alreadyTriggered=false; }} return false; }) $this.find($thisLink).click(function(e){ e.stopPropagation(); e.preventDefault(); window.open($thisLink.attr("href"), $thisTarget); }); $this.find($thisCategory).click(function(e){ e.stopPropagation(); window.location.href=$thisCategory.attr('href'); }); } $this.addClass("click-ready"); }); }; $(".mobile-false .rollover-project:not(.rollover-active) .rollover-content, .mobile-false .buttons-on-img:not(.rollover-active) .rollover-content").triggerHoverClick(); var $commentForm=$('#commentform'); $commentForm.on('click', 'a.clear-form', function (e){ e.preventDefault(); $commentForm.find('input[type="text"], textarea').val(''); if($(".contact-form-material").length > 0){ $commentForm.find('input[type="text"], textarea').parent().removeClass("is-focused"); }; return false; }); $commentForm.on('click', ' a.dt-btn.dt-btn-m', function(e){ e.preventDefault(); $commentForm.find('#submit').trigger('click'); return false; }); if($(".contact-form-material").length > 0){ $(".form-fields input, textarea, .comment-form-author input, .comment-form-email input").each(function(c){ var $this=$(this), $parent=$this.parent("span, p"), $bigParent=$this.parents(".dt-form"); $bigParent.find('.clear-form').on('click' ,function(){ $parent.removeClass("is-focused").removeClass("active"); }); $this.focus(function(){ $parent.addClass("is-focused").addClass("active"); $this.attr('placeholder',''); }); $this.change(function(){ if(0!==$this.val().length){ $parent.addClass("is-focused").removeClass("active"); $this.attr('placeholder',''); }}); $this.blur(function(){ $parent.removeClass("active"); if(''===$this.val()){ $parent.removeClass("is-focused").removeClass("active"); }}); }); } function fullWidthWrap(){ if($(".full-width-wrap").length > 0){ $(".full-width-wrap").each(function(){ var $_this=$(this), windowInnerW=window.innerWidth, windowW=$window.width(), contentW=$('.content').width(); var $offset_fs, $width_fs; if($('.boxed').length > 0){ $offset_fs=((parseInt($('#main').width()) - parseInt(contentW)) / 2); } else if($('.side-header-v-stroke').length&&windowInnerW > dtLocal.themeSettings.mobileHeader.firstSwitchPoint){ var $windowWidth=(windowInnerW <=parseInt(contentW)) ? parseInt(contentW):(windowW - $('.side-header-v-stroke').width()); $offset_fs=Math.ceil((($windowWidth - parseInt(contentW)) / 2)); } else if($('.sticky-header .side-header').length&&windowInnerW > dtLocal.themeSettings.mobileHeader.firstSwitchPoint){ var $windowWidth=(windowW <=parseInt(contentW)) ? parseInt(contentW):windowW; $offset_fs=Math.ceil(((windowW - parseInt(contentW)) / 2)); } else if(($('.header-side-left').length&&windowInnerW||$('.header-side-right').length&&windowInnerW) > dtLocal.themeSettings.mobileHeader.firstSwitchPoint){ var $windowWidth=(windowInnerW <=parseInt(contentW)) ? parseInt(contentW):(windowW - $('.side-header').width()); $offset_fs=Math.ceil((($windowWidth - parseInt(contentW)) / 2)); }else{ var $windowWidth=(windowW <=parseInt(contentW)) ? parseInt(contentW):windowW; $offset_fs=Math.ceil(((windowW - parseInt(contentW)) / 2)); }; if($('.sidebar-left').length > 0||$('.sidebar-right').length > 0){ $width_fs=$(".content").width(); $offset_fs=0; }else{ $width_fs=$("#main").innerWidth(); } $_this.css({ width: $width_fs, "margin-left": -$offset_fs, "opacity": 1 }); $_this.find(".full-width-wrap").css({ width: "", "margin-left": "", "opacity": 1, "padding-left": $offset_fs }); $_this.find(".ts-wrap").each(function(){ var scroller=$(this).data("thePhotoSlider"); if(typeof scroller!="undefined"){ scroller.update(); };}); }); };}; if($(".full-width-wrap").length > 0){ if(dtGlobals.isiOS){ $window.bind("orientationchange", function(){ fullWidthWrap(); }).trigger("orientationchange"); }else{ $window.on("resize", function(){ fullWidthWrap(); }); fullWidthWrap(); };}; window.vc_rowBehaviour=function(){ function fullWidthRow(){ var $elements=$('[data-vc-full-width="true"]'); $.each($elements, function(key, item){ var $el=$(this); $el.addClass("vc_hidden"); var $el_full=$el.next(".vc_row-full-width"); $el_full.length||($el_full=$el.parent().next(".vc_row-full-width")); var el_margin_left=parseInt($el.css("margin-left"), 10) , el_margin_right=parseInt($el.css("margin-right"), 10) , offset=0 - $el_full.offset().left - el_margin_left , width=$(window).width(); var windowInnerW=window.innerWidth, windowW=$window.width(), contentW=$('.content').width(); var $offset_fs, $width_fs; if($('.boxed').length > 0){ $offset_fs=((parseInt($('#main').width()) - parseInt(contentW)) / 2); } else if($('.side-header-v-stroke').length&&windowInnerW > dtLocal.themeSettings.mobileHeader.firstSwitchPoint){ var $windowWidth=(windowInnerW <=parseInt(contentW)) ? parseInt(contentW):(windowW - $('.side-header-v-stroke').width()); $offset_fs=Math.ceil((($windowWidth - parseInt(contentW)) / 2)); } else if($('.sticky-header .side-header').length&&windowInnerW > dtLocal.themeSettings.mobileHeader.firstSwitchPoint){ var $windowWidth=(windowW <=parseInt(contentW)) ? parseInt(contentW):windowW; $offset_fs=Math.ceil(((windowW - parseInt(contentW)) / 2)); } else if(($('.header-side-left').length&&windowInnerW||$('.header-side-right').length&&windowInnerW) > dtLocal.themeSettings.mobileHeader.firstSwitchPoint){ var $windowWidth=(windowInnerW <=parseInt(contentW)) ? parseInt(contentW):(windowW - $('.side-header').width()); $offset_fs=Math.ceil((($windowWidth - parseInt(contentW)) / 2)); }else{ var $windowWidth=(windowW <=parseInt(contentW)) ? parseInt(contentW):windowW; $offset_fs=Math.ceil(((windowW - parseInt(contentW)) / 2)); }; if($('.sidebar-left').length > 0||$('.sidebar-right').length > 0){ $width_fs=$(".content").width(); $offset_fs=0; }else{ $width_fs=$("#main").innerWidth(); } var offset=0 - $offset_fs - el_margin_left if($el.css({ position: "relative", left: offset, "box-sizing": "border-box", width: $width_fs }), !$el.data("vcStretchContent")){ var padding=-1 * offset; 0 > padding&&(padding=0); var paddingRight=$width_fs - padding - $el_full.width() + el_margin_left + el_margin_right; 0 > paddingRight&&(paddingRight=0), $el.css({ "padding-left": padding + "px", "padding-right": paddingRight + "px" }) } $el.attr("data-vc-full-width-init", "true"), $el.removeClass("vc_hidden") }) } function parallaxRow(){ var vcSkrollrOptions, callSkrollInit = !1; return window.vcParallaxSkroll&&window.vcParallaxSkroll.destroy(), $(".vc_parallax-inner").remove(), $("[data-5p-top-bottom]").removeAttr("data-5p-top-bottom data-30p-top-bottom"), $("[data-vc-parallax]").each(function(){ var skrollrSpeed, skrollrSize, skrollrStart, skrollrEnd, $parallaxElement, parallaxImage, youtubeId; callSkrollInit = !0, "on"===$(this).data("vcParallaxOFade")&&$(this).children().attr("data-5p-top-bottom", "opacity:0;").attr("data-30p-top-bottom", "opacity:1;"), skrollrSize=100 * $(this).data("vcParallax"), $parallaxElement=$("
").addClass("vc_parallax-inner").appendTo($(this)), $parallaxElement.height(skrollrSize + "%"), parallaxImage=$(this).data("vcParallaxImage"), youtubeId=vcExtractYoutubeId(parallaxImage), youtubeId ? insertYoutubeVideoAsBackground($parallaxElement, youtubeId):"undefined"!=typeof parallaxImage&&$parallaxElement.css("background-image", "url(" + parallaxImage + ")"), skrollrSpeed=skrollrSize - 100, skrollrStart=-skrollrSpeed, skrollrEnd=0, $parallaxElement.attr("data-bottom-top", "top: " + skrollrStart + "%;").attr("data-top-bottom", "top: " + skrollrEnd + "%;") }), callSkrollInit&&window.skrollr ? (vcSkrollrOptions={ forceHeight: !1, smoothScrolling: !1, mobileCheck: function(){ return !1 }}, window.vcParallaxSkroll=skrollr.init(vcSkrollrOptions), window.vcParallaxSkroll):!1 } function fullHeightRow(){ $(".vc_row-o-full-height:first").each(function(){ var $window, windowHeight, offsetTop, fullHeight; $window=$(window), windowHeight=$window.height(), offsetTop=$(this).offset().top, windowHeight > offsetTop&&(fullHeight=100 - offsetTop / (windowHeight / 100), $(this).css("min-height", fullHeight + "vh")) }) } function fixIeFlexbox(){ var ua=window.navigator.userAgent , msie=ua.indexOf("MSIE "); (msie > 0||navigator.userAgent.match(/Trident.*rv\:11\./))&&$(".vc_row-o-full-height").each(function(){ "flex"===$(this).css("display")&&$(this).wrap('
') }) } var $=window.jQuery; $(window).off("resize.vcRowBehaviour").on("resize.vcRowBehaviour", fullWidthRow).on("resize.vcRowBehaviour", fullHeightRow), fullWidthRow(), fullHeightRow(), fixIeFlexbox(), vc_initVideoBackgrounds(), parallaxRow() } $window.trigger("dt.removeLoading"); $("img").on("dragstart", function(event){ event.preventDefault(); }); if($(".rev_slider_wrapper").length > 0){ $("#main-slideshow").each(function(){ var $this=$(this); if($this.find("> .rev_slider_wrapper")){ $this.addClass("fix rv-slider"); }; if($(".rev_slider_wrapper").hasClass("fullscreen-container")||$(".rev_slider_wrapper").hasClass("fullwidthbanner-container")){ $this.removeClass("fix"); };}); }; var cartTimeoutShow, cartTimeoutHide; $(".shopping-cart.show-sub-cart").each(function(){ var $this=$(this); if(dtGlobals.isMobile||dtGlobals.isWindowsPhone){ $this.find("> a").on("click", function(e){ if(!$(this).hasClass("dt-clicked")){ e.preventDefault(); $(".shopping-cart").find(".dt-clicked").removeClass("dt-clicked"); $(this).addClass("dt-clicked"); }else{ e.stopPropagation(); }}); }; $this.on("mouseenter tap", function(e){ if(e.type=="tap") e.stopPropagation(); $this.addClass("dt-hovered"); if($page.width() - ($this.children('.shopping-cart-wrap').offset().left - $page.offset().left) - $this.children('.shopping-cart-wrap').width() < 0){ $this.children('.shopping-cart-wrap').addClass("right-overflow"); }; if($window.height() - ($this.children('.shopping-cart-wrap').offset().top - dtGlobals.winScrollTop) - $this.children('.shopping-cart-wrap').innerHeight() < 0){ $this.children('.shopping-cart-wrap').addClass("bottom-overflow"); }; if($this.parents(".dt-mobile-header").length > 0){ $this.children('.shopping-cart-wrap').css({ top: $this.position().top - 13 - $this.children('.shopping-cart-wrap').height() }); } $(".searchform .submit", $header).removeClass("act"); $(".mini-search").removeClass("act"); $(".mini-search .field", $header).stop().animate({ "opacity": 0 }, 150, function(){ $(this).css("visibility", "hidden"); }); clearTimeout(cartTimeoutShow); clearTimeout(cartTimeoutHide); cartTimeoutShow=setTimeout(function(){ if($this.hasClass("dt-hovered")){ $this.children('.shopping-cart-wrap').stop().css("visibility", "visible").animate({ "opacity": 1 }, 150); }}, 100); }); $this.on("mouseleave", function(e){ var $this=$(this); $this.removeClass("dt-hovered"); clearTimeout(cartTimeoutShow); clearTimeout(cartTimeoutHide); cartTimeoutHide=setTimeout(function(){ if(!$this.hasClass("dt-hovered")){ $this.children('.shopping-cart-wrap').stop().animate({ "opacity": 0 }, 150, function(){ $(this).css("visibility", "hidden"); }); setTimeout(function(){ if(!$this.hasClass("dt-hovered")){ $this.children('.shopping-cart-wrap').removeClass("right-overflow"); $this.children('.shopping-cart-wrap').removeClass("bottom-overflow"); }}, 400); }}, 150); }); }); if($(".mini-search").length > 0){ var $header=$(".masthead, .dt-mobile-header"); $body.on("click", function(e){ var target=$(e.target); if(!target.is(".mini-search .field", $header)){ $(".searchform .submit", $header).removeClass("act"); $(".mini-search", $header).removeClass("act"); $(".mini-search .field", $header).stop().animate({ "opacity": 0 }, 150, function(){ $(this).css("visibility", "hidden"); }); setTimeout(function(){ $(".mini-search .field", $header).removeClass("right-overflow"); $(".mini-search .field", $header).removeClass("bottom-overflow"); }, 400); }}) $(".searchform .submit", $header).on("click", function(e){ e.preventDefault(); e.stopPropagation(); var $_this=$(this); if($_this.hasClass("act")){ $_this.removeClass("act"); $_this.parents(".mini-search").removeClass("act"); $_this.siblings(".searchform-s").stop().animate({ "opacity": 0 }, 150, function(){ $(this).css("visibility", "hidden"); }); setTimeout(function(){ $_this.siblings(".searchform-s").removeClass("right-overflow"); $_this.siblings(".searchform-s").removeClass("bottom-overflow"); }, 400); }else{ $_this.addClass("act"); $_this.parents(".mini-search").addClass("act"); if($_this.parents(".dt-mobile-header").length > 0){ $_this.siblings(".searchform-s").css({ top: $_this.parents(".mini-search").position().top - $_this.siblings(".searchform-s").height() - 18 }); } if($page.width() - ($_this.siblings(".searchform-s").offset().left - $page.offset().left) - $_this.siblings(".searchform-s").width() < 0){ $_this.siblings(".searchform-s").addClass("right-overflow"); }; if($window.height() - ($_this.siblings(".searchform-s").offset().top - dtGlobals.winScrollTop) - $_this.siblings(".searchform-s").innerHeight() < 0){ $_this.siblings(".searchform-s").addClass("bottom-overflow"); }; $_this.siblings(".searchform-s").stop().css("visibility", "visible").animate({ "opacity": 1 }, 150).focus(); }}); }; $.fn.smartGrid=function(){ return this.each(function(){ var $this=$(this), colNum=parseInt($this.attr("data-columns")), colMinWidth=parseInt($this.attr("data-width")), contWidth=$this.width(); for(; Math.floor(contWidth/colNum) < colMinWidth;){ colNum--; if(colNum <=1) break; } $("> .wf-cell", $this).css({ width: (100/colNum).toFixed(6) + "%", display: "inline-block" }); }); }; var $benLogColl=$(".benefits-grid, .logos-grid"); $benLogColl.smartGrid(); $window.on("debouncedresize", function (){ $benLogColl.smartGrid(); }); $(".twentytwenty-container .preload-me").loaded(null, function(){ $(".twentytwenty-container").each(function(){ var $this=$(this), $thisOrient=$this.attr("data-orientation").length > 0 ? $this.attr("data-orientation"):'horizontal', $pctOffset=(typeof $this.attr("data-offset")!='undefined'&&$this.attr("data-offset").length > 0) ? $this.attr("data-offset"):0.5, $navigationType=$this.attr("data-navigation") ? true:false; $this.twentytwenty({ default_offset_pct: $pctOffset, orientation: $thisOrient, navigation_follow: $navigationType }); }); }, true); if($('.wpb_tabs .iso-container').length > 0){ var tabResizeTimeout; $('.wpb_tour_tabs_wrapper').each(function(){ var $this=$(this), isoInside=$this.parents(".wpb_tabs").find(".iso-container"); $this.tabs({ activate: function(event, ui){ isoInside.isotope("layout"); }}); $this.find("li").each(function(){ $(this).on("click", function(){ clearTimeout(tabResizeTimeout); $window.trigger("debouncedresize"); $(this).parents(".wpb_tabs").find(".iso-container").isotope("layout"); }); }); }); } $(".tab-style-four .wpb_tabs_nav a").each(function(){ var $this=$(this); $this.addClass("ripple"); $this.ripple(); }); $.fn.calcPics=function(){ var $collection=$(".instagram-photos"); if($collection.length < 1) return false; return this.each(function(){ var maxitemwidth=maxitemwidth ? maxitemwidth:parseInt($(this).attr("data-image-max-width")), itemmarg=parseInt($(this).find("> a").css("margin-left")); $(this).find(" > a").css({ "max-width": maxitemwidth, "opacity": 1 }); var $container=$(this), containerwidth=$container.width(), itemperc=(100/(Math.ceil(containerwidth/maxitemwidth))); $container.find("a").css({ "width": itemperc+'%' }); }); }; $(".instagram-photos").calcPics(); $('.st-accordion').each(function(){ var accordion=$(this); accordion.find('ul > li > a').on("click", function(e){ e.preventDefault(); var $this=$(this), $thisNext=$this.next(); $(".st-content", accordion).not($thisNext).slideUp('fast'); $thisNext.slideToggle('fast'); }); }); simple_tooltip(".shortcode-tooltip","shortcode-tooltip-content"); $('.widget .searchform .submit').on('click', function(e){ e.preventDefault(); $(this).siblings('input.searchsubmit').click(); return false; }); $.fn.animateSkills=function(){ $(".skill-value", this).each(function (){ var $this=$(this), $this_data=$this.data("width"); $this.css({ width: $this_data + '%' }); }); }; $.fn.animateSkills=function(){ $(".skill-value", this).each(function (){ var $this=$(this), $this_data=$this.data("width"); $this.css({ width: $this_data + '%' }); }); }; function doSkillsAnimation(){ if(dtGlobals.isMobile){ $(".skills").animateSkills(); }}; doSkillsAnimation(); var socTimeoutShow, socTimeoutHide; window.onload=function(){ $(".album-share-overlay, .project-share-overlay:not(.allways-visible-icons)").each(function(){ var $this=$(this); $this.find(".share-button").on("click", function(e){ e.preventDefault(); }); $this.on("mouseover tap", function(e){ if(e.type=="tap") e.stopPropagation(); var $this=$(this); $this.addClass("dt-hovered"); clearTimeout(socTimeoutShow); clearTimeout(socTimeoutHide); socTimeoutShow=setTimeout(function(){ if($this.hasClass("dt-hovered")){ $this.find('.soc-ico a').css("display", "inline-block"); $this.find('.soc-ico').stop().css("visibility", "visible").animate({ "opacity": 1 }, 200); }}, 100); }); $this.on("mouseleave ", function(e){ var $this=$(this); $this.removeClass("dt-hovered"); clearTimeout(socTimeoutShow); clearTimeout(socTimeoutHide); socTimeoutHide=setTimeout(function(){ if(!$this.hasClass("dt-hovered")){ $this.find('.soc-ico').stop().animate({ "opacity": 0 }, 150, function(){ $this.find('.soc-ico a').css("display", "none"); $(this).css("visibility", "hidden"); }); }}, 50); }); }); }; var $floatContent=$(".floating-content"), projectPost=$(".project-post"); var $parentHeight, $floatContentHeight, phantomHeight=0; function setFloatinProjectContent(){ $(".project-slider .preload-me").loaded(null, function(){ var $sidebar=$(".floating-content"); if($(".floating-content").length > 0){ var offset=$sidebar.offset(); if($(".top-bar").length > 0&&$(".phantom-sticky").length > 0){ var topBarH=$(".top-bar").height(); }else{ var topBarH=0; } var $scrollOffset=$(".project-post").offset(); $window.on("scroll", function (){ if(window.innerWidth > 1050){ if(dtGlobals.winScrollTop + $phantom.height() > offset.top){ if(dtGlobals.winScrollTop + $phantom.height() + $floatContentHeight + 40 < $scrollOffset.top + $parentHeight){ $sidebar.stop().velocity({ translateY:dtGlobals.winScrollTop - offset.top + $phantom.height() - topBarH }, 300); }else{ $sidebar.stop().velocity({ translateY: $parentHeight - $floatContentHeight - 40 - topBarH }, 300) }}else{ $sidebar.stop().velocity({ translateY: 0 }, 300) }}else{ $sidebar .css({ "transform": "translateY(0)", "-webkit-transform":"translateY(0)", }); }}) }}, true); } setFloatinProjectContent(); var fancyFeaderOverlap=$(".transparent #fancy-header").exists(), titleOverlap=$(".transparent .page-title").exists(); $.fancyFeaderCalc=function(){ $(".branding .preload-me").loaded(null, function(){ if(fancyFeaderOverlap){ $(".transparent #fancy-header > .wf-wrap").css({ "padding-top":$(".masthead:not(.side-header)").height() }); }; if(titleOverlap){ $(".transparent .page-title > .wf-wrap").css({ "padding-top":$(".masthead:not(.side-header)").height() }); $(".transparent .page-title").css("visibility", "visible"); };}, true); }; var $paginator=$('.paginator[role="navigation"]'), $dots=$paginator.find('a.dots'); $dots.on('click', function(){ $paginator.find('div:hidden').show().find('a').unwrap(); $dots.remove(); }); $(".soc-ico a.pinit-marklet").click(function(event){ event.preventDefault(); $("#pinmarklet").remove(); var e=document.createElement('script'); e.setAttribute('type','text/javascript'); e.setAttribute('charset','UTF-8'); e.setAttribute('id','pinmarklet'); e.setAttribute('async','async'); e.setAttribute('defer','defer'); e.setAttribute('src','//assets.pinterest.com/js/pinmarklet.js?r='+Math.random()*99999999);document.body.appendChild(e); }); $window.on("debouncedresize", function(){ if(window.innerWidth > dtLocal.themeSettings.mobileHeader.firstSwitchPoint){ if($(".masthead:not(.side-header):not(.mixed-header)").length > 0){ dtGlobals.showTopBtn=$(".masthead:not(.side-header):not(.mixed-header)").height() + 150; }else if($(".masthead.side-header-h-stroke").length > 0){ dtGlobals.showTopBtn=$(".side-header-h-stroke").height() + 150; }else{ dtGlobals.showTopBtn=500; }}else{ if($(".masthead:not(.mixed-header)").length > 0){ dtGlobals.showTopBtn=$(".masthead:not(.mixed-header)").height() + 150; }else if($(".masthead.mixed-header").length > 0){ dtGlobals.showTopBtn=$(".mixed-header").height() + 150; }else{ dtGlobals.showTopBtn=500; }} }); $window.scroll(function (){ if(dtGlobals.winScrollTop > dtGlobals.showTopBtn){ $('.scroll-top').removeClass('off').addClass('on'); }else{ $('.scroll-top').removeClass('on').addClass('off'); }}); $(".scroll-top").click(function(e){ e.preventDefault(); $("html, body").animate({ scrollTop: 0 }, "slow"); return false; }); $("