PHP 7.4.33
Preview: cart.js Size: 60.62 KB
/home/justbyquicklly-old/justbyquicklly/www/cart.js

//---------- Init

updateMiniCart();



window.addEventListener('scroll', checkScroll);

//window.onscroll = function () { checkScroll() };

var header = document.getElementsByTagName("header")[0];

var sticky = header.offsetTop;



if (!window.location.href.includes('checkout')) {

    setCookie("cart_tab_store", "0");

    setCookie("cart_tab", "");

}



function checkScroll() {

    if (window.pageYOffset > sticky) {

        header.classList.add("sticky");

    } else {

        header.classList.remove("sticky");

    }

}



$(window).on("resize", function (event) {

    if ($(window).width() < 415)

        $('txtSearch').attr('placeholder', 'Search...');

    else

        $('txtSearch').attr('placeholder', 'Search for products...');

});



//---------- Common

var cartKey = 'cart_grocery';



function toggleInnerCart() {

    $('.clsMiniCart').toggleClass('active');

}



window.onclick = function (event) {

    if (event.target == document.getElementById('minicart')) {

        $('.clsMiniCart').removeClass('active');

    }

}



function getCartTotalByKey(key) {

    var items = 0;

    var qty = 0;

    var grandTotal = 0;

    var lstCart = [];



    var cart = window.localStorage.getItem(key);



    if (cart != null && cart != '') {

        lstCart = JSON.parse(cart);



        if (lstCart.length > 0) {

            items = lstCart.length;



            for (var i = 0; i < lstCart.length; i++) {

                grandTotal += parseFloat(lstCart[i].total);

                qty += parseInt(lstCart[i].qty);

            }

        }

    }



    return [items, grandTotal, qty];

}



function checkStoreZip() {  //x3 (this, index, tiffin)

    if (getCookie('postalcode').trim() != '') {

        if (getCookie('postalcode').trim() != $('#zipcode').val().trim()) {

            var flgConfirm = confirm('Your cart will get clear on changing zipcode! Continue?');

            if (flgConfirm)

                localStorage.clear();

            else

                $('#zipcode').val(getCookie('postalcode').trim());



            return flgConfirm;

        }

    }



    return true;

}



//---------- Minicart

var lastMiniSID = '';



function updateMiniCart() {

    var grocery = getCartTotalByKey('cart_grocery');

    var food = getCartTotalByKey('cart_food');



    var totalItems = grocery[0] + food[0];

    var totalQty = grocery[2] + food[2];



    $('.clsCart2 span')[0].innerText = totalQty;



    if (totalItems > 1)

        $('.clsCart3 span')[0].innerText = totalItems + ' items';

    else

        $('.clsCart3 span')[0].innerText = totalItems + ' item';



    // Clear            

    removeMiniStoreSlider();

    $('.clsInnerCart .clsSlider a').remove();



    // Get updated data

    var lstCart = [];

    var cart = window.localStorage.getItem('cart_grocery');



    if (cart != null && cart != '')

        lstCart = JSON.parse(cart);



    cart = window.localStorage.getItem('cart_food');



    if (cart != null && cart != '') {

        var tmp = JSON.parse(cart);

        for (var i = 0; i < tmp.length; i++)

            lstCart.push(tmp[i]);

    }



    // Add data

    var lstStores = [];



    if (lstCart.length > 0) {

        for (var i = 0; i < lstCart.length; i++) {

            if (!lstStores.includes(lstCart[i].sid)) {

                lstStores.push(lstCart[i].sid);



                var template = $('#tempMiniCart-Store').html();

                template = template.replace('[SID]', lstCart[i].sid);

                template = template.replace('[Name]', lstCart[i].sname);

                $('.clsInnerCart .clsSlider').append(template);

            }

        }



        if (lastMiniSID == '')

            selectMiniStore($('.clsInnerCart .clsSlider a:first-child')[0]);

        else {

            var mini_sore = $('.clsInnerCart .clsSlider a[data-sid=' + lastMiniSID + ']');

            if (mini_sore.length > 0)

                selectMiniStore(mini_sore[0]);

            else

                selectMiniStore($('.clsInnerCart .clsSlider a:first-child')[0]);

        }



        $('#lnkProceedToCheckout').show();

        $('#lblCartEmpty').hide();

        addMiniStoreSlider();

    } else {

        $('#lnkProceedToCheckout').hide();

        $('#lblCartEmpty').show();

        $('.clsInnerCart .clsMinOrderAmt').hide();

        $('.clsInnerCart .clsCartProds .clsCartProd').remove();

    }

}



function selectMiniStore(lnk) {

    lastMiniSID = lnk.dataset.sid;



    $('.clsInnerCart .clsSlider a').removeClass('active');

    $(lnk).addClass('active');

    $('.clsInnerCart .clsCartProds .clsCartProd').remove();



    // Get updated data

    var minorderAmt = '';

    var hasProd = false;

    var lstCart = [];

    var cart = window.localStorage.getItem('cart_grocery');



    if (cart != null && cart != '') {

        lstCart = JSON.parse(cart);



        if (lstCart.length > 0) {

            for (var i = 0; i < lstCart.length; i++) {

                if (lstCart[i].sid == lnk.dataset.sid) {

                    hasProd = true;



                    if (lstCart[i].minorder != undefined)

                        minorderAmt = lstCart[i].minorder;



                    var template = $('#tempMiniCart-Prod').html();

                    template = template.replace('[Img]', lstCart[i].photo);

                    template = template.replace('[Name1]', lstCart[i].name);

                    template = template.replace('[Name2]', lstCart[i].name);

                    //template = template.replace('[Price]', lstCart[i].price);

                    template = template.replace('[Price]', lstCart[i].total);

                    template = template.replace('[i]', i);

                    template = template.replace('[Key]', 'cart_grocery');

                    template = template.replace('[i1]', i);

                    template = template.replace('[Key1]', 'cart_grocery');

                    template = template.replace('[i2]', i);

                    template = template.replace('[Key2]', 'cart_grocery');

                    template = template.replace('[qty]', lstCart[i].qty);

                    template = template.replace('[qty]', lstCart[i].qty);

                    template = template.replace('[pid]', lstCart[i].pid);

                    template = template.replace('[pid]', lstCart[i].pid);

                    template = template.replace('[pid]', lstCart[i].pid);

                    template = template.replace('[pid]', lstCart[i].pid);



                    if (lstCart[i].remarks != null && lstCart[i].remarks.trim() != '')

                        template = template.replace('[Remarks]', lstCart[i].remarks);

                    else

                        template = template.replace('[Remarks]', '');

                    template = template.replace('[pid]', lstCart[i].pid);

                    $('.clsInnerCart .clsCartProds').append(template);

                    var diwali_products = diwaliPrizeDeal();

                    if (diwali_products.includes(parseInt(lstCart[i].pid))) {

                        $("#lnk_cart_" + lstCart[i].pid).hide();

                      //  $("#qty_cart_" + lstCart[i].pid).hide();

                         $(".diwili_qty_" + lstCart[i].pid).hide();

                         $("#diwili_qty_" + lstCart[i].pid).css({'text-align':'center','margin-right':'40px','border':'none', 'background':'none'});

                         $("#qty_cart_" + lstCart[i].pid).css({'background':'none'});

 

                    }

                }

            }

        }

    }



    lstCart = [];

    cart = window.localStorage.getItem('cart_food');



    if (cart != null && cart != '') {

        lstCart = JSON.parse(cart);



        if (lstCart.length > 0) {

            for (var i = 0; i < lstCart.length; i++) {

                if (lstCart[i].sid == lnk.dataset.sid) {

                    hasProd = true;



                    if (lstCart[i].minorder != undefined)

                        minorderAmt = lstCart[i].minorder;



                    var template = $('#tempMiniCart-Prod').html();

                    template = template.replace('[Img]', lstCart[i].photo);

                    template = template.replace('[Name1]', lstCart[i].name);

                    template = template.replace('[Name2]', lstCart[i].name);

                    //template = template.replace('[Price]', lstCart[i].price);

                    template = template.replace('[Price]', lstCart[i].total);

                    template = template.replace('[i]', i);

                    template = template.replace('[Key]', 'cart_food');

                    template = template.replace('[i1]', i);

                    template = template.replace('[Key1]', 'cart_food');

                    template = template.replace('[i2]', i);

                    template = template.replace('[Key2]', 'cart_food');

                    template = template.replace('[qty]', lstCart[i].qty);



                    if (lstCart[i].remarks != null && lstCart[i].remarks.trim() != '')

                        template = template.replace('[Remarks]', lstCart[i].remarks);

                    else

                        template = template.replace('[Remarks]', '');



                    $('.clsInnerCart .clsCartProds').append(template);

                }

            }

        }

    }



    if (hasProd) {

        $('.clsInnerCart .clsMinOrderAmt')[0].innerText = lnk.innerText + ' Min. Order $' + minorderAmt;

        $('.clsInnerCart .clsMinOrderAmt').show();

    } else

        $('.clsInnerCart .clsMinOrderAmt').hide();

}



