//生成二维码
var host = location.origin;
var app_qrcode = new QRCode("fhyxHeaderDownApp", {
    text: host + "/zt/app/m/?appdown=Homepopup",
    width: 80,
    height: 80
});

//根据屏幕分辨率改变文本内容
var mediaQuery = window.matchMedia("(max-width: 1610px)");
checkResolution(mediaQuery);

mediaQuery.addListener(function (mq) {
    checkResolution(mq);
});

function checkResolution(mq) {
    if (mq.matches) {
        $(".fhyxHeaderLeftDownCon span").html("客户端");
    } else {
        $(".fhyxHeaderLeftDownCon span").html("下载客户端");
    }
}

//用户信息
$.getJSON("/header/onload_new.html", function (reback) {
    if (reback.status == 1) {
        $(".fhyxHeaderRightLogin").html('<div class="fhyxHeaderRightLoginCon">\n' +
            '                <a class="userImgCon fhyx_shushuTj" href="/ucenter/" td-name="顶部个人中心">\n' +
            '                    <img class="userimg" src="' + (reback.userinfo.img ? reback.userinfo.img : '//static.fhyx.com/images/application/pc/hk/user_img.png') + '">\n' +
            '                    ' + (reback.userinfo.imgFrame != '' ? '<em class="userFrame" style="background: url(' + reback.userinfo.imgFrame + ');background-size: 100% 100%;"></em>' : "") + '\n' +
            '                </a>\n' +
            '                <div class="fhyxHeaderRightLoginConAlert">\n' +
            '                    <a class="username">' + reback.userinfo.uname + '</a>\n' +
            '                    <div class="smrz">\n' +
            '                        <div class="smrzIcon"></div>\n' +
            '                        <a class="smrzBtn fhyx_shushuTj" href="https://www.fhyx.com/ucenter/verified.html" target="_blank" td-name="顶部实名认证"></a>\n' +
            '                    </div>\n' +
            '                    <div class="balanceCon">\n' +
            '                        <a class="balanceConLi creditsCon fhyx_shushuTj" href="' + (ishk == 1 ? '' : 'https://www.fhyx.com') + '/credit/detailed.html" target="_blank" td-name="顶部P币明细">\n' +
            '                            <span class="balance">0</span>\n' +
            '                            <span class="title">P币</span>\n' +
            '                        </a>\n' +
            '                        <a class="balanceConLi allowanceCon fhyx_shushuTj" href="/ucenter/allowance.html" target="_blank" td-name="顶部津贴明细">\n' +
            '                            <span class="balance">0</span>\n' +
            '                            <span class="title">津贴</span>\n' +
            '                        </a>\n' +
            '                        <a class="balanceConLi couponCon fhyx_shushuTj" href="/ucenter/coupon.html" target="_blank" td-name="顶部优惠券">\n' +
            '                            <span class="balance">0</span>\n' +
            '                            <span class="title">优惠券</span>\n' +
            '                        </a>\n' +
            '                    </div>\n' +
            '                    <div class="bindsteam">\n' +
            '                        <em class="icon"></em>\n' +
            '                        <span class="title">未绑定</span>\n' +
            '                        <a class="bindsteamBtn fhyx_shushuTj" td-name="顶部绑定Steam"></a>\n' +
            '                    </div>\n' +
            '                    <a class="userInfoLi userinfo fhyx_shushuTj" href="/ucenter/" target="_blank" td-name="顶部个人中心">\n' +
            '                        <em class="icon"></em>\n' +
            '                        <span class="title">个人中心</span>\n' +
            '                        <em class="rightIcon"></em>\n' +
            '                    </a>\n' +
            '                    <a class="userInfoLi userachievement fhyx_shushuTj" href="https://www.fhyx.com/credit/achievement.html" target="_blank" td-name="顶部我的成就">\n' +
            '                        <em class="icon"></em>\n' +
            '                        <span class="title">我的成就</span>\n' +
            '                        <em class="rightIcon"></em>\n' +
            '                    </a>\n' +
            '                    <a class="userInfoLi userproclaim fhyx_shushuTj" href="https://www.fhyx.com/credit/medal.html" target="_blank" td-name="顶部我的勋章墙">\n' +
            '                        <em class="icon"></em>\n' +
            '                        <span class="title">我的勋章墙</span>\n' +
            '                        <em class="rightIcon"></em>\n' +
            '                    </a>\n' +
            '                    <div class="fg"></div>\n' +
            '                    <a class="userInfoLi userlogout fhyx_shushuTj" href="/account/logout.html" td-name="顶部退出登录">\n' +
            '                        <em class="icon"></em>\n' +
            '                        <span class="title">退出登录</span>\n' +
            '                    </a>\n' +
            '                </div>\n' +
            '            </div>');

        $(".fhyxHeaderRightCredits").show();
        fhyx_ta.login(reback.userinfo.uid);
    } else {
        $(".fhyxHeaderRightLogin").html('<a href="javascript:void(0);" id="login_btn" class="fhyx_shushuTj">登录</a>');
    }
});

