//手机菜单
$("#searchNenu").click(function(){
    $("#closePopup").show();
    $("#searchForm").show();
    $("#closePopup").removeClass("hidden");
});
$("#userNenu").click(function(){
    $("#closePopup").show();
    $("#userStatus").show();
    $("#closePopup").removeClass("hidden");
});
$("#closePopup").click(function(){
    $(this).hide();
    $("#navNain").hide();
    $("#searchForm").hide();
    $("#userStatus").hide();
});

layui.use([ 'layer','rate','form','dropdown','element'], function() {
    window.layer = layui.layer,
    dropdown = layui.dropdown;
    //星星评分
    layui.rate.render({
        elem: '#rate',
        value: $('#rate').data('star'),
        readonly: true
    });
})
//返回顶部
$(window).scroll(function() {
	if ($(this).scrollTop() > 100) {
		$(".scrolltop").fadeIn();
		//添加悬浮导航
		$("#header").addClass("hover");
	} else {
		$(".scrolltop").fadeOut();
		//去除悬浮导航
		$("#header").removeClass("hover");
	}
});
function backTop() {
	$("body, html").animate({
		scrollTop: 0
	}, 300);
}

//举报内容
function reportContent(id) {
	layer.prompt({title: '举报反馈', formType: 2}, function(val, index) {
        $.ajax({
            url: "#!" + id,
            type: "post",
            dataType: "json",
            scriptCharset: "utf-8",
            jsonp: "callback",
            data: {
                //数据
            },
            success: function () {
                layer.msg('成功', {icon: 1});
            },
            error: function () {
                layer.msg('失败', {icon: 5});
            }
        })
    })
}

function deleteForum(id){
    layer.confirm('确认删除？', {
        btn: ['确认','取消'] //按钮
    }, function(){
        $.ajax({
            url: "/forum/delete",
            type: "post",
            dataType: "json",
            data: {
                id: id
            },
            success: function () {
                layer.msg('成功', {icon: 1});
            },
            error: function () {
                layer.msg('失败', {icon: 5});
            }
        })
    }, function(){
        // layer.msg('已取消', {
        //     time: 2000, //20s后自动关闭
        //     btn: ['明白了', '知道了']
        // });
    });
}

//选择栏目
function selectColumn() {

    $.ajax({
        url: "/forum/tree",
        success: function (res) {
            if (res.code == 0) {
                var data = res.data;
                var  tab =[];
                for (var i = 0; i < data.length; i++) {
                    var item = data[i];
                    var obj = {
                        title: item.label,
                        content: ''
                    }
                    obj.content = '<div class="select-column"><ul>';
                    for (var j = 0; j < item.children.length; j++) {
                        var child = item.children[j];
                        obj.content += `<li id="fid-${child.id}" onclick="publishID('${item.url}','${child.id}')">${child.label}</li>`;
                    }
                    obj.content += '</ul><div class="to_post" style="text-align: right"><button type="button" class="layui-btn">发布内容</button></div></div>';
                    tab.push(obj);
                }
                layer.tab({
                    area: ['600px', '310px'],
                    tab: tab
                });

            }else{
                if (res.code===-1) {
                    location.href = "/login";
                }
            }
        }
    });
}

function publishID(mod, id) {
    console.log(mod, id);
    $('.select-column li').removeClass('active');
    $('#fid-' + id).addClass('active');
    $(".to_post").html(`<a href="/forum/#mod=${mod}&navid=${id}" class="layui-btn">发布内容</a>`);
}

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


//首页图片切换
$('#indexLatestGraphics li').hover(
    function() {
        $('#indexLatestGraphics li').removeClass('active');
        $(this).addClass('active');
    }
);
$('#indexLatestVideo li').hover(
    function() {
        $('#indexLatestVideo li').removeClass('active');
        $(this).addClass('active');
    }
);
$('#indexLatestGame li').hover(
    function() {
        $('#indexLatestGame li').removeClass('active');
        $(this).addClass('active');
    }
);
$('#indexLatestSoft li').hover(
    function() {
        $('#indexLatestSoft li').removeClass('active');
        $(this).addClass('active');
    }
);
if($("#indexLatestContent").length){
    // 首页文字列表
    var swiper = new Swiper("#indexLatestContent", {
        slidesPerView: 3,
        spaceBetween: 30,
        freeMode: true,
        pagination: {
            el: ".swiper-pagination",
            clickable: true,
        },
    });
}


// 游戏内容幻灯片
var winWide = window.screen.width;
if (winWide <= 480) {
    var swiper = new Swiper('#gameContentSlider', {
    	slidesPerView: 1,
    	spaceBetween: 30,
    	navigation: {
          nextEl: ".swiper-button-next",
          prevEl: ".swiper-button-prev",
        },
    });
} else {
    var swiper = new Swiper('#gameContentSlider', {
    	slidesPerView: 2,
    	spaceBetween: 30,
    	navigation: {
          nextEl: ".swiper-button-next",
          prevEl: ".swiper-button-prev",
        },
    });
}


