HEX
Server: Apache
System: Linux server.mart2global.com 4.18.0-348.7.1.el8_5.x86_64 #1 SMP Wed Dec 22 13:25:12 UTC 2021 x86_64
User: henzergrouphenz (1442)
PHP: 7.4.28
Disabled: NONE
Upload Files
File: /home/henzergrouphenz/public_html/wp-content/themes/metro/assets/js/main.js
(function() {
	'use strict';

	var $ = jQuery;

	var ThemeHelper = {
		run_sticky_menu: function run_sticky_menu() {
			var wrapperHtml = $('<div class="main-header-sticky-wrapper"></div>');
			var wrapperClass = '.main-header-sticky-wrapper';
			$('.main-header').clone().appendTo(wrapperHtml);
			$('body').append(wrapperHtml);
			var height = $(wrapperClass).outerHeight() + 30;
			$(wrapperClass).css('margin-top', '-' + height + 'px');
			$(window).scroll(function() {
				if ($(this).scrollTop() > 300) {
					$('body').addClass('rdthemeSticky');
				} else {
					$('body').removeClass('rdthemeSticky');
				}
			});
		},
		run_sticky_meanmenu: function run_sticky_meanmenu() {
			$(window).scroll(function() {
				if ($(this).scrollTop() > 50) {
					$('body').addClass("mean-stick");
				} else {
					$('body').removeClass("mean-stick");
				}
			});
		},
		run_isotope: function run_isotope($container, filter) {
			$container.isotope({
				filter: filter,
				layoutMode: 'fitRows',
				animationOptions: {
					duration: 750,
					easing: 'linear',
					queue: true
				}
			});
		},
		add_vertical_menu_class: function add_vertical_menu_class() {
			var screenWidth = $('body').outerWidth();

			if (screenWidth < 992) {
				$('.vertical-menu').addClass('vertical-menu-mobile');
			} else {
				$('.vertical-menu').removeClass('vertical-menu-mobile');
			}
		},
		owl_change_num_pagination: function owl_change_num_pagination($owlParent, index) {
			$owlParent.find('.owl-numbered-dots-items span').removeClass('active');
		}
	};
	var Theme = {
		scroll_to_top: function scroll_to_top() {
			$('.scrollToTop').on('click', function() {
				$('html, body').animate({
					scrollTop: 0
				}, 800);
				return false;
			});
			$(window).scroll(function() {
				if ($(window).scrollTop() > 300) {
					$('.scrollToTop').addClass('back-top');
				} else {
					$('.scrollToTop').removeClass('back-top');
				}
			});
		},
		preloader: function preloader() {
			$('#preloader').fadeOut('slow', function() {
				$(this).remove();
			});
		},
		sticky_menu: function sticky_menu() {
			if (MetroObj.hasStickyMenu == 1) {
				ThemeHelper.run_sticky_menu();
				ThemeHelper.run_sticky_meanmenu();
			}
		},
		ripple_effect: function ripple_effect() {
			if (typeof $.fn.ripples == 'function') {
				$('.rt-water-ripple').ripples({
					resolution: 712,
					dropRadius: 30,
					perturbance: 0.01
				});
			}
		},
		category_search_dropdown: function category_search_dropdown() {
			$('.category-search-dropdown-js .dropdown-menu li').on('click', function(e) {
				var $parent = $(this).closest('.category-search-dropdown-js'),
					slug = $(this).data('slug'),
					name = $(this).text();
				$parent.find('.dropdown-toggle').text($.trim(name));
				$parent.find('input[name="product_cat"]').val(slug);
			});

			if ($.fn.autocomplete) {
				$(".ps-autocomplete-js .product-autocomplete-js").autocomplete({
					minChars: 2,
					search: function search(event, ui) {
						if (!$(event.target).parent().find('.product-autocomplete-spinner').length) {
							$('<i class="product-autoaomplete-spinner fa fa-spinner fa-spin"></i>').insertAfter(event.target);
						}
					},
					source: function source(req, response) {
						req.action = 'metro_product_search_autocomplete';
						$.ajax({
							dataType: "json",
							type: "POST",
							url: MetroObj.ajaxurl,
							data: req,
							success: function success(data) {
								response(data);
							}
						});
					},
					response: function response(event, ui) {
						$(event.target).parent().find('.product-autoaomplete-spinner').remove();
					}
				});
			}
		},
		search_popup: function search_popup() {
			$('.search-icon-area a').on("click", function(event) {
				event.preventDefault();
				$("#rdtheme-search-popup").addClass("open");
				$('#rdtheme-search-popup > form > input').focus();
			});
			$("#rdtheme-search-popup, #rdtheme-search-popup button.close").on("click keyup", function(event) {
				if (event.target == this || event.target.className == "close" || event.keyCode == 27) {
					$(this).removeClass("open");
				}
			});
		},
		vertical_menu: function vertical_menu() {
			$('.vertical-menu-btn').on('click', function(e) {
				e.preventDefault();
				$(this).closest('.vertical-menu-area').toggleClass("opened");
			});
		},
		vertical_menu_mobile: function vertical_menu_mobile() {
			ThemeHelper.add_vertical_menu_class();
			$(window).on('resize', function() {
				ThemeHelper.add_vertical_menu_class();
			});
			$('.vertical-menu').on('click', 'li.menu-item-has-children span.has-dropdown', function(e) {
				if ($(this).find('+ ul.sub-menu').length) {
					$(this).closest('li').toggleClass('submenu-opend');
					$(this).find('+ ul.sub-menu').slideToggle();
				}

				return false;
			});
		},
		mobile_menu: function mobile_menu() {
			$('#site-header .main-navigation nav').meanmenu({
				meanMenuContainer: '#meanmenu',
				meanScreenWidth: MetroObj.meanWidth,
				removeElements: "#site-header, .top-header-desktop",
				siteLogo: MetroObj.siteLogo,
				meanExpand: '<i class="flaticon-plus-symbol"></i>',
				meanContract: '<i class="flaticon-substract"></i>',
				meanMenuClose: '<i class="flaticon-unchecked"></i>',
				appendHtml: MetroObj.appendHtml
			});
		},
		mobile_menu_max_height: function mobile_menu_max_height() {
			var wHeight = $(window).height();
			wHeight = wHeight - 50;
			$('.mean-nav > ul').css('max-height', wHeight + 'px');
		},
		multi_column_menu: function multi_column_menu() {
			$('.main-navigation ul > li.mega-menu').each(function() {
				var items = $(this).find(' > ul.sub-menu > li').length;
				var bodyWidth = $('body').outerWidth();
				var parentLinkWidth = $(this).find(' > a').outerWidth();
				var parentLinkpos = $(this).find(' > a').offset().left;
				var width = items * 220;
				var left = width / 2 - parentLinkWidth / 2;
				var linkleftWidth = parentLinkpos + parentLinkWidth / 2;
				var linkRightWidth = bodyWidth - (parentLinkpos + parentLinkWidth);

				if (width / 2 > linkleftWidth) {
					$(this).find(' > ul.sub-menu').css({
						width: width + 'px',
						right: 'inherit',
						left: '-' + parentLinkpos + 'px'
					});
				} else if (width / 2 > linkRightWidth) {
					$(this).find(' > ul.sub-menu').css({
						width: width + 'px',
						left: 'inherit',
						right: '-' + linkRightWidth + 'px'
					});
				} else {
					$(this).find(' > ul.sub-menu').css({
						width: width + 'px',
						left: '-' + left + 'px'
					});
				}
			});
		},
		isotope: function isotope() {
			if (typeof $.fn.isotope == 'function' && typeof $.fn.imagesLoaded == 'function') {
				var $blogIsotopeContainer = $('.post-isotope');
				$blogIsotopeContainer.imagesLoaded(function() {
					$blogIsotopeContainer.isotope();
				});
				var $isotopeContainer = $('.rt-el-isotope-container');
				$isotopeContainer.imagesLoaded(function() {
					$isotopeContainer.each(function() {
						var $container = $(this).find('.rt-el-isotope-wrapper'),
							filter = $(this).find('.rt-el-isotope-tab a.current').data('filter');
						ThemeHelper.run_isotope($container, filter);
					});
				});
				$('.rt-el-isotope-tab a').on('click', function() {
					$(this).closest('.rt-el-isotope-tab').find('.current').removeClass('current');
					$(this).addClass('current');
					var $container = $(this).closest('.rt-el-isotope-container').find('.rt-el-isotope-wrapper'),
						filter = $(this).attr('data-filter');
					ThemeHelper.run_isotope($container, filter);
					return false;
				});
			}
		},
		slick_carousel: function slick_carousel() {
			if (typeof $.fn.slick == 'function') {
				$(".rt-slick-slider").each(function() {
					$(this).slick();
				});
				$(document).on('afterLoadMore afterInfinityScroll', function() {
					$(".product_loaded .rt-slick-slider").each(function() {
						$(this).slick();
					});
					$(".product_loaded").removeClass('product_loaded');
				});
			}
		},
		owl_carousel: function owl_carousel() {
			if (typeof $.fn.owlCarousel == 'function') {
				$(".owl-custom-nav .owl-next").on('click', function() {
					$(this).closest('.owl-wrap').find('.owl-carousel').trigger('next.owl.carousel');
				});
				$(".owl-custom-nav .owl-prev").on('click', function() {
					$(this).closest('.owl-wrap').find('.owl-carousel').trigger('prev.owl.carousel');
				});
				$(".rt-owl-carousel").each(function() {
					var options = $(this).data('carousel-options');
					$(this).owlCarousel(options);
				});
				$(".owl-numbered-dots .owl-numbered-dots-items span").on('click', function() {
					var index = $(this).data('num');
					var $owlParent = $(this).closest('.owl-wrap').find('.owl-carousel');
					$owlParent.trigger('to.owl.carousel', index);
					$owlParent.find('.owl-numbered-dots-items span').removeClass('active');
					$owlParent.find('.owl-numbered-dots-items [data-num="' + index + '"]').addClass('active');
				});
			}
		},
		countdown: function countdown() {
			if (typeof $.fn.countdown == 'function') {
				try {
					var day = MetroObj.day == 'Day' ? 'Day%!D' : MetroObj.day,
						hour = MetroObj.hour == 'Hour' ? 'Hour%!D' : MetroObj.hour,
						minute = MetroObj.minute == 'Minute' ? 'Minute%!D' : MetroObj.minute,
						second = MetroObj.second == 'Second' ? 'Second%!D' : MetroObj.second;
					$('.rtjs-coutdown').each(function() {
						var $CountdownSelector = $(this).find('.rtjs-date');
						var eventCountdownTime = $CountdownSelector.data('time');
						$CountdownSelector.countdown(eventCountdownTime).on('update.countdown', function(event) {
							$(this).html(event.strftime('' + '<div class="rt-countdown-section"><div class="rtin-count">%D</div><div class="rtin-text">' + day + '</div></div>' + '<div class="rt-countdown-section"><div class="rtin-count">%H</div><div class="rtin-text">' + hour + '</div></div>' + '<div class="rt-countdown-section"><div class="rtin-count">%M</div><div class="rtin-text">' + minute + '</div></div>' + '<div class="rt-countdown-section"><div class="rtin-count">%S</div><div class="rtin-text">' + second + '</div></div>'));
						}).on('finish.countdown', function(event) {
							$(this).html(event.strftime(''));
						});
					});
					$('.rtjs-coutdown-2').each(function() {
						var $CountdownSelector = $(this).find('.rtjs-date');
						var eventCountdownTime = $CountdownSelector.data('time');
						$CountdownSelector.countdown(eventCountdownTime).on('update.countdown', function(event) {
							$(this).html(event.strftime('' + '<div class="rt-countdown-section-top">' + '<div class="rt-countdown-section"><div class="rt-countdown-section-inner"><div class="rtin-count">%D</div><div class="rtin-text">' + day + '</div></div></div>' + '<div class="rt-countdown-section ml10"><div class="rt-countdown-section-inner"><div class="rtin-count">%H</div><div class="rtin-text">' + hour + '</div></div></div>' + '</div><div class="rt-countdown-section-bottom">' + '<div class="rt-countdown-section"><div class="rt-countdown-section-inner"><div class="rtin-count">%M</div><div class="rtin-text">' + minute + '</div></div></div>' + '<div class="rt-countdown-section ml10"><div class="rt-countdown-section-inner"><div class="rtin-count">%S</div><div class="rtin-text">' + second + '</div></div></div></div>'));
						}).on('finish.countdown', function(event) {
							$(this).html(event.strftime(''));
						});
					});
				} catch (err) {
					console.log('Countdown : ' + err.message);
				}
			}
		},
		magnific_popup: function magnific_popup() {
			if (typeof $.fn.magnificPopup == 'function') {
				$('.rt-video-popup').magnificPopup({
					disableOn: 700,
					type: 'iframe',
					mainClass: 'mfp-fade',
					removalDelay: 160,
					preloader: false,
					fixedContentPos: false
				});
			}
		}
	};

	var WooCommerce = {
		meta_reloation: function meta_reloation() {
			$('.product-type-variable .single-product-top-2 .product_meta-area-js, .product-type-variable .single-product-top-3 .product_meta-area-js').insertAfter('form.variations_form table.variations');
		},
		sticky_product_thumbnail: function sticky_product_thumbnail() {
			if (typeof $.fn.stickySidebar == 'function') {
				var screenWidth = $('body').outerWidth();

				if (screenWidth > 991) {
					var top = 20;

					if (MetroObj.hasStickyMenu == 1) {
						top += $('.main-header-sticky-wrapper').outerHeight();
					}

					if (MetroObj.hasAdminBar == 1) {
						top += $('#wpadminbar').outerHeight();
					}

					$('.single-product-top-2 .rtin-left > div').stickySidebar({
						topSpacing: top
					});
				}
			}
		},
		quantity_change: function quantity_change() {
			$(document).on('click', '.quantity .input-group-btn .quantity-btn', function() {
				var $input = $(this).closest('.quantity').find('.input-text');

				if ($(this).hasClass('quantity-plus')) {
					$input.trigger('stepUp').trigger('change');
				}

				if ($(this).hasClass('quantity-minus')) {
					$input.trigger('stepDown').trigger('change');
				}
			});
		},
		slider_nav: function slider_nav() {
			$('.rt-el-product-slider').each(function() {
				var $target = $(this).find('.owl-custom-nav .owl-nav button.owl-prev, .owl-custom-nav .owl-nav button.owl-next'),
					$img = $(this).find('.rtin-thumb-wrapper').first();

				if ($img.length) {
					var height = $img.outerHeight();
					height = height / 2 - 24;
					$target.css('top', height + 'px');
				}
			});
		},
		dokan_my_order_responsive_table: function dokan_my_order_responsive_table() {
			$('.shop_table.my_account_orders').wrap("<div class='table-responsive'></div>");
		},
		wishlist_icon: function wishlist_icon() {
			$(document).on('click', '.rdtheme-wishlist-icon', function() {
				if ($(this).hasClass('rdtheme-add-to-wishlist')) {
					var $obj = $(this),
						productId = $obj.data('product-id'),
						afterTitle = $obj.data('title-after');
					var data = {
						'action': 'metro_add_to_wishlist',
						'context': 'frontend',
						'nonce': $obj.data('nonce'),
						'add_to_wishlist': productId
					};
					$.ajax({
						url: MetroObj.ajaxurl,
						type: 'POST',
						data: data,
						beforeSend: function beforeSend() {
							$obj.find('.wishlist-icon').hide();
							$obj.find('.ajax-loading').show();
							$obj.addClass('rdtheme-wishlist-ajaxloading');
						},
						success: function success(data) {
							if (data['result'] != 'error') {
								$obj.find('.ajax-loading').hide();
								$obj.removeClass('rdtheme-wishlist-ajaxloading');
								$obj.find('.wishlist-icon').removeClass('fa-heart-o').addClass('fa-heart').show();
								$obj.removeClass('rdtheme-add-to-wishlist').addClass('rdtheme-remove-from-wishlist');
								$obj.attr('title', afterTitle);
							} else {
								console.log(data['message']);
							}
						}
					});
					return false;
				}
			});
		}
	};

	function loadmore_n_infinityscroll() {
		var loadMoreWrapper = $('.rdtheme-loadmore-wrapper'),
			infinityScrollWrapper = $('.rdtheme-infscroll-wrapper');

		if (loadMoreWrapper.length) {
			loadMore(loadMoreWrapper);
		}

		if (infinityScrollWrapper.length) {
			infinityScroll(infinityScrollWrapper);
		}

		function loadMore($wrapper) {
			var button = $('.rdtheme-loadmore-btn'),
				shopData = $('.rdtheme-loadmore-data'),
				maxPage = shopData.data('max'),
				query = shopData.attr('data-query'),
				CurrentPage = 1;
			button.on('click', button, function() {
				var data = {
					'action': 'rdtheme_loadmore',
					'context': 'frontend',
					'nonce': shopData.data('nonce'),
					'query': query,
					'paged': CurrentPage
				};
				$.ajax({
					url: MetroObj.ajaxurl,
					type: 'POST',
					data: data,
					beforeSend: function beforeSend() {
						disableBtn(button);
					},
					success: function success(data) {
						if (data) {
							CurrentPage++;
							$wrapper.append(data);
							WcUpdateResultCount($wrapper);

							if (CurrentPage == maxPage) {
								removeBtn(button);
							} else {
								enableBtn(button);
							}

							$(document).trigger("afterLoadMore");
						} else {
							removeBtn(button);
						}
					}
				});
				return false;
			});
		}

		function infinityScroll($wrapper) {
			var canBeLoaded = true,
				shopData = $('.rdtheme-loadmore-data'),
				icon = $('.rdtheme-infscroll-icon'),
				query = shopData.attr('data-query'),
				CurrentPage = 1;
			$(window).on('scroll load', function() {
				if (!canBeLoaded) {
					return;
				}

				var data = {
					'action': 'rdtheme_loadmore',
					'context': 'frontend',
					'nonce': shopData.data('nonce'),
					'query': query,
					'paged': CurrentPage
				};

				if (isScrollable($wrapper)) {
					$.ajax({
						url: MetroObj.ajaxurl,
						type: 'POST',
						data: data,
						beforeSend: function beforeSend() {
							canBeLoaded = false;
							icon.show();
						},
						success: function success(data) {
							if (data) {
								CurrentPage++;
								canBeLoaded = true;
								$wrapper.append(data);
								WcUpdateResultCount($wrapper);
								icon.hide();
								$(document).trigger("afterInfinityScroll");
							} else {
								icon.remove();
							}
						}
					});
				}
			});
		}

		function isScrollable($wrapper) {
			var ajaxVisible = $wrapper.offset().top + $wrapper.outerHeight(true),
				ajaxScrollTop = $(window).scrollTop() + $(window).height();

			if (ajaxVisible <= ajaxScrollTop && ajaxVisible + $(window).height() > ajaxScrollTop) {
				return true;
			}

			return false;
		}

		function WcUpdateResultCount($wrapper) {
			var count = $($wrapper).find('.product').length;
			$('.wc-last-result-count').text(count);
		}

		function disableBtn(button) {
			button.attr('disabled', 'disabled');
			button.find('.rdtheme-loadmore-btn-text').hide();
			button.find('.rdtheme-loadmore-btn-icon').show();
		}

		function enableBtn(button) {
			button.find('.rdtheme-loadmore-btn-icon').hide();
			button.find('.rdtheme-loadmore-btn-text').show();
			button.removeAttr('disabled');
		}

		function removeBtn(button) {
			button.parent('.rdtheme-loadmore-btn-area').remove();
		}
	}

	function widthgen() {
		$(window).on('load resize', elementWidth);

		function elementWidth() {
			$('.elementwidth').each(function() {
				var $container = $(this),
					width = $container.outerWidth(),
					classes = $container.attr("class").split(' ');
				var classes1 = startWith(classes, 'elwidth');
				classes1 = classes1[0].split('-');
				classes1.splice(0, 1);
				var classes2 = startWith(classes, 'elmaxwidth');
				classes2.forEach(function(el) {
					$container.removeClass(el);
				});
				classes1.forEach(function(el) {
					var maxWidth = parseInt(el);

					if (width <= maxWidth) {
						$container.addClass('elmaxwidth-' + maxWidth);
					}
				});
			});
		}

		function startWith(item, stringName) {
			return $.grep(item, function(elem) {
				return elem.indexOf(stringName) == 0;
			});
		}
	}

	loadmore_n_infinityscroll();
	widthgen();

	function content_ready_scripts() {
		Theme.countdown();
		Theme.magnific_popup();
		Theme.vertical_menu();
		Theme.vertical_menu_mobile();
		Theme.category_search_dropdown();
		WooCommerce.dokan_my_order_responsive_table();
	}

	function content_load_scripts() {
		Theme.isotope();
		Theme.owl_carousel();
		Theme.slick_carousel();
		Theme.ripple_effect();
	}

	$(document).ready(function() {
		Theme.scroll_to_top();
		Theme.sticky_menu();
		Theme.mobile_menu();
		Theme.multi_column_menu();
		Theme.search_popup();
		WooCommerce.quantity_change();
		WooCommerce.wishlist_icon();
		WooCommerce.meta_reloation();
		WooCommerce.sticky_product_thumbnail();
		content_ready_scripts();
	});
	$(window).on('load', function() {
		content_load_scripts();
		Theme.preloader();
	});
	$(window).on('load resize', function() {
		Theme.mobile_menu_max_height();
		WooCommerce.slider_nav();
	});
	$(window).on('elementor/frontend/init', function() {
		if (elementorFrontend.isEditMode()) {
			elementorFrontend.hooks.addAction('frontend/element_ready/widget', function() {
				content_ready_scripts();
				content_load_scripts();
			});
		}
	});

}());