/*!
* Before After Viewer - JavaScript plugin for Before After Viewer
*
* Copyright (c) 2021 MAMEDUL ISLAM
*
* Licensed under the MIT license:
* https://opensource.org/licenses/MIT
*
* Project home:
* https://mamedul.gitlab.io/dev-projects/jquery-before-after-slider
*
* Version: 1.0.0
*/(function($){"use strict";jQuery.fn.beforeAfter=function(options){var settings=jQuery.extend({movable:true,clickMove:true,alwaysShow:true,position:50,opacity:0.4,activeOpacity:1,hoverOpacity:0.8,separatorColor:'#ffffff',bulletColor:'#ffffff',arrowColor:'#333333',},options);function beforeAfter(that){if(jQuery(that).children().length==2){var firstImg=$(that).children()[0];var secondImg=$(that).children()[1];var baPosition=$(that).css('position'),baZIndex=$(that).css('z-index'),baOverflow=$(that).css('overflow');var fPosition=$(firstImg).css('position'),fTop=$(firstImg).css('top'),fLeft=$(firstImg).css('left'),fWidth=$(firstImg).css('width'),fHeight=$(firstImg).css('height'),fZIndex=$(firstImg).css('z-Index'),fFloat=$(firstImg).css('float');var sPosition=$(secondImg).css('position'),sTop=$(secondImg).css('top'),sLeft=$(secondImg).css('left'),sWidth=$(secondImg).css('width'),sHeight=$(secondImg).css('height'),sZIndex=$(secondImg).css('z-Index');var freserved_style="position:"+fPosition+";top:"+fTop+";left:"+fLeft+";width:"+fWidth+";height:"+fHeight+";z-index:"+fZIndex+";float:"+fFloat;var sreserved_style="position:"+sPosition+";top:"+sTop+";left:"+sLeft+";width:"+sWidth+";height:"+sHeight+";z-index:"+sZIndex;jQuery(that).attr('data-bareservedstyle',"position:"+baPosition+";overflow:"+baOverflow);jQuery(firstImg).attr('data-bareservedstyle',freserved_style);jQuery(secondImg).attr('data-bareservedstyle',sreserved_style);var fZIndexInt=isNaN(parseInt(fZIndex))?0:parseInt(fZIndex);var slctNone="-webkit-user-select:none;-ms-user-select:none;user-select:none;";jQuery(that).css({'position':'relative','overflow':'hidden',});jQuery(firstImg).css({'position':'relative','top':'0','left':'0','width':'100%',});jQuery(secondImg).css({'position':'absolute','top':'0','right':'0','width':'auto','height':'100%','z-index':fZIndexInt+1,});var div1=document.createElement("DIV");div1.setAttribute('style','position:relative !important;width:100% !important;height:100%  !important;'+slctNone);jQuery(firstImg).clone({withDataAndEvents:true}).appendTo(div1);var div2=document.createElement("DIV");div2.setAttribute('style','position:absolute !important;width:'+settings.position+'% !important;height:100% !important;top:0px !important;right:0px !important;overflow:hidden !important;'+slctNone);jQuery(secondImg).clone({withDataAndEvents:true}).appendTo(div2);var left_arrow=document.createElement("I");left_arrow.setAttribute('style','border:solid black;border-width:0 2px 2px 0;display:inline-block;padding:3px;transform:rotate(135deg);-webkit-transform:rotate(135deg);');var right_arrow=document.createElement("I");right_arrow.setAttribute('style','border:solid black;border-width:2px 0 0 2px;display:inline-block;padding:3px;transform:rotate(135deg);-webkit-transform:rotate(135deg);');var separator_bullet=document.createElement("DIV");separator_bullet.setAttribute('style','position:absolute;width:32px;height:32px;line-height:30px;padding:4xp;text-align:center;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;background-color:#fff;');var separator_content=document.createElement("DIV");separator_content.setAttribute('style','position:relative;width:100%;height:100%;');var separator=document.createElement("DIV");separator.setAttribute('style','position:absolute !important;width:2px !important;height:100% !important;top:0px !important;right:'+settings.position+'% !important;overflow:visible !important;transform:translateX(50%) !important;background-color: #fff;cursor:e-resize;opacity:'+settings.opacity+';z-index:'+fZIndexInt+2+";"+slctNone);jQuery(left_arrow).css('border-color',settings.arrowColor);jQuery(right_arrow).css('border-color',settings.arrowColor);jQuery(separator_bullet).css('background-color',settings.bulletColor);jQuery(separator).css('background-color',settings.separatorColor);separator_bullet.append(left_arrow);separator_bullet.append(right_arrow);separator_content.append(separator_bullet);separator.append(separator_content);that.append(div1);that.append(div2);that.append(separator);jQuery(firstImg).remove();jQuery(secondImg).remove();var resize=function(){if(jQuery(div1).children().width()>0)jQuery(div2).children().width(jQuery(div1).children().width());if(jQuery(div1).children().height()>0)jQuery(div2).children().height(jQuery(div1).children().height());}
jQuery(window).on('resize',resize);if(settings.movable){var moveEnded=false;if(settings.clickMove){jQuery(div1).on('click',function(){if(typeof settings.onMoveStart!="undefined"){settings.onMoveStart();}
var oWidth=jQuery(that).width();var oRight=jQuery(separator).css('right');var oRightAdd=parseInt(oRight)+Math.min((oWidth*0.05),5);var oPercentage=((oRightAdd/oWidth)*100).toFixed(2);var correctRight=oPercentage>100?100:(oPercentage<0?0:oPercentage);correctRight=correctRight+"%";jQuery(div2).width(correctRight);jQuery(separator).css('right',correctRight);if(typeof settings.onMoving!="undefined"&&oRight!=jQuery(separator).css('right')){settings.onMoving();}
if(typeof settings.onMoveEnd!="undefined"){settings.onMoveEnd();}});jQuery(div2).on('click',function(){if(typeof settings.onMoveStart!="undefined"){settings.onMoveStart();}
var oWidth=jQuery(that).width();var oRight=jQuery(separator).css('right');var oRightAdd=parseInt(oRight)-Math.min((oWidth*0.05),5);var oPercentage=((oRightAdd/oWidth)*100).toFixed(2);var correctRight=oPercentage>100?100:(oPercentage<0?0:oPercentage);correctRight=correctRight+"%";jQuery(div2).width(correctRight);jQuery(separator).css('right',correctRight);if(typeof settings.onMoving!="undefined"&&oRight!=jQuery(separator).css('right')){settings.onMoving();}
if(typeof settings.onMoveEnd!="undefined"){settings.onMoveEnd();}});}
jQuery(that).on('mouseenter',function(){jQuery(separator).css('opacity',settings.hoverOpacity);});jQuery(that).on('mouseleave',function(){jQuery(separator).css('opacity',settings.opacity);});var mouseMove=function(e){var oPageX=e.pageX||e.touches[0].clientX;var oLeft=jQuery(that).offset().left;var oWidth=jQuery(that).width();var oRight=jQuery(separator).css('right');var oPos=(oLeft+oWidth)-oPageX;var oPercentage=((oPos/oWidth)*100).toFixed(2);var correctRight=oPercentage>100?100:(oPercentage<0?0:oPercentage);correctRight=correctRight+"%";jQuery(div2).width(correctRight);jQuery(separator).css('right',correctRight);if(typeof settings.onMoving!="undefined"&&oRight!=jQuery(separator).css('right')){settings.onMoving();}}
var mouseOut=function(e){moveEnded=true;jQuery(separator).css('opacity',settings.opacity);if(typeof settings.onMoveEnd!="undefined"){settings.onMoveEnd();}}
jQuery(separator).on('mousedown',function(e){moveEnded=false;jQuery(separator).css('opacity',settings.activeOpacity);if(typeof settings.onMoveStart!="undefined"){settings.onMoveStart();}
jQuery(document).on('mousemove',mouseMove);jQuery(document).on('mouseup',function(e){jQuery(document).off('mousemove',mouseMove);if(!moveEnded)mouseOut(e);});jQuery(window).on('mouseup',function(e){jQuery(document).off('mousemove',mouseMove);if(!moveEnded)mouseOut(e);});});jQuery(separator).on('touchstart',function(e){moveEnded=false;if(typeof settings.onMoveStart!="undefined"){settings.onMoveStart();}
jQuery(separator).css('opacity',settings.activeOpacity);jQuery(document).on('touchmove',mouseMove);jQuery(document).on('touchcancel',function(e){jQuery(document).off('touchmove',mouseMove);if(!moveEnded)mouseOut(e);});jQuery(window).on('touchcancel',function(e){jQuery(document).off('touchmove',mouseMove);if(!moveEnded)mouseOut(e);});jQuery(document).on('touchend',function(e){jQuery(document).off('touchmove',mouseMove);if(!moveEnded)mouseOut(e);});});}
resize();}else{console.log("%cWarning: %s",'color:#e4672e;font-size:200%;','BeforeAfter plugin need absolutely two childrens.');}}
return this.each(function(){beforeAfter(this);});};}(jQuery));