
// 首页、列表页等加入购物车
function ShopAddCart1625194556(aid, spec_value_id, num, rootDir) {
    rootDir = rootDir ? rootDir : '';
    $.ajax({
        url : rootDir + '/index.php?m=user&c=Shop&a=shop_add_cart&_ajax=1',
        data: {aid: aid, num: num, spec_value_id: spec_value_id},
        type:'post',
        dataType:'json',
        success:function(res){
            if (1 == res.code) {
                window.location.href = res.url;
            } else {
                if (-1 == res.data.code) {
                    layer.msg(res.msg, {time: time});
                } else {
                    // 去登陆
                    window.location.href = res.url;
                }
            }
        }
    });
}

/**
 * 锚点 - 内容页显示目录大纲
 * @param  {[type]} toc_id     [目录大纲的最外层元素id]
 * @param  {[type]} content_id [内容的元素id]
 * @return {[type]}            [description]
 */
function ey_outline_toc(content_id, toc_id, scrollTop)
{
    setTimeout(function(){
        // 是否要显示目录大纲
        var is_show_toc = false;
        // 获取要显示目录的元素
        const tocContainer = document.getElementById(toc_id);
        if (tocContainer) {
            // 获取要提取h2\h3\h4\h5\h6的内容元素
            const articleObj = document.getElementById(content_id);
            // 获取所有标题元素
            if (articleObj) {
                const headers = articleObj.querySelectorAll('h2, h3');
                // 内容里是否存在h2\h3\h4\h5\h6标签
                if (headers.length > 0) {
                    // 获取锚点
                    var anchor = window.location.hash;
                    // 创建目录列表
                    const tocList = document.createElement('ul');
                    // 遍历标题元素，创建目录项
                    headers.forEach((header) => {
                        const level = header.tagName.substr(1);
                        const tocItem = document.createElement('li');
                        const link = document.createElement('a');
                        var name = '';
                        if (header.id) {
                            name = header.id;
                        } else if (header.querySelector('a') && header.querySelector('a').name) {
                            name = header.querySelector('a').name;
                        }
                        if (name) {
                            var data_top = -1;
                            try {
                                data_top = $("#"+content_id+" a[name='" + name + "']").offset().top;
                            }catch(err){}
                            link.setAttribute('data-top', data_top);
                            if (anchor.length > 0 && anchor == `#${name}`) {
                                link.setAttribute('class', 'ey_toc_selected');
                            }
                            link.href = `#${name}`;
                            link.textContent = name;
                            tocItem.appendChild(link);
                            tocItem.setAttribute('class', `ey_toc_h${level}`);
                            tocItem.style.paddingLeft = ((level - 2) * 1) + 'em';
                            tocList.appendChild(tocItem);
                            // 显示目录大纲
                            is_show_toc = true;
                        }
                    });
                    if (is_show_toc) {
                        // 将目录列表添加到容器中
                        tocContainer.appendChild(tocList);
                    }
                }
            }
            if (is_show_toc) {
                tocContainer.style.display = "block";

                // 自动绑定点击滑动事件
                if (window.jQuery) {
                    if (!scrollTop) scrollTop = 'unbind';
                    if ('unbind' != scrollTop) {
                        $('#'+toc_id+' ul li').on('click', function(){
                            var aObj = $(this).find('a');
                            var name = aObj.attr('data-name');
                            if (!name) {
                                name = aObj.attr('href');
                                name = name.replace('#', '');
                                aObj.attr('data-name', name);
                            }
                            // aObj.attr('href', 'javascript:void(0);');
                            aObj.attr('data-name', name);
                            $('#'+toc_id+' ul li').find('a').removeClass('ey_toc_selected');
                            aObj.addClass('ey_toc_selected');
                            var contentObj = $("#"+content_id+" a[name='" + name + "']");
                            if (0 < contentObj.length) {
                                var data_top = aObj.attr('data-top');
                                if (data_top <= -1) {
                                    data_top = contentObj.offset().top;
                                }
                                $("html,body").animate({
                                    scrollTop: data_top - scrollTop
                                })
                            }
                        });

                        // 刷新页面自动定位到锚点位置
                        setTimeout(function(){
                            $('#'+toc_id+' ul li').find('a.ey_toc_selected').click();
                        }, 300);
                    }
                }
            }
        }
    }, 10);
}

/**
 * 设置cookie
 * @param {[type]} name  [description]
 * @param {[type]} value [description]
 * @param {[type]} time  [description]
 */
function ey_setCookies(name, value, time)
{
    var cookieString = name + "=" + escape(value) + ";";
    if (time != 0) {
        var Times = new Date();
        Times.setTime(Times.getTime() + time);
        cookieString += "expires="+Times.toGMTString()+";"
    }
    document.cookie = cookieString+"path=/";
}

// 读取 cookie
function getCookie(c_name)
{
    if (document.cookie.length>0)
    {
        c_start = document.cookie.indexOf(c_name + "=")
        if (c_start!=-1)
        {
            c_start=c_start + c_name.length+1
            c_end=document.cookie.indexOf(";",c_start)
            if (c_end==-1) c_end=document.cookie.length
            return unescape(document.cookie.substring(c_start,c_end))
        }
    }
    return "";
}

function ey_getCookie(c_name)
{
    return getCookie(c_name);
}

function getQueryString(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    var r = window.location.search.substr(1).match(reg);
    if (r != null) return unescape(r[2]);
    return null;
}

// 执行倒计时
function shopExecuteCountdownTimes(shopTimes, id_0, id_1, id_2, id_3, shopCallback) {
    // 取模（余数）
    var modulo = parseInt(shopTimes) % (60 * 60 * 24);
    // 小时数
    var hours = Math.floor(modulo / (60 * 60));
    modulo = modulo % (60 * 60);
    // 分钟
    var minutes = Math.floor(modulo / 60);
    // 秒数
    var seconds = parseInt(shopTimes % 60, 10);
    // 输出到页面
    if (id_0) {
        $('#' + id_0).html(hours + "小时" + minutes + "分" + seconds + "秒");
    } else {
        if (id_1) $('#' + id_1).html(hours);
        if (id_2) $('#' + id_2).html(minutes);
        if (id_3) $('#' + id_3).html(seconds);
    }
    // 剩余秒数
    shopTimes--;
    // 倒计时结束则刷新页面
    if (parseInt(shopTimes) <= -1) {
        if (typeof shopCallback !== 'undefined') {
            shopCallback();
        } else {
            window.location.reload();
        }
    } else {
        // 延迟一秒执行自己
        setTimeout(function () {
            shopExecuteCountdownTimes(shopTimes, id_0, id_1, id_2, id_3, shopCallback);
        }, 1000);
    }
}
