HEX
Server: Apache
System: Linux server-674799.igrow.ws 5.14.0-611.27.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Feb 4 04:40:11 EST 2026 x86_64
User: elrashedytravel (1025)
PHP: 8.1.34
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/elrashedytravel/public_html/wp-content/themes/coffee-tea/assets/js/theme.js
// Menu Functions
function coffee_tea_openNav() {
    jQuery(".sidenav").addClass('show');
  }
  
  function coffee_tea_closeNav() {
    jQuery(".sidenav").removeClass('show');
  }
  
  /////////////////////// Focus handling ///////////////////////
  (function(window, document) {
    function coffee_tea_handleMobileMenuNavigation() {
      document.addEventListener('keydown', function(e) {
        if (window.innerWidth > 991) return;
        const nav = document.querySelector('.sidenav.show');
        if (!nav) return;
        const focusableElements = Array.from(nav.querySelectorAll(
          'a, button, [tabindex="0"], input, [tabindex]:not([tabindex="-1"])'
        )).filter(el => el.offsetParent !== null);
  
        if (focusableElements.length === 0) return;
  
        const firstElement = focusableElements[0];
        const lastElement = focusableElements[focusableElements.length - 1];
        const activeElement = document.activeElement;
  
        if (e.key === 'Tab') {
          if (!e.shiftKey && activeElement === lastElement) {
            e.preventDefault();
            firstElement.focus();
          } 
          else if (e.shiftKey && activeElement === firstElement) {
            e.preventDefault();
            lastElement.focus();
          }
          else if (!nav.contains(activeElement)) {
            e.preventDefault();
            firstElement.focus();
          }
          return;
        }
  
        if (e.key === 'Tab' && e.shiftKey) {
          const activeElement = document.activeElement;
  
          if (activeElement.closest('.dropdown-menu')) {
            e.preventDefault();
            
            //current submenu
            const currentSubmenu = activeElement.closest('.dropdown-menu');
            const submenuItems = Array.from(currentSubmenu.querySelectorAll('a, button, [tabindex="0"]'))
              .filter(el => el.offsetParent !== null);
            const currentIndex = submenuItems.indexOf(activeElement);
            if (currentIndex > 0) {
              submenuItems[currentIndex - 1].focus();
            } else {
              const parentDropdown = currentSubmenu.closest('.dropdown, .page_item_has_children');
              if (parentDropdown) {
                // Find all focusable elements in parent
                const allFocusable = Array.from(parentDropdown.querySelectorAll('a, button, [tabindex="0"]'))
                  .filter(el => el.offsetParent !== null);
                
                // Filter to only direct children of parentDropdown
                const parentItems = allFocusable.filter(el => el.parentElement === parentDropdown);
                
                if (parentItems.length > 0) {
                  parentItems[0].focus();
                }
              }
            }
          }
        }
      });
    }
  
    document.addEventListener('DOMContentLoaded', function() {
      coffee_tea_handleMobileMenuNavigation();
  
      document.addEventListener('focusin', function(e) {
        if (window.innerWidth > 991) return;
        
        const focusedItem = e.target;
        const submenu = focusedItem.closest('.dropdown-menu');
        if (submenu) {
          submenu.style.display = 'block';
          submenu.classList.add('show');
        }
      });
    });
  })(window, document);
  
  /////////////////////// end ///////////////////////
  
  
  jQuery(function($) {
    "use strict";
  
    // Scroll to top button
    let scrollTopButton = $('#scrolltop');
    $(window).scroll(function() {
      if ($(window).scrollTop() > 300) {
        scrollTopButton.addClass('scroll');
      } else {
        scrollTopButton.removeClass('scroll');
      }
    });
    scrollTopButton.on('click', function(e) {
      e.preventDefault();
      $('html, body').animate({ scrollTop: 0 }, '300');
    });
  
    // Loading screen (preloader)
    window.addEventListener('load', function() {
      $(".loading").delay(2000).fadeOut("slow");
    });
  
    /////////////////////// Menu events binding ///////////////////////
  
    $(document).ready(function () {
      /*--- adding dropdown class to menu -----*/
      $("ul.sub-menu,ul.children").parent().addClass("dropdown");
      $("ul.sub-menu,ul.children").addClass("dropdown-menu");
      $("ul#menuid li.dropdown a,ul.children li.dropdown a").addClass("dropdown-toggle");
      $("ul.sub-menu li a,ul.children li a").removeClass("dropdown-toggle");
      $('nav li.dropdown > a, .page_item_has_children a').append('<span class="caret"></span>');
      $('a.dropdown-toggle').attr('data-toggle', 'dropdown');
  
      /*-- Mobile menu --*/
      if ($('#site-navigation').length) {
          $('#site-navigation .menu li.dropdown,li.page_item_has_children').append(function () {
              return '<i class="fas fa-caret-down abc" aria-hd="true"></i>';
          });
          $('#site-navigation .menu li.dropdown .fas,li.page_item_has_children .fas').on('click', function () {
              $(this).parent('li').children('ul').slideToggle().toggleClass('show');
          });
      }
  
      /*-- tooltip --*/
      $('[data-toggle="tooltip"]').tooltip();
  
      /*-- Button Up --*/
      var btnUp = $('<div/>', { 'class': 'btntoTop' });
      btnUp.appendTo('body');
      $(document).on('click', '.btntoTop', function (e) {
          e.preventDefault();
          $('html, body').animate({
              scrollTop: 0
          }, 700);
      });
  
      $(window).on('scroll', function () {
          if ($(this).scrollTop() > 200)
              $('.btntoTop').addClass('active');
          else
              $('.btntoTop').removeClass('active');
      });
  
      /*-- Reload page when width is between 320 and 768px and only from desktop */
      var isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ? true : false;
      $(window).on('resize', function () {
          var win = $(this); //this = window
          if (win.width() > 320 && win.width() < 991 && isMobile == false && !$("body").hasClass("elementor-editor-active")) {
              location.reload();
          }
      });
      });
  
    /////////////////////// end ///////////////////////

    
    // Scroll to top button
    var btn = $('#scrolltop');
    $(window).scroll(function() {
        if ($(window).scrollTop() > 300) {
            btn.addClass('scroll');
        } else {
            btn.removeClass('scroll');
        }
    });

    btn.on('click', function(e) {
        e.preventDefault();
        $('html, body').animate({scrollTop: 0}, '300');
    });

    // Loading screen fade out
    window.addEventListener('load', function() {
        $(".loading").delay(2000).fadeOut("slow");
    });

    // Sticky header
    $(window).scroll(function() {
        var sticky = $('.sticky-header'),
            scroll = $(window).scrollTop();

        if (scroll >= 100) sticky.addClass('fixed-header');
        else sticky.removeClass('fixed-header');
    });

});



