$(function () {
    $('[data-birth]').on('keyup', function () {
        var val = $(this).val();
        val = val.replace(/[^\d.]/g, "");
        $(this).val(val);
        var birth = $(this).attr('data-birth');
        // if (birth == 'm') {
        //     if (val.length == 2) {
        //         $('[data-birth="d"]').focus()
        //     }

        //     if (val > 12) $(this).val(12);
        //     var d = $('[data-birth="d"]').val();
        //     var max = 31;
        //     if (val == 2) {
        //         max = 31;
        //     }
        //     if (['04', '06', '09', 11].indexOf(val) > -1) {
        //         max = 31;

        //     }
        //     if (d > max) $('[data-birth="d"]').val(max);
        // }
        // if (birth == 'd') {
        //     var m = parseInt($('[data-birth="m"]').val());
        //     if (m < 10) $('[data-birth="m"]').val('0' + m);
        //     var max = 31;
        //     if (m == 2) {
        //         max = 31;
        //     }
        //     if (['04', '06', '09', 11].indexOf(m) > -1) {
        //         max = 31;
        //     }
        //     if (val == '') {
        //         $('[data-birth="m"]').focus()
        //     }
        //     if (val > max) $(this).val(max);
        // }

    })
    $('[data-birth]').on('blur', function () {
        var m = parseInt($('[data-birth="m"]').val());
        var d = parseInt($('[data-birth="d"]').val());
        if (m < 10) $('[data-birth="m"]').val('0' + m);
        if (d < 10) $('[data-birth="d"]').val('0' + d);

    })
    var o = new Swiper(".zoom-top", {
        spaceBetween: 5, slidesPerView: 1,
        keyboard: true
        , on: {
            slideChangeTransitionEnd: function () {
                $('.slide').removeClass('slide-active');
                $('.slider-nav-item').html(this.activeIndex + 1);
                $('[data-thumb="' + (this.activeIndex) + '"]').addClass('slide-active');
            }
        }
    });
    var nt = 0;
    $('[data-thumb]').on('click', function () {
        var that = this;
        $('.slide').removeClass('slide-active');
        $(that).addClass('slide-active');
        var n = $(that).attr('data-thumb');
        if (nt == 0) {
            o = new Swiper(".zoom-top", {
                spaceBetween: 5, slidesPerView: 1,
                keyboard: true
                , on: {
                    slideChangeTransitionEnd: function () {
                        $('.slide').removeClass('slide-active');
                        $('.slider-nav-item').html(this.activeIndex + 1);
                        $('[data-thumb="' + (this.activeIndex) + '"]').addClass('slide-active');
                    }
                }
            });
        }
        setTimeout(function () {
            o.slideTo(n, 500, false);
            nt++;
        }, 30)

    })
    var tn = new Swiper(".zoom-thumbss", {
        spaceBetween: 5,
        slidesPerView: (Math.ceil($(window).width() / 50)),
        freeMode: true,
        observer: true,
        observeParents: true
    });
    var sn = new Swiper(".zoom-tops", {
        spaceBetween: 40, slidesPerView: 1, thumbs: {swiper: tn}, observer: true,
        freeMode:true,
        mousewheel:true,
        direction: "vertical",
        observeParents: true, on: {
            slideChangeTransitionEnd: function () {
                o.slideTo(this.activeIndex, 500, false);
                console.log(this.activeIndex)
                $('.slide').removeClass('slide-active');
                $('[data-thumb="' + (this.activeIndex) + '"]').addClass('slide-active');
                $('.slider-nav-item').html(this.activeIndex + 1);
            }
        }
    });

    $('.nav-link').on('click', function () {
        $('.nav-link').removeClass('active');
        $(this).addClass('active');
    })
    $('[data-img-thumb]').on('click', function () {
        var parent = $(this).parent().parent().parent();
        var key = parseInt($(this).attr('data-img-thumb'));
        var str = '';
        var str_min = '';
        parent.find('[data-img-thumb]').each(function () {
            str += '   <div class="swiper-slide preview">\n' +
                '                    <img class="img-responsive m-auto" src="' + $(this).attr('src') + '" alt="">\n' +
                '                </div>';
            str_min += ' <div class="swiper-slide preview-min"><img class="img-responsive m-auto" src="' + $(this).attr('src') + '" alt="">\n' +
                '                </div>';
        })
        $('.preveiw-max').html(str);
        if (parent.find('[data-img-thumb]').length > 1) {
            $('.preveiw-min').html(str_min).show();
        } else {
            $('.preveiw-min').hide();
        }
        $('.swiper-preview-image').css({'opacity': '1', 'z-index': '9999999'});
        sn.slideTo(key, 0, false);
        $('body').css({'overflow': 'hidden'})
    })
    $('.preview-close').on('click', function () {
        $('.swiper-preview-image').css({'opacity': '0', 'z-index': '-1'});
        $('body').css({'overflow': 'auto'})
    })
    $('[data-pack]').on('keyup', function () {
        var pack = '';
        var val = $(this).val();
        val = val.replace(/[^\d.]/g, "");
        $(this).val(val);
        $('[name="priv"]').val('');
        $('[name="city"]').val('');
        var url = $(this).attr('data-url');
        if (val.length == 7) {
            $('[data-pack]').each(function (i) {
                var info = '';
                if (i == 0) info = val.substring(0, 3);
                if (i == 1) info = val.substring(3, 7);
                $('[data-pack]').eq(i).val(info)
            })
            $.post(url, {code: val}, function (res) {
                if (res.code == 1) {
                    $('[name="priv"]').val(res.data.priv);
                    $('[name="city"]').val(res.data.city + res.data.dist);
                }
            })
        } else {
            $('[data-pack]').each(function (i) {
                pack += $('[data-pack]').eq(i).val();
            })
            if (pack > 7) pack = pack.substring(0, 7);
            if (pack.length == 7) {
                $.post(url, {code: pack}, function (res) {
                    if (res.code == 1) {
                        $('[name="priv"]').val(res.data.priv);
                        $('[name="city"]').val(res.data.city + res.data.dist);
                    }
                })
            }
        }

    })
    $('[data-number]').on('keyup', function () {
        var n = parseInt($(this).attr('data-number'));
        var val = $(this).val();
        val = val.replace(/[^\d.]/g, "");
        $(this).val(val);
        var l = $(this).attr('data-length');
        if (val.length == 11) {
            $('[data-number]').each(function (i) {
                var info = '';
                if (i == 0) info = val.substring(0, 3);
                if (i == 1) info = val.substring(3, 7);
                if (i == 2) info = val.substring(7, 11);
                $('[data-number]').eq(i).val(info)
            })
        } else {
            if (val.length >= l) {
                $(this).val(val.substring(0, (l)));
                n++;
                $('[data-number="' + n + '"]').focus();
            }
            if (val == '') {
                n--
                $('[data-number="' + n + '"]').focus();
            }
        }

    })
    $('[data-email-code]').on('click', function () {

        var name = ($(this).attr('data-email-code'));
        var email = $('[name="' + name + '"]').val();
        var url = $(this).attr('data-url');
        var that = this;
        if (email == '') {
            msg($(this).attr('data-msg2'));
            return false;
        }
        var regx = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
        var type = $(this).attr('data-type');
        // if (regx.test(email)) {
            msg_receive($(this).attr('data-loading'));
            $.post(url, {email: email, time: (new Date()).toTimeString(), type: type}, function (res) {
                msg(res.info)
                if (res.code == 1) {
                    var abc = null;
                    daojishi(that, abc);
                    $('[name="email_code"]').val(res.data.code);

                }
            })
        // } else {
        //     msg($(this).attr('data-msg1'));
        // }
    })
    $('[data-session]').on('click', function () {
        if ($(this).attr('data-session-action') == 0) return false;
        var url = $('[data-session-url]').attr('data-session-url');
        var data = $(this).attr('data-session').split('#');
        var reload = $(this).attr('data-reload');
        if (reload != undefined) {
            msg_receive()
        }
        var form = {};
        form[data[0]] = data[1];
        $.post(url, form, function () {
            if (reload != undefined) {
                do_init(1, 1);
            }
        })
    })
    $('[data-action]').on('click', function () {
        var url = $(this).attr('data-action');
        check_login(url);
        var confirm = $(this).attr('data-bs-target');
        var loading_msg = $(this).attr('data-loading');
        var jump = $(this).attr('data-jump');
        var relation = $(this).attr('data-relation');
        if (confirm != undefined && confirm != '') {
            var confirm_storm = $('[data-confirm-confirm-btn]');
            confirm_storm.attr('data-action', $(this).attr('data-action')).attr('data-data', $(this).attr('data-data')).attr('onclick', 'data_action(this)');
            $('.confirm-title').html($(this).attr('data-confirm-title'));
            $('.confirm-content').html($(this).attr('data-confirm-content'));
            if (jump != undefined) confirm_storm.attr('data-jump', jump);
            if (loading_msg != undefined) confirm_storm.attr('data-loading', loading_msg);
            return false;
        }
        msg_receive(loading_msg)
        if (loading_msg == undefined) {
            loading_msg = $('[data-msg-loading]').attr('data-msg-loading');
        }
        var form = {};
        if ($(this).attr('data-data') != undefined) {
            var data_storm = $(this).attr('data-data').split(',');
            for (var i in data_storm) {
                var data = data_storm[i].split('#');
                form[data[0]] = data[1]
            }
        }
        var that = this;
        $.post(url, form, function (res) {
            msg(res.info);
            if (jump != '' && res.code == 1) {
                sessionStorage.setItem("need-refresh", true);
                if (jump == 'reload') {
                    do_init(1000, 1)
                } else if (jump == 'top') {
                    if (res.data.is_top == 1) {
                        $(that).find('.top-checked').css({color: '#eaaa85'})
                    } else {
                        $(that).find('.top-checked').css({color: '#000'})
                    }
                    $(that).find('.top_num').html(res.data.top_num);

                } else if (jump == 'relation') {
                    do_relation(form);
                } else {
                    window.location.href = jump;
                }

            }
        })

    })
    $('[data-collect]').on('click', function () {
        collect_action(this, $(this).attr('data-mobile'));
    })
    $('[data-cart]').on('click', function () {
        cart_action(this);
    })
    $('[data-phone-code]').on('click', function () {
        var field = $(this).attr('data-field').split(',');
        var mobile = '';
        for (var i in field) {
            mobile += ($('[name="' + field[i] + '"]').val()).toString();
        }
        var url = $(this).attr('data-url');
        var that = this;
        if (mobile == '') {
            msg($(this).attr('data-msg1'));
            return false;
        }
        if (mobile.length != 11) {
            msg($(this).attr('data-msg2'));
            return false
        }
        msg_receive($(this).attr('data-loading'));
        var type = $(this).attr('data-type');
        $.post(url, {mobile: mobile, time: (new Date()).toTimeString(), type: type}, function (res) {
            msg(res.info)
            if (res.code == 1) {
                var bcd = null
                daojishi(that, bcd);
                $('[name="phone_code"]').val(res.data.code);

            }
        })
    })
    $('[data-forget-code]').on('click', function () {
        var val = $('[name="' + $(this).attr('data-field') + '"]').val();
        var regx = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
        var type = $(this).attr('data-type');
        if (val == '') {
            msg($(this).attr('data-msg1'))
            return false;
        }
        var url = $(this).attr('data-url-phone');
        if (!regx.test(val)) {
            if (val.length != 11) {
                msg($(this).attr('data-msg2'))
                return false;
            }
            msg_receive($(this).attr('data-phone-loading'));
        } else {
            url = $(this).attr('data-url-email');
            msg_receive($(this).attr('data-email-loading'));
            $('[name="forget_type"]').val('email');
        }
        var that = this;
        $.post(url, {email: val, mobile: val, time: (new Date()).toTimeString(), type: type}, function (res) {
            msg(res.info)
            if (res.code == 1) {
                var exc = null
                daojishi(that, exc);
                $('[name="account_code"]').val(res.data.code);

            }
        })
    })
    $('[data-spec]').on('click', function () {
        if ($(this).hasClass('spec-disabeld')) return false;
        $('.spec-item').removeClass('spec-active').addClass('spec').find('.radio-storm').css('background', 'none');
        var id = ($(this).attr('data-item-id'));
        $(this).addClass('spec-active').removeClass('spec');
        $('.radio-checked').removeClass('radio-checked').addClass('radio');
        $('[data-raido-id="' + id + '"]').addClass('radio-checked').removeClass('radio');
        $('.goods_price').html($(this).attr('data-price'));
        var max_num = 9999;
        var is_only = $(this).attr('data-is_only');
        if (is_only == 1) {
            var stock = $(this).attr('data-stock');
            console.log(stock);
            max_num = stock;
            $('.cart-plus-minus-box').attr('data-max-num', max_num);
        }
        $(this).find('.radio-storm').css('background', '#FFF');
        $('[data-input-cart]').attr('name', 'cart_num_' + id).val(1);
    })
    $('[data-min-num]').on('keyup', function () {
        var val = parseInt($(this).val());
        val = isNaN(val) ? 1 : val;
        var n = parseInt($(this).attr('data-min-num'));
        if (val <= n) {
            $(this).val(n);
        } else {
            $(this).val(val);
        }
    })
    $('[data-max-num]').on('keyup', function () {
        var val = parseInt($(this).val());
        val = isNaN(val) ? 1 : val;
        var n = parseInt($(this).attr('data-max-num'));
        if (val > n) {
            $(this).val(n);
        } else {
            $(this).val(val);
        }
    })
    $('[data-tips-image]').on('click', function () {
        var src = $(this).attr('src');
        $('[data-img-active]').attr('src', src);
    })
    $('[data-num]').on('keyup', function () {
        var val = $(this).val();

        val = val.replace(/[^\d.]/g, "");
        var n = parseInt($(this).attr('data-num'));
        if (val.length > n) val = val.substring(0, n);
        $(this).val(val);

    })
    $('[data-storm]').on('click', function () {

        var is_html = 1;
        if ($(this).find('.address-active')[0] != undefined) {
            if (!$(this).find('.address-active').hasClass('active-checked')) {
                sessionStorage.setItem("need-refresh", true);
                is_html = 0;
                $(this).parent().find('.address-active').removeClass('active-card').removeClass('active-checked');
                $(this).find('.address-active').addClass('active-card').addClass('active-checked');
                $(this).parent().find('.active').removeClass('hide');
                $(this).find('.active').addClass('hide');
                $(this).parent().parent().find('.card-pay').addClass('hide').removeClass('active-checked');
                $(this).find('.card-pay').removeClass('hide');
                $('[name="pay_code"]').val('');
                var url = $(this).attr('data-url');
                var id = $(this).attr('data-id');
                $.post(url, {id: id}, function (res) {
                    // msg(res.info);
                    if (res.code == 1 && is_html == 0) {
                        do_init(1, 1);
                    }
                })
            }
        } else if ($(this).attr('data-coupons') == 1) {
            $(this).parent().find('.coupon-b').removeClass('reds').addClass('orang');
            $(this).find('.coupon-b').addClass('reds').removeClass('orang');
            $(this).parent().find('.coupon-c').removeClass('red-color').addClass('orang-color');
            $(this).find('.coupon-c').addClass('red-color').removeClass('orang-color');
            $(this).parent().find('.coupon-n').removeClass('red-btn').addClass('orang-btn').html($(this).attr('data-u'));
            $(this).find('.coupon-n').addClass('red-btn').removeClass('orang-btn').html($(this).attr('data-c'));
            var is_html = 1;
            var url = $(this).attr('data-url');
            var id = $(this).attr('data-id');
            $.post(url, {id: id}, function (res) {
                // msg(res.info);
                if (res.code == 1 && is_html == 1) {
                    do_init(1, 1);
                }
            })
        } else {
            msg_receive();
            var url = $(this).attr('data-url');
            var id = $(this).attr('data-id');
            $.post(url, {id: id}, function (res) {
                // msg(res.info);
                if (res.code == 1 && is_html == 1) {
                    do_init(1, 1);
                }
            })
        }

    })
    $('[data-hide-storm]').on('click', function () {
        var url = $(this).attr('data-url');
        var id = $(this).attr('data-id');
        $.post(url, {id: id}, function (res) {

        })
    })
    // $('[data-reload]').on('click', function () {
    //     msg_receive();
    //     setTimeout(function () {
    //         do_init();
    //     },200)
    // })
    $('[data-form]').on('click', function () {
        
       
        var that=this;
        var form = $('#' + $(this).attr('data-form'));
        var data = form.serialize();
        var url = form.attr('data-url');
        if(url.indexOf('login')<0){
            check_login();
        }
        var confirm = $(this).attr('data-bs-target');
        var loading_msg = $(this).attr('data-loading');
        if (confirm != undefined && confirm != '') {
            var confirm_storm = $('[data-confirm-confirm-btn]');
            confirm_storm.attr('data-form', $(this).attr('data-form')).attr('onclick', 'action_form(this)');
            $('.confirm-title').html($(this).attr('data-confirm-title'));
            $('.confirm-content').html($(this).attr('data-confirm-content'));
            var is_jump = $(this).attr('data-is_jump');
            if (is_jump != undefined) confirm_storm.attr('data-is_jump', is_jump);
            if (loading_msg != undefined) confirm_storm.attr('data-loading', loading_msg)
            return false;
        }
 $(this).attr('disabled','disabled');
        if (loading_msg == undefined) {
            loading_msg = $('[data-msg-loading]').attr('data-msg-loading');
        }
        msg_receive(loading_msg);
        $.post(url, data, function (res) {
            $(that).removeAttr('disabled');
            msg(res.info)
            if (res.code == 1) {
                if(res.data!='{-null-}' && res.data.link!='' && res.data.link!='back'){
                    window.location.href = res.data.link;
                    return false;
                }
                sessionStorage.setItem("need-refresh", true);
                var is_jump = form.attr('data-is_jump');
                setTimeout(function () {
                    if (is_jump == 0) {
                        setTimeout(function(){
                            history.go(-1);
                        },500)
                        return false;
                    }
                    if (is_jump == 'reload') {
                        setTimeout(function(){
                            do_init(1, 1);
                        },300)
                    }else if(is_jump=='reload_top'){
                        do_init(1, 1)
                        setTimeout(function(){
                           $('#scrollUp').click();
                        },500)
                    } else {
                        if (res.data != '{-null-}') {
                            window.location.href = res.data.link;

                        }
                    }
                }, 2500)
            }
        })
    })
    $('[data-confirm-cancel-btn]').on('click', function () {
        $('.close-btn').click();
    })
    $('[data-float-l]').on('click', function () {
        var r = $('.float-storm').css('right');
        if ($(this).attr('data-float-l') == 'abc') {
            $(this).hide();
        } else {
            $('[data-float-l]').show();
        }
        if (r == '-60px') {
            $('.float-storm').css('right', '10px');
        } else {

            $('.float-storm').css('right', '-60px');
        }
    })
    $('[data-confirm-confirm-btn]').on('click', function () {
        $('.close-btn').click();
    })
    $('[data-score]').on('mousemove', function () {
        var score = $(this).attr('data-score');
        var id = $(this).attr('data-item');
        $('[data-item="' + id + '"]').each(function (i) {
            if (i < score) {
                $(this).attr('class', 'fa fa-star')
            } else {
                $(this).attr('class', 'fa fa-star-o')
            }
        })
    })
    $('[data-score]').on('mouseout', function () {
        var id = $(this).attr('data-item');
        var score = $("[data-score-item='" + id + "']").val();
        console.log(score);
        $('[data-item="' + id + '"]').each(function (i) {
            if (i < score) {
                $(this).attr('class', 'fa fa-star')
            } else {
                $(this).attr('class', 'fa fa-star-o')
            }
        })
    })
    $('[data-score]').on('click', function () {
        var score = $(this).attr('data-score');
        var id = $(this).attr('data-item');
        $("[data-score-item='" + id + "']").val(score);
        $('[data-item="' + id + '"]').each(function (i) {
            if (i < score) {
                $(this).attr('class', 'fa fa-star')
            } else {
                $(this).attr('class', 'fa fa-star-o')
            }
        })
    })
    $('[data-copy]').on('click', function () {
        const str = $(this).attr('data-copy');
        console.log(str);
        const inputo = document.createElement("input");
        document.body.appendChild(inputo);
        inputo.value = str;
        inputo.setAttribute('readOnly', 'readOnly')
        inputo.select();
        document.execCommand("Copy");
        document.body.removeChild(inputo);
        msg($(this).attr('data-msg'));
    });
    $('[data-file]').on('click', function () {
        var url = $(this).attr('data-file');
        var id = $(this).attr('data-file-id');
        $(this).parent().append('<input accept="image/*" data-file-storm="' + id + '" data-file-change multiple="multiple" data-url="' + url + '" type="file"  style="display: none" />');
        $('[data-file-change]').click();
        $('[data-file-change]').on('change', function () {
            $(this).remove();
            var files = $(this).prop('files');
            var data = new FormData();
            var id = $(this).attr('data-file-storm');
            var url = $(this).attr('data-url');
            setTimeout(function () {
                for (var i = 0; i < files.length; i++) {
                    data.append('file', files[i]);
                    upload(url, data, function (res) {
                        $('[data-file-id="' + id + '"]').before('<div  class="img-thumb" data-thumb-id="' + id + '" data-value="' + res.data.url + '" ><img class="del-img" src="/static/home/image/del.png" alt=""><img style="width:100%;height:100%" src="' + res.data.url + '" alt=""></div>')
                        var img = '';
                        $('[data-thumb-id="' + id + '"]').each(function () {
                            img += $(this).attr('data-value') + '|';
                            $('[data-image-item="' + id + '"]').val(img);
                        })
                        $('.del-img').on('click', function () {
                            $(this).parent().remove();
                            var img = '';
                            $('[data-thumb-id="' + id + '"]').each(function () {
                                img += $(this).attr('data-value') + '|';
                            })
                            $('[data-image-item="' + id + '"]').val(img);
                        })
                    })
                }
            }, 100)
        })
    })
    $('[data-jump-storm]').on('click',function(){
        var url=$(this).attr('data-jump-storm');
        setTimeout(function(){
            location.href=url;
        },300)
    })
    $('[data-cate-storm]').on('click', function () {
        var hes = $('#cate-id').height();
        if (hes == 0) {
            $('#cate-id').css({'max-height': '100vh','height':'100vh'});
            $('body').append('<div id="float-back" onclick="close_cate(this)" style="position:fixed;top:0;left:0;width:100%;height:100%;background:#000;opacity: .75;z-index:49;"></div>')
            $('#cate-hide').hide();
            var open = $(this).attr('data-open');
            $('.cs-clear').addClass('hide');
            $('.cs-checked').removeClass('hide');
            if (open != undefined) {
                $(this).html(open);
            }
            $('body').css({'overflow': 'hidden'})
        } else {
            $('#cate-id').css({'max-height': 0,'height':0});
            var close = $(this).attr('data-close');
            if (close != undefined) {
                $(this).html(close);
            }
            setTimeout(function () {
                if ($('#cate-hide').find('[data-cate-storm]').html() != '') {
                    $('.cs-checked').addClass('hide');
                    $('.cs-clear').removeClass('hide');
                    $('#cate-hide').show();
                    $('[data-height-max]').css({'height': '55px'});
                } else {
                    $('[data-height-max]').css({'height': '35px'});
                    $('.cs-clear').addClass('hide');
                }
                $('#float-back').remove();
            }, 300)
            $('body').css({'overflow': 'auto'})
        }
    })
    $('[data-search]').on('click', function () {
        var right = $('.search-storm').css('right');
        if (right == '-2060px') {
            $('.search-storm').css('right', '-50px');
            $('.position-relative').css('padding-bottom', '10px');
        } else {
            $('.search-storm').css('right', '-2060px');
            $('.position-relative').css('padding-bottom', '0');
        }

    })
    $('.del-img').on('click', function () {
        $(this).parent().remove();
        var id = $(this).attr('data-img-storm-id');
        console.log(id)
        var img = '';
        $('[data-thumb-id="' + id + '"]').each(function () {
            img += $(this).attr('data-value') + '|';
        })
        $('[data-image-item="' + id + '"]').val(img);
    })
    var three_content_height = $("#three_content").height();
    $('#twitter').css('height', (three_content_height) + 'px');
    $('.twitter').css('height', (three_content_height) + 'px');
    $('[data-dingxiu]').on('click', function () {
        $('#exampleModal').show();
    })
})

