/**
 * Created by Eric on 2017/7/31.
 */
$(function () {
    initParam()
    initPagination();
    $("#clearText").click(function () {
        $(".searchFieldVal").val("")
    })
    $("#search_all").click(function () {
        $("#addTab").trigger("click");
        initPagination();
    });
    $("#search_field").click(function () {
        $("#addTab").trigger("click");
        initPagination();
    });
})

/**
 * 初始化查询参数
 */
function initParam() {
    var key = $("#param_obj").attr("searchkey");
    var value = $("#param_obj").attr("searchvalue");
    if (isNotEmptyStr(key) && isNotEmptyStr(value)) {
        searchIndex(key, value)
    }
}


/**
 * 列表提交时的数据，
 */
//渲染的htmlid
//var initHtmlDivId = "data_list_current"
//渲染的分页id
//var initPageDivId = "paginator_current"

var initHtmlDivId = "data_list_onlineFirst"

var initPageDivId = "paginator_onlineFirst"

function getSendData() {
    var fieldList = [];
    //匹配空格
    var reg = new RegExp(" +", "g");


    //大搜索框
    var bigField = $(".search-wrapper .searchtijian option:selected").val();
    var bigValue = $(".search-wrapper .searchInput input").val();

    if (isNotEmptyStr(bigValue)) {
        fieldList.push({
            "field": bigField,
            "value": SEARCH_LINK_SPLIT + $.trim(bigValue).replace(reg, SEARCH_LINK_SPLIT) + SEARCH_LINK_SPLIT,
            "relation": "or",
            "type": "qlk"
        })
    }
    $("#search_div .adv-form-group").each(function (index, valueBase) {
        var relation = $(valueBase).find(".searchRelation option:selected").val();
        var field = $(valueBase).find(".searchField option:selected").val();
        var value = $(valueBase).find(".searchFieldVal").val();
        var type = $(valueBase).find(".searchType option:selected").val();
        if (isNotEmptyStr(value)) {
            if (isEmptyStr(relation)) {
                relation = "AND";
            }
            var dataBean = {
                "field": field,
                "relation": relation,
                "type": type
            }
            if (type == "LIKE" || type == "like" || type == "Like" || type == "qlk") {
                dataBean["value"] = SEARCH_LINK_SPLIT + $.trim(value).replace(reg, SEARCH_LINK_SPLIT) + SEARCH_LINK_SPLIT;
            } else {
                dataBean["value"] = value;
            }

            fieldList.push(dataBean)
        }
    })
    var data = {
        "fieldList": fieldList
    }
    if (initHtmlDivId == "data_list_down") {
        data["orderStr"] = ["downloadCount desc"]

    }
    if (initHtmlDivId == "data_list_current") {
        data["orderStr"] = ["rownum desc"]
        data["currentState"] = true
    }
    if (initHtmlDivId == "data_list_catalogue") {
        data["orderStr"] = ["rownum desc"]
    }
    if (initHtmlDivId == "data_list_onlineFirst") {
        data["orderStr"] = ["rownum desc"]
        data["priority"] = true
    }

    return data;

}

function switchInitDiv(this_) {
    var aHref = $(this_).attr("href")
    if (aHref == "#current") {

        initHtmlDivId = "data_list_current"

        initPageDivId = "paginator_current"
    }

    if (aHref == "#downList") {
        initHtmlDivId = "data_list_down"

        initPageDivId = "paginator_down"
    }
    if (aHref == "#catalogue") {

        initHtmlDivId = "data_list_catalogue"

        initPageDivId = "paginator_catalogue"
    }
    if (aHref == "#allList") {
        initHtmlDivId = "data_list_all"

        initPageDivId = "paginator_all"
    }
    if (aHref == "#onlineFirst") {
        initHtmlDivId = "data_list_onlineFirst"

        initPageDivId = "paginator_onlineFirst"

        //layer.msg("暂无数据，请点击其他目录！")
    }
    initPagination();



    $(this_).parent().siblings().removeClass("active");
    $(this_).parent().addClass("active");

    $('#'+initHtmlDivId).parent().parent().children().removeClass("active");
    $('#'+initHtmlDivId).parent().parent().children().removeClass("in");
    $('#'+initHtmlDivId).parent().parent().children().removeClass("show");
    $('#'+initHtmlDivId).parent().addClass("active in");
}