function removeMiniCartProd(i, key) {

    var lstCart = [];

    var cart = window.localStorage.getItem(key);



    if (cart != null && cart != '')

        lstCart = JSON.parse(cart);



    if (lstCart.length > 0)

        lstCart.splice(i, 1);



    window.localStorage.setItem(key, JSON.stringify(lstCart));



    var sid = $('.clsInnerCart .clsSlider a.active')[0].dataset.sid;

    updateMiniCart();

    resetPhpCart();



    if ($('.clsInnerCart .clsSlider a[data-sid="' + sid + '"]').length > 0)

        $('.clsInnerCart .clsSlider a[data-sid="' + sid + '"]').click();

    else

        $('.clsInnerCart .clsSlider a:first-child').click();



    restoreProdQty();

}



function addMiniStoreSlider() {

    $('.clsInnerCart .clsSlider').slick({

        infinite: false,

        slidesToScroll: 1,

        autoplay: false,

        variableWidth: true,

        arrows: true,

        prevArrow: '<i class="left">&#x2039;</i>',

        nextArrow: '<i class="right">&#x203A;</i>',

        centerMode: false,

        dots: false

    });

}



function removeMiniStoreSlider() {

    if ($('.clsInnerCart .clsSlider').hasClass('slick-initialized'))

        $('.clsInnerCart .clsSlider').slick('unslick');

}



function addQtyMiniCart(i, key) {

    var lstCart = [];

    var cart = window.localStorage.getItem(key);



    if (cart != null && cart != '')

        lstCart = JSON.parse(cart);



    if (lstCart.length > 0) {

        var qty = lstCart[i].qty;

        qty = parseInt(qty) + 1;

        updateMiniCartQty(i, qty, key);

    }



    restoreProdQty();

    resetPhpCart();

}



function removeQtyMiniCart(i, key) {

    var lstCart = [];

    var cart = window.localStorage.getItem(key);



    if (cart != null && cart != '')

        lstCart = JSON.parse(cart);



    if (lstCart.length > 0) {

        var qty = lstCart[i].qty;

        qty = parseInt(qty) - 1;



        if (qty == 0)

            removeMiniCartProd(i, key);

        else

            updateMiniCartQty(i, qty, key);

    }



    restoreProdQty();

    resetPhpCart();

}



function updateMiniCartQty(i, qty, key) {

    var lstCart = [];

    var cart = window.localStorage.getItem(key);



    if (cart != null && cart != '')

        lstCart = JSON.parse(cart);



    if (lstCart.length > 0) {

        lstCart[i].qty = qty;

        lstCart[i].total = (parseFloat(lstCart[i].calcprice) * parseInt(lstCart[i].qty)).toFixed(2);

        lstCart[i].tax = (parseFloat(lstCart[i].baseTax) * parseInt(lstCart[i].qty)).toFixed(2);



        if (lstCart[i].addOnBaseQtys != undefined && lstCart[i].addOnBaseQtys != '') {

            var arrTmpNewQty = lstCart[i].addOnBaseQtys.split(',');

            var tmpQty = '';



            for (let j = 0; j < arrTmpNewQty.length; j++)

                tmpQty += (parseInt(arrTmpNewQty[j]) * lstCart[i].qty) + ',';



            if (tmpQty != '')

                tmpQty = tmpQty.substr(0, tmpQty.length - 1);



            lstCart[i].addOnQtys = tmpQty;

        }

    }



    window.localStorage.setItem(key, JSON.stringify(lstCart));

    updateMiniCart();

}



//---------- Grocery

function addToCart(lnk, flgPrepend = false) {

    $(lnk).hide();

    var parent = $(lnk).parent();

    var template = $('#tempQty').html();



    if (flgPrepend)

        $(parent).prepend(template);

    else

        $(parent).append(template);



    var lstCart = [];

    var cart = window.localStorage.getItem('cart_grocery');



    if (cart != null && cart != '')

        lstCart = JSON.parse(cart);



    var flgAdd = true;



    if (lstCart.length > 0) {

        for (var j = 0; j < lstCart.length; j++) {

            if (lstCart[j].pid == lnk.dataset.pid) {

                lstCart[j].qty = parseInt(lstCart[j].qty) + 1;

                lstCart[j].total = (parseFloat(lstCart[j].calcprice) * parseInt(lstCart[j].qty)).toFixed(2);

                flgAdd = false;

                //resetPhpCart();

                break;

            }

        }

    }



    if (flgAdd) {

        var prod_total = parseFloat(lnk.dataset.price) * 1;



        var newProd = {

            section: 'grocery',

            sid: lnk.dataset.sid,

            sname: lnk.dataset.sname,

            simg: lnk.dataset.simg,

            smin: lnk.dataset.smin,

            minorder: lnk.dataset.minorder,

            pid: lnk.dataset.pid,

            name: lnk.dataset.name,

            qty: 1,

            price: lnk.dataset.price,

            calcprice: lnk.dataset.price,

            baseTax: lnk.dataset.tax,

            tax: lnk.dataset.tax,

            total: prod_total,

            photo: lnk.dataset.photo

        }



        lstCart.push(newProd);

        lnk.dataset.i = (lstCart.length - 1);

    }

    //else

    //    $(lnk).parent().find('select').val(lstCart[i].qty);



    window.localStorage.setItem("cart_grocery", JSON.stringify(lstCart));

    updateMiniCart();

    resetPhpCart();



    //flying effect start by sachin

    var basket = $('.clsCart2');

    var imgtodrag = $('#img_' + lnk.dataset.pid).eq(0);

    if (imgtodrag) {

        var imgtoclone = imgtodrag.clone().offset({top: imgtodrag.offset().top, left: imgtodrag.offset().left}).css({'opacity': '0.5', 'position': 'absolute', 'height': '150px', 'width': '150px', 'z-index': '99999900'}).appendTo($('body')).animate({'top': basket.offset().top + 10, 'left': basket.offset().left + 10, 'width': 75, 'height': 75}, 1000, 'easeInOutExpo');

        //setTimeout(function(){basket.effect("shake",{times:2},200)},1500);

        imgtoclone.animate({'width': 0, 'height': 0},

                function () {

                    $(this).detach()

                })

}

//flying effect ends$("#box").animate({height: "300px"});

}



