Subversion Repositories SmartDukaan

Rev

Rev 20971 | Rev 20988 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

function loadCartPageDetails(){
        var payable = $('div.cartgrandtotal span.pull-right').text().split(" ");
        payable = payable[2];
        if(parseInt(payable)>0){
                $('button.checkoutbtn').prop( "disabled", false );
        }else{
                $('button.checkoutbtn').prop( "disabled", true );
        }
        var input = $('input#refresh').val();

        if(input == 'yes'){
                $('#cartLoadingModal').modal('show');
                var cart_details = localStorage.getItem('cart_details');
                if(cart_details!=undefined){
                        var cartDetailsObj = JSON.parse(cart_details);
                        var totalCartValue = cartDetailsObj.totalCartValue;
                        var totalCartQuantity = cartDetailsObj.totalCartQuantity;
                        var cartItems = cartDetailsObj.cartItems;
                        var shippingCharges =cartDetailsObj.shippingCharges;
                        var totalSkus = cartDetailsObj.totalSkus;
                        $.each(cartDetailsObj.cartItems, function(key,val) {
                                $("div.number-spinner button[data-id='"+key+"']").closest('.number-spinner').find('input').val(val.quantity);
                                $("span.lineitemqty[data-id='"+key+"']").text(val.quantity);
                                $("span.packQuantity[data-id='"+key+"']").text(val.quantity*$("span.packQuantity[data-id='"+key+"']").data('pack'));
                                $("span.lineitemtotal[data-id='"+key+"']").text(' ₹ '+ (parseInt(val.quantity)*parseInt(val.unitprice)).toString());
                        });
                        $('div.cartitemstotal span.itemstotal').text('₹ '+numberWithCommas(totalCartValue));
                        $('div.cartitemstotal span.shippingval').text('₹ '+numberWithCommas(shippingCharges));
                        var payable = 0;
                        if(shippingCharges>0){
                                if(totalCartValue>0){
                                        $('.cartitemstotal').removeClass('hidden');
                                        payable = parseInt(shippingCharges)+parseInt(totalCartValue);
                                }else{
                                        payable = 0;
                                }
                        }else{
                                        payable = parseInt(totalCartValue);
                                        $('.cartitemstotal').addClass('hidden');
                        }
                        $('div.cartgrandtotal span.pull-right').text('₹ '+numberWithCommas(payable));
                        
                        if(payable>0){
                                $('button.checkoutbtn').prop( "disabled", false );
                        }else{
                                $('button.checkoutbtn').prop( "disabled", true );
                        }
                        var estimateString = $('div.popover-markup').data('str');
                        if(estimateString!="Can't ship here"){
                                $('div.cartdetailscard').find('div, input, textarea, button, select').each(function () {
                                        $(this).prop('disabled', false);
                                });
                        }else{
                                $('div.cartdetailscard').find('div, input, textarea, button, select').each(function () {
                                        $(this).prop('disabled', true);
                                });
                        }
                        $('#cartLoadingModal').modal('hide');
                }else{
                        $('#cartLoadingModal').modal('show');
                        window.location.href = apihost + 'cartdetails/?user_id='+me;
                }
        }else{
                $('input#refresh').val('yes');
                var estimateString = $('div.popover-markup').data('str');
                if(estimateString!="Can't ship here"){
                        $('div.cartdetailscard').find('div, input, textarea, button, select').each(function () {
                            $(this).prop('disabled', false);
                        });
                        var cart_details = localStorage.getItem('cart_details');
                        
                        localStorage.removeItem('cart_details');
                        if(cart_details!=undefined){
                                var totalCartValue = 0;
                                var totalCartQuantity = 0;
                                var cartItems = {};
                                var jsonObjToBeStored = {};
                                var shippingCharges = 0;
                                var totalSkus = 0;
                                
                                totalCartValue = $('.cartitemstotal').data('itemtotal');
                                shippingCharges = $('.cartitemstotal').data('shipping');
                                
                                $('.number-spinner').each(function (index, val) {
                                        var element = $(val);
                                        var quantity = element.find("input").val();
                                        if(parseInt(quantity)>0){
                                                var sku = element.find("button[data-dir='up']").data('id');
                                                var price = element.find("button[data-dir='up']").data('price');
                                                
                                                var bulkpricing = $(".number-spinner button[data-id='"+index+"']").data('bulkpricing');
                                                if (bulkpricing != undefined && bulkpricing.length != 0){
                                                for(var i=0;i<bulkpricing.length;i++)
                                                        {
                                                                if(val.quantity<bulkpricing[i]['quantity']){
                                                                        break;
                                                                }
                                                                else{
                                                                        price = bulkpricing[i]['price'];
                                                                }
                                                        }
                                            }
                                                
                                                var catalogItemId = element.find("button[data-dir='up']").data('identifier');
                                                var prodname = $(this).data('name');
                                            var brandname = $(this).data('brand');
                                                var itemDetail = {};
                                                totalCartQuantity = totalCartQuantity + parseInt(quantity);
                                                totalSkus = totalSkus +1;
                                                itemDetail['quantity']=parseInt(quantity);
                                                itemDetail['unitprice']=parseInt(price);
                                                itemDetail['productname']=prodname;
                                                itemDetail['brand']=brandname;
                                                itemDetail['catalogItemId'] = catalogItemId.toString();
                                                cartItems[sku.toString()]=itemDetail;
                                        }
                                });
                                
                                jsonObjToBeStored['totalCartQuantity'] = totalCartQuantity;
                                jsonObjToBeStored['totalCartValue'] = totalCartValue;
                                jsonObjToBeStored['cartItems'] = cartItems;
                                jsonObjToBeStored['shippingCharges'] = shippingCharges;
                                jsonObjToBeStored['totalSkus'] = totalSkus;
                                localStorage.setItem('cart_details',JSON.stringify(jsonObjToBeStored));
                        }
                }else{
                        var cart_details = localStorage.getItem('cart_details');
                        if(cart_details!=undefined){
                                var cartDetailsObj = JSON.parse(cart_details);
                                var totalCartValue = cartDetailsObj.totalCartValue
                                var totalCartQuantity = cartDetailsObj.totalCartQuantity
                                var cartItems = cartDetailsObj.cartItems
                                var jsonObjToBeStored = {};
                                var shippingCharges = $('.cartitemstotal').data('shipping');
                                var totalSkus = cartDetailsObj.totalSkus
                                $('.number-spinner').each(function (index, val) {
                                        var element = $(val);
                                        var quantity = element.find("input").val();
                                        var estimate = element.data('estimate');
                                        var catalogItemId = element.find("button[data-dir='up']").data('identifier');
                                        if(parseInt(quantity)==0 && estimate==""){
                                                var sku = element.find("button[data-dir='up']").data('id');
                                                var price = element.find("button[data-dir='up']").data('price');
                                                var bulkpricing = $(".number-spinner button[data-id='"+index+"']").data('bulkpricing');
                                                if (bulkpricing != undefined && bulkpricing.length != 0){
                                                for(var i=0;i<bulkpricing.length;i++)
                                                        {
                                                                if(val.quantity<bulkpricing[i]['quantity']){
                                                                        break;
                                                                }
                                                                else{
                                                                        price = bulkpricing[i]['price'];
                                                                }
                                                        }
                                            }
                                                var prodname = $(this).data('name');
                                            var brandname = $(this).data('brand');
                                                var itemDetail = cartDetailsObj.cartItems[sku.toString()];
                                                if(itemDetail==undefined){
                                                        itemDetail = {};
                                                        itemDetail['quantity']=parseInt(quantity);
                                                        itemDetail['unitprice']=parseInt(price);
                                                        itemDetail['productname']=prodname;
                                                        itemDetail['brand']=brandname;
                                                        itemDetail['catalogItemId'] = catalogItemId.toString();
                                                        cartItems[sku.toString()] = itemDetail;
                                                }else{
                                                        totalCartValue = totalCartValue - (itemDetail.quantity*itemDetail.unitprice);
                                                        totalSkus = totalSkus -1;
                                                        totalCartQuantity = totalCartQuantity - itemDetail.quantity;
                                                        itemDetail.quantity = 0;
                                                        itemDetail.unitprice = parseInt(price);
                                                        if(!itemDetail.hasOwnProperty('catalogItemId')){
                                                                itemDetail['catalogItemId'] = catalogItemId.toString();
                                                        }
                                                        cartItems[sku.toString()] = itemDetail;
                                                }
                                        }
                                });
                                if(parseInt(totalCartValue)>1000){
                                        shippingCharges = 0;
                                }else if(parseInt(totalCartValue)>=500 && parseInt(totalCartValue)<1000){
                                        shippingCharges = 50;
                                }else if(parseInt(totalCartValue)>0 && parseInt(totalCartValue)<500){
                                        shippingCharges = 100;
                                }else{
                                        shippingCharges = 0;
                                }
                                cartDetailsObj.totalCartQuantity = totalCartQuantity;
                                cartDetailsObj.totalCartValue = totalCartValue;
                                cartDetailsObj.cartItems = cartItems;
                                cartDetailsObj.shippingCharges = shippingCharges;
                                cartDetailsObj.totalSkus = totalSkus;
                                localStorage.setItem('cart_details',JSON.stringify(cartDetailsObj));
                        }
                        $('div.cartdetailscard').find('div, input, textarea, button, select').each(function () {
                            $(this).prop('disabled', true);
                        });
                }
        }
        
        if(!$('div.cartitemstotal').hasClass('hidden')){
                $('div.scroll').attr('style', 'margin-bottom: 176px');
        }else{
                $('div.scroll').attr('style', 'margin-bottom: 100px');
        }
        /*
        var currentShippingCharges = $('div.cartitemstotal span.shippingval').text().split(" ");
        currentShippingCharges = parseInt(currentShippingCharges[1]);
        var currentItemTotal = $('div.cartitemstotal span.itemstotal').text().split(" ");
        currentItemTotal = currentItemTotal[1].toString();
        currentItemTotal = currentItemTotal.split(',').join("");
        currentItemTotal = parseFloat(currentItemTotal);
        if(currentShippingCharges>0){
                if(currentItemTotal>0){
                        var additionalAmount = 1000.0-currentItemTotal;
                        additionalAmount = additionalAmount.toFixed();
                        $('span.cartheader').attr('style', 'font-size: 8pt;padding-left: 18px;');
                        $('span.cartheader').text('');
                        $("<a class='addMoreItems' href='/categories/linkdeal/3?filtertype=exclusive'><u>Add more items worth <span style='color:#ff0000;'>₹ "+additionalAmount+"</span> for Free Shipping</u></a>").appendTo('span.cartheader');
                }else{
                        $('span.cartheader').text('');
                        $('span.cartheader').attr('style', 'font-size: 12pt;padding-left: 30px;');
                        $('span.cartheader').text('Cart Details');
                }
        }else{
                $('span.cartheader').text('');
                $('span.cartheader').attr('style', 'font-size: 12pt;padding-left: 30px;');
                $('span.cartheader').text('Cart Details');
        }*/

}