function upload(url, $data, callback) {
    msg_receive($('[data-upload-loading]').attr('data-upload-loading'));
    var that = this;
    $.ajax({
        type: 'post',
        url: url,
        dataType: 'json',
        data: $data,
        async: true,
        cache: false,
        processData: false,
        contentType: false,
        success: function (data) {
            msg(data.info);
            setTimeout(function () {
                if (typeof callback === 'function' && callback.call(that, data) === false) return false;
            }, 300)
        },
        error: function (data) {
            $.hideLoading();
            msg('加载异常');
        }
    });
}

function daojishi(othis, index) {
    var t = 60;
    clearInterval(index);
    var cl=$(othis).attr('data-class')==undefined?'span-btn':$(othis).attr('data-class');
    console.log(cl);
    index = setInterval(function () {
        if (t == 0) {
            $(othis).attr('disabled', false).attr('class', cl).html($(othis).attr('title'));
            clearInterval(index);
        } else {
            var title=$(othis).attr('title');
            var ts=t;
            if(title!=undefined && title.length>0){
                ts=title+'まで'+'('+t+')秒';
            }
            $(othis).attr('disabled', 'disabled').attr('class', cl+' '+cl+'-disabeld').html(ts);
            t--;
        }

    }, 1000)
}

function msg(msg, time = 2500) {
    $('#msg').remove();
    $('#loading-gif').remove();
    $('body').append('<div id="msg" class="toast-storm"><div class="toast-flit"></div><div class="toast-msg" >' + msg + '</div></div>')
    setTimeout(function () {
        $('#msg').css('bottom', '55%');
    }, 100)
    setTimeout(function () {
        $('#msg').css('bottom', '-50px');
        setTimeout(function () {
            $('#msg').remove();
        }, 100)
    }, time)
    return false;
}

