Al-HUWAITI Shell
Al-huwaiti


Server : nginx/1.18.0
System : Linux localhost 6.14.3-x86_64-linode168 #1 SMP PREEMPT_DYNAMIC Mon Apr 21 19:47:55 EDT 2025 x86_64
User : www-data ( 33)
PHP Version : 8.0.16
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /var/www/ecommerce/public/frontend/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/ecommerce/public/frontend/js/active.js
/*=======================================
[Start Activation Code]
=========================================
	01. Mobile Menu JS
	02. Sticky Header JS
	03. Search JS
	04. Slider Range JS
	05. Home Slider JS
	06. Popular Slider JS
	07. Quick View Slider JS
	08. Home Slider 4 JS
	09. CountDown
	10. Flex Slider JS
	11. Cart Plus Minus Button
	12. Checkbox JS
	13. Extra Scroll JS
	14. Product page Quantity Counter
	15. Video Popup JS
	16. Scroll UP JS
	17. Nice Select JS
	18. Others JS
=========================================
[End Activation Code]
=========================================*/

// window.onload = () => {
// 	'use strict';

// 	if ('serviceWorker' in navigator) {
// 	  navigator.serviceWorker
// 			   .register('./sw.js');
// 	}
//   }
;(function ($) {
    'use strict'
    $(document).on('ready', function () {
        /*====================================
			Mobile Menu
		======================================*/
        $('.menu').slicknav({
            prependTo: '.mobile-nav',
            duration: 300,
            animateIn: 'fadeIn',
            animateOut: 'fadeOut',
            closeOnClick: true
        })

        /*====================================
		03. Sticky Header JS
		======================================*/
        $(window).on('scroll', function () {
            if ($(this).scrollTop() > 200) {
                $('.header').addClass('sticky')
            } else {
                $('.header').removeClass('sticky')
            }
        })

        /*=======================
		  Search JS JS
		=========================*/
        $('.top-search a').on('click', function () {
            $('.search-top').toggleClass('active')
        })

        /*=======================
		  Home Slider JS
		=========================*/
        $('.home-slider').owlCarousel({
            items: 1,
            autoplay: true,
            autoplayTimeout: 5000,
            smartSpeed: 400,
            animateIn: 'fadeIn',
            animateOut: 'fadeOut',
            autoplayHoverPause: true,
            loop: true,
            nav: true,
            merge: true,
            dots: false,
            navText: [
                '<i class="ti-angle-left"></i>',
                '<i class="ti-angle-right"></i>'
            ],
            responsive: {
                0: {
                    items: 1
                },
                300: {
                    items: 1
                },
                480: {
                    items: 2
                },
                768: {
                    items: 3
                },
                1170: {
                    items: 4
                }
            }
        })

        /*=======================
		  Popular Slider JS
		=========================*/
        $('.popular-slider').owlCarousel({
            items: 1,
            autoplay: true,
            autoplayTimeout: 5000,
            smartSpeed: 400,
            animateIn: 'fadeIn',
            animateOut: 'fadeOut',
            autoplayHoverPause: true,
            loop: true,
            nav: true,
            merge: true,
            dots: false,
            navText: [
                '<i class="ti-angle-left"></i>',
                '<i class="ti-angle-right"></i>'
            ],
            responsive: {
                0: {
                    items: 1
                },
                300: {
                    items: 1
                },
                480: {
                    items: 2
                },
                768: {
                    items: 3
                },
                1170: {
                    items: 4
                }
            }
        })

        /*===========================
		  Quick View Slider JS
		=============================*/
        $('.quickview-slider-active').owlCarousel({
            items: 1,
            autoplay: true,
            autoplayTimeout: 5000,
            smartSpeed: 400,
            autoplayHoverPause: true,
            nav: true,
            loop: true,
            merge: true,
            dots: false,
            navText: [
                '<i class=" ti-arrow-left"></i>',
                '<i class=" ti-arrow-right"></i>'
            ]
        })

        /*===========================
		  Home Slider 4 JS
		=============================*/
        $('.home-slider-4').owlCarousel({
            items: 1,
            autoplay: true,
            autoplayTimeout: 5000,
            smartSpeed: 400,
            autoplayHoverPause: true,
            nav: true,
            loop: true,
            merge: true,
            dots: false,
            navText: [
                '<i class=" ti-arrow-left"></i>',
                '<i class=" ti-arrow-right"></i>'
            ]
        })

        /*====================================
		14. CountDown
		======================================*/
        // $('[data-countdown]').each(function () {
        //     var $this = $(this),
        //         finalDate = $(this).data('countdown')
        //     $this.countdown(finalDate, function (event) {
        //         $this.html(
        //             event.strftime(
        //                 '<div class="cdown"><span class="days"><strong>%-D</strong><p>Days.</p></span></div><div class="cdown"><span class="hour"><strong> %-H</strong><p>Hours.</p></span></div> <div class="cdown"><span class="minutes"><strong>%M</strong> <p>MINUTES.</p></span></div><div class="cdown"><span class="second"><strong> %S</strong><p>SECONDS.</p></span></div>'
        //             )
        //         )
        //     })
        // })

        /*====================================
		16. Flex Slider JS
		======================================*/
        $('.flexslider-thumbnails').flexslider({
            animation: 'slide',
            controlNav: 'thumbnails'
        })

        /*====================================
		  Cart Plus Minus Button
		======================================*/
        var CartPlusMinus = $('.cart-plus-minus')
        CartPlusMinus.prepend('<div class="dec qtybutton">-</div>')
        CartPlusMinus.append('<div class="inc qtybutton">+</div>')
        $('.qtybutton').on('click', function () {
            var $button = $(this)
            var oldValue = $button
                .parent()
                .find('input')
                .val()
            if ($button.text() === '+') {
                var newVal = parseFloat(oldValue) + 1
            } else {
                // Don't allow decrementing below zero
                if (oldValue > 0) {
                    var newVal = parseFloat(oldValue) - 1
                } else {
                    newVal = 1
                }
            }
            $button
                .parent()
                .find('input')
                .val(newVal)
        })

        /*=======================
		  Extra Scroll JS
		=========================*/
        $('.scroll').on('click', function (e) {
            var anchor = $(this)
            $('html, body')
                .stop()
                .animate(
                    {
                        scrollTop: $(anchor.attr('href')).offset().top - 0
                    },
                    900
                )
            e.preventDefault()
        })

        /*===============================
		10. Checkbox JS
		=================================*/
        $('input[type="checkbox"]').change(function () {
            if ($(this).is(':checked')) {
                $(this)
                    .parent('label')
                    .addClass('checked')
            } else {
                $(this)
                    .parent('label')
                    .removeClass('checked')
            }
        })

        /*==================================
		 12. Product page Quantity Counter
		 ===================================*/
        $('.qty-box .quantity-right-plus').on('click', function () {
            var $qty = $('.qty-box .input-number')
            var currentVal = parseInt($qty.val(), 10)
            if (!isNaN(currentVal)) {
                $qty.val(currentVal + 1)
            }
        })
        $('.qty-box .quantity-left-minus').on('click', function () {
            var $qty = $('.qty-box .input-number')
            var currentVal = parseInt($qty.val(), 10)
            if (!isNaN(currentVal) && currentVal > 1) {
                $qty.val(currentVal - 1)
            }
        })

        /*=====================================
		15.  Video Popup JS
		======================================*/
        $('.video-popup').magnificPopup({
            type: 'iframe',
            removalDelay: 300,
            mainClass: 'mfp-fade'
        })

        /*====================================
		16.	Scroll Up JS
		======================================*/
        $.scrollUp({
            scrollText: '<span><i class="fa fa-angle-up"></i></span>',
            easingType: 'easeInOutExpo',
            scrollSpeed: 900,
            animation: 'fade'
        })
    })

    /*====================================
	17. Nice Select JS
	======================================*/
    $('.nice-select').niceSelect()

    /*====================================
	18. Other JS
	======================================*/
    //------------- DETAIL ADD - MINUS COUNT ORDER -------------//
    $('.btn-number').click(function (e) {
        e.preventDefault()

        const fieldName = $(this).attr('data-field')
        const type = $(this).attr('data-type')
        var input = $("input[name='" + fieldName + "']")
        var currentVal = parseInt(input.val())
        if (!isNaN(currentVal)) {
            if (type == 'minus') {
                if (currentVal > input.attr('data-min')) {
                    input.val(currentVal - 1).change()
                }
                if (parseInt(input.val()) == input.attr('data-min')) {
                    $(this).attr('disabled', true)
                }
            } else if (type == 'plus') {
                if (currentVal < input.attr('data-max')) {
                    input.val(currentVal + 1).change()
                }
                if (parseInt(input.val()) == input.attr('data-max')) {
                    $(this).attr('disabled', true)
                }
            }
        } else {
            input.val(0)
        }
    })
    $('.input-number').focusin(function () {
        $(this).data('oldValue', $(this).val())
    })
    $('.input-number').change(function () {
        const minValue = parseInt($(this).attr('data-min'))
        const maxValue = parseInt($(this).attr('data-max'))
        const valueCurrent = parseInt($(this).val())

        const name = $(this).attr('name')
        if (valueCurrent >= minValue) {
            $(
                ".btn-number[data-type='minus'][data-field='" + name + "']"
            ).removeAttr('disabled')
        } else {
            alert('Sorry, the minimum value was reached')
            $(this).val($(this).data('oldValue'))
        }
        if (valueCurrent <= maxValue) {
            $(
                ".btn-number[data-type='plus'][data-field='" + name + "']"
            ).removeAttr('disabled')
        } else {
            alert('Sorry, the maximum value was reached')
            $(this).val($(this).data('oldValue'))
        }
    })
    $('.input-number').keydown(function (e) {
        // Allow: backspace, delete, tab, escape, enter and .
        if (
            $.inArray(e.keyCode, [46, 8, 9, 27, 13, 190]) !== -1 ||
            // Allow: Ctrl+A
            (e.keyCode == 65 && e.ctrlKey === true) ||
            // Allow: home, end, left, right
            (e.keyCode >= 35 && e.keyCode <= 39)
        ) {
            // let it happen, don't do anything
            return
        }
        // Ensure that it is a number and stop the keypress
        if (
            (e.shiftKey || e.keyCode < 48 || e.keyCode > 57) &&
            (e.keyCode < 96 || e.keyCode > 105)
        ) {
            e.preventDefault()
        }
    })

    /** Autoclose alerts */
    setTimeout(() => $(".alert-dismissable .close").click(), 10000);

})(jQuery)

Al-HUWAITI Shell