function ddlQty_onChange(ddl) {

    var lnkAddToCart = $(ddl).closest('.clsProd').find('.clsProdAdd')[0];



    if (ddl.value == '0') {

        removeFromCart(lnkAddToCart.dataset.i, 'cart_grocery');

        $(lnkAddToCart).removeAttr("data-i");



        var parent = $(ddl).parent();

        var mainparent = $(ddl).parent().parent();

        $(parent).remove();

        $(mainparent).find('.clsProdAdd').show();

        resetPhpCart();

    } else {

        //flying effect start by sachin

        var basket = $('.clsCart2');

        var imgtodrag = $('#img_' + lnkAddToCart.dataset.pid).eq(0);

        if (imgtodrag) {

            var imgtoclone = imgtodrag.clone().offset({top: imgtodrag.offset().top, left: imgtodrag.offset().left}).css({'opacity': '0.5', 'position': 'absolute', 'height': '150px', 'width': '150px', 'z-index': '99999900'}).appendTo($('body')).animate({'top': basket.offset().top + 10, 'left': basket.offset().left + 10, 'width': 75, 'height': 75}, 1000, 'easeInOutExpo');

            //setTimeout(function(){basket.effect("shake",{times:2},200)},1500);

            imgtoclone.animate({'width': 0, 'height': 0},

                    function () {

                        $(this).detach()

                    })

        }

        //flying effect ends$("#box").animate({height: "300px"});

        updateCartQty(lnkAddToCart.dataset.i, parseInt(ddl.value), 'cart_grocery');

        resetPhpCart();

    }

}



function updateCartQty(i, qty, key) {

    var lstCart = [];

    var cart = window.localStorage.getItem(key);



    if (cart != null && cart != '')

        lstCart = JSON.parse(cart);



    if (lstCart.length > 0) {

        lstCart[i].qty = qty;

        lstCart[i].total = (parseFloat(lstCart[i].calcprice) * parseInt(lstCart[i].qty)).toFixed(2);

        lstCart[i].tax = (parseFloat(lstCart[i].baseTax) * parseInt(lstCart[i].qty)).toFixed(2);



        if (lstCart[i].addOnBaseQtys != undefined && lstCart[i].addOnBaseQtys != '') {

            var arrTmpNewQty = lstCart[i].addOnBaseQtys.split(',');

            var tmpQty = '';



            for (let j = 0; j < arrTmpNewQty.length; j++)

                tmpQty += (parseInt(arrTmpNewQty[j]) * lstCart[i].qty) + ',';



            if (tmpQty != '')

                tmpQty = tmpQty.substr(0, tmpQty.length - 1);



            lstCart[i].addOnQtys = tmpQty;

        }

    }



    window.localStorage.setItem(key, JSON.stringify(lstCart));

    updateMiniCart();

}



function removeFromCart(i, key) {

    var lstCart = [];

    var cart = window.localStorage.getItem(key);



    if (cart != null && cart != '')

        lstCart = JSON.parse(cart);



    if (lstCart.length > 0)

        lstCart.splice(i, 1);



    window.localStorage.setItem(key, JSON.stringify(lstCart));

    updateMiniCart();

    resetPhpCart();

}



function restoreProdQty(flgPrepend = false) {

    var lstCart = [];



    var cart = window.localStorage.getItem('cart_grocery');

    if (cart != null && cart != '')

        lstCart = JSON.parse(cart);



    if (lstCart.length > 0) {

        var template = $('#tempQty').html();



        for (i = 0; i < lstCart.length; i++) {

            var prodAdd = $('.clsProdAdd[data-pid="' + lstCart[i].pid + '"]');



            for (j = 0; j < prodAdd.length; j++) {

                prodAdd[j].dataset.i = i;

                $(prodAdd[j]).hide();

                var parent = $(prodAdd[j]).parent();



                if ($(parent).find('.clsQty select').length == 0) {

                    if (flgPrepend)

                        $(parent).prepend(template);

                    else

                        $(parent).append(template);

                }



                $(parent).find('.clsQty select')[0].value = lstCart[i].qty;

            }

        }



        var ddls = $('.clsProd .clsQty select');



        if (ddls.length > 0) {

            for (i = 0; i < ddls.length; i++) {

                var parent = $(ddls[i]).parent();

                var mainparent = $(ddls[i]).parent().parent();

                var btnAddToCart = $(mainparent).find('.clsProdAdd');



                var tmpCart = lstCart.filter(function (el) {

                    return el.pid == btnAddToCart[0].dataset.pid;

                });



                if (tmpCart == null || tmpCart.length == 0) {

                    $(parent).remove();

                    $(btnAddToCart).show();

                }

            }

        }

    } else {

        var ddls = $('.clsProd .clsQty select');



        if (ddls.length > 0) {

            for (i = 0; i < ddls.length; i++) {

                var parent = $(ddls[i]).parent();

                var mainparent = $(ddls[i]).parent().parent();

                $(parent).remove();

                $(mainparent).find('.clsProdAdd').show();

            }

        }

}

}



//---------- Food

function addToCart_Food() {

    var lstCart = [];

    var cart = window.localStorage.getItem('cart_food');



    if (cart != null && cart != '')

        lstCart = JSON.parse(cart);



    var tmp_remarks = '';

    var total_tax = 0;



    // Customize

    var custom = '';

    var cus = $('.clsCustomize input[type=radio]:checked');

    for (i = 0; i < cus.length; i++) {

        //tmp_remarks += cus[i].value + ', ';

        custom += cus[i].name + ': ' + cus[i].value + ', ';

        tmp_remarks += cus[i].name + ': ' + cus[i].value + ', ';

    }



    if (custom != '') {

        custom = custom.substr(0, custom.length - 2);

        tmp_remarks = tmp_remarks.substr(0, tmp_remarks.length - 2);

    }



    // Addons

    var lstAddOn = [];

    var addOnIDArr = '';

    var addOnQtyArr = '';

    var addOnCost = 0;

    var adds = $('.clsAddOns select');



    for (i = 0; i < adds.length; i++) {

        if (i == 0) {

            if (tmp_remarks == '')

                tmp_remarks = "Addons: ";

            else

                tmp_remarks += ". Addons: ";

        }



        var addOnData = $(adds[i]).closest('.clsDetails').find('.clsProdAdd')[0].dataset;

        addOnCost += parseFloat(addOnData.price) * parseInt(adds[i].value);

        total_tax += parseFloat(addOnData.tax) * parseInt(adds[i].value);



        if (adds[i].value > 1)

            tmp_remarks += addOnData.name + ' (x' + adds[i].value + '), ';

        else

            tmp_remarks += addOnData.name + ', ';



        addOnIDArr += addOnData.pid + ',';

        addOnQtyArr += adds[i].value + ',';



        var a = {

            pid: addOnData.pid,

            name: addOnData.name,

            qty: adds[i].value,

            price: addOnData.price,

            tax: addOnData.tax,

            photo: addOnData.photo

        }



        lstAddOn.push(a);

    }



    if (tmp_remarks != '')

        tmp_remarks = tmp_remarks.substr(0, tmp_remarks.length - 2);



    if (addOnIDArr != '')

        addOnIDArr = addOnIDArr.substr(0, addOnIDArr.length - 1);



    if (addOnQtyArr != '')

        addOnQtyArr = addOnQtyArr.substr(0, addOnQtyArr.length - 1);



    var flgAdd = true;



    if (lstCart.length > 0) {

        for (var i = 0; i < lstCart.length; i++) {

            if (lstCart[i].pid == $('#hdnPID').val() &&

                    lstCart[i].remarks == tmp_remarks) {

                lstCart[i].qty = parseInt(lstCart[i].qty) + parseInt($('#ddlProdQty').val());

                lstCart[i].total = ((parseFloat(lstCart[i].calcprice) * parseInt(lstCart[i].qty))).toFixed(2);

                lstCart[i].tax = ((parseFloat(lstCart[i].baseTax) * parseInt(lstCart[i].qty))).toFixed(2);



                if (lstCart[i].addOnQtys != '') {

                    var arrTmpNewQty = lstCart[i].addOnQtys.split(',');

                    var tmpQty = '';



                    for (let j = 0; j < arrTmpNewQty.length; j++)

                        tmpQty += (parseInt(arrTmpNewQty[j]) * lstCart[i].qty) + ',';



                    if (tmpQty != '')

                        tmpQty = tmpQty.substr(0, tmpQty.length - 1);



                    lstCart[i].addOnQtys = tmpQty;

                }



                flgAdd = false;

                resetPhpCart();

                break;

            }

        }

    }



    if (flgAdd) {

        var prod_calc_Price = (parseFloat($('#hdnPPrice').val()) + addOnCost);

        var prod_total = prod_calc_Price * parseInt($('#ddlProdQty').val());

        total_tax += parseFloat($('#hdnPTax').val()) * parseInt($('#ddlProdQty').val());



        var newProd = {

            section: 'food',

            sid: $('#hdnStoreID').val(),

            sname: $('#hdnStoreName').val(),

            simg: $('#hdnStoreImg').val(),

            smin: $('#hdnStoreMin').val(),

            minorder: $('#hdnStoreMinOrder').val(),

            pid: $('#hdnPID').val(),

            name: $('#hdnPName').val(),

            qty: $('#ddlProdQty').val(),

            price: $('#hdnPPrice').val(),

            baseTax: total_tax,

            tax: total_tax,

            calcprice: prod_calc_Price,

            total: prod_total.toFixed(2),

            photo: $('#hdnPPhoto').val(),

            remarks: tmp_remarks,

            customize: custom,

            addOns: lstAddOn,

            addOnIDs: addOnIDArr,

            addOnBaseQtys: addOnQtyArr,

            addOnQtys: addOnQtyArr,

            deliveryDate: $('#hdnDeliveryDate').val(),

            deliveryFromTime: $('#hdnDeliveryFromTime').val(),

            deliveryToTime: $('#hdnDeliveryToTime').val()

        }



        lstCart.push(newProd);

    }



    window.localStorage.setItem("cart_food", JSON.stringify(lstCart));

    updateMiniCart();

    resetPhpCart();

    closeDialog('dvDialog-Custom');

}