function msg_receive(msg) {
    $('body').append('<div id="loading-gif" style="position:fixed;top:30%;width: 100%;text-align: center;z-index:99999;">\n' +
        '    <img src="/static/home/image/wait.gif" style="width:125px;height:auto;border-radius:12px;opacity: .95;" alt="">\n' +
        '</div>')
}

function msg_clear() {
    $('#loading-gif').remove();
    $('#msg').remove();
}

function check_login() {
    $.post(location.origin + '/index/common/create_history', {url: location.pathname + location.search}, function (res) {
       if(res.code==1){
           msg_clear();
           window.location.href = '/index/login/index?history=' + res.data;
           return false;
       }
    })

}

function data_action(othis) {
    var url = $(othis).attr('data-action');
    msg_receive();
    check_login(url);
    var form = {};
    var jump = $(othis).attr('data-jump');
    if ($(othis).attr('data-data') != undefined) {
        var data_storm = $(othis).attr('data-data').split(',');
        for (var i in data_storm) {
            var data = data_storm[i].split('#');
            form[data[0]] = data[1]
        }
    }
    console.log(jump);
    $.post(url, form, function (res) {
        msg(res.info);
        if (jump != '' && res.code == 1) {
            sessionStorage.setItem("need-refresh", true);
            if (jump == 'reload') {
                do_init(1, 1)
            } else if (jump == 'relation') {
                do_relation(form);
            } else {
                window.location.href = jump;
            }
        }
    })
}