$(function(){
        loadCartPageDetails();
});

$(document).on('click','.number-spinner button',function(){
        btn = $(this);
    input = btn.closest('.number-spinner').find('input');
    oldValue = btn.closest('.number-spinner').find('input').val().trim(),
        newVal = 0;
    btn.closest('.number-spinner').find('button').prop("disabled", false);
    var totalCartQuantity = 0;
    var totalCartValue = 0;
    var shippingCharges;
    var cartDetailsObj; 
    var jsonObjToBeStored = {};
    var cartItems = {};
    var totalSkus = 0;
    var cart_details = localStorage.getItem('cart_details');
    if(cart_details!=undefined){
        cartDetailsObj = JSON.parse(cart_details);
        totalCartQuantity = cartDetailsObj.totalCartQuantity;
        totalCartValue = cartDetailsObj.totalCartValue;
        cartItems = cartDetailsObj.cartItems;
    }
    var inc = 0;
    var dec = 0;
    var sku = btn.data('id');
    var unitPrice = btn.data('price');
    var prodname = btn.data('name');
    var brandname = btn.data('brand');
    var catalogItemId = btn.data('identifier');
    var minBuyQuantity = btn.data('minquantity');
    if(minBuyQuantity == "" || minBuyQuantity == undefined){
        minBuyQuantity =1;
    }
    var quantityStep = btn.data('quantitystep');
    if(quantityStep == "" || quantityStep == undefined){
        quantityStep =1;
    }
    var bulkpricing = btn.data('bulkpricing');
    var maxquantflag = false;
    if (btn.attr('data-dir') == 'up') {
                if ( input.attr('max') == undefined || parseInt(input.val()) < parseInt(input.attr('max')) ) {
                        if((parseInt(input.val())== 0 || parseInt(input.val())< minBuyQuantity) && (parseInt(input.attr('max')) >= minBuyQuantity)){    
                                inc = minBuyQuantity - parseInt(input.val());
                                newVal = parseInt(oldValue) + inc;
                        }
                        else{
//                              inc = quantityStep;
//                              newVal = parseInt(oldValue) + inc;
                                
                                inc = quantityStep;
                                if(parseInt(oldValue)< minBuyQuantity+(quantityStep*4)){
                                        
                                        newVal = parseInt(oldValue) + inc;
                                }
                                else if(parseInt(oldValue)< minBuyQuantity+(quantityStep*28)){
                                        var minqty = minBuyQuantity;
                                        if((parseInt(oldValue)+quantityStep) % quantityStep == 0 ){minqty = 0;}
                                        if(parseInt(oldValue) % (quantityStep*5) == 0){
                                                inc = (5*quantityStep)+minqty;
                                                newVal = parseInt(oldValue)+ (5*quantityStep)+minqty;
                                        }
                                        else{
                                                inc = minqty+ (5*quantityStep) - (parseInt(oldValue) % (5*quantityStep));
                                                newVal =minqty+ 5*quantityStep+ parseInt(oldValue) - (parseInt(oldValue) % (5*quantityStep));
                                        }
//                                      newVal = parseInt(oldValue)+ (5*quantityStep);
                                }
                                else{
                                        var minqty = minBuyQuantity;
                                        if((parseInt(oldValue)+quantityStep) % quantityStep == 0){minqty = 0;}
                                        if(parseInt(oldValue) % (quantityStep*10) == 0){
                                                inc = (10*quantityStep)+minqty;
                                                newVal = parseInt(oldValue)+ (10*quantityStep)+minqty;
                                        }
                                        else{
                                                inc = (10*quantityStep)  - (parseInt(oldValue) % (10*quantityStep)) +minqty;
                                                newVal =10*quantityStep + parseInt(oldValue) - (parseInt(oldValue) % (10*quantityStep)) +minqty;
                                        }
//                                      newVal = parseInt(oldValue)+ (10*quantityStep);
                                }
                                
                                
                                if(newVal>parseInt(input.attr('max'))){
//                                      inc = parseInt(input.attr('max')) - parseInt(oldValue);
//                                      newVal = parseInt(oldValue) + inc;
                                        var minqty = minBuyQuantity;
                                        if((parseInt(oldValue)+quantityStep) % quantityStep == 0){minqty = 0;}
                                        newVal = parseInt(input.attr('max')) - (newVal - parseInt(input.attr('max'))) % (minqty +quantityStep);
                                        inc = newVal - parseInt(oldValue);
                                        maxquantflag = true
                                }
                        }
//                      if(parseInt(input.val())<5){
//                              inc = 1;
//                              newVal = parseInt(oldValue) + inc;
//                      }else{
//                              inc = 5-(parseInt(input.val())%5);
//                              newVal = parseInt(oldValue) + inc;
//                              if(newVal>parseInt(input.attr('max'))){
//                                      inc = parseInt(input.attr('max')) - parseInt(oldValue);
//                                      newVal = parseInt(oldValue) + inc;
//                              }
//                      }
                }else{
                        newVal = parseInt(oldValue);
                        btn.prop("disabled", true);
                }
                if(newVal==parseInt(input.attr('max')) || maxquantflag == true){
                        input.attr('style', 'border: 2px solid #ff0000');
                }else{
                        input.attr('style', 'border: 1px solid #CCCCCC');
                }
                totalCartQuantity = totalCartQuantity + inc;
        } else {
                if ( input.attr('min') == undefined || parseInt(input.val()) > parseInt(input.attr('min')) ) {
//                  dec = 1;
                        dec = quantityStep;
                        newVal = parseInt(oldValue) - dec;
                        var minBuyQtyDiff = parseInt(oldValue) - minBuyQuantity;
                        if(minBuyQtyDiff ==0){
                                dec = minBuyQuantity;
                                newVal = parseInt(oldValue) - dec;
                        }else if(dec>minBuyQtyDiff){
                                dec = minBuyQtyDiff;
                                newVal = parseInt(oldValue) - dec;
                        }
                }else{
                        btn.prop("disabled", true);
                }
                if(newVal==parseInt(input.attr('min'))){
                        input.attr('style', 'border: 2px solid #5bc0de');
                }else{
                        input.attr('style', 'border: 1px solid #CCCCCC');
                }
                totalCartQuantity = totalCartQuantity - dec;
        }
    $("span.lineitemqty[data-id='"+sku+"']").text(newVal);
        btn.closest('.number-spinner').find('input').val(newVal);
        
        
        if (bulkpricing != undefined && bulkpricing.length != 0){
//              bulkpricing = bulkpricing.sort(function(a, b){
//                  return a.quantity - b.quantity;
//              });
                
        for(var i=0;i<bulkpricing.length;i++)
                {
                        if(newVal<bulkpricing[i]['quantity']){
                                break;
                        }
                        else{
                                
                                unitPrice = bulkpricing[i]['price'];
                        }
                }
    }
        $("span.lineitemprice[data-id='"+sku+"']").text(unitPrice);

        
        $("span.packQuantity[data-id='"+sku+"']").text(newVal*$("span.packQuantity[data-id='"+sku+"']").data('pack'));
        $("span.lineitemtotal[data-id='"+sku+"']").text(' ₹ '+ (parseInt(newVal)*parseInt(unitPrice)).toString());
        if(cartDetailsObj==undefined){
                jsonObjToBeStored['totalCartQuantity'] = totalCartQuantity;
                totalCartValue = totalCartValue + (unitPrice * newVal);
                jsonObjToBeStored['totalCartValue'] = totalCartValue;
                var itemDetail = {};
                itemDetail['quantity']=newVal;
                itemDetail['unitprice']=unitPrice;
                itemDetail['productname']=prodname;
                itemDetail['brand']=brandname;
                itemDetail['catalogItemId'] = catalogItemId.toString();
                cartItems[sku.toString()]=itemDetail;
                jsonObjToBeStored['cartItems']=cartItems;
                if(parseInt(totalCartQuantity)>=5){
                        shippingCharges = 30*totalCartQuantity;
                }else {
                        shippingCharges = 60*totalCartQuantity;
                }
                $.each( cartItems, function(itemId,value){
                        if(value['quantity']>0){
                                totalSkus = totalSkus +1;
                        }
                });
                jsonObjToBeStored['totalSkus']=totalSkus;
                jsonObjToBeStored['shippingCharges'] = shippingCharges;
                localStorage.setItem('cart_details',JSON.stringify(jsonObjToBeStored));
        }else{
                cartDetailsObj.totalCartQuantity = totalCartQuantity;
                var itemDetail = cartItems[sku.toString()];
                if(itemDetail==undefined){
                        var itemDetail = {};
                        itemDetail['quantity']=newVal;
                        itemDetail['unitprice']=unitPrice;
                        itemDetail['productname']=prodname;
                        itemDetail['brand']=brandname;
                        itemDetail['catalogItemId'] = catalogItemId.toString();
                        totalCartValue = totalCartValue + (unitPrice * newVal);
                        cartItems[sku.toString()]=itemDetail;
                }else{
                        totalCartValue = totalCartValue - (cartItems[sku.toString()].quantity * cartItems[sku.toString()].unitprice) + (unitPrice * newVal);
                        if(newVal==0){
                                cartItems[sku.toString()].quantity = 0;
                                cartItems[sku.toString()].unitprice = unitPrice;
                        }else{
                                cartItems[sku.toString()].quantity = newVal;
                                cartItems[sku.toString()].unitprice = unitPrice;
                        }
                        
                }
                $.each( cartItems, function(itemId,value){
                        if(value['quantity']>0){
                                totalSkus = totalSkus +1;
                        }
                });
                cartDetailsObj.totalCartValue = totalCartValue;
                cartDetailsObj.cartItems = cartItems;
                cartDetailsObj.totalSkus = totalSkus;
                if(parseInt(totalCartQuantity)>=5){
                        shippingCharges = 30*totalCartQuantity;
                }else {
                        shippingCharges = 60*totalCartQuantity;
                }
                cartDetailsObj.shippingCharges = shippingCharges;
                localStorage.setItem('cart_details',JSON.stringify(cartDetailsObj));
        }
        $('div.cartitemstotal span.itemstotal').text('₹ '+numberWithCommas(totalCartValue));
        $('div.cartitemstotal span.shippingval').text('₹ '+numberWithCommas(shippingCharges));
        var payable = 0;
        if(shippingCharges>0){
                if(totalCartValue>0){
                        $('.cartitemstotal').removeClass('hidden');
                        $('span.cartheader').attr('style', 'font-size: 8pt;padding-left: 18px;');
                        $('span.cartheader').text('');
                        payable = parseInt(shippingCharges)+parseInt(totalCartValue);
                }else{
                        payable = 0;
                        $('span.cartheader').text('');
                        $('span.cartheader').attr('style', 'font-size: 12pt;padding-left: 30px;');
                        $('span.cartheader').text('Cart Details');
                }
        }else{
                        payable = parseInt(totalCartValue);
                        $('span.cartheader').attr('style', 'font-size: 12pt;padding-left: 30px;');
                        $('span.cartheader').text('');
                        $('span.cartheader').text('Cart Details');
                        $('.cartitemstotal').addClass('hidden');
        }
        $('div.cartgrandtotal span.pull-right').text('₹ '+numberWithCommas(payable));
        
        if(payable>0){
                $('button.checkoutbtn').prop( "disabled", false );
        }else{
                $('button.checkoutbtn').prop( "disabled", true );
        }
        if(!$('div.cartitemstotal').hasClass('hidden')){
                $('div.scroll').attr('style', 'margin-bottom: 176px');
        }else{
                $('div.scroll').attr('style', 'margin-bottom: 100px');
        }
});

