/** RM Cart Flyout Changes Start (EXWEB-1229) **/
ACC.addToCartPopupItemRemove = {
    removeItem:function (elementRef, event) {
        var entryAction = $(elementRef).data("entryAction");
        var entryActionUrl =  $(elementRef).data("entryActionUrl");
        var entryProductCode =  $(elementRef).data("entryProductCode");
        var entryInitialQuantity =  $(elementRef).data("entryInitialQuantity");
        var actionEntryNumbers =  $(elementRef).data("actionEntryNumbers");
        var removeProductNumber=$(elementRef).data("productRemoveNumber");
        var cartEntryActionForm = $("#cartEntryActionForm");
        var entryNumbers = actionEntryNumbers.toString().split(';');
        entryNumbers.forEach(function (entryNumber) {
            var entryNumbersInput = $("<input>").attr("type", "hidden").attr("name", "entryNumbers").val(entryNumber);
            entryNumbersInput.append($("<input>").attr("type", "hidden").attr("name", "removeProductNumber").val(removeProductNumber));
            cartEntryActionForm.append($(entryNumbersInput));
        });
        var isFlyoutCartInput = $("<input>").attr("type", "hidden").attr("name", "isFlyoutCart").val(true);
        cartEntryActionForm.append($(isFlyoutCartInput));
        cartEntryActionForm.ajaxForm({
            success: ACC.product.displayAddToCartPopup
        });
        setTimeout(function(){
            $ajaxCallEvent  = true;
            $('.summary-product-removed').remove();
        }, 2000);
        cartEntryActionForm.attr('action', entryActionUrl).submit();
    }
};
/** RM Cart Flyout Changes END **/

/** Cart Icon Click Start (EXWEB-1232 -- AC 2)**/
$(document).on("click","#cartFlyoutDisplay",function(e){
	e.preventDefault();
    $.ajax({
       url:"/cart/flyout/show",
       type:"GET",
       success: ACC.product.displayAddToCartPopup
    });
});
/** Cart Icon Click END**/

/** QTY Change Cart Flyout Changes Start (EXWEB-1212) **/
function ajaxATCFlyoutQtyChange(productCode,quantity,entryNumber){
    $.ajax({
       url:"/cart/flyout/update",
       type:"POST",
       data:{'productCodePost':productCode,'quantity':quantity,'entryNumber':entryNumber},
       success: ACC.product.displayAddToCartPopup
    });
}
/*
$(document).on("click", '.js-qty-selector .js-qty-selector-input', function (e) {
    var $this = $(this)
    ACC.productDetail.checkQtySelector(this, "focusout");
    ACC.productDetail.updateQtyValue(this, $(this).val());
    let productCode = $this.attr('data-productCode');
    let quantity = $this.val();
    let entryNumber = $this.attr('data-entryNumber');
    ajaxATCFlyoutQtyChange(productCode,quantity,entryNumber);
})

$(document).on("focusout", '.js-qty-selector .js-qty-selector-input', function (e) {
    var $this = $(this)
    ACC.productDetail.checkQtySelector(this, "focusout");
    ACC.productDetail.updateQtyValue(this, $(this).val());
    let productCode = $this.attr('data-productCode');
    let quantity = $this.val();
    let entryNumber = $this.attr('data-entryNumber');
    ajaxATCFlyoutQtyChange(productCode,quantity,entryNumber);
})
$(document).on("focusout", '.js-qty-selector .js-qty-selector-plus', function () {
    var $this = $(this).siblings();
    let productCode = $this.attr('data-productCode');
    let quantity = $this.val();
    let entryNumber = $this.attr('data-entryNumber');
     ajaxATCFlyoutQtyChange(productCode,quantity,entryNumber);
})
$(document).on("focusout", '.js-qty-selector .js-qty-selector-minus', function () {
    var $this = $(this).prev();
    let productCode = $this.attr('data-productCode');
    let quantity = $this.val();
    let entryNumber = $this.attr('data-entryNumber');
    ajaxATCFlyoutQtyChange(productCode,quantity,entryNumber);
})
*/
$(document).on("click", '.cart-fly.js-qty-selector .js-flyout-qty-selector-minus', function (ev) {
    ACC.productDetail.checkQtySelector(this, "minus");
    var $this = $(this).prev().attr('data-productCode') == undefined ? $(this).siblings() : $(this).prev();
    let productCode = $this.attr('data-productCode');
    let quantity = $this.val();
    let entryNumber = $this.attr('data-entryNumber');
    if(parseInt(quantity) <= 0){
        ev.preventDefault();
        ACC.addToCartPopupItemRemove.removeItem($this,ev);
    }else{
        ajaxATCFlyoutQtyChange(productCode,quantity,entryNumber);
    }

})
$(document).on("click", '.cart-fly.js-qty-selector .js-flyout-qty-selector-plus', function (ev) {
    ACC.productDetail.checkQtySelector(this, "plus");
     var $this = $(this).siblings().attr('data-productCode') == undefined ? $(this).prev() : $(this).siblings();
     let productCode = $this.attr('data-productCode');
     let quantity = $this.val();
     let entryNumber = $this.attr('data-entryNumber');
     if(parseInt(quantity) <= 0){
         ACC.addToCartPopupItemRemove.removeItem(this,ev);
     }else{
         ajaxATCFlyoutQtyChange(productCode,quantity,entryNumber);
     }
})
$(document).on("focusout", '.cart-fly.js-qty-selector .js-qty-selector-input', function (e) {
    var $this = $(this)
    ACC.productDetail.checkQtySelector(this, "focusout");
    ACC.productDetail.updateQtyValue(this, $(this).val());
    let productCode = $this.attr('data-productCode');
    let quantity = $this.val();
    let entryNumber = $this.attr('data-entryNumber');
    if(quantity != ""){
        if(parseInt(quantity) <= 0){
            e.preventDefault();
            ACC.addToCartPopupItemRemove.removeItem($this,e);
        }else{
            ajaxATCFlyoutQtyChange(productCode,quantity,entryNumber);
        }
    }
})

/** QTY Change Cart Flyout Changes END **/