function action_form(othis) {
    var form = $('#' + $(othis).attr('data-form'));
    var data = form.serialize();
    var url = form.attr('data-url');
    console.log(url, '#' + $(othis).attr('data-form'));
    var loading_msg = $(othis).attr('data-loading');
    if (loading_msg == undefined) {
        loading_msg = $('[data-msg-loading]').attr('data-msg-loading');
    }
    msg_receive(loading_msg);
    $.post(url, data, function (res) {

        msg(res.info);
        sessionStorage.setItem("need-refresh", true);
        if (res.code == 1) {
            var is_jump = form.attr('data-is_jump');

            if (is_jump == 'reload') {
                setTimeout(function(){
                    do_init(1, 1);
                },300)
            } else if (is_jump == 'relation') {
                do_relation(form);
            } else {

                    if (is_jump == 0) {
                        setTimeout(function(){
                            history.go(-1);
                        },500)
                    } else {
                        window.location.href = res.data.link;
                    }

            }
        }
    })
}

function collect_action(that, is_mobile) {
    var url = $(that).attr('data-collect');
    check_login(url);
    var data_storm = $(that).attr('data-data').split(',');
    var form = {};
    for (var i in data_storm) {
        var data = data_storm[i].split('#');
        form[data[0]] = data[1]
    }
    $.post(url, form, function (res) {
        msg(res.info);
        if (is_mobile == 1) {
            do_init(1000, 1)
        }
        if (res.code == 1 || res.code == 2) {
            var n = $('[data-collect-num]').attr('data-collect-num');
            if (res.code == 1) {
                $('[data-collect-id="' + form['id'] + '"]').addClass('wishlist');
                n++;
            }
            if (res.code == 2) {
                $('[data-collect-id="' + form['id'] + '"]').removeClass('wishlist');
                $('[data-collect-id-action="' + form['id'] + '"]').remove();
                n--;
            }
            var ns = n <= 9 ? ('0' + n) : n;
            if (n == 0) {
                $('#collect-goods').html('     <div class="empty-text-contant text-center">\n' +
                    '                                <i class="pe-7s-shopbag"></i>\n' +
                    '                                <h3>' + $('[data-collect-title]').attr('data-collect-title') + '</h3>\n' +
                    '                            </div>');
                $('[data-collect-num]').addClass('hide').html(ns).attr('data-collect-num', n);
                $('[data-collect-button]').hide();
            } else {
                $('[data-collect-num]').removeClass('hide').html(ns).attr('data-collect-num', n);
                $('[data-collect-button]').show();
            }

        }
    })
}