//---------- Tiffin

function addToCart_Tiffin() {

    var lstCart = [];

    var cart = window.localStorage.getItem('cart_food');



    if (cart != null && cart != '')

        lstCart = JSON.parse(cart);



    var dvContent;



    if ($('#hdnOrderType').val() == 'OneTime') {

        dvContent = $('#OneTime');

    } else {

        var tmp = $('#Weekly .clsSelectWeekDay input[type=checkbox]:checked');

        dvContent = $(tmp).parent().parent().find('.clsSelectWeekDay-Content');

    }



    for (k = 0; k < dvContent.length; k++) {

        var tmp_remarks = '', selDate = '';

        var total_tax = 0;



        // Customize

        var custom = '';

        var cus = $(dvContent[k]).find('.clsCustomize input[type=radio]:checked');

        for (i = 0; i < cus.length; i++) {

            //tmp_remarks += cus[i].value + ', ';

            tmp_remarks += cus[i].name.split('|')[1] + ': ' + cus[i].value + ', ';

            custom += cus[i].name.split('|')[1] + ': ' + cus[i].value + ', ';

        }



        if (custom != '') {

            custom = custom.substr(0, custom.length - 2);

            tmp_remarks = tmp_remarks.substr(0, tmp_remarks.length - 2);

        }



        // Addons

        var lstAddOn = [];

        var addOnIDArr = '';

        var addOnQtyArr = '';

        var addOnCost = 0;

        var adds = $(dvContent[k]).find('.clsAddOns select');



        for (i = 0; i < adds.length; i++) {

            if (i == 0) {

                if (tmp_remarks == '')

                    tmp_remarks = "Addons: ";

                else

                    tmp_remarks += ". Addons: ";

            }



            var addOnData = $(adds[i]).closest('.clsDetails').find('.clsProdAdd')[0].dataset;

            addOnCost += parseFloat(addOnData.price) * parseInt(adds[i].value);

            total_tax += parseFloat(addOnData.tax) * parseInt(adds[i].value);



            if (adds[i].value > 1)

                tmp_remarks += addOnData.name + ' (x' + adds[i].value + '), ';

            else

                tmp_remarks += addOnData.name + ', ';



            addOnIDArr += addOnData.pid + ',';

            addOnQtyArr += adds[i].value + ',';



            var a = {

                pid: addOnData.pid,

                name: addOnData.name,

                qty: adds[i].value,

                price: addOnData.price,

                tax: addOnData.tax,

                photo: addOnData.photo

            }



            lstAddOn.push(a);

        }



        if (adds.length > 0 && tmp_remarks != '')

            tmp_remarks = tmp_remarks.substr(0, tmp_remarks.length - 2);



        if (addOnIDArr != '')

            addOnIDArr = addOnIDArr.substr(0, addOnIDArr.length - 1);



        if (addOnQtyArr != '')

            addOnQtyArr = addOnQtyArr.substr(0, addOnQtyArr.length - 1);



        // Day

        if ($('#hdnOrderType').val() == 'Weekly') {

            selDate = $(dvContent[k]).parent().find('.clsSelectWeekDay input[type=checkbox]')[0].value;

            var selDay = $(dvContent[k]).parent().find('.clsSelectWeekDay input[type=checkbox]')[0].dataset.day;



            if (tmp_remarks != '')

                tmp_remarks = selDay + ' - ' + tmp_remarks;

            else

                tmp_remarks = selDay;

        } else

            selDate = $('#hdnDeliveryDate').val();



        var flgAdd = true;



        if (lstCart.length > 0) {

            for (var i = 0; i < lstCart.length; i++) {

                if (lstCart[i].pid == $('#hdnPID').val() &&

                        lstCart[i].remarks == tmp_remarks) {

                    lstCart[i].qty = parseInt(lstCart[i].qty) + parseInt($('#ddlProdQty').val());

                    lstCart[i].total = ((parseFloat(lstCart[i].calcprice) * parseInt(lstCart[i].qty))).toFixed(2);

                    lstCart[i].tax = ((parseFloat(lstCart[i].baseTax) * parseInt(lstCart[i].qty))).toFixed(2);



                    if (lstCart[i].addOnQtys != '') {

                        var arrTmpNewQty = lstCart[i].addOnQtys.split(',');

                        var tmpQty = '';



                        for (let j = 0; j < arrTmpNewQty.length; j++)

                            tmpQty += (parseInt(arrTmpNewQty[j]) * lstCart[i].qty) + ',';



                        if (tmpQty != '')

                            tmpQty = tmpQty.substr(0, tmpQty.length - 1);



                        lstCart[i].addOnQtys = tmpQty;

                    }



                    flgAdd = false;

                    break;

                }

            }

        }



        if (flgAdd) {

            var prod_calc_Price = (parseFloat($('#hdnPPrice').val()) + addOnCost);

            var prod_total = prod_calc_Price * parseInt($('#ddlProdQty').val());

            total_tax += parseFloat($('#hdnPTax').val()) * parseInt($('#ddlProdQty').val());



            var newProd = {

                section: 'tiffin',

                sid: $('#hdnStoreID').val(),

                sname: $('#hdnStoreName').val(),

                simg: $('#hdnStoreImg').val(),

                smin: $('#hdnStoreMin').val(),

                minorder: $('#hdnStoreMinOrder').val(),

                pid: $('#hdnPID').val(),

                name: $('#hdnPName').val(),

                qty: $('#ddlProdQty').val(),

                price: $('#hdnPPrice').val(),

                baseTax: total_tax,

                tax: total_tax,

                calcprice: prod_calc_Price,

                total: prod_total.toFixed(2),

                photo: $('#hdnPPhoto').val(),

                remarks: tmp_remarks,

                customize: custom,

                addOns: lstAddOn,

                addOnIDs: addOnIDArr,

                addOnBaseQtys: addOnQtyArr,

                addOnQtys: addOnQtyArr,

                freq: $('#hdnOrderType').val(),

                deliveryDate: selDate,

                deliveryFromTime: $('#hdnDeliveryFromTime').val(),

                deliveryToTime: $('#hdnDeliveryToTime').val()

            }



            lstCart.push(newProd);

        }

    }



    window.localStorage.setItem("cart_food", JSON.stringify(lstCart));

    updateMiniCart();

    resetPhpCart();

    closeDialog('dvDialog-Custom');

}



