(function(fn){if(typeof define==='function'&&define.amd){define([],fn)}else if((typeof module!=="undefined"&&module!==null)&&module.exports){module.exports=fn}else{fn()}})(function(){var assign=Object.assign||window.jQuery&&jQuery.extend;var threshold=8;var requestFrame=(function(){return(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(fn,element){return window.setTimeout(function(){fn()},25)})})();(function(){if(typeof window.CustomEvent==="function")return!1;function CustomEvent(event,params){params=params||{bubbles:!1,cancelable:!1,detail:undefined};var evt=document.createEvent('CustomEvent');evt.initCustomEvent(event,params.bubbles,params.cancelable,params.detail);return evt} CustomEvent.prototype=window.Event.prototype;window.CustomEvent=CustomEvent})();var ignoreTags={textarea:!0,input:!0,select:!0,button:!0};var mouseevents={move:'mousemove',cancel:'mouseup dragstart',end:'mouseup'};var touchevents={move:'touchmove',cancel:'touchend',end:'touchend'};var rspaces=/\s+/;var eventOptions={bubbles:!0,cancelable:!0};var eventsSymbol=typeof Symbol==="function"?Symbol('events'):{};function createEvent(type){return new CustomEvent(type,eventOptions)} function getEvents(node){return node[eventsSymbol]||(node[eventsSymbol]={})} function on(node,types,fn,data,selector){types=types.split(rspaces);var events=getEvents(node);var i=types.length;var handlers,type;function handler(e){fn(e,data)} while(i--){type=types[i];handlers=events[type]||(events[type]=[]);handlers.push([fn,handler]);node.addEventListener(type,handler)}} function off(node,types,fn,selector){types=types.split(rspaces);var events=getEvents(node);var i=types.length;var type,handlers,k;if(!events){return} while(i--){type=types[i];handlers=events[type];if(!handlers){continue} k=handlers.length;while(k--){if(handlers[k][0]===fn){node.removeEventListener(type,handlers[k][1]);handlers.splice(k,1)}}}} function trigger(node,type,properties){var event=createEvent(type);if(properties){assign(event,properties)} node.dispatchEvent(event)} function Timer(fn){var callback=fn,active=!1,running=!1;function trigger(time){if(active){callback();requestFrame(trigger);running=!0;active=!1} else{running=!1}} this.kick=function(fn){active=!0;if(!running){trigger()}};this.end=function(fn){var cb=callback;if(!fn){return} if(!running){fn()} else{callback=active?function(){cb();fn()}:fn;active=!0}}} function noop(){} function preventDefault(e){e.preventDefault()} function isIgnoreTag(e){return!!ignoreTags[e.target.tagName.toLowerCase()]} function isPrimaryButton(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");if(!options.no_overlay){container.append("
");var overlay=container.find(".dsm-before-after-image-slider-overlay");overlay.append("
");overlay.append("
")} var beforeImg=container.find("img:first");var afterImg=container.find("img:last");container.append("
");var slider=container.find(".dsm-before-after-image-slider-handle");slider.append("");slider.append("");container.addClass("dsm-before-after-image-slider-container");beforeImg.addClass("dsm-before-after-image-slider-before");afterImg.addClass("dsm-before-after-image-slider-after");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)");afterImg.css("clip","rect("+offset.ch+","+offset.w+","+offset.h+",0)")} else{beforeImg.css("clip","rect(0,"+offset.cw+","+offset.h+",0)");afterImg.css("clip","rect(0,"+offset.w+","+offset.h+","+offset.cw+")")} 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)};var minMaxNumber=function(num,min,max){return Math.max(min,Math.min(max,num))};var getSliderPercentage=function(positionX,positionY){var sliderPercentage=(sliderOrientation==='vertical')?(positionY-offsetY)/imgHeight:(positionX-offsetX)/imgWidth;return minMaxNumber(sliderPercentage,0,1)};$(window).on("resize.twentytwenty",function(e){adjustSlider(sliderPct)});var offsetX=0;var offsetY=0;var imgWidth=0;var imgHeight=0;var onMoveStart=function(e){if(((e.distX>e.distY&&e.distX<-e.distY)||(e.distX-e.distY))&&sliderOrientation!=='vertical'){e.preventDefault()} else if(((e.distXe.distY&&e.distX>-e.distY))&&sliderOrientation==='vertical'){e.preventDefault()} container.addClass("active");offsetX=container.offset().left;offsetY=container.offset().top;imgWidth=beforeImg.width();imgHeight=beforeImg.height()};var onMove=function(e){if(container.hasClass("active")){sliderPct=getSliderPercentage(e.pageX,e.pageY);adjustSlider(sliderPct)}};var onMoveEnd=function(){container.removeClass("active")};var moveTarget=options.move_with_handle_only?slider:container;moveTarget.on("movestart",onMoveStart);moveTarget.on("move",onMove);moveTarget.on("moveend",onMoveEnd);if(options.move_slider_on_hover){container.on("mouseenter",onMoveStart);container.on("mousemove",onMove);container.on("mouseleave",onMoveEnd)} slider.on("touchmove",function(e){e.preventDefault()});container.find("img").on("mousedown",function(event){event.preventDefault()});if(options.click_to_move){container.on('click',function(e){offsetX=container.offset().left;offsetY=container.offset().top;imgWidth=beforeImg.width();imgHeight=beforeImg.height();sliderPct=getSliderPercentage(e.pageX,e.pageY);adjustSlider(sliderPct)})} $(window).trigger("resize.twentytwenty")})}})(jQuery)