function cart_action(that) {
    var url = $(that).attr('data-cart');
    msg_receive();
    check_login(url);
    var id = $(that).attr('data-cart-id');
    var item_id = $(that).attr('data-item-id');
    if (item_id == undefined) item_id = $('.spec-active').attr('data-item-id');

    var cart_num = $('[name="cart_num_' + item_id + '"]').val();
    console.log(cart_num);
    console.log(cart_num);
    console.log($(that).parent()[0]);
    var is_add = $(that).attr('data-is_add');
    var subscribe=$(that).attr('data-subscribe');
    if(subscribe==undefined) subscribe=0;
    $.post(url, {id: id, item_id: item_id, num: cart_num, is_add: is_add,subscribe:subscribe}, function (res) {
        if (res.info != '') {
            msg(res.info);
        } else {
            msg_clear();
        }
        if (res.code == 1 || res.code == 2) {
            var n = res.data.cart_num || 0;
            if (res.code == 2) {
                $('[data-cart-id-action="' + item_id + '"]').remove();
            }
            var ns = n <= 9 ? ('0' + n) : n;
            if (n == 0) {
                $('[data-nomark]').removeClass('hide');
                $('[data-mark]').addClass('hide');
                $('.cart-goods-storm').html('<div class="empty-text-contant text-center">\n' +
                    '                                <i class="pe-7s-shopbag"></i>\n' +
                    '                                <h3>' + $('[data-cart-title]').attr('data-cart-title') + '</h3>\n' +
                    '                            </div>');

                $('[data-cart-num]').addClass('hide').html(ns).attr('data-cart-num', n);
                $('[data-cart-button]').hide();
            } else {
                $('[data-nomark]').addClass('hide');
                $('[data-mark]').removeClass('hide');
                $('[data-cart-num]').removeClass('hide').html(ns).attr('data-cart-num', n);
                $('[data-cart-button]').show();
            }
            sessionStorage.setItem("need-refresh", true);
            if ($('[data-dopay]').attr('data-dopay') == 1) {
                do_pay();
            }
        }
    })
}

