/* last update 2025.09.08 */

var HIGHT_LIGHT_STYLE = "background-color: #B4EBFA;";
var KEYWORD_PARAMETER_NAME = "seek";
var SPACE_NAME_PARAMETER_NAME = "spaceName";
var DISPLAYE_PAGE_INDEX_PARAMETER_NAME = "page";
var PAGE_TITLE_INDEX_PARAMETER_NAME = "pageTitle";
var BACK_URL_PARAMETER_NAME = "backto";
var NUMBER_OF_PAGE_PARAMETER_NAME = "numberOfPage";
var SPACE_FIELD_ID = "spaceName";
var PAGE_TITLE_FIELD_ID = "pageTitle";
var NUMBER_OF_PAGE_FIELD_ID = "numberOfPage";

var KEYWORD_LIMIT = 3;
var DISPLAY_PAGE_LIMIT = 200;
var SEARCH_RESULT_PAGE = "search_results.htm";
var KIKI_SEARCH_RESULT_PAGE = "search_results.htm";
var KIKI_KEYWORD_PARAMETER_NAME_1 = "seek";
var KIKI_KEYWORD_PARAMETER_NAME_2 = "bread";
var NUMBER_ROW_IN_PAGE = 2;
var paramterMap = {};
var searchresult = [];
var pageCount = 0;
var showpage = 0;
var Emessage = false;       //20220810大河 エラーメッセージの表示用に追加
var lang = document.documentElement.lang    //20220810大河 メッセージの多言語対応

// search

// replacellのPolyfill chrome 85以下への対応
// chrome 85以上は、replaceAllが使用可能
if (!String.prototype.replaceAll) {
    String.prototype.replaceAll = function(search, replacement) {
        return this.split(search).join(replacement);
    };
}

var path = /search.htm$/;
var path2 = /$/;

var settings = {
    "keywordData": keyword_data,
    "relatedkey": [],
    "option": {
        "andOr": "and",
        "charUpLo": false, //大文字小文字区別[ する：true | しない：false ]
        "ZenHan": false,
        "pMatch": false
    },
    "termDic": term,
    "msg": "#errorMessage",
};

// 20221102 多言語メッセージ対応 s.u ここから -- 
function SearchResultMsg(lang){
  var ret = 0;
    switch(lang){
        case "ja": 
        case "zh_tw":
            ret = 1;
         break;

        case "fr":
        case "kk":
            ret = 2;
        break;

        case "de":
        case "ro":
            ret = 3;
        break;

        case "ca":
        case "el":
        case "fi":
        case "it":
        case "pt":
        case "th":
            ret = 4;
        break;

        case "cs":
        case "et":
        case "pl":
        case "sk":
            ret = 5;
        break;

        case "no":
        case "ru":
        case "uk":
            ret = 6;
        break;

        case "ar": //アラビア語を追加　20221223　田中
            ret = 7;
        break;

        case "he": //ALL-3303 20241003　add s.u
            ret = 8;
        break;

        default: //en,vi,zh_cn,sv,pt_br,nl,ms,ko,id,hu,es,da
            ret = 0;
        break;
  }
  return ret;
}
// 20221102 多言語メッセージ対応 s.u ここまで -- 
        
/* 20220721 add 246 No.220 対応 ここから */
function getParam(name, url) {
   if (!url) url = window.location.href;
   name = name.replace(/[\[\]]/g, "\\$&");
   var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
       results = regex.exec(url);
   if (!results) return null;
   if (!results[2]) return '';
   return decodeURIComponent(results[2].replace(/\+/g, " "));
}
/* 20220721 add 246 No.220 対応 ここまで */

$(document).ready(function() {
/* 20220909 change s.u */
        $('#loading').removeClass('hide');
    setTimeout(doReady, 100);/* 20220909 add s.u */
});

setTimeout(function(){
// if ($('#page-content *').length > 0) {
//     $('#page-content *').css('display', 'block');
// }
},100)


let ricoh_mfpapnl = false;

function is_ricoh_mfpapnl(){
    return ricoh_mfpapnl;
}
//バーガーボタンの有無で判断
function is_sp(){
    if( $('.visible-xs').css('display') == "block"){
        return true;
    }else{
        return false;
    }
}


/* 20220909 add s.u */
function doReady() {
    try {
        // スペースのプルダウンを初期する
        initSpaceComboxbox();

        // ページタイトル一覧のコンボボックス
        initPageTitleCombox();

        //パラメータを取得する)
        paramterMap = getParamterMap();

        //パラメータから項目にセットする
        setOldValue();

        setValueCombox();

        NUMBER_ROW_IN_PAGE = parseInt($("#" + NUMBER_OF_PAGE_FIELD_ID).val(), 0);

        // 検索を実行する
        if( typeof pageDataArray !== 'undefined' ){//20220630 追加
            doSearch();
        }

        rerenderHtml();

        // 関連リンク
        relatedQuery();
        doDisplayingRelateWords();
        if(Emessage == false){                  //20220810大河 エラーメッセージの表示用に追加
        doDisplayingRelateWordsNoResult();
        }
        eventSearch();
        /* 20220909 add s.u --ここから-- */
        // フォントの拡大縮小を実行する
        window.globalFunction.checkCookie();
        /* 20220909 add s.u --ここまで-- */

    /* 20240115 chage s.u ここから*/
       if (1 >= document.location.hash.length) {
        window.scrollTo(0, 0);
       }/* 20240115 chage s.u ここまで*/

                /* 20221027 アラビア語対応 ここから s.u */ 
            var htmlLang = $('html')[0].lang;
            if(htmlLang === "ar" || htmlLang === "he"){// FY24 add s.u 20240912 
                 var target = $('div.numberOfPageDiv').parent().prev();
           $('div.numberOfPageDiv').css('text-align','left');
               $('div.numberOfPageDiv').prependTo(target);
            $("div#relatedWords div p.related-key-title").css("text-align", "right");// FY24 add s.u 20241004
            }
            /* 20221027 アラビア語対応 ここまで s.u */

        return;
    } catch (error) {
        console.log(error);
    }
}/* 20220909 add s.u */

/* 20220805 add s.u ここから */
function updateSelectPageTreeSearchHeigth() {
    // 絞り込みのスクロール対応
    var divPageTitle = $(document).find('#select-page-tree-search');
    var divPageTitleScroll = $(document).find('#select-page-tree-search-scroll');
    if (divPageTitleScroll.length > 0) {
        var position = $(divPageTitleScroll).offset();
        var contentOffset = $("#content").offset();
        $(divPageTitleScroll).css('max-height', (($("#content").outerHeight() + contentOffset.top) - position.top - $("#page-footer").outerHeight()) + "px");
        $(divPageTitleScroll).mCustomScrollbar("update");
    }
}
/* 20220805 add s.u ここまで */

