$(function() {

    /*
    if ((currScrSize == 'xl')||(currScrSize == 'lg')||(currScrSize == 'md')){
    $(".notice-wrap").niceScroll(htmlscrollConfig);
    $(".price-wrap").niceScroll(htmlscrollConfig);  
    $(".remit-wrap").niceScroll(htmlscrollConfig);
    }
    */

    $(document).on({
        scroll: function() {

        }

    });




    $(window).resize(function() {

    });



    
 
    $(document).on({
        change: function() {
            var itemImgJson = $(this).children('option:selected').data('pic');

            $('.products-carousel .slider-nav').find('.slick-slide').each(function(idx, elem) {
                $('.products-carousel .slider-for').slick('slickRemove', 0);
                $('.products-carousel .slider-nav').slick('slickRemove', 0);

            });

            if (itemImgJson.length < 2) {
                $('.products-carousel .slider-nav').addClass('d-none');
            } else {
                $('.products-carousel .slider-nav').removeClass('d-none');
            }

            $.each(itemImgJson, function(idx, imgUrl) {
                $('.products-carousel .slider-for').slick('slickAdd', '<div><div class="items-block" style="background-image: url(' + imgUrl + ');"></div></div>');
                $('.products-carousel .slider-nav').slick('slickAdd', '<div><div class="items-block" style="background-image: url(' + imgUrl + ');"></div></div>');

            });

            $('.products-cat-modal').find('.img-thumbnail').attr('src', itemImgJson[0]);

            console.log(itemImgJson);

            var itemParamJson = $(this).children('option:selected').data('param');
            $.each(itemParamJson, function(key, value) {
                $('.' + key).text(value);
                if (!value.length) {
                    $('.' + key).parents('.form-group').eq(0).addClass('d-none');
                } else {
                    $('.' + key).parents('.form-group').eq(0).removeClass('d-none');
                }
            });

            var addCartJson = $('.btn_addcart').data('param');
            addCartJson['sid[]'] = $(this).val();
            addCartJson['prc[]'] = itemParamJson['pprc'];
            $('.btn_addcart').data('param', addCartJson);

        }
    }, '.item-select');


    $(document).on({
        click: function() {
            if (!$('#pagearea').length) {
                var cartForm = $(this).parents('.cart-form').eq(0);
                var cartAjaxStr = '';

                $.each($(this).data('param'), function(key, value) {
                    cartAjaxStr += '&' + key + '=' + value;
                });


                if (parseInt($('#buyCount').val()) > 0) {

                    $.ajax({
                        url: "/inc/cart/updatecart.php",
                        type: 'post',
                        data: 'opr=addItem' + cartAjaxStr + "&" + $(cartForm).serialize(),
                        dataType: 'script',
                        success: function() {

                        },
                        error: function(request) {

                        }
                    });

                } else {
                    alert('請輸入您要購買的數量!');
                }
            }
        }
    }, '.btn_addcart');

    $(document).on({
        click: function() {
            if (!$('#pagearea').length) {

                $.ajax({
                    url: "/inc/cart/cart_item_modal.php",
                    type: 'post',
                    data: 'opr=addItem&sid=' + $(this).data('sid') + '&pageNo=' + $(this).data('pgno'),
                    dataType: 'html',
                    success: function(response) {
                        $('#info-modal').find('.modal-inner').html(response);
                        $('#info-modal').modal('show');
                    },
                    error: function(request) {

                    }
                });

            }
        }
    }, '.cart-modal-btn');

    $(document).on({
        mouseenter: function() {
            if (!$('#pagearea').length) {
                //var cartForm = $(this).parents('.cart-form').eq(0);
                //var cartAjaxStr = '';

                $.ajax({
                    url: "/inc/cart/cart_item_popover.php",
                    type: 'post',
                    data: '',
                    dataType: 'html',
                    success: function(response) {
                        $('.popover-wrap').html(response).show();
                    },
                    error: function(request) {

                    }
                });

            }
        },
        mouseleave: function() {
            $('.popover-wrap').html('').hide();

        }
    }, '.cart-popover');


    $(document).on({
        click: function() {
            if (!$('#pagearea').length) {
                var formId = $(this).parents('form').eq(0).attr('id');
                //$(this).parents('.cart-detail-row').eq(0).remove();
                $(this).parents('.cart-detail-row').eq(0).find('#buyCount').val(0);
                cartUpdateItem($(this).parents('.cart-detail-row').eq(0), formId);
            }
        }
    }, '.cart-item-del');


    $(document).on({
        submit: function(e) {
            if (!$('#pagearea').length) {
                e.preventDefault();
                e.stopPropagation();
                if (!$(this).find('.form-group.has-error').length) {
                    $.ajax({
                        url: "/inc/cart/updateorder.php",
                        type: 'post',
                        data: 'opr=addOrder&' + $('#add_to_order').serialize(),
                        dataType: 'script',
                        success: function(response) {

                        },
                        error: function(request) {

                        }
                    });
                }

            }
        }
    }, '#add_to_order');



    $(document).on({
        click: function() {
            if (!$('#pagearea').length) {
                $('.listTable tbody').find('tr.table-sum').removeClass('table-sum');
                $(this).parents('tr').eq(0).addClass('table-sum');
                $.ajax({
                    url: "/tpl/inc/data/order_detail.php",
                    type: 'post',
                    data: 'pSubNo=' + $(this).data('subno'),
                    dataType: 'html',
                    success: function(response) {
                        $('#orderDetail').html(response);
                    },
                    error: function(request) {

                    }
                });

            }
        }
    }, '.showOrderDetail');


    $(document).on({
        click: function() {
            if (!$('#pagearea').length) {
                /*
                $('.listTable tbody').find('tr.table-sum').removeClass('table-sum');
                $(this).parents('tr').eq(0).addClass('table-sum');
                */

                $('.status-sort .nav-item > .nav-link').removeClass('active');
                $(this).addClass('active');
                $.ajax({
                    url: "/tpl/inc/data/order_paper.php",
                    type: 'post',
                    data: 'status=' + $(this).data('status'),
                    dataType: 'html',
                    success: function(response) {
                        $('#orderPaper').html(response);
                        if ($('.listTable > tbody').find('.showOrderDetail').length) {
                            $('.listTable > tbody').find('.showOrderDetail').eq(0).trigger('click');
                        } else {
                            $('#orderDetail').html('');
                        }
                    },
                    error: function(request) {

                    }
                });

            }
        }
    }, '.switch_list');


    $(document).on({
        click: function(e) {
            if (!$('#pagearea').length) {
                $.ajax({
                    url: "/inc/cart/order_reciver_modal.php",
                    type: 'post',
                    data: 'opr=updateReciver&pSubNo=' + $('#order-form').data('subno'),
                    dataType: 'html',
                    success: function(response) {
                        $('#info-modal').find('.modal-inner').html(response);
                        $('#info-modal').modal('show');
                    },
                    error: function(request) {

                    }
                });

            }
        }
    }, '.update-reciver');


    $(document).on({
        submit: function(e) {
            e.preventDefault();
            e.stopPropagation();
            if (!$('#pagearea').length) {
                if (!$(this).find('.form-group.has-error').length) {
                    var orderShipping = 'opr=updateShipping&pSubNo=' + $(this).data('subno') + '&' + $(this).serialize();
                    $.ajax({
                        url: "/inc/cart/updateorder.php",
                        type: 'post',
                        data: orderShipping,
                        dataType: 'script',
                        success: function(response) {

                        },
                        error: function(request) {

                        }
                    });
                }
            }

        }
    }, '#reciver-form');


    /******************CC Pay*********************/

    $(document).on({
        click: function() {
            $.ajax({
                url: "/inc/hpp/transToPayPage.php",
                type: 'post',
                data: 'opr=transPay&pSubNo=' + $(this).parents('#order-form').eq(0).data('subno'),
                dataType: 'script',
                success: function(response) {
                    $('#RemitNo').css('border-color', '');
                },
                error: function(request) {

                }
            });
        }
    }, '.ccpay-btn');

    if ($('form#HPP').length) {
        $('form#HPP').submit();
    }



}); //document.ready