function data_action_storm(othis) {
    var url = $(othis).attr('data-action');
    check_login(url);
    var confirm = $(othis).attr('data-bs-target');
    var loading_msg = $(othis).attr('data-loading');


    if (confirm != undefined && confirm != '') {
        var confirm_storm = $('[data-confirm-confirm-btn]');
        confirm_storm.attr('data-action', $(othis).attr('data-action')).attr('data-data', $(othis).attr('data-data')).attr('onclick', 'data_action(this)');
        $('.confirm-title').html($(othis).attr('data-confirm-title'));
        $('.confirm-content').html($(othis).attr('data-confirm-content'));
        var jump = $(othis).attr('data-jump');
        if (jump != undefined) confirm_storm.attr('data-jump', jump);
        if (loading_msg != undefined) confirm_storm.attr('data-loading', loading_msg);
        return false;
    }
    if (loading_msg == undefined) {
        loading_msg = $('[data-msg-loading]').attr('data-msg-loading');
    }
    msg_receive(loading_msg)
    var data_storm = $(othis).attr('data-data').split(',');
    var form = {};
    var jump = $(othis).attr('data-jump');
    for (var i in data_storm) {
        var data = data_storm[i].split('#');
        form[data[0]] = data[1]
    }
    $.post(url, form, function (res) {
        msg(res.info);
        setTimeout(function(){
            if (jump != '' && res.code == 1) {
                sessionStorage.setItem("need-refresh", true);

                if (jump == 'reload') {
                    do_init(800, 1);
                } else if (jump == 'relation') {
                    do_relation(form);
                } else {
                    window.location.href = jump;
                }
            }
        },2500)
    })
}