function doSearch() {
    try {
        var keywordArray = getKeyWords();
        var keyword = paramterMap[KEYWORD_PARAMETER_NAME];
        var spaceName = paramterMap[SPACE_NAME_PARAMETER_NAME];
        var searchRange = paramterMap[DISPLAYE_PAGE_INDEX_PARAMETER_NAME];
        var pageTitleIndex = paramterMap[PAGE_TITLE_INDEX_PARAMETER_NAME];

        // add list pageTitleIndexList start
        var pageTitleIndexList = [];
        var pageTitleHref = [];
        if (typeof pageTitleIndex == 'undefined') {
            pageTitleIndex = -1;
        }

        if (pageTitleIndex != -1) {
            // get pageHref of pageDataArray
            var pageData = pageDataArray[pageTitleIndex];
            var pageHref = pageData[5];
            // search href page tree
            var pageTreeHref = $(".nav-menu-list li").find("a[href='" + pageHref + "']");
            /* No.209　トップページで絞り込み検索すると全ページが対象となる の対応 20220714 */
            if (pageTreeHref.length > 0) {// ★★★ 「トップページ」の場合は「pageTreeHref.length」が「0」になる
                var pageTreeLiParent = $(pageTreeHref).closest("li");
                $(pageTreeLiParent).find("a[href]").each(function(index, item) {
                    pageTitleHref.push($(item).attr('href'));
                });

                for (var k = 0; k < pageDataArray.length; k++) {
                    var pageData = pageDataArray[k];
                    if (pageTitleHref.indexOf(pageData[5]) > -1) {
                        pageTitleIndexList.push(k);
                    }
                }
            } else {
              /* No.209　トップページで絞り込み検索すると全ページが対象となる の対応 20220714 */
                pageTitleIndexList.push(pageTitleIndex); // ★★★ とりあえず「トップページ」のインデックス「0」を入れる
            }
        } else {
            pageTitleIndexList.push(pageTitleIndex);
        }
        // add list pageTitleIndexList end
        if (isNullOrEmpty(keyword)) {
            keyword = "";
        }

        if (isNullOrEmpty(pageTitleIndex) == true) {
            pageTitleIndex = -1;
        }

        var regSearchWords = new Array();
        var originalSearchWords = new Array();
        for (i = 0; i < keywordArray.length; i++) {
            var tmp = keywordArray[i];
            tmp = beautyKeyword(tmp);
            if (tmp.length > 0) {
                regSearchWords[regSearchWords.length] = tmp;
                originalSearchWords[originalSearchWords.length] = keywordArray[i];
            }
        }

        var errorMessageHtml = '';
        if (regSearchWords.length > KEYWORD_LIMIT) {
            var messages = Stringformat(Err_Lang[lang].toomanykeywords, KEYWORD_LIMIT);     //20220810大河 メッセージの多言語対応
            var messArray = messages.split("\n");
            for (i = 0; i < messArray.length; i++) {
                errorMessageHtml += '<p>' + escapeHTML(messArray[i]) + '</p>';
            }
            $("#errorMessage").html(errorMessageHtml).show();        //20220810大河 正しいメッセージの表示
            //$("#errorMessage").css('color', 'red'); /* 20221012 change プレーンなテキストに変更 s.u */
            //$("#errorMessage").css('font-weight', 'bold'); /* 20221012 change プレーンなテキストに変更 s.u */
            $("#errorMessage").css('background', 'transparent');
        } else if (regSearchWords.length == 0) {
            var messages = "";          //20220810大河 メッセージの多言語対応 //20220913 検索画面を開いた時は、メッセージを表示しない修正　田中
            var messArray = messages.split("\n");
            for (i = 0; i < messArray.length; i++) {
                errorMessageHtml += '<p>' + escapeHTML(messArray[i]) + '</p>';
            }
           $("#errorMessage").html(errorMessageHtml).show();        //20220810大河 正しいメッセージの表示
        }


        if( keyword === ""){
            $('#select-page-tree-search').css({'opacity':0});
            $('#search-display-input').css({'opacity':0});
        }else{
            $('#select-page-tree-search').css({'opacity':1});
            $('#search-display-input').css({'opacity':1});
        }
        if (window.matchMedia('(min-width: 767px)').matches) {
            // pc
            //$('#page-search').hide();
        } else {
            //sp
        }
        

      if (errorMessageHtml != "") {                                 //20220810大河 正しいメッセージの表示
//          $("#errorMessage").html(errorMessageHtml).show();
            $("#searchResultText").hide();
            $(".numberOfPageDiv").hide();
          Emessage = true;
            return;
        }

        // 検索結果を取得
        searchresult = [];
        searchresult = search(regSearchWords, spaceName, pageTitleIndexList);

        // 20221102 多言語メッセージ対応 s.u ここから -- 
        //検索結果件数の表示
        // document.getElementById("pageCount").innerHTML = searchresult.length;
        var number = SearchResultMsg(lang.toLowerCase());
                // ALL-2830 脆弱性の対応、入力値をエスケープ処理する s.u 20240723 ここから

                switch(number){
            　   case 1:
                        $("#searchresultmeta").html('<span>「'+escapeHTML(keyword)+'」'+Err_Lang[lang].foundCountMsg+'</span><span class="fcount" id="pageCount">'+searchresult.length+'</span><span class="ftitle" id="searchResultText">'+Err_Lang[lang].foundCountSuffix+'</span>');
            break;
            　   case 2:
                        $("#searchresultmeta").html('<span>« '+escapeHTML(keyword)+' » '+Err_Lang[lang].foundCountMsg+'</span><span class="fcount" id="pageCount">'+searchresult.length+'</span><span class="ftitle" id="searchResultText">'+Err_Lang[lang].foundCountSuffix+'</span>');// 2　 << >>を« »に修正　20221223　田中
            break;
            　   case 3:
                        $("#searchresultmeta").html('<span>„'+escapeHTML(keyword)+'“ '+Err_Lang[lang].foundCountMsg+'</span><span class="fcount" id="pageCount">'+searchresult.length+'</span><span class="ftitle" id="searchResultText">'+Err_Lang[lang].foundCountSuffix+'</span>');// 3
            break;
            　   case 4:
                        $("#searchresultmeta").html('<span>'+Err_Lang[lang].foundCountMsg+' "'+escapeHTML(keyword)+'" <span class="ftitle" id="searchResultText">'+Err_Lang[lang].foundCountSuffix+'</span><span class="fcount" id="pageCount" style="font-size: 16px;">'+searchresult.length+'</span>');// 4
            break;
            　   case 5:
                        $("#searchresultmeta").html('<span>'+Err_Lang[lang].foundCountMsg+' „'+escapeHTML(keyword)+'“ <span class="ftitle" id="searchResultText">'+Err_Lang[lang].foundCountSuffix+'</span><span class="fcount" id="pageCount" style="font-size: 16px;">'+searchresult.length+'</span>');// 5
            break;
            　   case 6:
                        $("#searchresultmeta").html('<span>'+Err_Lang[lang].foundCountMsg+' « '+escapeHTML(keyword)+' » <span class="ftitle" id="searchResultText">'+Err_Lang[lang].foundCountSuffix+'</span><span class="fcount" id="pageCount" style="font-size: 16px;">'+searchresult.length+'</span>');// 6　<< >>を« »に修正　20221223　田中
            break;
            　   case 7:
                        //$("#searchresultmeta").html('<span class="fcount" id="pageCount" style="font-size: 16px;">'+searchresult.length+'</span><span class="ftitle" id="searchResultText">'+Err_Lang[lang].foundCountSuffix+'</span><span> "'+escapeHTML(keyword)+'" '+Err_Lang[lang].foundCountMsg+'</span>');// 7　アラビア語を追加　20221223　田中
                        // 20250908 add hal 英語と同じ並びで出力して強制的(検索単語がアルファベット or rtl言語対策)にCSSでrtlに。arとheは同じ並び
                        $("#searchresultmeta").html( '<span>'+ Err_Lang[lang].foundCountMsg +'</span>' + '<span id="searchKey">"'+escapeHTML(keyword)+'" ' +Err_Lang[lang].foundCountSuffix+ '</span>' + '<span class="ftitle" id="searchResultText">:</span>' + '<span class="fcount" id="pageCount" style="font-size: 16px;">'+searchresult.length+'</span>'  );
            break;//ALL-3303 20241003　add s.u
            　   case 8:
                        //$("#searchresultmeta").html('<span class="fcount" id="pageCount" style="font-size: 16px;">'+searchresult.length+'</span><span class="ftitle" id="searchResultText"> : </span><span> "'+escapeHTML(keyword)+'" '+Err_Lang[lang].foundCountMsg+'</span>');// 8　ALL-3303 20241003 add s.u
                        $("#searchresultmeta").html( '<span>'+ Err_Lang[lang].foundCountMsg +'</span>' + '<span id="searchKey">"'+escapeHTML(keyword)+'"</span>' + '<span class="ftitle" id="searchResultText">:</span>' + '<span class="fcount" id="pageCount" style="font-size: 16px;">'+searchresult.length+'</span>'  );// 20250828 add hal 英語と同じ並びで出力して強制的(検索単語がアルファベット or rtl言語対策)にCSSでrtlに。
            break;
                    default: //en,vi,zh_cn,sv,pt_br,nl,ms,ko,id,hu,es,da
                        $("#searchresultmeta").html('<span>"'+escapeHTML(keyword)+'" '+Err_Lang[lang].foundCountMsg+'</span><span class="fcount" id="pageCount">'+searchresult.length+'</span><span class="ftitle" id="searchResultText">'+Err_Lang[lang].foundCountSuffix+'</span>');// 2
            　       break;
                // ALL-2830 脆弱性の対応、入力値をエスケープ処理する s.u 20240723 ここまで
        }
        // 20221102 多言語メッセージ対応 s.u ここまで -- 
        var errorMessageHtml = '';
        if (searchresult.length == 0) {
            var messages = Err_Lang[lang].searchnopage;             //20220810大河 メッセージの多言語対応
            var messArray = messages.split("\n");
            for (i = 0; i < messArray.length; i++) {
                errorMessageHtml += '<p>' + escapeHTML(messArray[i]) + '</p>';
            }
        } else if (searchresult.length == DISPLAY_PAGE_LIMIT) {
            var messages = Err_Lang[lang].toomanyresults;           //20220810大河 メッセージの多言語対応
            messages = Stringformat(messages, DISPLAY_PAGE_LIMIT);
            var messArray = messages.split("\n");
            for (i = 0; i < messArray.length; i++) {
                errorMessageHtml += '<p>' + escapeHTML(messArray[i]) + '</p>';
            }
            $("#errorMessage").html(errorMessageHtml).show();       //20220810大河 正しいメッセージの表示
            // $("#errorMessage").css('color', 'red'); //20220909 メッセージの装飾を無くす修正　田中
            // $("#errorMessage").css('font-weight', 'bold'); //20220909 メッセージの装飾を無くす修正　田中
            $("#errorMessage").css('background', 'transparent');
            Emessage = true;
        }

        if (errorMessageHtml != "") {
            $("#errorMessage").html(errorMessageHtml).show();
            //$("#searchResultText").hide();
            //$(".numberOfPageDiv").hide();
            //return;
        } else {
            $("#errorMessage").hide();
            $("#searchResultText").show();
        }

        //結果をソートする。
        searchresult = sortResult(searchresult);
        //要約を取得する
        summaryText = getTextSummary(searchresult, regSearchWords, originalSearchWords);
        //検索結果表示
        pageCount = Math.ceil(searchresult.length / NUMBER_ROW_IN_PAGE);
        doRenderResult(searchresult);

    } catch (error) {

        console.log(error);
    } finally {
        adjust();
    }
}