function initPagination() {
    var sendData = getSendData();
    sendData["limit"] = 1
    // getManuscriptList(DEFAULT_PAGENUM,DEFAULT_PAGESIZE);

    $.ajax({
        url: contextPath + "/geologicalData/geologicalDataListBase",
        type: "post",
        data: JSON.stringify(sendData),
        async: false,
        dataType: "json",
        contentType: 'application/json;charset=UTF-8',
        success: function (responseData) {

            if (responseData.code == 200) {
                var totalCount = responseData.data.total;
                if (totalCount > 0) {

                    var language = getLang()
                    $("#" + initPageDivId).jqPaginator({
                        totalCounts: totalCount,
                        pageSize: DEFAULT_PAGESIZE,
                        visiblePages: 5,
                        currentPage: 1,
                        prev: ' <li><a href="javascript:void(0)" class="shang">' + (language == LANGUAGE_ENGLISH ? 'Previous' : '上一页') + '</a></li>',
                        next: '<li><a href="javascript:void(0)" class="xia">' + (language == LANGUAGE_ENGLISH ? 'Next' : '下一页') + '</a></li>',
                        first: '<li><a href="javascript:void(0)" class="shang">' + (language == LANGUAGE_ENGLISH ? 'First' : '首页') + '</a></li>',
                        last: '<li><a href="javascript:void(0)" class="shang">' + (language == LANGUAGE_ENGLISH ? 'Final' : '尾页') + '</a></li>',
                        // page:$(".fenyeqian").append('<li class="page"><a href="javascript:void(0);">{{page}}</a></li>'),
                        page: '<li><a href="javascript:void(0)">{{page}}</a></li>',
                        onPageChange: function (num) {
                            getManuscriptList(num, DEFAULT_PAGESIZE);
                        }
                    })
                } else {
                    $("#" + initHtmlDivId).html("")
                    $("#" + initPageDivId).children().remove()
                    showErrorTip("对不起，没有查找到数据！");
                    return;
                }
            }

        },
        error: function () {
            console.log("paginator初始化失败!");
        }
    });
}