var userTopData = [];
$(".fhyxHeaderRightLogin").hover(
    function () {
        if ($(".fhyxHeaderRightLoginCon").length > 0) {
            if (userTopData == '') {
                var Authtoken = encodeURIComponent(getCookie('_token'));
                $.ajax({
                    type: "POST",
                    async: false,
                    url: "https://webapi.fhyx.com/sync/getUserdata",
                    headers: {
                        "Authtoken": Authtoken,
                    },
                    dataType: "json",
                    success: function (json) {
                        if (json.status == 1) {
                            userTopData = json.data;
                        }
                    }
                });
            }
            if (userTopData.isvalid == 1) {
                $(".fhyxHeaderRightLogin .smrzIcon").addClass("checked");
                $(".fhyxHeaderRightLogin .smrzBtn").remove();
            }
            $(".fhyxHeaderRightLogin .creditsCon .balance").html(userTopData.credit);
            $(".fhyxHeaderRightLogin .allowanceCon .balance").html(userTopData.allowance / 100);
            $(".fhyxHeaderRightLogin .couponCon .balance").html(userTopData.coupon);
            if (userTopData.steamuser != '') {
                $(".fhyxHeaderRightLogin .bindsteam .title").addClass("checked");
                $(".fhyxHeaderRightLogin .bindsteam .title").html(userTopData.steamuser);
                $(".fhyxHeaderRightLogin .bindsteam .bindsteamBtn").addClass("checked");
                $(".fhyxHeaderRightLogin .bindsteam .bindsteamBtn").removeAttr("href");
                $(".fhyxHeaderRightLogin .bindsteam .bindsteamBtn").removeAttr("target");
                setCookie("isbindsteam", 1, 7, '.fhyx.hk');
            } else {
                $(".fhyxHeaderRightLogin .bindsteam .title").removeClass("checked");
                $(".fhyxHeaderRightLogin .bindsteam .bindsteamBtn").attr({"href": "/ucenter/bind.html", "target": "_blank"});
                setCookie("isbindsteam", 0, 7, '.fhyx.hk');
            }
        }
    },
    function () {
    }
);

//登录
$("body").on("click", "#login_btn", function () {
    var sc_login_ret = if_login_container(1, 1);
    if (sc_login_ret == 1) {
        return;
    }
});

//登录
$("body").on("click", ".isLoginFhyx", function () {
    var sc_login_ret = if_login_container(1, 1);
    if (sc_login_ret == 1) {
        return;
    }

    if ($(this).attr('data-newopen') == 1) {
        window.open($(this).attr("data-url"));
    } else {
        location.href = $(this).attr("data-url");
    }
});

var indexPathname = location.pathname;
if (indexPathname == '/' || indexPathname == '/index.html') {
    $(".fhyxindex").addClass("checked");
}
//语言
$(function () {
    if (ishk == 0) {
        var ft = getCookie("ft");
        if (!ft) {
            ft = 0;
        }
    } else {
        ft = 1;
    }

    StranBody(document.body, ft);
    $(".fhyxHeaderRightLanguageConLi").removeClass("checked");
    if (ft == 0) {
        $(".fhyxHeaderRightLanguageTxt").text("简中");
        $(".fhyxHeaderRightLanguageConLi").eq(0).addClass("checked");
        setCookie("ft", 0, 7, '.fhyx.hk');
    } else {
        $(".fhyxHeaderRightLanguageTxt").text("繁中");
        $(".fhyxHeaderRightLanguageConLi").eq(1).addClass("checked");
        setCookie("ft", 1, 7, '.fhyx.hk');
    }
});