function relatedQuery() {
    settings.relatedkey = [];
    var keys = paramterMap[KEYWORD_PARAMETER_NAME];
    keys = $.trim(keys.replace(/[\s　]+/g, " "));

    var rebf = ["(^| )", "( |$)"];
    if (settings.option.pMatch) {
        rebf = ["^", "$"];
    }
    $.each(settings.keywordData, function(baseWord, releatewords) {
        var re = new RegExp(rebf[0] + _zenHanRegExp(baseWord) + rebf[1], "i");
        if (re.test(keys)) {
            settings.relatedkey = settings.relatedkey.concat(releatewords);
        }
    });

    for (var i in settings.relatedkey) {
        settings.relatedkey[i] = settings.relatedkey[i].replace(/[\s　]+/g, " ");
    }
    settings.relatedkey = _uniqueArray(settings.relatedkey);
}

function doDisplayingRelateWords() {
    $('#relatedWords').empty();
    temp = '<div class="related-key-title-container"><p class="related-key-title">' + Err_Lang[lang].relatedLink + '</p></div>';        //20220810大河 メッセージの多言語対応
    if (settings.relatedkey.length) {
        var b = paramterMap[BACK_URL_PARAMETER_NAME];
        var bookname = "";
        temp += '<div id="related-key-group">';
        for (var i = 0, len = settings.relatedkey.length; i < len; i++) {
            if (settings.relatedkey[i] == '') {
                continue;
            }
            fil = [KEYWORD_PARAMETER_NAME + "=" + encodeURIComponent(settings.relatedkey[i])].
            concat(PAGE_TITLE_FIELD_ID + '=-1&' + SPACE_FIELD_ID + '=' +
                encodeURIComponent(bookname) + '&' + BACK_URL_PARAMETER_NAME + '=' +
                encodeURIComponent(b) + '#1');
            relatedUrl = SEARCH_RESULT_PAGE + '?' + fil.join('&amp;');
            temp += '<p class="relatedKey"><a href="' + relatedUrl + '" data-ajax="false">' + settings.relatedkey[i]; //20221024　関連語タグ修正　田中
            temp += '</a>'; //20230130 タグ修正　田中
            // if (i != len - 1 && settings.relatedkey[i + 1] != '')
            //   temp += '、';
        }
        //20220912　関連キーワードがない場合は非表示にする　田中
    } else {
        $('#relatedWords').css('display','none');
    }
    $('#relatedWords').html(temp + '</div>');
    // $('#relatedWords').css('display', 'flex') 20220823 関連語デザイン修正　コメントアウト田中;
    $('#relatedWords').css('position', 'relative'); //20220823 関連語デザイン修正　追加　田中
    $('#relatedWords').css('top', '-27px'); //20220823 関連語デザイン修正　追加　田中 //20230130 修正　田中
    $('#relatedWords').css('flex-wrap', 'wrap');
    //20220823 関連語デザイン修正　追加　ここから　田中
    if ($('.numberOfPageDiv').css('display') == 'block') {
        $('.search #headerend').addClass('headrendDisplay')
    }
    //20220823 関連語デザイン修正　追加　ここまで　田中
}

function doDisplayingRelateWordsNoResult() {
    var totalHit = searchresult.length;
    var buf = [];
    $(settings.msg).css('display', 'none');
    var keyWord = paramterMap[KEYWORD_PARAMETER_NAME];
    if (!keyWord == false && (!totalHit || totalHit == 0)) {
        keyWord = _convertKatakana(keyWord);
        var findReg = [_zenHanRegExp(keyWord)];
        findReg = new RegExp("^(" + findReg.join('|') + ")$", "i");
        var baseTerm = [];
        for (var k in settings.termDic) {
            var termItem = settings.termDic[k];
            for (var i in termItem) {
                if (findReg.test(termItem[i])) {
                    baseTerm.push(k);
                }
            }
        }

        baseTerm = _uniqueArray(baseTerm);
        if (baseTerm.length) {
            $('#relatedWords').css('display', 'none'); //関連キーワード部分非表示
            buf.push('<p class="synonymWords">' + Err_Lang[lang].searchkeywordsuggestion + '</p>'); //20220823 同義語デザイン修正　追加　田中
            // buf.push('<p class="info">' + Err_Lang[lang].searchnopage + '</p>');     //20220810大河 メッセージの多言語対応　20220823　同義語デザイン修正　場所を移動　コメントアウト田中
            buf.push('<div id="termWord" style="display: flex; flex-wrap: wrap;">');
            var fil = '';
            var relatedUrl = '';
            var bookname = '';
            var b = paramterMap[BACK_URL_PARAMETER_NAME];
            for (var i in baseTerm) {
                if (!baseTerm[i] || baseTerm[i] == '')
                    continue;
                fil = [KEYWORD_PARAMETER_NAME + "=" + encodeURIComponent(baseTerm[i])].
                concat(PAGE_TITLE_FIELD_ID + '=-1&' + SPACE_FIELD_ID + '=' +
                    encodeURIComponent(bookname) + '&' + BACK_URL_PARAMETER_NAME + '=' +
                    encodeURIComponent(b) + '#1');
                relatedUrl = SEARCH_RESULT_PAGE + '?' + fil.join('&amp;');
                // 20220928　関連語が途中で改行される部分　下一行修正　田中
                // 20221013  chage 関連語の横並び表示の調整　
                buf.push('<p class="relatedKey" style="margin: 5px 15px; flex-basis: auto; width: auto; padding-right: 8px;">' +
                    '<a href="' + relatedUrl + '">' +
                    baseTerm[i] +
                    '</a>' +
                    '</p>'
                );
            }
            buf.push('</div>');
            buf.push('<p class="info">' + Err_Lang[lang].searchnopage + '</p>');        //20220810大河 メッセージの多言語対応　20220823　同義語デザイン修正　追加　田中
            $(settings.msg).html(buf.join(""));
            $(settings.msg).css('display', '');
        } else {
            $(settings.msg).html('<p class="info">' + Err_Lang[lang].searchnopage + '</p>');        //20220810大河 メッセージの多言語対応
            $(settings.msg).css('display', '');
        }
    }
}