//---------- Meal

function addToCart_Meal() {

    var selected = $('.clsFoodStoreCard.active');

    if (parseInt($('#hdnSelect').val()) != selected.length)

        alert('Select total ' + parseInt($('#hdnSelect').val()) + ' items to add in the cart.');

    else {

        var lstCart = [];

        var cart = window.localStorage.getItem('cart_food');



        if (cart != null && cart != '')

            lstCart = JSON.parse(cart);



        var tmp_remarks = '';



        // Addons

        var lstAddOn = [];

        var addOnIDArr = '';

        var addOnQtyArr = '';



        for (i = 0; i < selected.length; i++) {

            tmp_remarks += selected[i].dataset.name + ', ';



            addOnIDArr += selected[i].dataset.pid + ',';

            addOnQtyArr += '1,';



            var a = {

                pid: selected[i].dataset.pid,

                name: selected[i].dataset.name,

                photo: selected[i].dataset.photo

            }



            lstAddOn.push(a);

        }



        if (tmp_remarks != '')

            tmp_remarks = tmp_remarks.substr(0, tmp_remarks.length - 2);



        if (addOnIDArr != '')

            addOnIDArr = addOnIDArr.substr(0, addOnIDArr.length - 1);



        if (addOnQtyArr != '')

            addOnQtyArr = addOnQtyArr.substr(0, addOnQtyArr.length - 1);



        var flgAdd = true;



        if (lstCart.length > 0) {

            for (var i = 0; i < lstCart.length; i++) {

                if (lstCart[i].pid == $('#hdnPID').val() &&

                        lstCart[i].remarks == tmp_remarks) {

                    lstCart[i].qty = parseInt(lstCart[i].qty) + 1;

                    lstCart[i].total = ((parseFloat(lstCart[i].calcprice) * parseInt(lstCart[i].qty))).toFixed(2);

                    lstCart[i].tax = (parseFloat(lstCart[i].baseTax) * parseInt(lstCart[i].qty)).toFixed(2);



                    if (lstCart[i].addOnQtys != '') {

                        var arrTmpNewQty = lstCart[i].addOnQtys.split(',');

                        var tmpQty = '';



                        for (let j = 0; j < arrTmpNewQty.length; j++)

                            tmpQty += (parseInt(arrTmpNewQty[j]) * lstCart[i].qty) + ',';



                        if (tmpQty != '')

                            tmpQty = tmpQty.substr(0, tmpQty.length - 1);



                        lstCart[i].addOnQtys = tmpQty;

                    }



                    flgAdd = false;

                    break;

                }

            }

        }



        if (flgAdd) {

            var newProd = {

                section: 'meal',

                sid: $('#hdnStoreID').val(),

                sname: $('#hdnStoreName').val(),

                simg: $('#hdnStoreImg').val(),

                smin: $('#hdnStoreMin').val(),

                minorder: $('#hdnStoreMinOrder').val(),

                pid: $('#hdnPID').val(),

                name: $('#hdnPName').val(),

                qty: 1,

                price: $('#hdnPPrice').val(),

                baseTax: $('#hdnPTax').val(),

                tax: $('#hdnPTax').val(),

                calcprice: $('#hdnPPrice').val(),

                total: $('#hdnPPrice').val(),

                photo: $('#hdnPPhoto').val(),

                remarks: tmp_remarks,

                customize: tmp_remarks,

                addOns: lstAddOn,

                addOnIDs: addOnIDArr,

                addOnBaseQtys: addOnQtyArr,

                addOnQtys: addOnQtyArr,

                deliveryDate: $('#hdnDeliveryDate').val(),

                deliveryFromTime: '',

                deliveryToTime: ''

            }



            lstCart.push(newProd);

        }



        window.localStorage.setItem("cart_food", JSON.stringify(lstCart));

        //updateMiniCart();

        resetPhpCart();

        //window.location.href = '/checkout/';

        window.location.href = window.location.href;

    }

}



//---------- Catering

function addToCart_Catering() {

    var lstCart = [];

    var cart = window.localStorage.getItem('cart_food');



    if (cart != null && cart != '')

        lstCart = JSON.parse(cart);



    var tmp_remarks = '';

    var total_tax = 0;



    // Size

    var radio = $('.clsSizes ul li input[type=radio]:checked')[0];

    var tmp_remarks = radio.dataset.remark;

    var sizeCost = radio.dataset.cost;

    var sizeTax = radio.dataset.tax;

    var size_id = radio.value;



    // Customize

    var custom = '';

    var cus = $('.clsCustomize input[type=radio]:checked');



    if (cus.length > 0)

        tmp_remarks += ". ";



    for (i = 0; i < cus.length; i++) {

        custom += cus[i].name + ': ' + cus[i].value + ', ';

        tmp_remarks += cus[i].name + ': ' + cus[i].value + ', ';

    }



    if (custom != '') {

        custom = custom.substr(0, custom.length - 2);

        tmp_remarks = tmp_remarks.substr(0, tmp_remarks.length - 2);

    }



    // Addons

    var lstAddOn = [];

    var addOnIDArr = '';

    var addOnQtyArr = '';

    var addOnCost = 0;

    var adds = $('.clsAddOns select');



    for (i = 0; i < adds.length; i++) {

        if (i == 0) {

            if (tmp_remarks == '')

                tmp_remarks = "Addons: ";

            else

                tmp_remarks += ". Addons: ";

        }



        var addOnData = $(adds[i]).closest('.clsDetails').find('.clsProdAdd')[0].dataset;

        addOnCost += parseFloat(addOnData.price) * parseInt(adds[i].value);

        total_tax += parseFloat(addOnData.tax) * parseInt(adds[i].value);



        if (adds[i].value > 1)

            tmp_remarks += addOnData.name + ' (x' + adds[i].value + '), ';

        else

            tmp_remarks += addOnData.name + ', ';



        addOnIDArr += addOnData.pid + ',';

        addOnQtyArr += adds[i].value + ',';



        var a = {

            pid: addOnData.pid,

            name: addOnData.name,

            qty: adds[i].value,

            price: addOnData.price,

            tax: addOnData.tax,

            photo: addOnData.photo

        }



        lstAddOn.push(a);

    }



    if (lstAddOn.length > 0)

        tmp_remarks = tmp_remarks.substr(0, tmp_remarks.length - 2);



    if (addOnIDArr != '')

        addOnIDArr = addOnIDArr.substr(0, addOnIDArr.length - 1);



    if (addOnQtyArr != '')

        addOnQtyArr = addOnQtyArr.substr(0, addOnQtyArr.length - 1);



    if ($('#txtAllergic').val().trim() != '')

        tmp_remarks = tmp_remarks + '. Allergic Items: ' + $('#txtAllergic').val().trim();



    if ($('#txtSplInstruct').val().trim() != '')

        tmp_remarks = tmp_remarks + '. Special Instruction: ' + $('#txtSplInstruct').val().trim();



    var flgAdd = true;



    if (lstCart.length > 0) {

        for (var i = 0; i < lstCart.length; i++) {

            if (lstCart[i].pid == $('#hdnPID').val() &&

                    lstCart[i].remarks == tmp_remarks) {

                lstCart[i].qty = parseInt(lstCart[i].qty) + parseInt($('#ddlProdQty').val());

                lstCart[i].total = ((parseFloat(lstCart[i].calcprice) * parseInt(lstCart[i].qty))).toFixed(2);

                lstCart[i].tax = ((parseFloat(lstCart[i].baseTax) * parseInt(lstCart[i].qty))).toFixed(2);



                if (lstCart[i].addOnQtys != '') {

                    var arrTmpNewQty = lstCart[i].addOnQtys.split(',');

                    var tmpQty = '';



                    for (let j = 0; j < arrTmpNewQty.length; j++)

                        tmpQty += (parseInt(arrTmpNewQty[j]) * lstCart[i].qty) + ',';



                    if (tmpQty != '')

                        tmpQty = tmpQty.substr(0, tmpQty.length - 1);



                    lstCart[i].addOnQtys = tmpQty;

                }



                flgAdd = false;

                resetPhpCart();

                break;

            }

        }

    }



    if (flgAdd) {

        var prod_calc_Price = (parseFloat(sizeCost) + addOnCost);

        var prod_total = prod_calc_Price * parseInt($('#ddlProdQty').val());

        total_tax += parseFloat(sizeTax) * parseInt($('#ddlProdQty').val());



        var newProd = {

            section: 'catering',

            sid: $('#hdnStoreID').val(),

            sname: $('#hdnStoreName').val(),

            simg: $('#hdnStoreImg').val(),

            smin: $('#hdnStoreMin').val(),

            minorder: $('#hdnStoreMinOrder').val(),

            pid: $('#hdnPID').val(),

            name: $('#hdnPName').val(),

            qty: $('#ddlProdQty').val(),

            price: $('#hdnPPrice').val(),

            photo: $('#hdnPPhoto').val(),

            baseTax: total_tax,

            tax: total_tax,

            calcprice: prod_calc_Price,

            total: prod_total.toFixed(2),

            remarks: tmp_remarks,

            customize: custom,

            addOns: lstAddOn,

            addOnIDs: addOnIDArr,

            addOnBaseQtys: addOnQtyArr,

            addOnQtys: addOnQtyArr,

            sizeID: size_id,

            remarks_allergic: $('#txtAllergic').val().trim(),

            remarks_spl_instruct: $('#txtSplInstruct').val().trim(),

            deliveryDate: $('#hdnDeliveryDate').val(),

            deliveryFromTime: $('#hdnDeliveryFromTime').val(),

            deliveryToTime: $('#hdnDeliveryToTime').val()

        }



        lstCart.push(newProd);

    }



    window.localStorage.setItem("cart_food", JSON.stringify(lstCart));

    updateMiniCart();

    resetPhpCart();

    closeDialog('dvDialog-Custom');

}