function updateRemitInfo(pSubNo, info) {

    if (!$('#pagearea').length) {
        if (!$('#RemitNo').val().length) {
            $('#RemitNo').css('border-color', 'red');
        } else {
            $.ajax({
                url: "/inc/cart/updateorder.php",
                type: 'post',
                data: 'opr=updateRemitInfo&pSubNo=' + pSubNo + '&remitInfo=' + info,
                dataType: 'script',
                success: function(response) {
                    $('#RemitNo').css('border-color', '');
                },
                error: function(request) {

                }
            });
        }
    }
}

function updatePayOpt(pSubNo, payOpt) {

    if (!$('#pagearea').length) {
        $.ajax({
            url: "/inc/cart/updateorder.php",
            type: 'post',
            data: 'opr=updatePayOpt&pSubNo=' + pSubNo + '&payOpt=' + payOpt,
            dataType: 'script',
            success: function(response) {

            },
            error: function(request) {

            }
        });

    }
}

function cartUpdateItem(elemRow, formId) {
    var cartAjaxStr = '';
    var dataUrl = '';

    if (formId == 'cart-form') {
        cartAjaxStr += 'opr=updateItem';
        $('.cart-form').find('.cart-detail-row').each(function(idx, elem) {

            cartAjaxStr += '&sid[]=' + $(elem).data('info')['sid'];
            cartAjaxStr += '&prc[]=' + $(elem).data('info')['prc'];
            cartAjaxStr += '&qty[]=' + $(elem).find('#buyCount').val();
            cartAjaxStr += '&grp[]=' + $(elem).data('info')['grp'];

            if (parseInt($(elem).find('#buyCount').val()) == 0) {
                $(elem).remove();
            }

        });
        cartAjaxStr += '&' + $('.cart-form').serialize();
        dataUrl = "/inc/cart/updatecart.php";
    }

    if (formId == 'order-form') {
        cartAjaxStr += 'opr=updateItem&pSubNo=' + $('.order-form').data('subno');
        $('.order-form').find('.cart-detail-row').each(function(idx, elem) {
            cartAjaxStr += '&ser[]=' + $(elem).data('info')['ser'];
            cartAjaxStr += '&sid[]=' + $(elem).data('info')['sid'];
            cartAjaxStr += '&prc[]=' + $(elem).data('info')['prc'];
            cartAjaxStr += '&qty[]=' + $(elem).find('#buyCount').val();
            cartAjaxStr += '&grp[]=' + $(elem).data('info')['grp'];

            if (parseInt($(elem).find('#buyCount').val()) == 0) {
                $(elem).remove();
            }
        });
        //cartAjaxStr += '&'+$('.order-form').serialize(),
        dataUrl = "/inc/cart/updateorder.php";
    }

    console.log(cartAjaxStr);
    $.ajax({
        url: dataUrl,
        type: 'post',
        data: cartAjaxStr,
        dataType: 'script',
        success: function(response) {
            calcCartTotalSum(elemRow);
        },
        error: function(request) {

        }
    });

}