function initSpaceComboxbox() {
    var spaceComboxObj = document.getElementById(SPACE_FIELD_ID);
    if (!isArray(spaces) || spaces.length <= 1) {
        $(spaceComboxObj).hide();
        return;
    }
    if (isNullOrEmpty(spaceComboxObj)) return;
    spaceComboxObj.options[0] = new Option('All space', '');
    spaceComboxObj.options[0].selected = "selected";


    for (var i = 0; i < spaces.length; i++) {
        var space = spaces[i];
        spaceComboxObj.options[i + 1] = new Option(space[2], space[1]);
    }
    $(spaceComboxObj).css({'opacity':1})
}

/* 20220909 change s.u */
function initPageTitleCombox() {
    var pageTitleComboxObj = document.getElementById(PAGE_TITLE_FIELD_ID);

    if (isNullOrEmpty(pageTitleComboxObj)) return;
    if (typeof pageDataArray == 'undefined' || !isArray(pageDataArray) || pageDataArray.length < 1) {
        $(pageTitleComboxObj).hide();
        return;
    }

    pageTitleComboxObj.options[0] = new Option('All page', '-1');
    pageTitleComboxObj.options[0].selected = "selected";

    for (var i = 0; i < pageDataArray.length; i++) {
        var pageData = pageDataArray[i];
        // add space page level 2,3
        // 20220714 パフォーマンスチューニング 不要処理の削除　ここから
        //var pageTreeHref = $(".nav-menu-list li").find("a[href='" + pageData[5] + "']");
        //var pageParents = $(pageTreeHref).parents("li");
        // 20220714 パフォーマンスチューニング 不要処理の削除 ここまで
        var pageTitleSpace = "";
        // 20220714 パフォーマンスチューニング 不要処理の削除　ここから
        //for (var j = 1; j < pageParents.length; j++) {
        //    pageTitleSpace = pageTitleSpace + '　'
        //}
        // 20220714 パフォーマンスチューニング 不要処理の削除 ここまで
        pageTitleComboxObj.options[i + 1] = new Option(pageTitleSpace + pageData[1], i);
    }

    $(pageTitleComboxObj).find('option').css('display', 'none');
    var divPageTitle = $(document).find('#select-page-tree-search');
    $(divPageTitle).prepend('<div id="select-page-tree-search-scroll" data-scroll-theme="dark"></div>');
    var divPageTitleScroll = $(document).find('#select-page-tree-search-scroll');
    $(divPageTitleScroll).html($('.nav-menu-list').html());

    var pageIndexArray = pageDataArray[0];
    var pageIndexTree = $(".nav-menu-list > li").first().find('>a');
    if (pageIndexArray[5] != pageIndexTree.attr('href')) {
        /* トップページの絞り込み表示対応 display: none add 20220714 */
        $(divPageTitleScroll).prepend('<li style="font-size: inherit; display: none;">' + Err_Lang[lang].selectIndexTitle + '</li>');       //20220810大河 メッセージの多言語対応
    }
    var liSearchs = $(divPageTitleScroll).find('li');
    for (var j = 0; j < liSearchs.length; j++) {
        var li = $(liSearchs).get(j);
        $(li).attr('data-value', j);
        // 2025.08.12 検索結果メニューで子階層が出ないため
        // var childs = $(li).find('li > span:not(.icon.bullet.notchildren)');
        // var numberChild = '';
        // if (childs.length > 0) {
        //     numberChild = ' ' + numberChild + ' ' + '(' + childs.length + ')';
        // }
        // else
        // {
        //     var span = $(li).find('>span');
        //     span.removeClass("has_child");
        // }
        //2025.08.19 ヘブライ語の検索時メニューのインデント対策
        $(li).find('li > .has_child:not(.icon)').removeClass("has_child");

        var a = $(li).find('>a')
        // 20220812　li内のタイトル部分にspanタグ追加　下一行修正田中
        var text = '<span class="menutext">' + $(a).text() + '</span>'; //20220905 ポップアップが表示されない不都合修正　田中 //20220916 絞り込み部分に子ページの数が表示されないように修正
        $(a).before(text);
        $(a).remove();
    }
    // 20220819　下一行修正　田中
    $(divPageTitle).prepend('<p class="select-title select-title-pc">'+ Err_Lang[lang].selectTitle +'</p><span class="menutextpop"></span>');       //20220810大河 メッセージの多言語対応
    $(divPageTitleScroll).prepend('<li style="font-size: inherit;" data-value="-1">' + Err_Lang[lang].selectAllpages + '</li>'); //20220929 田中　メッセージの多言語対応
    var uls = $(divPageTitleScroll).find('ul');
    if (uls.length > 0) {
        $(uls).css('display', 'none');
    }

    /* 20220721 add 246 No.220 対応 ここから */
        // 検索後に「絞り込み」の選択状態を復元
    // ※ 初期状態は「All Page」が選択される
    var index = getParam('pageTitle');
    if (index == null) {
        index = '-1';
    }
    pageTitleComboxObj.options[++index].selected = "selected";

    var targetElm = $('#select-page-tree-search li').eq(index);
    if (targetElm.length > 0) {
        targetElm.addClass('selected');

        var val = $('#pageTitle').val();
        var searchPage = $(document).find('#select-page-tree-search');
        $(searchPage).find('li').removeClass('selected');
        $(searchPage).find('span.icon').removeClass('active');
        var liSelect = $(searchPage).find('li[data-value=' + val + ']');
        $(liSelect).addClass('selected');
        $(liSelect).children('.icon.has_child').addClass('active');
        $(liSelect).children('ul').show();
        if ($(liSelect).parents('ul').length > 0) {
            $(liSelect).parents('ul').css('display', 'block');
            $(liSelect).parents('li').find('>span.icon').addClass('active');
        }
    }
    /* 20220721 add 246 No.220 対応 ここまで */

    setCustomScrollbarForSearch($('#select-page-tree-search-scroll'));

    var searchInput = $('#search-display-input');
    var top = $(searchInput).offset().top;
    updateSelectPageTreeSearchHeigth(); /* 20220902 add s.u 文字サイズ変更対応 */
    $('#loading').addClass('hide');
    getMenuPopUp (); //20220905 ポップアップが表示されない不都合修正　田中
}