function close_cate(othis) {
    $('#cate-id').css({'max-height': 0,'height':0});

    setTimeout(function () {
        if ($('#cate-hide').find('[data-cate-storm]').html() != '') {
            $('#cate-hide').show();
            $('[data-height-max]').css({'height': '55px'});
        } else {
            $('[data-height-max]').css({'height': '35px'});
        }
        $('#float-back').remove();
    }, 300)
    $('body').css({'overflow': 'auto'})
}

function data_img(othis) {
    var parent = $(othis).parent().parent().parent();
    var key = parseInt($(othis).attr('data-img-thumb'));
    var str = '';
    var str_min = '';
    parent.find('[data-img-thumb]').each(function () {
        str += '   <div class="swiper-slide preview">\n' +
            '                    <img class="img-responsive m-auto" src="' + $(this).attr('src') + '" alt="">\n' +
            '                </div>';
        str_min += ' <div class="swiper-slide preview-min"><img class="img-responsive m-auto" src="' + $(this).attr('src') + '" alt="">\n' +
            '                </div>';
    })
    $('.preveiw-max').html(str);
    if (parent.find('[data-img-thumb]').length > 1) {
        $('.preveiw-min').html(str_min).show();
    } else {
        $('.preveiw-min').hide();
    }
    $('.swiper-preview-image').css({'opacity': '1', 'z-index': '9999999'});
    sn.slideTo(key, 0, false);
    $('body').css({'overflow': 'hidden'})
}