// 软件内容幻灯片
var swiper = new Swiper("#softSliderThumb", {
    spaceBetween: 10,
    slidesPerView: 4,
    freeMode: true,
    watchSlidesProgress: true,
});
var swiper2 = new Swiper("#softSliderLarge", {
    spaceBetween: 10,
    navigation: {
      nextEl: ".swiper-button-next",
      prevEl: ".swiper-button-prev",
    },
    thumbs: {
      swiper: swiper,
    },
});


//发表回复
function replyContent(type, id) {
    //重置评论框
    $('.member-message .replybox').remove();
    //获得评论框
    var rp = $('#rp-' + id).html();
    //多重评论框
    if (type == 1) {
        //alert(type);
        if (rp) {
            $('#rp-' + id).remove();
        } else {
            $('#lz-' + id).after('<div class="replybox" id="rp-' + id + '"><div class="inputbox"><textarea contenteditable="true" class="layui-textarea" placeholder="输入评论内容"></textarea></div><div class="action"><i class="fa-regular fa-face-smile" onclick="smileyShow(' + id + ')"></i><button type="button" class="layui-btn send">发表</button></div></div>');
        }
    } else {
        if (rp) {
            $('#rp-' + id).remove();
        } else {
            $('#hf-' + id).after('<div class="replybox" id="rp-' + id + '"><div class="inputbox"><textarea contenteditable="true" class="layui-textarea" placeholder="输入评论内容"></textarea></div><div class="action"><i class="fa-regular fa-face-smile" onclick="smileyShow(' + id + ')"></i><button type="button" class="layui-btn send">发表</button></div></div>');
        }
    }
}

//表情包
function smileyShow(id) {
    var smiley = $('.smiley').html();
    var smiley_arr=['[微笑]', '[可爱]', '[笑哈哈]','[嘻嘻]', '[哈哈]', '[爱你]', '[挖鼻屎]', '[吃惊]', '[晕]', '[泪]', '[馋嘴]', '[抓狂]', '[哼]', '[可怜]', '[怒]', '[汗]', '[害羞]', '[睡觉]', '[钱]', '[偷笑]', '[酷]', '[衰]', '[闭嘴]', '[鄙视]', '[花心]', '[鼓掌]', '[悲伤]', '[思考]', '[生病]', '[亲亲]', '[怒骂]', '[太开心]', '[懒得理你]', '[右哼哼]', '[左哼哼]', '[嘘]', '[委屈]', '[吐]', '[可怜]', '[打哈气]', '[挤眼]', '[失望]', '[顶]', '[疑问]', '[困]', '[感冒]', '[拜拜]', '[黑线]', '[阴险]', '[打脸]', '[傻眼]', '[猪头]', '[熊猫]', '[兔子]', '[ok]', '[耶]', '[good]', '[不要]', '[赞]', '[来]', '[弱]', '[蜡烛]', '[钟]'];
    if (smiley) {
        $('.smiley').remove();
    } else {
        var html = '<div class="smiley">';
        for(var i = 1; i < 30; i++){
        	html += '<a onclick="smileyPick(' + id + ', \''+smiley_arr[i]+'\')"><img src="/static/img/smiley/' + i + '.gif" alt="" title=' + smiley_arr[i] + '></a>';
        }
        html += '</div>';
        $('#rp-' + id + ' .action').after(html);
    }
}
function smileyPick(id, val) {
    var text = $('#rp-'+ id +' textarea').val();
    $('#rp-'+ id +' textarea').val(text + val);
}

var _VAPTCHA= {};
if (typeof(vaptcha) === 'function' && typeof _VID !== 'undefined') {
    vaptcha({
        vid: _VID,
        mode: 'invisible',
        scene: 0,
        // container: '#VAPTCHAContainer',
        area: 'auto',
    }).then(function (VAPTCHA_Obj) {
        // 将VAPTCHA验证实例保存到局部变量中
        _VAPTCHA = VAPTCHA_Obj;
        console.log("init");
        // 渲染验证组件
        // VAPTCHA_Obj.render();
        // 验证成功进行后续操作
        _VAPTCHA.listen('pass', function () {
            let serverToken = VAPTCHA_Obj.getServerToken();
            var data = {
                server: serverToken.server,
                token: serverToken.token,
            }
            console.log(data);
            _VAPTCHA.callSend(serverToken.token);
            // 点击登录向服务器端接口提交数据，以下为伪代码，仅作参考
        });
        _VAPTCHA.listen('close', function () {
            // 验证弹窗关闭触发
            layer.closeAll('loading');
        })
    });
}