//---------- Cart Review

function restoreCartSection() {

    // if(getCookie("cart_tab") == "")

    //     selectCartSection('');

    // else

    //     selectCartSection(getCookie("cart_tab"));



    selectCartSection('');



    if (getCookie('grocery_tab_index') == '')

        setCookie('grocery_tab_index', '0');



    if (getCookie('grocery_tab_index') == '0')

        $('.clsCartItems .clsCartSection a:first-child').addClass('active');

    else

        $('.clsCartItems .clsCartSection a:last-child').addClass('active');

}



function selectCartSection(type) {

    setCookie("cart_tab", type);

    //$('.clsCartSection a').removeClass('active');



    if (type == '') {

        //$('.clsCartSection a:nth-child(1)').addClass('active');

        cartKey = '';

    } else if (type == 'Groceries') {

        //$('.clsCartSection a:nth-child(2)').addClass('active');

        cartKey = 'cart_grocery';

    } else {

        //$('.clsCartSection a:nth-child(3)').addClass('active');

        cartKey = 'cart_food';

    }



    getStores();

}



function getStores() {

    var first_sname = '';



    if ($(window).width() < 800)

        removeCartStoreSlider();



    $('#stores a').remove();

    $('#product .clsCartProd').remove();



    var lstCart = [], lstStores = [], cart = [];

    var allstore_total = 0, allstore_items = 0;



    if (cartKey == '')

        lstCart = getAllCart();

    else {

        var cart = window.localStorage.getItem(cartKey);



        if (cart != null && cart != '')

            lstCart = JSON.parse(cart);

    }



    if (lstCart.length > 0) {

        for (var i = 0; i < lstCart.length; i++) {

            if (i == 0)

                first_sname = lstCart[i].sname;



            if (!lstStores.includes(lstCart[i].sid)) {



                lstStores.push(lstCart[i].sid);



                var tmpArr = lstCart.filter(function (el) {

                    return el.sid == lstCart[i].sid;

                });



                var totalProds = tmpArr.length;

                var total = 0;



                for (j = 0; j < tmpArr.length; j++)

                    total += parseFloat(tmpArr[j].calcprice) * parseInt(tmpArr[j].qty);



                allstore_total += total;

                allstore_items += totalProds;



                var template = $('#tempStore').html();

                template = template.replace('[SID]', lstCart[i].sid);

                template = template.replace('[SID2]', lstCart[i].sid);

                template = template.replace('[Simg]', lstCart[i].simg);

                template = template.replace('[Name]', lstCart[i].sname);

                template = template.replace('[Name2]', lstCart[i].sname);

                template = template.replace('[total]', total.toFixed(2));



                if (totalProds > 1)

                    template = template.replace('[items]', totalProds + ' items');

                else

                    template = template.replace('[items]', totalProds + ' item');



                $('#stores').append(template);

            }

        }



        if (lstStores.length > 0) {

            var template = $('#tempStore').html();

            template = template.replace('[SID]', '0');

            template = template.replace('[SID2]', '0');

            template = template.replace('[Simg]', '/images/allstores.png');

            template = template.replace('[Name]', '');

            template = template.replace('[Name2]', '');

            template = template.replace('[total]', allstore_total.toFixed(2));



            if (totalProds > 1)

                template = template.replace('[items]', allstore_items + ' items');

            else

                template = template.replace('[items]', allstore_items + ' item');



            $('#stores').prepend(template);



            var flgAutoSel = true;



            if (getCookie('cart_tab_store') != "") {

                var storeLink = $('#stores a[data-sid="' + getCookie('cart_tab_store') + '"]');

                if (storeLink.length > 0) {

                    $(storeLink).click();

                    flgAutoSel = false;

                }

            }



            if (flgAutoSel)

                getCart($('#stores a:first-child'), lstStores[0], first_sname);



            if ($(window).width() < 800)

                addCartStoreSlider();

        }

    } else {

        if (cartKey == '')

            $('#lblCartStoreName')[0].innerText = "You do not have any item in cart";

        else if (cartKey == 'cart_grocery')

            $('#lblCartStoreName')[0].innerText = "You do not have any item in Grocery";

        else

            $('#lblCartStoreName')[0].innerText = "You do not have any item in Food";

    }



    //sachin starts

    //getCartPgTotal();

    getSectionCartTotal();

    // sachin ends

}



function getCart(lnk, sid, name) {

    setCookie("cart_tab_store", sid);

    $('#lblCartStoreName')[0].innerText = "Items in your " + name + " cart";



    $('#stores a').removeClass('active');

    $(lnk).addClass('active');



    var lstCart = [];



    if (cartKey == '') {

        lstCart = getAllCart();

    } else {

        var cart = window.localStorage.getItem(cartKey);



        if (cart != null && cart != '')

            lstCart = JSON.parse(cart);

    }



    if (lstCart.length > 0) {

        $('#product .clsCartProd').remove();



        var itemIndx = 0;

        var lastSec = '';



        for (var i = 0; i < lstCart.length; i++) {

            var tmpSec = lstCart[i].section;

            if (tmpSec != 'grocery')

                tmpSec = 'food';



            if (lastSec != tmpSec) {

                lastSec = tmpSec;

                itemIndx = 0;

            }



            if (sid == '0' || lstCart[i].sid == sid) {

                var template = $('#tempProduct').html();



                template = template.replace('[i]', itemIndx);

                template = template.replace('[i2]', itemIndx);



                template = template.replace('[name]', lstCart[i].name);

                template = template.replace('[name2]', lstCart[i].name);

                template = template.replace('[price]', parseFloat(lstCart[i].calcprice).toFixed(2));

                template = template.replace('[qty]', lstCart[i].qty);

                template = template.replace('[photo]', lstCart[i].photo);

                template = template.replace('[pid]', lstCart[i].pid);

                template = template.replace('[ptotal]', lstCart[i].total);



                if (lstCart[i].remarks == null)

                    template = template.replace('[remarks]', '');

                else

                    template = template.replace('[remarks]', lstCart[i].remarks);



                var tmpKey = '';

                if (lstCart[i].section == 'grocery')

                    tmpKey = 'cart_grocery';

                else

                    tmpKey = 'cart_food';



                template = template.replace('[key]', tmpKey);

                template = template.replace('[key2]', tmpKey);

                template = template.replace('[pid]', lstCart[i].pid);



                $('#product').append(template);

                var diwali_products = diwaliPrizeDeal();

                if (diwali_products.includes(parseInt(lstCart[i].pid))) {

                    $("#qty_" + lstCart[i].pid).prop('disabled', 'disabled');

                    $("#lnk_" + lstCart[i].pid).hide();

                }





                var lastProd = $('#product .clsCartProd:last-child');



                if (lstCart[i].remarks != null && lstCart[i].remarks.trim() != '')

                    $(lastProd).find('.extra').append('<p>' + lstCart[i].remarks + '</p>');



                $(lastProd).find('select').val(lstCart[i].qty);

            }



            itemIndx += 1;

        }

    }

}