function numberWithCommas(x) {
    return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}

function handleCheckout(){
        var cart_details = localStorage.getItem('cart_details');
        var shippingCharges = 0;
        if(cart_details!=undefined){
        var cartDetailsObj = JSON.parse(cart_details);
        shippingCharges = cartDetailsObj.shippingCharges;
    }
        
        if(shippingCharges>0){
                var totalCartValue = cartDetailsObj.totalCartValue;
                cartDetailsObj.totalCartQuantity
                var additionalAmount = 1000.0-totalCartValue;
                additionalAmount = additionalAmount.toFixed();
                window.history.pushState('forward', null, './?user_id='+me);
                if(shippingCharges/cartDetailsObj.totalCartQuantity>50){
                        $('p#shippingText').html("<span>You are paying ₹60 per item for shipping.<br>To pay ₹30 per item for shipping.<br> Add upto five items.</span><hr style='margin-top: 5px;margin-bottom: 5px;'>"
                                        +"<span>आप शिपिंग के लिए  ₹60 प्रति आइटम का भुगतान कर रहे हैं। <br> प्रति आइटम शिपिंग ₹30 के लिए। <br> पाँच आइटम तक जोड़ें।</span>");
                } else {
                        $('p#shippingText').html("<span>You are paying ₹ "+ shippingCharges.toFixed() 
                                        +" for shipping.<br>"
                                        +"<span>आप शिपिंग के लिए  ₹ "+ shippingCharges.toFixed() 
                                        +" का भुगतान कर रहे हैं।")
                        $("#addItems").find("strong").html("Cancel<br>(रद्द करें)");
                }
                $('#myModal').modal('show');
        }else{
                $('#cartLoadingModal').modal('show');
                var url = apihost + 'shippings/';
            var newForm = $('<form>', {
                'action': url,
                'method':'post'
            }).append($('<input>', {
                'name': 'cart_details',
                'value': localStorage.getItem('cart_details'),
                'type': 'hidden'
            }));
            newForm.appendTo($('body'));
            newForm.submit();
        }
}