//语言切换
$(".fhyxHeaderRightLanguageConLi").on("click", function () {
    $(".fhyxHeaderRightLanguageConLi").removeClass("checked");
    $(this).addClass("checked");
    if ($(this).attr("data-id") == 1) {
        StranBody(document.body, 1);
        setCookie("ft", 1, 7, '.fhyx.hk');
        $(".fhyxHeaderRightLanguageTxt").text("繁中");
        event.stopPropagation();
    } else {
        StranBody(document.body, 0);
        setCookie("ft", 0, 7, '.fhyx.hk');
        $(".fhyxHeaderRightLanguageTxt").text("简中");
        event.stopPropagation();
    }
});

var isbindsteam = getCookie('isbindsteam');
if (ishk == 1 && isbindsteam == 0) {
    $(".fhyxHeaderRightBindsteam").show();
}

$("body").on("click", ".fhyxHeaderRightBindsteam", function () {
    var sc_login_ret = if_login_container(1,1);
    if (sc_login_ret == 1) {
        return;
    }

    var url = location.href;
    get_global_loginsteam(url);
});

var commodityHkpriceData = '';
if(ishk == 1) {
    $.ajax({
        type: "GET",
        url: "https://img.fhyx.com/uploads/api/commodityHkpriceData.json",
        dataType: "json",
        async: false,
        success: function (json) {
            commodityHkpriceData = json;
        }
    });
}

