// source --> https://www.millabel.my/wp-content/plugins/mini-ajax-woo-cart/assets/frontend/js/frontend.js 
(function ($) {
    "use strict";

    $(document).ready(function () {

        var ajaxUrl = majc_frontend_js_obj.ajax_url;
        var wpNonce = majc_frontend_js_obj.ajax_nonce;

        $('body').addClass($('.majc-main-wrapper').data('overlayenable'));

        $(document.body).trigger('wc_fragment_refresh');

        $.ajax({
            url: ajaxUrl,
            type: 'POST',
            data: {
                action: 'get_refresh_fragments',
                wp_nonce: wpNonce
            },
            success: function (response) {

                if (response.fragments) {

                    //Set fragments
                    $.each(response.fragments, function (key, value) {
                        $(key).replaceWith(value);
                    });

                    if (('sessionStorage' in window && window.sessionStorage !== null)) {

                        sessionStorage.setItem(wc_cart_fragments_params.fragment_name, JSON.stringify(response.fragments));
                        sessionStorage.setItem(wc_cart_fragments_params.cart_hash_key, response.cart_hash);
                        localStorage.setItem(wc_cart_fragments_params.cart_hash_key, response.cart_hash);

                        if (response.cart_hash) {
                            sessionStorage.setItem('wc_cart_created', (new Date()).getTime());
                        }
                    }
                    $(document.body).trigger('wc_fragments_refreshed');
                }
            }
        });

        $('body').find(".majc-body").mCustomScrollbar({
            theme: 'dark-thin',
            scrollbarPosition: 'outside'
        });

        $('body').find(".majc-toggle-button").on('click', function () {
            // Add Toggle class on buton toggle
            $(this).closest('.majc-main-wrapper').toggleClass('majc-cartbasket-open');
            $(this).toggleClass('majc-toggle-btn-open');
            var $popup = $(this).next('.majc-cart-popup');

            if ($popup.hasClass('majc-cartpop-animation-enabled')) {
                var showAnimation = $popup.data('showanimation');
                var hideAnimation = $popup.data('hideanimation');

                if ($popup.hasClass('majc-popup-in-view') && hideAnimation) {
                    $popup.addClass('animate--animated ' + hideAnimation);
                    $popup.one('webkitAnimationEnd oanimationend msAnimationEnd animationend', function (e) {
                        $popup.removeClass('animate--animated majc-popup-in-view ' + hideAnimation);
                    });
                } else if (!$popup.hasClass('majc-popup-in-view') && showAnimation) {
                    $popup.addClass('animate--animated majc-popup-in-view ' + showAnimation);
                    $popup.one('webkitAnimationEnd oanimationend msAnimationEnd animationend', function (e) {
                        $popup.removeClass('animate--animated ' + showAnimation);
                    });
                } else if ($popup.hasClass('majc-popup-in-view')) {
                    $popup.removeClass('majc-popup-in-view');
                } else {
                    $popup.addClass('majc-popup-in-view');
                }
            } else {
                $(this).next('.majc-cart-popup').toggleClass('active');
            }
        });

        $('body').find(".majc-cart-close").on('click', function () {
            var $popup = $(this).closest('.majc-main-inner-wrapper');
            $popup.find(".majc-cartbasket-toggle-btn").trigger('click');
        });

        $(document).on('click', '.add_to_cart_button', function () {
            var cart = $('body').find('.majc-toggle-open-btn');

            var imgtodrag = $(this).closest('.product').find("img").eq(0);

            if (imgtodrag.length && cart.length) {
                var imgclone = imgtodrag.clone()
                    .offset({
                        top: imgtodrag.offset().top,
                        left: imgtodrag.offset().left
                    })
                    .css({
                        'opacity': '0.8',
                        'position': 'absolute',
                        'height': '150px',
                        'width': '150px',
                        'z-index': '100'
                    })
                    .appendTo($('body'))
                    .animate({
                        'top': cart.offset().top + 10,
                        'left': cart.offset().left + 10,
                        'width': 75,
                        'height': 75
                    }, 1000);

                setTimeout(function () {
                    cart.effect("shake", {
                        times: 2,
                        distance: 150
                    }, 200);
                }, 1500);

                imgclone.animate({
                    'width': 0,
                    'height': 0
                }, function () {
                    $(this).detach()
                });
            }
        });

        $(document).on('click', '.majc-remove', function (e) {
            e.preventDefault();

            $(this).closest('.majc-body').addClass('majc-loader');

            var cart_item_id = $(this).attr("data-cart_item_id"),
                cart_item_key = $(this).attr("data-cart_item_key");

            $.ajax({
                type: 'POST',
                dataType: 'json',
                url: ajaxUrl,
                data: {
                    action: "remove_item",
                    cart_item_id: cart_item_id,
                    cart_item_key: cart_item_key,
                    wp_nonce: wpNonce
                },
                success: function (response) {

                    if (!response || response.error) {
                        return;
                    }

                    var fragments = response.fragments;

                    // Replace fragments
                    if (fragments) {
                        $.each(fragments, function (key, value) {
                            $(key).replaceWith(value);
                        });
                    }

                    $('.majc-body').removeClass('majc-loader');
                }
            });
        });

        // Apply Discount Coupons
        $('body').find('.majc-coupon-submit').on('click', function (e) {
            e.preventDefault();
            var $button = $(this);
            var couponCode = $button.prev(".majc-coupon-code").val();
            $button.addClass('majc-button-loading');
            $.ajax({
                url: ajaxUrl,
                type: 'POST',
                data: {
                    action: "add_coupon_code",
                    couponCode: couponCode,
                    wp_nonce: wpNonce
                },
                success: function (response) {
                    var $responseField = $button.closest('.majc-coupon').find('.majc-cpn-resp');
                    $responseField.html(response.msg);
                    if (response.result == 'not valid' || response.result == 'already applied') {
                        $responseField.css({'background-color': '#e2401c', 'color': '#fff'});
                    } else {
                        $responseField.css({'background-color': '#0f834d', 'color': '#fff'});
                    }
                    $responseField.fadeIn().delay(2000).fadeOut();
                    $(document.body).trigger('wc_fragment_refresh');
                    $button.removeClass('majc-button-loading');
                }
            });
        });

        // Remove Applied Discount Coupons
        $('body').on('click', '.majc-remove-cpn', function () {

            var couponCode = $(this).parent('li').attr('data-code'),
                $removeBtn = $(this);

            $.ajax({
                url: ajaxUrl,
                type: 'POST',
                data: {
                    action: "remove_coupon_code",
                    couponCode: couponCode,
                    wp_nonce: wpNonce
                },
                success: function (response) {
                    var $responseField = $removeBtn.closest('.majc-coupon').find('.majc-cpn-resp');
                    $responseField.html(response);
                    $responseField.css({'background-color': '#0f834d', 'color': '#fff'});
                    $responseField.fadeIn().delay(2000).fadeOut();
                    $(document.body).trigger('wc_fragment_refresh');
                }
            });

        });

        /* Increment Cart Item Quantity */
        $("body").on("click", ".majc-qty-plus", function (e) {

            var input = $(this).closest('.majc-cart-items').find("input.majc-qty:not(:disabled)");

            if (input) {
                var pre = parseInt(input.val());
                input.val(pre + 1);
                input.trigger("change");
            }

        });

        /* Decrement Cart Item Quantity */
        $("body").on("click", ".majc-qty-minus", function (e) {

            var input = $(this).closest('.majc-cart-items').find("input.majc-qty:not(:disabled)");

            if (input) {
                var pre = parseInt(input.val()) - 1;

                // Do Nothing if Only 1 Item Left in Cart
                if (pre > 0) {
                    input.val(pre);
                    input.trigger("change");
                }
            }
        });

        // Quantity change 
        $('body').on('change', 'input[name="majc-qty-input"]', function () {

            $(this).closest('.majc-body').addClass('majc-loader');

            var qty = $(this).val();
            var ckey = $(this).closest('.majc-cart-items').data('ckey');

            $(this).prop('disabled', true);

            $.ajax({
                url: ajaxUrl,
                type: 'POST',
                data: 'action=change_item_qty&ckey=' + ckey + '&qty=' + qty + '&wp_nonce=' + wpNonce,
                success: function (response) {
                    $(this).prop('disabled', false);
                    $(document.body).trigger('wc_fragment_refresh');
                    setTimeout(function () {
                        $('.majc-body').removeClass('majc-loader');
                    }, 1000);
                }
            });
        });
    });

})(jQuery);
// source --> https://www.millabel.my/wp-content/plugins/woocommerce/assets/js/js-cookie/js.cookie.min.js 
/*! js-cookie v3.0.5 | MIT */
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self,function(){var n=e.Cookies,o=e.Cookies=t();o.noConflict=function(){return e.Cookies=n,o}}())}(this,function(){"use strict";function e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)e[o]=n[o]}return e}return function t(n,o){function r(t,r,i){if("undefined"!=typeof document){"number"==typeof(i=e({},o,i)).expires&&(i.expires=new Date(Date.now()+864e5*i.expires)),i.expires&&(i.expires=i.expires.toUTCString()),t=encodeURIComponent(t).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var c="";for(var u in i)i[u]&&(c+="; "+u,!0!==i[u]&&(c+="="+i[u].split(";")[0]));return document.cookie=t+"="+n.write(r,t)+c}}return Object.create({set:r,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var t=document.cookie?document.cookie.split("; "):[],o={},r=0;r<t.length;r++){var i=t[r].split("="),c=i.slice(1).join("=");try{var u=decodeURIComponent(i[0]);if(o[u]=n.read(c,u),e===u)break}catch(f){}}return e?o[e]:o}},remove:function(t,n){r(t,"",e({},n,{expires:-1}))},withAttributes:function(n){return t(this.converter,e({},this.attributes,n))},withConverter:function(n){return t(e({},this.converter,n),this.attributes)}},{attributes:{value:Object.freeze(o)},converter:{value:Object.freeze(n)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"})});