$(document).on('click','button#addItems',function(){
        $('#myModal').modal('hide');
        $("#cartloader").removeClass('hidden');
        history.addItem="yes";
        history.back();
});

$(document).on('click','button#continueCheckout',function(){
        $('#myModal').modal('hide');
        $("#cartloader").removeClass('hidden');
        var url = apihost + 'shippings/';
    var newForm = $('<form>', {
        'action': url,
        'method':'post'
    }).append($('<input>', {
        'name': 'cart_details',
        'value': localStorage.getItem('cart_details'),
        'type': 'hidden'
    }));
    newForm.appendTo($('body'));
    history.form=newForm;
    history.back();
});

$(document).on('click','.changepincode',function(){
        $('#cartLoadingModal').modal('show');
        var pincode = "pin_"+$('.pincodeval').val();
        var url = apihost + 'cartdetails/?user_id='+me;
    var newForm = $('<form>', {
        'action': url,
        'method':'post'
    }).append($('<input>', {
        'name': 'cart_details',
        'value': localStorage.getItem('cart_details'),
        'type': 'hidden'
    })).append($('<input>', {
        'name': 'pincode',
        'value': pincode,
        'type': 'hidden'
    }));
    newForm.appendTo($('body'));
    newForm.submit();
});

$(document).on('click','a.addMoreItems',function(){
        $('#cartLoadingModal').modal('show');
});