//搜索
(function () {
    var searchInput = document.getElementById('searchInput');
    var searchDropdown = document.getElementById('searchDropdown');
    var searchTimeout;
    var searchCache = {}; // 搜索结果缓存
    var searchIndex = {}; // 搜索索引

    // 兼容性处理
    var isIE8 = !document.addEventListener;

    // 数据源
    var products = search_data;

    // 初始化搜索索引
    function initSearchIndex() {
        for (var i = 0; i < products.length; i++) {
            var item = products[i];
            // 分词处理
            var text = (item.name).toLowerCase();
            var words = text.replace(/[^\w\s\u4e00-\u9fa5]/g, '').split(/\s+/);

            // 中文分词
            var cnWords = [];
            for (var j = 0; j < text.length; j++) {
                var char = text.charAt(j);
                if (/[\u4e00-\u9fa5]/.test(char)) {
                    cnWords.push(char);
                }
            }

            // 合并分词结果
            words = words.concat(cnWords);

            // 建立索引
            for (var k = 0; k < words.length; k++) {
                var word = words[k];
                if (!searchIndex[word]) {
                    searchIndex[word] = {};
                }
                searchIndex[word][item.id] = true;
            }
        }
    }

    // 初始化索引
    initSearchIndex();

    // 绑定输入事件
    function bindEvents() {
        if (isIE8) {
            searchInput.attachEvent('onpropertychange', handleInput);
            document.attachEvent('onclick', handleDocumentClick);
            searchDropdown.attachEvent('onclick', handleItemClick);
        } else {
            searchInput.addEventListener('input', handleInput);
            document.addEventListener('click', handleDocumentClick);
            searchDropdown.addEventListener('click', handleItemClick);
        }
    }

    function handleInput() {
        var keyword = searchInput.value.replace(/^\s+|\s+$/g, ''); // trim polyfill

        if (searchTimeout) {
            clearTimeout(searchTimeout);
        }

        if (keyword) {
            // 检查缓存
            if (searchCache[keyword]) {
                showResults(searchCache[keyword]);
                return;
            }

            searchTimeout = setTimeout(function () {
                var results = searchProducts(keyword);
                // 缓存结果
                searchCache[keyword] = results;
                showResults(results);
            }, 300);
        } else {
            hideDropdown();
        }
    }

    function handleDocumentClick(e) {
        e = e || window.event;
        var target = e.target || e.srcElement;

        if (!contains(searchInput, target) && !contains(searchDropdown, target)) {
            hideDropdown();
        }
    }

    // DOM contains polyfill
    function contains(parent, child) {
        if (parent.contains) {
            return parent.contains(child);
        }

        while (child && child !== parent) {
            child = child.parentNode;
        }
        return child === parent;
    }

    // 优化的搜索函数
    function searchProducts(keyword) {

        return containsSearch(keyword);

        keyword = keyword.toLowerCase();

        // 分词
        var text = keyword.replace(/[^\w\s\u4e00-\u9fa5]/g, '');
        var words = text.split(/\s+/);
        var cnWords = [];

        // 中文分词
        for (var i = 0; i < text.length; i++) {
            var char = text.charAt(i);
            if (/[\u4e00-\u9fa5]/.test(char)) {
                cnWords.push(char);
            }
        }

        words = words.concat(cnWords);

        // 短关键词使用包含搜索
        if (words.length === 1 && words[0].length < 2) {
            return containsSearch(keyword);
        }

        // 使用索引搜索
        var matchedIds = {};
        var isFirst = true;

        for (var j = 0; j < words.length; j++) {
            var word = words[j];
            var ids = {};

            // 查找索引
            for (var key in searchIndex) {
                if (key.indexOf(word) !== -1) {
                    for (var id in searchIndex[key]) {
                        ids[id] = true;
                    }
                }
            }

            // 取交集
            if (isFirst) {
                matchedIds = ids;
                isFirst = false;
            } else {
                var newIds = {};
                for (var id in matchedIds) {
                    if (ids[id]) {
                        newIds[id] = true;
                    }
                }
                matchedIds = newIds;
            }
        }

        // 转换回商品数据
        var results = [];
        for (var id in matchedIds) {
            for (var k = 0; k < products.length; k++) {
                if (products[k].id.toString() === id) {
                    results.push(products[k]);
                    break;
                }
            }
        }

        return results.slice(0, 10);
    }

    // 包含搜索
    function containsSearch(keyword) {
        var priceMap = {};

        var results = [];
        for (var i = 0; i < products.length; i++) {
            var item = products[i];
            var title = item.name.toLowerCase();
            keyword=keyword.toLowerCase();
            if (title.indexOf(keyword) !== -1) {
                const { products_id, price } = item;
                if (!priceMap[products_id] || priceMap[products_id].price != price) {
                    priceMap[products_id] = {
                        price: price,
                    };
                    results.push(item);
                }
            }
        }
        return results.slice(0, 10);
    }

    // 显示搜索结果
    function showResults(results) {
        if (!results || !results.length) {
            searchDropdown.innerHTML = '<div class="search-item">没有找到相关商品</div>';
            return;
        }

        // 分离商品和系列，优化去重逻辑
        var productResults = [];
        var seriesResults = [];
        var seriesMap = {}; // 用于去重系列

        for (var i = 0; i < results.length; i++) {
            var item = results[i];
            // 商品部分
            productResults.push(item);

            // 系列部分（去重并保存第一个匹配的商品信息）
            var seriesKey = item.series.toLowerCase(); // 转小写以确保大小写不敏感
            if (seriesKey.length > 0) {
                if (!seriesMap[seriesKey]) {
                    seriesMap[seriesKey] = {
                        series: item.series,
                        id: item.id,
                        productCount: item.seriesnum,    // 记录该系列下的产品数量
                        firstProduct: item  // 保存该系列的第一个商品信息
                    };
                }
            }

        }

        // 转换系列Map为数组
        for (var key in seriesMap) {
            seriesResults.push(seriesMap[key]);
        }

        var html = '';

        // 商品部分
        if (productResults.length) {
            html += '<div class="search-section">';
            for (var j = 0; j < productResults.length; j++) {
                if (j < 5) {
                    var product = productResults[j];
                    //var title = highlightText(product.name, searchInput.value);
                    var status = '';
                    if (product.label == '最新') status = '<span class="new">最新</span>';
                    if (product.label == '预售') status = '<span class="ys">预售</span>';
                    if (product.label == '史低') status = '<span class="lowest">史低</span>';
                    if (product.label == '新史低') status = '<span class="newlowest">新史低</span>';
                    if (product.label == '超史低') status = '<span class="overlowest">超史低</span>';

                    var price = product.price.split(".");

                    html += [
                        '<div class="search-item fhyx_searchitemTj" td-name="搜索产品" data-id="' + product.products_id + '" data-type="product">',
                        '<div class="search-item-img">',
                        status,
                        '<img src="https://img.fhyx.com' + product.w_img + '" alt="' + product.name + '">',
                        '</div>',
                        '<div class="search-item-info">',
                        '<div class="search-item-title">' + product.name + '</div>',
                        '<div class="search-item-price">',
                        '<span class="current-price">' + (ishk == 1 && commodityHkpriceData[product.id] != undefined ? (commodityHkpriceData[product.id].hkPrice == 0 ? '未公布' : 'HK$<em>' + commodityHkpriceData[product.id].hkPrice + '</em>') : (product.price == 0 ? '未公布' : '¥<em>' + price[0] + '</em>.' + price[1])) + (product.commoditynum > 1 ? ' 起' : '') +'</span>',
                        '<span class="original-price">' + (ishk == 1 && commodityHkpriceData[product.id] != undefined ? (commodityHkpriceData[product.id].hkprice != commodityHkpriceData[product.id].hkoldprice && commodityHkpriceData[product.id].hkoldprice > 0 ? 'HK$' + commodityHkpriceData[product.id].hkoldprice : '') : ((product.price != product.old_price && product.old_price > 0) ? '¥' + product.old_price : '')) + '</span>',
                        '</div>',
                        '<span class="search-item-plat hk_' + product.plat + '_l"></span>',
                        '</div>',
                        '</div>'
                    ].join('');
                }
            }
            html += '</div>';
            if (productResults.length > 5) {
                html += '<a class="search-more fhyx_searchitemTj" href="/list/search?keyword=' + searchInput.value + '">查看全部搜索结果></a>';
            }
        }

        // 系列部分
        if (seriesResults.length) {
            html += '<div class="search-section">';
            for (var k = 0; k < seriesResults.length; k++) {
                if (k < 3) {
                    var series = seriesResults[k];
                    //var seriesName = highlightText(series.series, searchInput.value);

                    html += [
                        '<div class="search-item series fhyx_searchitemTj" td-name="搜索系列" data-id="' + series.id + '" data-type="series" data-series="' + series.series + '">',
                        '<div class="search-item-series-info">',
                        '<div class="search-item-series">「' + series.series + '系列」</div>',
                        '<div class="search-item-count">' + series.productCount + '款游戏</div>',
                        '</div>',
                        '</div>'
                    ].join('');
                }
            }
            html += '</div>';
        }

        searchDropdown.innerHTML = html;

        fhyx_ta.trackLink({class: ["fhyx_searchitemTj"]}, "click");//商品跳转
        showDropdown();
    }

    // 高亮匹配文字
    function highlightText(text, keyword) {
        if (!keyword) return text;
        keyword = keyword.replace(/([.*+?^=!:${}()|[\]/\\])/g, '\\$1'); // 转义正则特殊字符
        var pattern = new RegExp('(' + keyword + ')', 'gi');
        return text.replace(pattern, '<span class="highlight">$1</span>');
    }

    function showDropdown() {
        addClass(searchDropdown, 'active');
    }

    function hideDropdown() {
        removeClass(searchDropdown, 'active');
    }

    // IE8 class操作兼容
    function addClass(el, className) {
        if (el.classList) {
            el.classList.add(className);
        } else {
            var classes = el.className.split(' ');
            if (classes.indexOf(className) === -1) {
                classes.push(className);
                el.className = classes.join(' ');
            }
        }
    }

    function removeClass(el, className) {
        if (el.classList) {
            el.classList.remove(className);
        } else {
            var classes = el.className.split(' ');
            var index = classes.indexOf(className);
            if (index !== -1) {
                classes.splice(index, 1);
                el.className = classes.join(' ');
            }
        }
    }

    // 添加商品项点击处理函数
    function handleItemClick(e) {
        e = e || window.event;
        var target = e.target || e.srcElement;

        // 查找最近的商品项元素
        var item = target;
        while (item && !item.getAttribute('data-id') && item !== searchDropdown) {
            item = item.parentNode;
        }

        if (item && item.getAttribute('data-id')) {
            var id = item.getAttribute('data-id');
            var type = item.getAttribute('data-type'); // 获取类型
            //console.log('选中项:', type, id);

            // 根据类型处理不同的跳转逻辑
            if (type === 'product') {
                // 处理商品点击
                //console.log('跳转到产品详情页');
                window.open("/item/" + item.getAttribute('data-id') + ".html");
            } else if (type === 'series') {
                // 处理系列点击
                //console.log('跳转到系列页面');
                window.open("/list/series?keyword=" + item.getAttribute('data-series') + "&type=series");
            }

            hideDropdown();
            searchInput.value = '';
        }
    }

    // 初始化
    bindEvents();
})();

$("#searchInput").bind('keydown', function (e) {
    var key = e.which;
    if (key == 13) {
        e.preventDefault();
        var value = $(this).val();
        if (value == "") {
            value = $(this).attr("data-value");
        }
        window.location.href = "/list/search?keyword=" + encodeURIComponent(value);
    }
});

$("#search_sub").on('click', function (e) {
    var value = $("#searchInput").val();
    if (value == "") {
        value = $("#searchInput").attr("data-value");
    }
    window.location.href = "/list/search?keyword=" + encodeURIComponent(value);
});

fhyx_ta.quick('autoTrack', {name: 'fhyx_show_view',})