// slider
jQuery(document).ready(function($) {
    // Initialize the main owl-carousel slider
    var isRTL = $('html').attr('dir') === 'rtl';
    var mainSlider = $('#main-slider').owlCarousel({
        loop: false,
        margin: 0,
        nav: true,
        dots: false,
        autoplay: false,
        items: 1,
        rtl: isRTL
    });

    // Initialize the abt-cat owl-carousel
    var isRTL = $('html').attr('dir') === 'rtl';
    var abtCatSlider = $('.abt-cat').owlCarousel({
        loop: false,
        margin: 0,
        nav: false,
        dots: false,
        autoplay: false,
        items: 5,
        center: true,
        rtl: isRTL
    });

    // Add click event handler to abt-cat slider items
    $('.abt-cat .item').on('click', function() {
        var index = $(this).data('slide-index');
        mainSlider.trigger('to.owl.carousel', [index, 300, true]);
    });

    // Synchronize abt-cat with main-slider on change
    function updateActiveClass(currentIndex) {
        $('.abt-cat .item').removeClass('active-image');
        $('.abt-cat .item').eq(currentIndex).addClass('active-image');
    }

    mainSlider.on('changed.owl.carousel', function(event) {
        var current = event.item.index;
        updateActiveClass(current);
    });

    // Initialize active class on load
    mainSlider.on('initialized.owl.carousel', function(event) {
        var current = event.item.index;
        updateActiveClass(current);
    });

    // Trigger initialization
    mainSlider.trigger('refresh.owl.carousel');
});


// slider
jQuery(document).ready(function($){
    var owl = $('#slider-section .owl-carousel');
    owl.owlCarousel({
        margin: 20,
        nav: false,
        autoplay: false,
        lazyLoad: false,
        autoplayTimeout: 3000,
        loop: true,
        dots: false,
        responsive: {
            0: {
                items: 1
            },
            600: {
                items: 1
            },
            900: {
                items: 1
            },
            1200: {
                items: 1
            }
        },
        autoplayHoverPause: true,
        mouseDrag: true,
        rtl: $('body').hasClass('rtl') // Check if body has "rtl" class
    });
});

// product
jQuery(document).ready(function($){
$("#product-carousel").owlCarousel({
  loop: true,
  margin: 20,
  nav: true,
  dots: false,
  autoplay: false,
  autoplayTimeout: 3000,
  autoplayHoverPause: true,
  smartSpeed: 800,
  responsive:{
    0:{ items:1 },
    600:{ items:3 },
    900:{ items:3 },
    1200:{ items:4 }
  }
});
});

jQuery('document').ready(function(){
  var owl = jQuery('#product_cat_slider .owl-carousel');
    owl.owlCarousel({
    margin: 20,
    nav: true,
    autoplay: true,
    lazyLoad: false,
    autoplayTimeout: 3000,
    loop: true,
    dots: false,
    responsive: {
        0: {
            items: 1
        },
        600: {
            items: 4
        },
        1000: {
            items: 6
        }
    },
    autoplayHoverPause: true,
    mouseDrag: true,
    rtl: jQuery('body').hasClass('rtl') // Check if the body has the class "rtl"
  });
});

// product icon
document.addEventListener('DOMContentLoaded', function() {
  var productImages = document.querySelectorAll('.product-images');
  productImages.forEach(function(image) {
      var icon = image.querySelector('.icon');
      if (!icon) {
          image.classList.add('no-icon');
      }
  });
});