//获取验证码
function sendCode(obj){
    var mobile = $("#phone").val();
    var codeType = $(".sendcode").data("type");
    if (mobile == '') {
        layer.msg('手机号不能为空', {icon: 5});
        return false;
    }
    if (!(/^1[3456789]\d{9}$/.test(mobile))) {
        layer.msg('手机号格式不正确', {icon: 5});
        return false;
    }
    layer.load(2);
    _VAPTCHA.callSend=function (token){
        $.ajax({
            url: `/mobile/sendCode/${codeType}`,
            type: 'post',
            dataType: 'json',
            contentType: "application/x-www-form-urlencoded; charset=utf-8",
            jsonp: "callback",
            data: {
                mobile: mobile,
                token: token,
            },
            success: function (rs) {
                console.log(rs);
                setTime(obj);
                layer.msg('发送成功');
            },
            error: function () {
                layer.msg('ERROR:获取验证码失败', {icon: 5});
            },
            complete: function () {
                layer.closeAll('loading');
            }
        });
    }
    _VAPTCHA.validate();
}
//60S倒计时
function setTime(obj) {
    if (obj == 0) {
    	$(".sendcode").attr('onclick', 'sendCode(60)');
        $("#sendCode").text("重新发送");
        $("#sendCode").removeClass("disabled");
        obj = 60;
        _VAPTCHA.reset();
        return;
    } else {
    	$(".sendcode").removeAttr('onclick', 'sendCode()');
        $("#sendCode").text("重新发送(" + obj + ")");
        $("#sendCode").addClass("disabled");
        obj--;
    }
    setTimeout(function() {
        setTime(obj);
    } ,1000);
}

//添加标签内容
$('#tagContent').bind('keydown',function(event){
    if(event.keyCode == "13") {
        //计算标签数量
        var tagLength = $("#postTags span").length;
        //添加标签内容
        var tagContent = $("#tagContent").val();
        $("#postTags").prepend('<span class="layui-badge layui-bg-cyan" id="tag-' + tagLength + '">' + tagContent + '<i class="fa-solid fa-xmark" onclick="delTagContent(' + tagLength + ')"></i></span>');
        //计算输入宽度
        var postTagsWidth = $("#postTags").width();
        $("#tagContent").css("text-indent" , postTagsWidth);
        //清空标签内容
        $("#tagContent").val('');
    }
});
function delTagContent(tagLength) {
    $("#tag-" + tagLength).remove();
    //计算输入宽度
    var postTagsWidth = $("#postTags").width();
    $("#tagContent").css("text-indent" , postTagsWidth);
}

//新增下载链接
function addDownloadItem(initdata) {
    var item = $(".download-item").length;
    var downloadName_arr=[
        "百度网盘",
        "腾讯微云",
        "阿里云盘",
        "360云盘",
        "本地下载",
    ];
    if (typeof initdata === 'undefined') {
        initdata = {
            name: '',
            url: '',
            pwd: '',
        }
    }

    var html = '<div class="layui-form-item download-item" id="downloadItem-' + item + '">';
    html += '<label class="layui-form-label"></label>';
    html += '<div class="layui-col-md1"  style="max-width:160px;">';
        html += `<input type="text" name="download[${item}][name]" autocomplete="off" placeholder="下载名称" class="layui-input"  value="${initdata.name}" id="downloadName-${item}" onclick="getDownloadName(${item})">`;
        html += '<div class="layui-dropdown layui-border-box layui-panel layui-anim layui-anim-downbit" id="downloadDropdown-' + item + '">';
        html += '<ul class="layui-menu layui-dropdown-menu">';
        for (var i = 0; i < downloadName_arr.length; i++) {
            html += `<li><div class="layui-menu-body-title" onclick="addDownloadName(${item}, '${downloadName_arr[i]}')">${downloadName_arr[i]}</div></li>`;
        }
        html += '</ul>';
        html += '</div>';
        html += '</div>';
        html += `<div class="layui-col-md5"><input type="text" name="download[${item}][url]" autocomplete="off" placeholder="下载链接" value="${initdata.url}" class="layui-input"></div>`;
        html += `<div class="layui-col-md1"><input type="text" name="download[${item}][pwd]" autocomplete="off" placeholder="下载密码" value="${initdata.pwd}"  class="layui-input"></div>`;
        html += '<div class="layui-col-md1"  style="width:50px;"><button type="button" class="layui-btn layui-btn-danger" onclick="delDownloadItem(' + item + ')"><i class="fa-solid fa-trash"></i></button></div>';
    html += '</div>';
    $(".download-item").last().after(html);
}
function delDownloadItem(item) {
    $("#downloadItem-" + item).remove();
}
function getDownloadName(item) {

    var display = $("#downloadDropdown-" + item).css('display');
    if (display == 'none') {
        $("#downloadDropdown-" + item).show();
    } else {
        $("#downloadDropdown-" + item).hide();
    }
}
function addDownloadName(item, name) {
    $("#downloadName-" + item).val(name);
    $("#downloadDropdown-" + item).hide();
}