function calcCartTotalSum(elemRow) {
    var subcalc = 0;
    var totalcalc = 0;
    var sumcalc = 0;
    if (elemRow) {
        subcalc = parseInt($(elemRow).data('info')['prc']) * parseInt($(elemRow).find('#buyCount').eq(0).val());
        $(elemRow).find('.subtotal').text(thousandComma(subcalc));
        $(elemRow).find('.subtotal').data('val', subcalc);
    }


    $('.subtotal').each(function() {
        totalcalc += parseInt($(this).data('val'));
    });

    $('.table-sum').find('.total').text(thousandComma(totalcalc)).data('val', totalcalc);

    var shippingElem = $('.table-sum.default-sum').find('.shipping');

    if (totalcalc >= $(shippingElem).data('lmt')) {
        $('.table-sum').find('.shipping').text('0').data('val', 0);
    } else {
        $('.table-sum').find('.shipping').text($(shippingElem).data('fee')).data('val', $(shippingElem).data('fee'));
    }

    sumcalc = parseInt($('.table-sum').find('.total').data('val')) + parseInt($(shippingElem).data('val'));
    $('.table-sum').find('.orderSum').text(thousandComma(sumcalc)).data('val', sumcalc);

    if (totalcalc > 0) {
        $('.table-sum.default-sum').show();
        $('.step-2-btn').show();
    } else {
        $('.table-sum.default-sum').hide();
        $('.step-2-btn').hide();
    }
}


var thousandComma = function(number) {
    var num = number.toString();
    var pattern = /(-?\d+)(\d{3})/;

    while (pattern.test(num)) {
        num = num.replace(pattern, "$1,$2");
    }
    return num;
}

var updatingTimer, updatingInTimer, updatingOutTimer;

function updatingMsg(msg) {
    if (!$('body').find('.updating-block').length) {
        $('body').prepend('<div class="updating-block"><div class="msg-inner"><div class="sk-wave"><div class="sk-rect sk-rect1"></div><div class="sk-rect sk-rect2"></div><div class="sk-rect sk-rect3"></div><div class="sk-rect sk-rect4"></div><div class="sk-rect sk-rect5"></div> </div> <div class="msg-txt"></div> </div></div>');
    }

    $('.updating-block .msg-txt').text(msg);


    clearTimeout(updatingTimer);
    clearTimeout(updatingInTimer);
    clearTimeout(updatingOutTimer);

    updatingTimer = setTimeout(function() {

        $('.updating-block').addClass('in');
        updatingInTimer = setTimeout(function() {
            $('.updating-block').addClass('out');
            updatingOutTimer = setTimeout(function() {
                $('.updating-block').remove();
            }, 1000);

        }, 2000);

    }, 100);

}