$(document).on('click','.checkoutbtn',function(){               
        handleCheckout();
});
$(document).on('click','.backtodeals',function(){
        $('#cartLoadingModal').modal('show');
        window.location.href = apihost + 'categories/linkdeal/3?filtertype=exclusive';
});

$(document).on('click','span.clearCart',function(){
        $("#cartloader").removeClass('hidden');
        $('#clearCartModel').modal('show');
        $("#cartloader").addClass('hidden');
});

$(document).on('click','button#abortClearCartBtn',function(){
        $('#clearCartModel').modal('hide');
});

function clearCart(){
        $('#clearCartModel').modal('hide');
        $("#cartloader").removeClass('hidden');
        var cart_details = localStorage.getItem('cart_details');
        if(cart_details!=undefined){
                var cartDetailsObj = JSON.parse(cart_details);
                $.each(cartDetailsObj.cartItems, function(key,val) {
                        cartDetailsObj.cartItems[key].quantity = 0;
                });
                cartDetailsObj.totalCartQuantity = 0;
                cartDetailsObj.totalCartValue = 0;
                cartDetailsObj.shippingCharges = 0;
                cartDetailsObj.totalSkus = 0;
                localStorage.setItem('cart_details',JSON.stringify(cartDetailsObj));
        }
        $('div.card').addClass('hidden');
        $('span.cartheader').text('');
        $('span.cartheader').attr('style', 'font-size: 12pt;padding-left: 30px;');
        $('span.cartheader').text('Cart Details');
        $('div.cartgrandtotal span.pull-right').text('₹ '+numberWithCommas(0));
        $('div.cartitemstotal').addClass('hidden');
        $('button.checkoutbtn').prop( "disabled", true );
        $('div.emptyCart').removeClass('hidden');
        $('div.popover-markup').addClass('hidden');
        $("#cartloader").addClass('hidden');
}