function setValueCombox() {
    var searchInput = $('#search-display-input span.dropdowntree-name');
    var text = $('#pageTitle option:selected').text().trim();
    $(searchInput).text(text)
}

function SearchWord_manual() {
    var keyword = document.getElementById("search").value;
    var b = getCurrentHref();
    var bookname = "";
    // 機器判定（ricoh様用)
    var useragent = navigator.userAgent.toLowerCase();
    //console.log("useragent = " + useragent);
    //console.log("SEARCH_RESULT_PAGE = " + SEARCH_RESULT_PAGE);
    //console.log("KIKI_SEARCH_RESULT_PAGE = " + KIKI_SEARCH_RESULT_PAGE);
    //console.log("KIKI_KEYWORD_PARAMETER_NAME_1 = " + KIKI_KEYWORD_PARAMETER_NAME_1);
    //console.log("KIKI_KEYWORD_PARAMETER_NAME_2 = " + KIKI_KEYWORD_PARAMETER_NAME_2);
    //console.log("keyword = " + keyword);
    //console.log("SPACE_FIELD_ID = " + SPACE_FIELD_ID);
    //console.log("bookname = " + bookname);
    //console.log("BACK_URL_PARAMETER_NAME = " + BACK_URL_PARAMETER_NAME);
    //console.log("b = " + b);
    /*
    if( useragent.indexOf('ricoh_mfpapnl') != -1 ){
     // 機器用
     location.href = KIKI_SEARCH_RESULT_PAGE + '?' + KIKI_KEYWORD_PARAMETER_NAME_1+ '=' + encodeURIComponent(keyword) + '&' +KIKI_KEYWORD_PARAMETER_NAME_2 + '=' ;
    } else {
     location.href = SEARCH_RESULT_PAGE + '?' + KEYWORD_PARAMETER_NAME+ '=' + encodeURIComponent(keyword) + '&' + SPACE_FIELD_ID +'=' + encodeURIComponent(bookname) + '&'+BACK_URL_PARAMETER_NAME+ '=' + encodeURIComponent(b) + '#1';
    }
    */

var userAgent = window.navigator.userAgent.toLowerCase();
// if(userAgent.indexOf('firefox') != -1) {
//     if( $("#load").length>0){
//     $("#load")[0].removeClass("hide");
//     console.log("成功")
//     }else{
//         console.log("失敗")
//     }
//     document.getElementById("aaaload").classList.remove("hide");
//     console.log("aaa")
//     location.href = SEARCH_RESULT_PAGE + '?' + KEYWORD_PARAMETER_NAME + '=' + encodeURIComponent(keyword) + '&' + KIKI_KEYWORD_PARAMETER_NAME_2 + '=' + '&' + BACK_URL_PARAMETER_NAME + '=' + encodeURIComponent(b) + '#1';
//       } else{
    location.href = SEARCH_RESULT_PAGE + '?' + KEYWORD_PARAMETER_NAME + '=' + encodeURIComponent(keyword) + '&' + KIKI_KEYWORD_PARAMETER_NAME_2 + '=' + '&' + BACK_URL_PARAMETER_NAME + '=' + encodeURIComponent(b) + '#1';
//       }

}

function rerenderHtml() {
    var w = paramterMap[KEYWORD_PARAMETER_NAME];
    if (isNullOrEmpty(w)) return;
    w = w.replace(/　/g, " ");
    w = w.replace(/^\s+|\s+$/g, "").replace(/\s+/g, " ");

    var d = document.getElementById(CONTEXT_ID);
    /* 検索結果がゼロになると絞り込み範囲を選べなくなる対応 ここから */
    if (d.childElementCount != 0)
    {
        var a = new Array();
        traverseDom(d, a);
        var n;
        while (n = a.pop()) {
            highlightKeyword(n, w);
        }
    }
    /* 検索結果がゼロになると絞り込み範囲を選べなくなる対応 ここまで */
}

function checkSkipHighLight(c) {
    var attr = getAttribute(c, "class");
    if (isNullOrEmpty(attr)) {
        return false;
    }
    return attr.match("skipHighlight");
}

function traverseDom(root, a) {
    var c = root,
        n = null;
    var it = 0;
    do {
        n = c.firstChild;
        if (n == null || (c.nodeType == Node.ELEMENT_NODE && c.className == "relation") || checkSkipHighLight(n) || checkSkipHighLight(c)) {
            // visit c
            if (c.nodeType == Node.TEXT_NODE) {
                a.push(c);
            }
            // done visit c
            n = c.nextSibling;
        }

        if (n == null) {
            var tmp = c;
            do {
                n = tmp.parentNode;
                if (n == root)
                    break;
                try {
                    // visit n
                    if (n.nodeType == Node.TEXT_NODE) {
                        a.push(n);
                    }
                } catch (e) {
                    n = root;
                    break;
                }
                // done visit n
                tmp = n;
                n = n.nextSibling;
            } while (n == null)
        }
        c = n;
    } while (c != root);
    return;
}

function highlightKeyword(n, w) {
    if (n.textContent.trim().length == 0) {
     return;
    }
    var b = w.split(' ');
    for (var i = 0; i < b.length; i++) {
        b[i] = quotemeta(b[i])
    }
    var ww = b.join('|');
    var a = n.nodeValue.split(new RegExp("(" + ww + ")", "i"));
    var htmlStr = "<span>"; //20220630 削除
    var isExsit = false;//20221223 add
    ww = ww.replaceAll("&","&amp;");//20221227 add
    ww = ww.replaceAll("<","&lt;");//20221227 add
    ww = ww.replaceAll(">","&gt;");//20221227 add
    for (var i = 0; i < a.length; i++) {
        //a[i] = htmlspecialchars(a[i]);//20221223 add
        a[i] = a[i].replaceAll("&","&amp;");//20221223 add
        a[i] = a[i].replaceAll("<","&lt;");//20221223 add
        a[i] = a[i].replaceAll(">","&gt;");//20221223 add
        var currentElement;
        if (a[i].match(new RegExp(ww, "i"))) {
            isExsit = true;
            htmlStr += "<span style='" + HIGHT_LIGHT_STYLE + "'>" + a[i] + "</span>";
        } else {
            htmlStr += a[i];
        }
    }
    htmlStr += "</span>";//20220630 削除
    if(isExsit){
        n.parentNode.replaceChild($(htmlStr)[0], n);
    }
}

function findParent(node, tag, classname) {
    var n = node;
    while (n != null) {
        var p = n.parentNode;
        if (p != null && p.nodeType == Node.ELEMENT_NODE &&
            p.nodeName.match(new RegExp(tag, "i")) && p.className == classname) {
            return true;
        }
        n = p;
    }
    return false;
}


function search(searchWords, searchSpaceName, pageTitleIndexList) {
    var result = [];
    var spaceIndex = -1;
    for (i = 0; i < spaces.length; i++) {
        if (spaces[i][1] == searchSpaceName) {
            spaceIndex = i;
        }
    }

    for (i = 0; i < pageDataArray.length; i++) {
        if (pageTitleIndexList.length > 0 && pageTitleIndexList[0] > -1 && pageTitleIndexList.indexOf(i) == -1) {
            continue;
        }

        var pageData = pageDataArray[i];
        if (spaceIndex != -1 && spaceIndex != pageData[0]) {
            continue;
        }
        var times = 0;
        var titleHitflag = false;
        var textHitflag = false;
        var titleHitTimes = 0;
        var textHitTimes = 0;
        var wordsHitTime = new Array();
        for (j = 0; j < searchWords.length; j++) {
            var reg = new RegExp(searchWords[j], "g");
            var textResult = pageData[4].match(reg);
            var titleResult = pageData[2].match(reg);
            var oneWordHitTime = 0;
            if (textResult != null) {
                oneWordHitTime += textResult.length;
                times += textResult.length;
                textHitTimes += textResult.length;
            }
            if (titleResult != null) {
                oneWordHitTime += titleResult.length;
                times += titleResult.length;
                titleHitTimes += titleResult.length;
            }
            wordsHitTime[j] = oneWordHitTime;
        }
        if (isResult(wordsHitTime, j)) {                    //20220810 s.u キーワード3つのときのAND条件での検索 2→jに変更
            if (titleHitTimes > 0) {
                titleHitflag = true;
            }
            if (textHitTimes > 0) {
                textHitflag = true;
            }
            result[result.length] = {
                "pageIndex": i,
                "spaceIndex": pageData[0],
                "pageTitle": pageData[1],
                "textHitflag": textHitflag,
                "titleHitflag": titleHitflag,
                "matchTimes": times
            };
        }
        if (result.length == DISPLAY_PAGE_LIMIT) {
            break;
        }
    }
    return result;
}