function getCartPgTotal() {

    var grocery = getCartTotalByKey('cart_grocery');

    var food = getCartTotalByKey('cart_food');



    var totalItems = grocery[0] + food[0];

    var totalCost = grocery[1] + food[1];



    // Result

    if (totalItems > 1)

        $('#lblSubItems')[0].innerText = '(' + totalItems + ' items)';

    else

        $('#lblSubItems')[0].innerText = '(' + totalItems + ' item)';



    $('#lblGrandTotal')[0].innerText = '$' + totalCost.toFixed(2);

}



function getAllCart() {

    var lstCart = [];



    var tmp_cart = window.localStorage.getItem("cart_grocery");

    if (tmp_cart != null && tmp_cart != '')

        lstCart = JSON.parse(tmp_cart);



    tmp_cart = window.localStorage.getItem("cart_food");

    if (tmp_cart != null && tmp_cart != '') {

        if (lstCart.length == 0)

            lstCart = JSON.parse(tmp_cart);

        else {

            var tmpLst = JSON.parse(tmp_cart);

            lstCart = lstCart.concat(tmpLst);

        }

    }



    return lstCart;

}



//sachin start

function getSectionCartTotal() {

    //getGrandTotal();



    var grocery = getCartTotalByKey('cart_grocery');

    var food = getCartTotalByKey('cart_food');



    var totalItemsGrocery = grocery[0];

    var totalItemsFood = food[0];

    var totalCostGrocery = grocery[1];

    var totalCostFood = food[1];



    // Result Grocery

    if (totalItemsGrocery > 1)

        $('#lblSubItemsGrocery')[0].innerText = '(' + totalItemsGrocery + ' items)';

    else

        $('#lblSubItemsGrocery')[0].innerText = '(' + totalItemsGrocery + ' item)';



    $('#lblGrandTotalGrocery')[0].innerText = '$' + totalCostGrocery.toFixed(2);



    // Result Food

    if (totalItemsFood > 1)

        $('#lblSubItemsFood')[0].innerText = '(' + totalItemsFood + ' items)';

    else

        $('#lblSubItemsFood')[0].innerText = '(' + totalItemsFood + ' item)';

    $('#lblGrandTotalFood')[0].innerText = '$' + totalCostFood.toFixed(2);



    // Result Total

    var totalCost = grocery[1] + food[1];

    $('#hdnCartTotal').val(totalCost.toFixed(2));



    if (getCookie('flgRefreshCart') !== '1') {

        refreshPhpCart();

    }

}



function setCartDeliveryType(lnk, indx) {

    setCookie('grocery_tab_index', indx);

    refreshPhpCart();

    //$('.clsCartSection a').removeClass('active');

    //$(lnk).addClass('active');

}



function resetPhpCart() {

//		setCookie('flgRefreshCart','0',1);

    document.cookie = "flgRefreshCart" + "=0" + ";" + ";path=/";

}



function refreshPhpCart() {

    //setCookie('flgRefreshCart','1',1);

    document.cookie = "flgRefreshCart" + "=1" + ";" + ";path=/";



    $('.clsPgLoader').show();

    $('#hdnCartGrocery').val(window.localStorage.getItem('cart_grocery'));

    $('#hdnCartFood').val(window.localStorage.getItem('cart_food'));

    $('#cartsubmit').click();

}



//sachin ends



function ddlQtyCartPg_onChange(ddl, key) {

    updateCartQty(ddl.dataset.i, parseInt(ddl.value), key);

    var sid = $('#stores a.active')[0].dataset.sid;

    getStores();

    $('#stores a[data-sid="' + sid + '"]').click();

    refreshPhpCart();

}



function removeFromCartPg(i, key) {

    removeFromCart(i, key);



    var sid = $('#stores a.active')[0].dataset.sid;

    getStores();



    if ($('#stores a[data-sid="' + sid + '"]').length > 0)

        $('#stores a[data-sid="' + sid + '"]').click();

    else

        $('#stores a:first-child').click();



    refreshPhpCart();

}



function checkCouponCode(type) {

    var code = '';

    var cartsubtotal = '';



    var grocery = getCartTotalByKey('cart_grocery');

    var food = getCartTotalByKey('cart_food');

    var cartsubtotal = grocery[1] + food[1];

    //$('#hdnCartTotal').val(cartsubtotal.toFixed(2));



    if (type == 'evoucher') {

        if ($('#e-vouchercode').val().trim() != '') {

            code = $('#e-vouchercode').val().trim();

        }

    } else if (type == 'reward') {

        if ($('#rewardpoint').val().trim() != '')

            code = $('#rewardpoint').val().trim();

    }



    if (code != '' && cartsubtotal != '') {

        $('.clsPgLoader').show();



        jsonObj = {

            'Type': type,

            'Code': code,

            'CartsubTotal': cartsubtotal

        }



        $.ajax({

            url: "check-coupon.php",

            dataType: "json",

            data: {jsonData: jsonObj},

            type: "POST",

            //contentType: "application/json; charset=utf-7",

            success: function (data) {

                if (data.error_msg == '') {

                    $('.clsPgLoader').hide();

                    $('.clsCouponBox').hide();



                    if (data.discount_via == 'reward') {

                        $('#rewarddiscount').show();

                        $('#rewarddiscount')[0].innerHTML = "<span class='cartboxitemName'>Reward Points Discount</span><span class='cartboxitemPrice'>$" + data.rewarddiscount + "</span>";

                    }

                    if (data.discount_via == 'evoucher') {

                        $('#coupondiscount').show();

                        $('#coupondiscount')[0].innerHTML = "<span class='cartboxitemName'>Coupon Discount</span><span class='cartboxitemPrice'>$" + data.coupondiscount + "</span>";

                    }



                } else {

                    $('.clsPgLoader').hide();

                    $('#couponerror')[0].innerText = data.error_msg;

                    $('#rewarderror')[0].innerText = data.error_msg;



                }



                // hide Loading;



                console.log(data.discount_via);

            },

            error: function (jqXHR, exception) {

                var msg = '';

                if (jqXHR.status === 0) {

                    msg = 'Not connect.\n Verify Network.';

                } else if (jqXHR.status == 404) {

                    msg = 'Requested page not found. [404]';

                } else if (jqXHR.status == 500) {

                    msg = 'Internal Server Error [500].';

                } else if (exception === 'parsererror') {

                    msg = 'Requested JSON parse failed.';

                } else if (exception === 'timeout') {

                    msg = 'Time out error.';

                } else if (exception === 'abort') {

                    msg = 'Ajax request aborted.';

                } else {

                    msg = 'Uncaught Error.\n' + jqXHR.responseText;

                }



                // hide Loading;

            }

        });

    }

}