$(document).on('click','button#clearCartBtn',function(){
        clearCart();
        $("span.clearCart").removeClass('clearCart');
});

$(document).on('click','span.clearItem',function(){
        var itemId = $(this).attr('sku');
        var cart_details = localStorage.getItem('cart_details');
        if(cart_details!=undefined){
                var cartDetailsObj = JSON.parse(cart_details);
                if(cartDetailsObj.totalSkus==1){
                        var item = cartDetailsObj.cartItems[itemId];
                        if(item!=undefined){
                                var currentQty = parseInt(item.quantity);
                                if(currentQty==0){
                                        $("div.card[sku='"+itemId+"']").addClass("hidden");
                                        $("#cartloader").addClass('hidden');
                                }else{
                                        clearCart();
                                        $("span.clearCart").removeClass('clearCart');
                                }
                        }else{
                                $("div.card[sku='"+itemId+"']").addClass("hidden");
                                $("#cartloader").addClass('hidden');
                        }
                }else{
                        $("#cartloader").removeClass('hidden');
                        var item = cartDetailsObj.cartItems[itemId];
                        if(item!=undefined){
                                var currentQty = parseInt(item.quantity);
                                var unitPrice = parseInt(item.unitprice);
                                cartDetailsObj.totalSkus = cartDetailsObj.totalSkus -1;
                                cartDetailsObj.totalCartQuantity = cartDetailsObj.totalCartQuantity - currentQty;
                                var totalCartValue = cartDetailsObj.totalCartValue - (currentQty*unitPrice);
                                cartDetailsObj.totalCartValue = totalCartValue;
                                var shippingCharges;
                                if(parseInt(totalCartValue)>1000){
                                        shippingCharges = 0;
                                }else if(parseInt(totalCartValue)>=500 && parseInt(totalCartValue)<1000){
                                        shippingCharges = 50;
                                }else if(parseInt(totalCartValue)>0 && parseInt(totalCartValue)<500){
                                        shippingCharges = 100;
                                }else{
                                        shippingCharges = 0;
                                }
                                cartDetailsObj.shippingCharges = shippingCharges;
                                
                                $('div.cartitemstotal span.itemstotal').text('₹ '+numberWithCommas(totalCartValue));
                                $('div.cartitemstotal span.shippingval').text('₹ '+numberWithCommas(shippingCharges));
                                var payable = 0;
                                if(shippingCharges>0){
                                        if(totalCartValue>0){
                                                $('.cartitemstotal').removeClass('hidden');
                                                $('span.cartheader').attr('style', 'font-size: 8pt;padding-left: 18px;');
                                                $('span.cartheader').text('');
                                                payable = parseInt(shippingCharges)+parseInt(totalCartValue);
                                        }else{
                                                payable = 0;
                                                $('span.cartheader').text('');
                                                $('span.cartheader').attr('style', 'font-size: 12pt;padding-left: 30px;');
                                                $('span.cartheader').text('Cart Details');
                                        }
                                }else{
                                                payable = parseInt(totalCartValue);
                                                $('span.cartheader').attr('style', 'font-size: 12pt;padding-left: 30px;');
                                                $('span.cartheader').text('');
                                                $('span.cartheader').text('Cart Details');
                                                $('.cartitemstotal').addClass('hidden');
                                }
                                $('div.cartgrandtotal span.pull-right').text('₹ '+numberWithCommas(payable));
                                
                                if(payable>0){
                                        $('button.checkoutbtn').prop( "disabled", false );
                                }else{
                                        $('button.checkoutbtn').prop( "disabled", true );
                                }
                                if(!$('div.cartitemstotal').hasClass('hidden')){
                                        $('div.scroll').attr('style', 'margin-bottom: 176px');
                                }else{
                                        $('div.scroll').attr('style', 'margin-bottom: 100px');
                                }
                                cartDetailsObj.cartItems[itemId].quantity = 0;
                                localStorage.setItem('cart_details',JSON.stringify(cartDetailsObj));
                                $("div.card[sku='"+itemId+"']").addClass("hidden");
                                $("#cartloader").addClass('hidden');
                        }else{
                                $("div.card[sku='"+itemId+"']").addClass("hidden");
                                $("#cartloader").addClass('hidden');
                        }
                        
                }
        }
});