function isResult(wordsHitTime, threshold) {
    var zeroCount = 0;
    for (var h = 0; h < wordsHitTime.length; h++) {
        if (wordsHitTime[h] == 0) {
            zeroCount++;
        }
    }
    var hitRate = (wordsHitTime.length - zeroCount) / wordsHitTime.length;
    var rate = threshold / 3;
    if (hitRate >= rate) {
        return true;
    } else {
        return false;
    }
}

function adjust() {

    var MacFireFox = false;
    var ua = navigator.userAgent.toLowerCase();
    if (ua.indexOf("mac") != -1 && ua.indexOf("firefox") != -1) {
        MacFireFox = true;
    }
    var MacChrome = false;
    if (ua.indexOf("mac") != -1 && ua.indexOf("chrome") != -1) {
        MacChrome = true;
    }
    var isOpera,
        isSafari = false;
    if (typeof(window.opera) != 'undefined')
        isOpera = true;
    if (navigator.userAgent.indexOf('Safari') > -1 && navigator.userAgent.indexOf('Chrome') == -1)
        isSafari = true;
    var tmp_s = document.getElementById(SPACE_FIELD_ID);
    setTimeout(function() {
        var m = $(tmp_s).innerWidth();
        if (!isSafari && !isOpera && !MacChrome)
            m += 2;
        // Cheetahパネルの場合+2する(上記での+2と合わせて計+4する)
        if (navigator.userAgent.indexOf("ricoh_mfpapnl") > -1)
            m += 2;
            ricoh_mfpapnl = true;
        m = Math.min(m, 395);
        if (!MacFireFox)
            $(tmp_s).width(m + 'px');
        else {
            m = Math.min($(tmp_s).outerWidth(), 395);
            $(tmp_s).width(m + 'px');
        }
    }, 0 * 1000); // need setTimeout for IE6.

    // To fix cursor.
    $(".linkimage").css('cursor', 'pointer');

    return;
}

function viewPage(number) {
    $("#" + DISPLAYE_PAGE_INDEX_PARAMETER_NAME).val(number);
    doRenderResult(searchresult);
    window.scrollTo(0, 0);
}

function changeNumberRowInPage() {

    NUMBER_ROW_IN_PAGE = parseInt($("#" + NUMBER_OF_PAGE_FIELD_ID).val(), 0);
    pageCount = Math.ceil(searchresult.length / NUMBER_ROW_IN_PAGE);
    if (searchresult == null || searchresult.length == 0) {
        return;
    }
    doRenderResult(searchresult);
}

function renderPagingArea(currentPage) {
    currentPage = parseInt(currentPage);
    var localPageCount = pageCount;
    var strHtml = '';
    if (currentPage > 1) {
        strHtml += '<li onclick="viewPage(1)">' + escapeHTML('<<') + '</li>';
        strHtml += '<li class="sep">|</li>';
        strHtml += '<li onclick="viewPage(' + (currentPage - 1) + ')">' + escapeHTML('<') + '</li>';
    } else {
        strHtml += '<li>' + escapeHTML('<<') + '</li>';
        strHtml += '<li class="sep">|</li>';
        // strHtml += '<li>' + escapeHTML('<') + '</li>';　20220912 先頭・末尾ボタン選択時［＜］［＞］ボタンは不要　修正　田中
    }

    var startLoop = currentPage - 2;
    var endLoop = currentPage + 2;
    if (startLoop <= 0 || endLoop > localPageCount) {
        if (startLoop <= 0) {
            endLoop = endLoop - startLoop + 1;
            startLoop = 1;
        }
        if (endLoop > localPageCount) {
            startLoop = startLoop - (endLoop - localPageCount);
            endLoop = localPageCount;
        }
    }
    if (startLoop <= 0) {
        startLoop = 1;
    }
    if (endLoop > localPageCount) {
        endLoop = localPageCount;
    }

    for (var i = startLoop; i <= endLoop; i++) {
        if (!isNullOrEmpty(strHtml)) {
            strHtml += '<li class="sep">|</li>';
        }
        if (i == currentPage) {
            strHtml += '<li class="current">' + escapeHTML(i + "") + '</li>';
        } else {
            strHtml += '<li onclick="viewPage(' + i + ')">' + escapeHTML(i + "") + '</li>';
        }
    }

    if (currentPage < localPageCount) {
        strHtml += '<li class="sep">|</li>';
        strHtml += '<li onclick="viewPage(' + (currentPage + 1) + ')">' + escapeHTML('>') + '</li>';
        strHtml += '<li class="sep">|</li>';
        strHtml += '<li onclick="viewPage(' + localPageCount + ')">' + escapeHTML('>>') + '</li>';
    //20220823　検索結果が０件のとき、＜　＞ は表示しない　下2行追加　田中
    } else if (currentPage == 0) {
        strHtml += "";
    } else {
        strHtml += '<li class="sep">|</li>';
        // strHtml += '<li >' + escapeHTML('>') + '</li>'; 20220912 先頭・末尾ボタン選択時［＜］［＞］ボタンは不要　修正　田中
        strHtml += '<li class="sep">|</li>';
        strHtml += '<li >' + escapeHTML('>>') + '</li>';
    }
    strHtml += "";
    return "<span class='skipHighlight'>" + strHtml + '</span><br />';
}