function getManuscriptList(pageNum, pageSize) {
    var sendData = getSendData();
    sendData["page"] = pageNum
    sendData["limit"] = pageSize
    $(".shuju").html("");
    var language = getLang()
    var offset = (pageNum - 1) * pageSize;
    $.ajax({
        url: contextPath + "/geologicalData/geologicalDataListBase",
        type: "post",
        dataType: "json",
        contentType: "application/json",
        data: JSON.stringify(sendData),
        success: function (responseData) {

            if (responseData.code == 200) {
                var data = responseData.data.list;
                // var data = JSON.parse(responseData.data);

                var str = "";
                $.each(data, function (index, value) {
                    var localData = new Date(value.commitTime);
                    var issuDate = "";
                    if (isNotEmpty(value.journal)) {
                        issuDate = new Date(value.journal.issueDate).toLocaleDateString();
                    }

                    var dataThumbnail = value.dataThumbnail
                    // if(manuscriptThumbnail == undefined){
                    //     manuscriptThumbnail == "default.png"
                    // }


                    var manuscriptAuthor = removeSuperscript(value.dataAuthor);
                    var authorHtml = "";
                    //拼接作者
                    let authorList=getListByStr(manuscriptAuthor, [",", "，", ";", "；"]);
                    authorList.forEach(function (value, index) {
                        let splitStr=",";
                        if(index==(authorList.length-1)){
                            splitStr="";
                        }
                        authorHtml += "<span><a style='cursor: pointer' onclick='searchIndex(\"dataAuthor\",\"" + value + "\",\"\");'>" + value + "</a>"+splitStr+"</span>";
                    })
                    var keywordHtml = "";
                    //拼接关键字
                    getListByStr(value.dataKeyword, [",", "，", ";", "；"]).forEach(function (value, index) {
                        keywordHtml += "<a onclick=\"searchIndex('dataKeyword',' " + value + "')\" style='cursor: pointer'> " + value + "</a>";
                    })


                    str += "<div class=\"article-list\" id=\"" + value.id + "\">\n" +
                        "                                <div class=\"article-list-left fl\">\n" +
                        "                                    <span><img src=\"" + contextPath + "/geologicalData/dataThumbnail/" + ((dataThumbnail == undefined || dataThumbnail == '') ? 'default.png' : dataThumbnail) + "?time=" + new Date().getTime() + "\" /></span>\n" +
                        "                                </div>\n" +
                        "                                <div class=\"article-list-right fr\">\n" +
                        "                                    <div class=\"article-list-title\">\n" +
                        "                                        <a href=\"" + contextPath + "/geologicalData/details/doi/" + value.dataDoi + "\" target=\"_blank\">" + value.dataTitle + "</a>\n" +
                        "                                    </div>\n" +
                        "                                    <div class=\"article-list-doi\">\n" +
                        "                                        <!-- 注意时间等信息显示方式          2019, 50(5): 429-441.    -->\n" +
                        "                                        <font class=\"latest_update_span\"><i style=\"font-style:normal;\"></i><span\n" +
                        "                                                class=\"latest_update\">" + issuDate + "</span>.</font>\n" +
                        "                                        <font>&nbsp;doi:&nbsp;<a\n" +
                        "                                                href=\"http://dx.doi.org/" + value.dataDoi + "\"\n" +
                        "                                                 target=\"_blank\" class=\"\">" + value.dataDoi + "</a></font>\n" +
                        "                                    </div>\n" +
                        "                                    <div class=\"article-list-author\">\n" +
                        "                                        <span><a href='javascript:void(0);'>" + (language == LANGUAGE_ENGLISH ? 'author' : '作者') + ": </a></span>\n" + authorHtml +
                        "                                    </div>\n" +
                        "                                    <!--个性标签和下载 -->\n" +
                        "                                    <div class=\"article-ctrl\">\n" +
                        "\t                <span class=\"keywords\">\n" + keywordHtml + "</span>\n" +
                        "                                    </div>\n" +
                        "                                    <div class=\"article-list-zy clear\">\n" +
                        "                                        <font class=\"font1\">\n" +
                        "                                            <a href=\"" + contextPath + "/geologicalData/details/doi/" + value.dataDoi + "\"\n" +
                        "                                               target=\"_blank\"><img src=\"" + baseContextPath + "/images/custom/yuanshuju.png\" />" + (language == LANGUAGE_ENGLISH ? 'abstract' : '摘要') + "</a>\n" +
                        "                                            <!--(<span class=\"colorRed abs-num\">233</span>)-->\n" +
                        "                                        </font>\n" +
                        "                                        <font class=\"font2 count1\">\n" +
                        "                                            <a href=\"" + contextPath + "/geologicalData/details/doi/" + value.dataDoi + "\" target=\"_blank\">" +
                        "                                        <img src=\"" + baseContextPath + "/images/custom/html.png\" />HTML</a>\n" +
                        "                                        </font>\n" +
                        "                                        <!-- 增加数据集-->\n" +
                        "                                        <font class=\"font4\">\n" +
                        "                                            <a href='" + articleBasePath + value.quotePaperDoi + "' target=\"_blank\"><img src=\"" + baseContextPath + "/images/custom/shujuji.png\"\n" +
                        "                                                                    tppabs=\"http://geodb.ngac.org.cn/../images/custom/shujuji.png\"/>" + (language == LANGUAGE_ENGLISH ? 'Articles' : '论文') + "</a>\n" +
                        "                                        </font>\n" +
                        "                                    </div>\n" +
                        "                                    <div class=\"article-list-zy morenstyle\">\n" +
                        "                                        <b>摘要: </b><br/>\n" +
                        "                                        <span class=\"require_sub\" keep_len=\"250\">" + value.dataAbs + "</span>\n" +
                        "                                    </div>\n" +
                        "                                </div>\n" +
                        "                            </div>"

                })

                $("#" + initHtmlDivId).html(str)
            } else {
                showErrorTip("获取论文列表失败！");
            }
        },
        error: function () {
            console.log("获取数据列表失败!");
        }
    });
}

function searchIndex(key, newValue) {
    $("#search_div").slideDown();
    // $('#clearText').click()
    var searchState = false;
    $("#search_div .adv-form-group").each(function (index, valueBase) {
        var field = $(valueBase).find(".searchField option:selected").val();
        if (isNotEmptyStr(key) && key == field) {
            searchState = true
            $(valueBase).find(".searchFieldVal").val(newValue);
        }
    })
    if (searchState) {
        initPagination();
    } else {
        addSearchCondGroup()
        var lastBean = $("#search_div .adv-form-group:last");
        lastBean.find(".searchField option:selected").attr("selected", false)
        lastBean.find(".searchField option[value='" + key + "']").attr("selected", "selected")
        lastBean.find(".searchFieldVal").val(newValue);
        initPagination();

    }


}

function setSortCondition(sortCondition) {
    // console.log(sortCondition);
    // var arr = new Array();
    $("#sortCondition").val(sortCondition);
    initPagination();
}