function getGrandTotal() {

    $('.clsPgLoader').show();



    jsonObj = {

        'lstCartGrocery': JSON.parse(window.localStorage.getItem('cart_grocery')),

        'lstCartFood': JSON.parse(window.localStorage.getItem('cart_food')),

        'Tip': 0

    }



    $.ajax({

        url: "review-order.php",

        dataType: "json",

        data: {jsonData: jsonObj},

        type: "POST",

        success: function (data) {

            $('.clsPgLoader').hide();



            //alert('Total:' +  data.grandTotal + ", Tax = " + data.tax);

            //$('#lblGrandTotal')[0].innerText = '$' + data.grandTotal;

            // store grand total in hidden input

            // calc Tip: hidden input = parse float * tip

            // new grand total

        },

        error: function (jqXHR, exception) {

            var msg = '';

            if (jqXHR.status === 0) {

                msg = 'Not connect.\n Verify Network.';

            } else if (jqXHR.status == 404) {

                msg = 'Requested page not found. [404]';

            } else if (jqXHR.status == 500) {

                msg = 'Internal Server Error [500].';

            } else if (exception === 'parsererror') {

                msg = 'Requested JSON parse failed.';

            } else if (exception === 'timeout') {

                msg = 'Time out error.';

            } else if (exception === 'abort') {

                msg = 'Ajax request aborted.';

            } else {

                msg = 'Uncaught Error.\n' + jqXHR.responseText;

            }



            $('.clsPgLoader').hide();

        }

    });

}



function setCookie(cname, cvalue, exdays) {

    var d = new Date();

    d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));

    var expires = "expires=" + d.toUTCString();

    document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";

}



function getCookie(cname) {

    var name = cname + "=";

    var ca = document.cookie.split(';');

    for (var i = 0; i < ca.length; i++) {

        var c = ca[i];

        while (c.charAt(0) == ' ') {

            c = c.substring(1);

        }

        if (c.indexOf(name) == 0) {

            return c.substring(name.length, c.length);

        }

    }

    return "";

}

function diwaliPrizeDeal() {
	var dewaliPrizeProds = [53127, 53128, 53129];
    return dewaliPrizeProds;
}

function removeSpinDiwaliPrdct(){
    var lstCart = [];

    var cart = window.localStorage.getItem('cart_grocery');

    if (cart != null && cart != '')
		lstCart = JSON.parse(cart);
	
		if (lstCart.length > 0) {
			$.ajax({ 
				type      : 'get', 
				url       : 'diwaliSpinProductRemove.php', 
				success   : function(result) {
					 var data = JSON.parse(result);

					if(data){
						var dewaliPrizeProds = [53127, 53128, 53129];
						
						for (var j = 0; j < lstCart.length; j++) {
							if (dewaliPrizeProds.includes(parseInt(lstCart[j].pid)))
								lstCart.splice(j, 1);
						}
						
						updateMiniCart();
						window.localStorage.setItem('cart_grocery', JSON.stringify(lstCart));				
					}
				},
				error: function(error){      
					console.error(error);
				}
			});
		}
}

Directory Contents

Dirs: 12 × Files: 58

Name Size Perms Modified Actions
- drwxrwxr-x 2024-09-18 09:52:52
Edit Download
calender DIR
- drwxrwxr-x 2024-09-19 08:57:28
Edit Download
cgi-bin DIR
- drwxrwxr-x 2024-09-18 09:51:56
Edit Download
css DIR
- drwxrwxr-x 2024-09-19 16:17:08
Edit Download
fonts DIR
- drwxrwxr-x 2024-09-19 08:57:28
Edit Download
images DIR
- drwxrwxr-x 2024-10-07 11:07:14
Edit Download
include DIR
- drwxrwxr-x 2024-10-07 12:57:52
Edit Download
js DIR
- drwxrwxr-x 2025-01-14 16:18:39
Edit Download
nplogs DIR
- drwxrwxr-x 2025-01-22 03:25:21
Edit Download
plugin DIR
- drwxrwxr-x 2024-09-19 08:57:28
Edit Download
test DIR
- drwxrwxr-x 2025-01-17 13:33:24
Edit Download
vendor DIR
- drwxrwxr-x 2023-05-04 22:10:04
Edit Download
30.12 KB lrwxrwxr-x 2025-01-16 09:06:03
Edit Download
10.15 KB lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
1.00 KB lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
2.65 KB lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
19.84 KB lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
21.43 KB lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
1.60 KB lrwxrwxr-x 2024-09-21 10:22:39
Edit Download
130.09 KB lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
151.47 KB lrwxrwxr-x 2025-01-17 13:38:16
Edit Download
13.07 KB lrwxrwxr-x 2024-10-07 15:08:10
Edit Download
11.14 KB lrwxrwxr-x 2024-12-24 14:14:09
Edit Download
562 B lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
5.22 KB lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
60.62 KB lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
31.44 KB lrwxrwxr-x 2024-10-07 13:19:34
Edit Download
162.98 KB lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
6.47 KB lrwxrwxr-x 2024-09-20 16:58:14
Edit Download
10.12 KB lrwxrwxr-x 2024-09-25 15:10:08
Edit Download
2.45 KB lrwxrwxr-x 2024-09-19 10:22:37
Edit Download
99.24 KB lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
1.13 KB lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
64.12 KB lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
24.02 KB lrwxrwxr-x 2025-01-15 11:45:53
Edit Download
4.34 KB lrwxrwxr-x 2024-09-20 19:28:12
Edit Download
8.18 KB lrwxrwxr-x 2024-10-26 13:09:44
Edit Download
9.62 KB lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
32.86 KB lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
35.60 KB lrwxrwxr-x 2024-11-18 12:27:45
Edit Download
49.58 KB lrwxrwxr-x 2025-01-10 16:31:46
Edit Download
41.43 KB lrwxrwxr-x 2025-01-14 13:08:12
Edit Download
72.76 KB lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
53.35 MB lrwxrwxr-x 2025-01-14 17:17:41
Edit Download
6.66 KB lrwxrwxr-x 2024-09-19 10:24:06
Edit Download
1.22 KB lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
5.09 KB lrwxrwxr-x 2024-11-18 11:17:26
Edit Download
1.06 KB lrwxrwxr-x 2024-11-18 12:27:22
Edit Download
48.66 KB lrwxrwxr-x 2024-10-04 09:56:16
Edit Download
9.37 KB lrwxrwxr-x 2024-10-07 11:49:19
Edit Download
3.53 KB lrwxrwxr-x 2024-10-08 07:02:41
Edit Download
7.69 KB lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
10.49 KB lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
4.46 KB lrwxrwxr-x 2024-09-25 15:14:56
Edit Download
67.55 KB lrwxrwxr-x 2025-01-15 13:45:41
Edit Download
5.40 KB lrwxrwxr-x 2024-09-19 10:28:27
Edit Download
157.37 KB lrwxrwxr-x 2025-01-10 17:05:09
Edit Download
1.99 KB lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
911 B lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
8.75 KB lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
5.92 KB lrwxrwxr-x 2024-10-04 12:20:48
Edit Download
24.97 KB lrwxrwxr-x 2024-10-26 12:17:51
Edit Download
5.40 KB lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
269.28 KB lrwxrwxr-x 2025-01-10 17:07:14
Edit Download
5.41 KB lrwxrwxr-x 2024-09-28 09:54:30
Edit Download
4.60 KB lrwxrwxr-x 2024-09-25 15:13:25
Edit Download
1.23 KB lrwxrwxr-x 2024-09-19 08:57:28
Edit Download
3.13 KB lrwxrwxr-x 2025-01-16 03:44:46
Edit Download
29.56 KB lrwxrwxr-x 2024-10-08 06:26:39
Edit Download
1.31 KB lrwxrwxr-x 2024-09-19 08:57:28
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).