function renderResultView(resultArray, pageNumber) {

    var startIndex = NUMBER_ROW_IN_PAGE * (pageNumber - 1);
    var endIndex = NUMBER_ROW_IN_PAGE * pageNumber;
    var resultHtml = '';
    if (startIndex >= resultArray.length) {
        pageNumber = pageCount;
        startIndex = NUMBER_ROW_IN_PAGE * (pageNumber - 1);
        $("#" + DISPLAYE_PAGE_INDEX_PARAMETER_NAME).val(pageNumber);
    }

    if (resultArray == null || resultArray.length == 0) {
        endIndex = 0;
    } else if (endIndex > resultArray.length) {
        endIndex = resultArray.length;
    }
    if( resultArray == null || typeof resultArray === 'undefined' || resultArray.length == 0){
            return;
    }

    for (i = startIndex; i < endIndex; i++) {
        var searchResultData = resultArray[i];
        var src = pageDataArray[searchResultData.pageIndex][5];
        // ALL-3233 検索結果からのアコーディオンジャンプ対応 s.u 20240919 --->
        var menupagelist = $("ul.nav-menu-list a");
        for (var index = 0; index < $(menupagelist).length; index++) {
            if ($(menupagelist[index]).attr("href") === src) {
                if ($(menupagelist[index]).parent("li").css("display") == "none") {
                    if ($(menupagelist[index]).parent("li").parent("ul").length) {
                        if (
                            $(menupagelist[index]).parent("li").parent("ul").prev("a").length
                        ) {
                            var targetpage = src.substring(0, src.indexOf("."));
                            src = $(menupagelist[index])
                                .parent("li")
                                .parent("ul")
                                .prev("a")
                                .attr("href");
                            src = src + "#" + targetpage + "-top&" + targetpage + "-top";
                            break;
                        }
                    }
                }
            } else {
                continue;
            }
        }
        // ALL-3233 検索結果からのアコーディオンジャンプ対応 s.u 20240919 <---       
        src += "?&" + KEYWORD_PARAMETER_NAME + "=" + encodeURIComponent(paramterMap[KEYWORD_PARAMETER_NAME]);
        resultHtml += '<div class="fpage">';
        resultHtml += '<h2>';
        if (spaces.length > 1 && isNullOrEmpty($("#" + SPACE_FIELD_ID).val())) {
            resultHtml += '【<a class="skipHighlight" href = "';
            resultHtml += getLinkFollowSpace(spaces[searchResultData.spaceIndex][1]);
            resultHtml += '">' + spaces[searchResultData.spaceIndex][2] + '</a>】';
        }
        resultHtml += '<a href = "';
        resultHtml += src;
        resultHtml += '">' + searchResultData.pageTitle + '</a>';
        resultHtml += '</h2><ul><li ';
        resultHtml += i;
        resultHtml += '">';
        resultHtml += '</li><li class="summary">';
        if (summaryText[i].indexOf("<") > 0) {
            summaryText[i] = summaryText[i].replace(RegExp("<", "g"), '&lt;');
        }
        if (summaryText[i].indexOf(">") > 0) {
            summaryText[i] = summaryText[i].replace(RegExp(">", "g"), '&gt;');
        }
        resultHtml += summaryText[i];
        resultHtml += '</li></ul></div>';
    }
    return resultHtml;
}


function doRenderResult(resultArray) {
    var data = renderResultView(resultArray, eval($("#" + DISPLAYE_PAGE_INDEX_PARAMETER_NAME).val()));
    if (typeof data == "undefined") {
        data = "";
        }
    document.getElementById("resultSearchContainner").innerHTML = data;
    var pageInnerHtml = renderPagingArea(eval($("#" + DISPLAYE_PAGE_INDEX_PARAMETER_NAME).val()));
    $(".pagenavi").html(pageInnerHtml);
    rerenderHtml();
    var elms = document.getElementsByClassName("to-page-top"); /* 20220902 add s.u 文字サイズ変更対応 */
    $('ul.pagenavi li').css('height',getComputedStyle(elms[0]).height); /* 20220902 add s.u 文字サイズ変更対応 */
    /* 20221004 add s.u --ここから-- */
    // 幅が767px以上のビューポートをターゲットとするメディアクエリを作成
    var mediaQuery = window.matchMedia('(min-width: 767px)');
    // メディアクエリがtrueかどうかをチェック
    if(mediaQuery.matches){//PC表示
            if($("p#searchresultmeta").has("span")){
        var searchresultmeta = $("p#searchresultmeta").height() + 187 + 8;//padding分
        var strCalc = "calc( 100vh - " + searchresultmeta + "px)" ;
                $(".search .page").css("min-height",strCalc);
            }
        } else { // スマホ等
            if($("p#searchresultmeta").has("span")){
        var searchresultmeta = $("p#searchresultmeta").height() + 234;
        var strCalc = "calc( 100vh - " + searchresultmeta + "px)" ;
                $(".search .page").css("min-height",strCalc);
            }
    }
    /* 20221004 add s.u --ここまで-- */
    /* 20220909 add s.u --ここから-- */
    // フォントの拡大縮小を実行する
    window.globalFunction.checkCookie();
    /* 20220909 add s.u --ここまで-- */
}

function sortResult(result) {
    // ソート順?でソートする
    // 検索ワードがタイトルに含まれている結果の配列
    var titleTagTrue = new Array();
    var t = 0;
    // 検索ワードがタイトルに含まれていない結果の配列
    var titleTagFalse = new Array();
    var f = 0;
    for (i = 0; i < result.length; i++) {
        if (result[i].titleHitflag) {
            titleTagTrue[t] = result[i];
            t++;
        } else {
            titleTagFalse[f] = result[i];
            f++;
        }
    }

    //ソート順?、?、?でソートする
    titleTagTrue.sort(compareResult);
    titleTagFalse.sort(compareResult);
    return titleTagTrue.concat(titleTagFalse);
}

function compareResult(a, b) {
    if (Number(b.matchTimes) - Number(a.matchTimes) != 0) {
        return Number(b.matchTimes) - Number(a.matchTimes);
    } else {
        return (a.pageTitle > b.pageTitle) ? 1 : -1;
    }
}