function money_formats($money) {
    if ($money >= 1000 && $money < 1000000) {
        $m = ($money / 1000).toString().replace('.', ',');
        $m = $m.split(',');

        if ($m[1] == undefined) {
            $m[1] = '000';
        } else {
            if ($m[1].length == 1) $m[1] = $m[1] + '00';
            if ($m[1].length == 2) $m[1] = $m[1] + '0';
        }
        return $m[0] + ',' + $m[1];
    }
    if ($money >= 1000000 && $money < 1000000000) {
        $ms = ($money / 100000).toString().replace('.', ',');
        $ms = $ms.split(',');
        if ($ms[1] != undefined) {
            $ms[1] = '000,000';
        } else {
            $m = ($ms[1] / 1000).toString().replace('.', ',');
            $m = $m.split(',');
            if ($m[1] == undefined) {
                $m[1] = '000';
            } else {
                if ($m[1].length == 1) $m[1] = $m[1] + '00';
                if ($m[1].length == 2) $m[1] = $m[1] + '0';
            }

            $ms[1] = $m[0] + ',' + $m[1];
        }

        return $ms[0] + ',' + $ms[1];
    }
    return $money;
}

function check_num(othis) {
    var val = parseInt($(othis).val());
    console.log(val);
    val = isNaN(val) ? 1 : val;
    var n = parseInt($(this).attr('data-min-num'));
    var ns = parseInt($(this).attr('data-max-num'));
    if (val <= n) {
        $(othis).val(n);
    } else if (val >= ns) {
        $(othis).val(ns);
    } else {
        $(othis).val(val);
    }
}