//删除上传图片
function delImageItem(item) {
    $("#imageItem-" + item).remove();
    /* 删除数据库内容
    $.ajax({
		url: "#",
		type: 'post',
		dataType: 'json',
		contentType: "application/x-www-form-urlencoded; charset=utf-8",
		jsonp: "callback",
		data: {
			item: item
		},
        success: function () {
            layer.msg('成功', {icon: 1});
        },
        error: function () {
            layer.msg('失败', {icon: 5});
        }
	});*/
}

//图片弹出层
function openImage (url) {
    //去掉?后面的参数
    url = url.split("?")[0];
    // layer.open({
    //     type: 1,
    //     shade: 0.8,
    //     offset: 'auto',
    //     shadeClose:true,
    //     scrollbar: false,
    //     title: false, //显示标题
    //     content: '<img src=' + url + '>'
    // });
}


function initUserState() {
    $.ajax({
        url: "/user/",
        type: 'get',
        dataType: 'json',
        success: function (data) {

        }
    })
}


function  redirectLoginUrl(url) {
    let _cacheKey = "redirectUrl";
    if (typeof(url)==="string" && url) {
        localStorage.setItem(_cacheKey, url);
    }
    var redurl = localStorage.getItem(_cacheKey);
    window.location = redurl?redurl:"/user/";
}

if ($('#index-slider').length){
    layui.use([ 'carousel'], function() {
        layui.carousel.render({
            elem: '#index-slider',
            width: '100%',
            height: '190px',
            interval: 5000
        });
    })
}

if($('.page-main').length > 0){
    layui.use([ 'laypage'], function() {
    let total = $('.page-main').data('total');
    let limit = $('.page-main').data('limit')||10;
    let page =  $('.page-main').data('page')||1;
    let module = $('.page-main').data('module')||"page";
    layui.laypage.render({
        elem: 'page_box'
        , count:  total
        , limit: limit
        , curr:  page
        , jump: function (obj, first) {
            if (!first) {
                layer.load(1)
                let _url = location.href;
                if (module=='list'){
                    if(_url.indexOf('list-') > -1){
                        _url = _url.replace(/list-\d+/,'list-'+obj.curr);
                    }else{
                        _url = _url.replace(/\/$/,'');
                        _url = _url + `/list-${obj.curr}.html`;
                    }
                }else{
                    if(_url.indexOf('page=') > -1){
                        _url = _url.replace(/page=\d+/,'page='+obj.curr);
                    }else{
                        if (location.search){
                            _url = _url + `&page=${obj.curr}`;
                        }else{
                            _url = _url + `?page=${obj.curr}`;
                        }
                    }
                }
                location.href=_url;
            }
        }
    });
    })
}


window.huomang={
    post:function (option) {
        if(option.load){
            option.load = layer.load(1)
        }
        $.ajax({
            type: option.type || "post",
            url: option.url || "",
            data: option.data || {},
            dataType: option.dataType || 'JSON',
            success: function(res){
                if(!res.code){
                    option.success && option.success(res);
                }else{
                    if(option.error){
                        option.error && option.error(res);
                    }else{
                        layer.msg(res.msg);
                    }
                }
            },
            error: function(res,err) {
                layer.msg("接口异常");
            },
            complete:function (){
                layer.closeAll('loading')
            }
        });
    },
    follow:function (id){
        this.post({
            url:"/user/follow",
            data:{id:id},
        })
    },
    copyTextToClipboard:function (text) {
        let textArea = document.createElement("textarea");
        // 隐藏文本域
        textArea.style.position = 'fixed';
        textArea.style.top = '0';
        textArea.style.left = '0';
        textArea.style.width = '2em';
        textArea.style.height = '2em';
        textArea.style.padding = '0';
        textArea.style.border = 'none';
        textArea.style.outline = 'none';
        textArea.style.boxShadow = 'none';
        textArea.style.background = 'transparent';
        textArea.value = text;
        document.body.appendChild(textArea);
        textArea.select();
        try {
            let successful = document.execCommand('copy');
            let msg = successful ? 'successful' : 'unsuccessful';
            console.log('Copy text command was ' + msg);
            layer.msg('复制成功');
        } catch (err) {
            console.error('Oops, unable to copy', err);
        }
        document.body.removeChild(textArea);
    }

}