function eventSearch() {

    $(document).on('click', '#search-display-input', function(e) {


        var val = $('#pageTitle').val();
        var searchPage = $(document).find('#select-page-tree-search');
        var uls = $(searchPage).find('ul');
        if (uls.length > 0) {
            $(uls).css('display', 'none');
        }
        $(searchPage).find('li').removeClass('selected');
        $(searchPage).find('span.icon').removeClass('active');
        var liSelect = $(searchPage).find('li[data-value=' + val + ']');
        $(liSelect).addClass('selected');
        if ($(liSelect).parents('ul').length > 0) {
            $(liSelect).parents('ul').css('display', 'block');
            $(liSelect).parents('li').find('>span.icon').addClass('active');
        }

        var top = $(this).outerHeight() + $(this).offset().top;
        if ($(searchPage).is(':visible')) {
            $(searchPage).css('display', 'none');
        } else {
            $(searchPage).css('display', 'block');
        }

        e.preventDefault();
        e.stopPropagation();
    });

    // HTML表示：スマホ表示で絞り込みボタンが効かないの対応-戻し
    $(document).on('click', '#select-page-tree-search .icon.has_child:not(.active)', function(e) {
        e.stopPropagation();
        var liParent = $(this).closest('li');
        var ul = $(liParent).find('>ul');
        if ($(ul).length > 0) {
            $(ul).css('display', 'block');
        }
        $(this).addClass('active');
        //alert(ricoh_mfpapnl)
    });

    $(document).on('click', '#select-page-tree-search .icon.has_child.active', function(e) {
        e.stopPropagation();
        var liParent = $(this).closest('li');
        var ul = $(liParent).find('>ul');
        if ($(ul).length > 0) {
            $(ul).css('display', 'none');
        }
        $(this).removeClass('active');
    });

    // 検索の絞り込み箇所：選択エリアが中途半端になっている 20220720
    // $(document).on('mouseover', '#select-page-tree-search li', function(e) {
    //     if (e.target !== this)
    //         return;
    //     $(document).find('#select-page-tree-search li').css('background', 'linear-gradient(rgb(255 255 255) 20px, rgb(255, 255, 255) 0%) rgb(255, 255, 255)');
    //     $(this).css({ "background": "linear-gradient(#42A5F5 20px, #ffffff 0%)", "cursor": "context-menu" });
    // });
    //
    // $(document).on('mouseleave', '#select-page-tree-search', function(e) {
    //     $(document).find('#select-page-tree-search li').css('background', 'linear-gradient(rgb(255 255 255) 20px, rgb(255, 255, 255) 0%) rgb(255, 255, 255)');
    // });


    //2025.07.08
    //$(document).on('click', '#select-page-tree-search li', function(e) {
    $(document).on('click', '#select-page-tree-search li .icon.has_child', function(e) {

        if (e.target !== this)
            return;
        var searchPage = $(document).find('#select-page-tree-search');
        //$(searchPage).find('li').removeClass('selected');
        var value = $(this).attr('data-value');
        //$(this).addClass('selected');
        var option = $('#pageTitle option[value=' + value + ']');
        $('#search-display-input').find('span.dropdowntree-name').text($(option).text().trim());
        $('#pageTitle').val(value);

        
        // 階層を開く/閉じる処理
        var span = $(this).find('>span');
        if ($(span).hasClass('icon has_child active')) {
            var ul = $(this).find('>ul');
            if ($(ul).length > 0) {
                $(ul).css('display', 'none');
            }
            $(span).removeClass('active');
        }
        else if ($(span).hasClass('icon has_child')) {
            var ul = $(this).find('>ul');
            if ($(ul).length > 0) {
                $(ul).css('display', 'block');
            }
            $(span).addClass('active');
        }

        //$('#page').val(1);
        //$('#searchForm').submit();
    });

    // 20220812　spanをクリック出来ない不都合の部分修正　ここから　田中
    $(document).on('click', '#select-page-tree-search .menutext, #mCSB_2_container > li', function(e) { // 20220905 メニューポップアップ部分の不都合修正　田中

        if (e.target !== this)
            return;
        var searchPageSpan = $(document).find('#select-page-tree-search');
        $(searchPageSpan).find('li').removeClass('selected');
        var spanLi = $(this).parent();
        var valueSpan = $(spanLi).attr('data-value');
        $(spanLi).addClass('selected');
        var optionSpan = $('#pageTitle option[value=' + valueSpan + ']');
        $('#search-display-input').find('span.dropdowntree-name').text($(optionSpan).text().trim());
        $('#pageTitle').val(valueSpan);

        // 階層を開く/閉じる処理
        // var spanSiblings = $(this).prev("span");
        // if ($(spanSiblings).hasClass('icon has_child active')) {
        //     var parentli = $(this).parent();
        //     var spanUl = $(parentli).find('>ul');
        //     if ($(spanUl).length > 0) {
        //         $(spanUl).css('display', 'none');
        //     }
        //     $(spanSiblings).removeClass('active');
        // }
        // else if ($(spanSiblings).hasClass('icon has_child')) {
        //     var parentli = $(this).parent();
        //     var spanUl = $(parentli).find('>ul');
        //     if ($(spanUl).length > 0) {
        //         $(spanUl).css('display', 'block');
        //     }
        //     $(spanSiblings).addClass('active');
        // }

        $('#page').val(1);
        $('#searchForm').submit();
    });
    // 20220812　spanをクリック出来ない不都合の部分修正　ここまで　田中

    $(document).on('click', '*', function(e) {
        if (e.target.id == 'search-display-input') {
            return;
        }
        if ($(e.target).parents('#search-display-input').length > 0) {
            return;
        }
        if ($(e.target).parents('#select-page-tree-search').length > 0) {
            return;
        }
        // $(document).find('#select-page-tree-search').css('display', 'none');
    });

    /*20221020 同義語の折り返しを防いで改行する　ここから　田中　//20221024 関連語追加、追加修正　ここから　田中 */
    $(function checkNewLine() {
        size();
        $(window).on("resize", function() {size();});
        function size() {
            $('div#termWord').css('clear', '');
            $('div#termWord').css('width', '');
            $('div#related-key-group').css('clear', '');
            $('div#related-key-group').css('width', '');
            // 読み込み時とリサイズ時の処理

            $('p.relatedKey').each(function() {
                var textHeight = $(this).height();
            var lineHeight = parseFloat($('p.relatedKey').css('line-height'));
            var lineNum = 1;
            var textNewHeight = lineHeight * lineNum;

            if (textHeight > textNewHeight) {
                $('div#termWord').css('clear', 'both');
                $('div#termWord').css('width', '100%');
                    $('div#related-key-group').css('clear', 'both');
                    $('div#related-key-group').css('width', '100%');
            };
            });
        }
    });
    /*20221020 同義語の折り返しを防いで改行する　ここまで　田中 //20221024 関連語追加、追加修正　ここまで　田中 */
}
// 20220905 メニューポップアップ部分の不都合修正　ここから　田中
function getMenuPopUp () {
    // 20220819 絞り込みメニューの省略されている部分をポップアップ表示　ここから　田中
    var use = navigator.userAgent;
    if (use.indexOf('iPhone') > 0 || use.indexOf('Android') > 0 && use.indexOf('Mobile') > 0 || use.indexOf('iPad') > 0 || use.indexOf('Android') > 0) {
        // スマホ、タブレットの時
        $('#mCSB_2_container .menutext ').on("mousedown touchstart",function(){ //20220915 挙動がおかしい部分修正
            var menu = $(this);
            var menupopup = $(".menutextpop");
            var selectarea = $("#select-page-tree-search li"); //20220915省略文字部分修正　田中
            var popTop = $("#select-page-tree-search"); //20220915省略文字部分修正　田中
            var menuwidth = menu.width() + 20; //20220915省略文字部分修正　田中

            if( selectarea.width() < menuwidth ) {
            menupopup.text($(this).text());
            var menutop = menu.offset().top - popTop.offset().top + 25; //20220915省略文字部分修正　田中
                //タブレットの場合は、吹き出し部分をパソコンと同じ場所にする
                if (use.indexOf('iPad') > 0 ) {
                    menutop = menu.offset().top - selectarea.offset().top ;
                }
            menupopup.css("top", menutop);
            menupopup.css("border", "2px solid #e9e9e9");
            menupopup.css("background","#fff")
            menupopup.css("color","#000")
            }
        });
        // ポップアップをタップしたら非表示にする
        $('#select-page-tree-search .menutextpop').on("mousedown touchstart",function(){
            $(".menutextpop").text('');
            $('.menutextpop').removeAttr('style');
            return false;
        });
        // 20220902　画面をスクロールすると、メニューのポップが非表示になる処理追加　田中
        $(window).on('scroll', function() {
            $('.menutextpop').text('');
            $('.menutextpop').removeAttr('style');
        });
        $('body').on('touchmove', function() {
            $('.menutextpop').text('');
            $('.menutextpop').removeAttr('style');
        });
    } else {
        // PCの時
        var menuText = document.getElementsByClassName("menutext");
        var menuTexts = Array.from(menuText);

        menuTexts.forEach(function(target) {

            target.addEventListener('mouseenter', function() {
                var menu = $(this);
                var menupopup = $(".menutextpop");
                var selectarea = $("#select-page-tree-search li"); //20220915省略文字部分修正　田中
                var popTop = $("#select-page-tree-search"); //20220915省略文字部分修正　田中
                var menuwidth = menu.width() + 20; //20220915省略文字部分修正　田中

            if( selectarea.width() < menuwidth ) {
              menupopup.text($(this).text());
                var menutop = menu.offset().top - popTop.offset().top; //20220915省略文字部分修正　田中
              menupopup.css("top", menutop);
                    menupopup.css("border", "2px solid #e9e9e9");
                    menupopup.css("background","#fff")
                    menupopup.css("color","#000")
            }
            });
            target.addEventListener('mouseleave', function() {
            $(".menutextpop").text('');
            $('.menutextpop').removeAttr('style');
          });
        });
    }
    // 20220819 絞り込みメニューの省略されている部分をポップアップ表示　ここまで　田中

}
// 20220905 メニューポップアップ部分の不都合修正　ここまで 田中

window.onload=function(){
    // document.getElementById("load").classList.remove("hide");
//    document.getElementById("loading").classList.add("hide");
  }

var setCustomScrollbarForSearch = function($customScroll) {

    if ($.fn.mCustomScrollbar) {
        var themeName = $customScroll.attr('data-scroll-theme');
        themeName = themeName ? themeName : 'light';
        $customScroll
            .mCustomScrollbar({
                axis: 'y',
                theme: themeName,
                autoHideScrollbar: false,
        });
    };
}

document.addEventListener('DOMContentLoaded', () => {
    const resizeObserver = new ResizeObserver((entries) => {
        updateSelectPageTreeSearchHeigth()
    });
    resizeObserver.observe(document.querySelector('#content'));
  }, false)