/**
 * 検索用javascript
 *
 * @author OTSUKA. MOCHIDUKI Y. KAWAHAMA
 * @copyright All Rights Reserved Copyright(c) FUJITSU LIMITED 2008-2010
 */
var Search =
{
    /**
     * OneLookコンテンツの配列を返す
     * コンテンツが１つだけの場合は配列にして返す
     **/
    getContents: function(name)
    {
        if (document.searchForm[name].length > 0)
        {
            // 配列と判断してそのまま返す
            return document.searchForm[name];
        }
        else
        {
            array = new Array(1);
            array[0] = document.searchForm[name];
            return array;
        }
    },

    /**
     * 検索実行中フラグ
     **/
    searchFlagDictSys : 0,
    searchFlagNewsSys : 0,
    searchFlagFullSys : 0,
    searchFlagDetlSys : 0,
    searchFlagIndiSys : 0,
    searchFlagJituSys : 0,
    searchFlagRksSys  : 0,
    searchFlagKtnSys  : 0,
    searchFlagKksSys  : 0,

    /**
     * 前回選択検索範囲
     **/
    prevDetailSearchRangeFlagFirst  : false,
    prevDetailSearchRangeFlagSecond : false,
    prevDetailSearchRangeFlagThird  : false,
    prevIndiSearchRangeFlagFirst  : false,
    prevIndiSearchRangeFlagSecond : false,
    prevIndiSearchRangeFlagThird  : false,

    // 歴史モード
    rekishiModeDisplay : 2,
    rekishiModeSearch  : 2,

    /**
     * エラー文字
     **/
    search_word   : "検索キーワード\n",
    first_search_word  : "１つ目の検索キーワード\n",
    second_search_word : "２つ目の検索キーワード\n",
    third_search_word  : "３つ目の検索キーワード\n",
    contents_list : "コンテンツ一覧\n",
    perf_list     : "検索対象地域\n",
    work_list     : "検索対象作品\n",

    /**
     * 検索範囲「全文」「用例」「方言」の値
     **/
     FULLTEXT_VALUE              : 10,
     EXAMPLE_FULLTEXT_VALUE      : 13,
     EXAMPLE_MAINTEXT_VALUE      : 11,
     EXAMPLE_SOURCE_INF_VALUE    : 12,
     DIALECT_VALUE               : 14,
     DIALECT_ANOMALY             : 20,
     LANGUAGE_OPINIONS_VALUE     : 15,
     LANGUAGEBEGINNING_VALUE     : 16,
     DIALECT_ANOMALY             : 20,
     DIRECTION_CHARA_VALUE       : 22,
     PHRASE_VALUE                : 23,
     FULL_DIRECTION_VALUE        : 24,
     FULL_PHRASE_VALUE           : 25,
     CLASSICAL_TEXT_VALUE        : 33,
     MODERN_LANG_VALUE           : 34,
     HEADNOTE_VALUE              : 35,
     MAINTEXT_VALUE              : 36,
     HEADWORD_AND_MAINTEXT_VALUE : 37,
     AUTHOR_VALUE                : 38,
     REFERENCES_VALUE            : 39,
     FULLTEXT_ALL_VALUE          : 40,
     IMAGES                      : 42,
     FULL_ALL_VALUE              : "TALL",

    /**
     * コンテンツID
     **/
     CONTENTS_ID_ECO : 70010,

    /**
     * 無料検索の実行
     **/
    freeSearch: function ()
    {
        // 検索実行中の場合は、再度検索を行わない
        if (Search.searchFlagDictSys === 1 || Search.searchFlagNewsSys === 1) {
            return false;
        }

        // エラーチェック
        var searchWord = document.searchForm.searchword.value;
        var errors     = Search.searchWordParamCheck(searchWord, 'true');
        if (errors != "") {
            alert(errors);
            document.searchForm.searchword.focus();
            return false;
        }

        // 検索中のローディングバーを表示する
        $("#informationBase").html(Messages.ONELOOK_INSERTION_TAG_FIRST);

        // 検索フラグをたてる
        Search.searchFlagDictSys = 1;
        Search.searchFlagNewsSys = 1;

        // 検索を実行する
        $.post("/stdsearch/freesearch",
        {
            "searchWord"     : searchWord,
            "flowMode"       : 1
        },
        Search.displayDataDictSys);
        $.post("/stdsearch/freesearch",
        {
            "searchWord"     : searchWord,
            "flowMode"       : 2
        },
        Search.displayDataNewsSys);

        // ajaxリクエストがエラーの場合は、５０３エラー画面にリダイレクトする
        $("#informationBase").ajaxError(
            function() {
                location.href='/common/accesserror.html';
            }
        );

        // 検索終了後、検索フラグを戻す
        Search.searchFlagDictSys = 0;
        Search.searchFlagNewsSys = 0;

        // 検索入力フォームにフォーカスを当てる
        document.searchForm.searchword.focus();
    },

    /**
     * 外部検索の実行
     **/
    outsideWebSearch: function (mode_id, current_page)
    {
        var search_word = document.searchForm.search_word1.value;
        // ページ遷移の場合は、hiddenパラメタを設定し直す
        if (current_page) {
            search_word   = document.hiddenForm.search_word1.value;
        }
        if (current_page == null) {
            current_page = "";
        }

        // エラーチェック
        var errors    = Search.searchWordParamCheck(search_word, 'true');

        //サービス選択に関するチェック
        //サービスが複数になった場合、コンテンツ一覧を参照して
        //リスト表示、PARAMSのチェックを行う。
        var service_select = null;
        if (document.servicesForm.services1.checked == true) {
            service_select = document.servicesForm.services1.value;
        }

        if(service_select == null){
            errors += Messages.ERROR_SERVICE_NOT_CHECKED;
        }

        if (errors != "") {
            alert(errors);
            document.searchForm.search_word1.focus();
            return false;
        }
        var uri = document.URL;

        //サービスが複数になった場合、$.POSTによる非同期通信を行う。
        if (service_select == 1) {
            //重要なお知らせ非表示
            $("#importantBase").hide();
            $("#informationBase").html(Messages.OUTSIDEWEB_INSERTION_TAG_FIRST);
            // 検索を実行する
            if (uri.indexOf("top/",0) == -1) {
                $.post("/stdsearch/search",
                {
                    "session_job_mode" : "check",
                    "mode_id"          : mode_id,
                    "search_word"      : search_word,
                    "current_page"     : current_page,
                    "service_select"   : 1
                },
                Search.displayDataOutsideWebSys);
            } else {
                $.post("/top/search",
                {
                    "mode_id"          : mode_id,
                    "search_word"      : search_word,
                    "current_page"     : current_page,
                    "service_select"   : 1
                },
                Search.displayDataOutsideWebSys);
            }
        document.searchForm.search_word1.focus();
        }
    },

    /**
     * 外部検索結果に対する処理
     **/
    displayDataOutsideWebSys: function (data) {
        $("#informationBase").html(data);
    },

    /**
     * ワンルック検索の実行
     **/
    basisSearch: function (basis_mode, flow_mode, current_page, contents_select, is_next_page)
    {
        var search_word = "";

        if (flow_mode == null) {
            flow_mode = 0;
        }
        if (basis_mode == null) {
            basis_mode = 0;
        }
        if (current_page == null) {
            current_page = "";
        }
        if (is_next_page != null && is_next_page == true) {
            search_word = document.getElementById("next_search_word").value;
        } else {
            search_word = document.searchForm.search_word.value;
        }

        if (contents_select == null) {
            // コンテンツ一覧のチェック情報を取得
            if (document.searchForm["contents[]"] != undefined) {
                contents_select = '';
                var start = 0;
                var end   = Search.getContents("contents[]").length;
                if (end != null) {
                    for(start = 0; start < end; start++){
                        if (Search.getContents("contents[]")[start].checked == true) {
                            if (contents_select == '') {
                                contents_select = Search.getContents("contents[]")[start].value;
                            } else {
                                contents_select = contents_select + "," + Search.getContents("contents[]")[start].value;
                            }
                        }
                    }
                } else {
                    contents_select = document.searchForm["contents[]"].value;
                }
            }
        }

        // 見出し検索
        if (basis_mode == 0 && Search.searchFlagFullSys == 0 &&
            Search.searchFlagDictSys == 0 && Search.searchFlagNewsSys == 0) {
            // 辞事典系・記事叢書系に対して検索を行う
            if (flow_mode == 0) {
                Search.searchFlagDictSys = 1;
                Search.searchFlagNewsSys = 1;
                // エラーチェック
                var word1errors    = Search.searchWordParamCheck(search_word, 'true');
                if (word1errors != '') {
                    word1errors = Search.search_word + word1errors;
                }
                var contentserrors = Search.contentsSelectParamCheck(contents_select);
                if (contentserrors != '') {
                    contentserrors = Search.contents_list + contentserrors;
                }
                var errors = word1errors + contentserrors;
                if (errors != "") {
                    alert(errors);
                    Search.searchFlagDictSys = 0;
                    Search.searchFlagNewsSys = 0;
                    document.searchForm.search_word.focus();
                    return false;
                }
                $("#importantBase").hide();
                $("#informationBase").html(Messages.ONELOOK_INSERTION_TAG_FIRST);
                // 検索を実行する
                $.post("/stdsearch/search",
                {
                    "session_job_mode" : "check",
                    "mode_id"         : 1,
                    "search_word"     : search_word,
                    "contents_select" : contents_select,
                    "flow_mode"       : 1,
                    "current_page"    : current_page,
                    "basis_mode"      : basis_mode
                },
                Search.displayDataDictSys);
                $.post("/stdsearch/search",
                {
                    "session_job_mode" : "check",
                    "mode_id"         : 1,
                    "search_word"     : search_word,
                    "contents_select" : contents_select,
                    "flow_mode"       : 2,
                    "current_page"    : current_page,
                    "basis_mode"      : basis_mode
                },
                Search.displayDataNewsSys);

            // 辞事典系に対して検索を行う(ページ遷移に使用)
            } else if (flow_mode == 1) {
                $("#dictAndMedia").html(Messages.ONELOOK_INSERTION_TAG_DICT);
                // 検索を実行する
                $.post("/stdsearch/search",
                {
                    "mode_id"         : 1,
                    "search_word"     : search_word,
                    "contents_select" : contents_select,
                    "flow_mode"       : flow_mode,
                    "current_page"    : current_page,
                    "basis_mode"      : basis_mode
                },
                Search.displayDataDictSys);

            // 記事叢書系に対して検索を行う(ページ遷移に使用)
            } else if (flow_mode == 2) {
                $("#newsAndSeries").html(Messages.ONELOOK_INSERTION_TAG_NEWS);
                // 検索を実行する
                $.post("/stdsearch/search",
                {
                    "mode_id"         : 1,
                    "search_word"     : search_word,
                    "contents_select" : contents_select,
                    "flow_mode"       : flow_mode,
                    "current_page"    : current_page,
                    "basis_mode"      : basis_mode
                },
                Search.displayDataNewsSys);
            }
        // 全文検索
        } else if (basis_mode == 1 && Search.searchFlagFullSys == 0 &&
                   Search.searchFlagDictSys == 0 && Search.searchFlagNewsSys == 0) {
            Search.searchFlagFullSys = 1;
            // エラーチェック
            var word1errors    = Search.searchWordParamCheck(search_word, 'true');
            if (word1errors != '') {
                word1errors = Search.search_word + word1errors;
            }
            var contentserrors = Search.contentsSelectParamCheck(contents_select);
            if (contentserrors != '') {
                contentserrors = Search.contents_list + contentserrors;
            }
            var errors = word1errors + contentserrors;
            if (errors != "") {
                alert(errors);
                Search.searchFlagFullSys = 0;
                document.searchForm.search_word.focus();
                return false;
            }
            $("#importantBase").hide();
            $("#informationBase").html(Messages.ONELOOK_INSERTION_TAG_FULLTEXT);
            // 検索を実行する
            if (flow_mode == 0) {
                $.post("/stdsearch/search",
                {
                    "session_job_mode" : "check",
                    "mode_id"         : 1,
                    "search_word"     : search_word,
                    "contents_select" : contents_select,
                    "flow_mode"       : 3,
                    "current_page"    : current_page,
                    "basis_mode"      : 1
                },
                Search.displayDataFullSys);
            } else if (flow_mode == 3){
                $("#contentsFulltext").html(Messages.ONELOOK_INSERTION_TAG_FULLTEXT_PAGE);
                // 検索を実行する
                $.post("/stdsearch/search",
                {
                    "session_job_mode" : "check",
                    "mode_id"         : 1,
                    "search_word"     : search_word,
                    "contents_select" : contents_select,
                    "flow_mode"       : 3,
                    "current_page"    : current_page,
                    "basis_mode"      : 1
                },
                Search.displayDataFullPageSys);
            }
        }
        document.searchForm.search_word.focus();
    },

    /**
     * 辞事典系の検索結果に対する処理
     **/
    displayData: function (data) {
        $("#informationBase").html(data);
    },

    /**
     * 辞事典系の検索結果に対する処理
     **/
    displayDataDictSys: function (data) {
        $("#dictAndMedia").html(data);
        Search.searchFlagDictSys = 0;
    },

    /**
     * 記事叢書系の検索結果に対する処理
     **/
    displayDataNewsSys: function (data) {
        $("#newsAndSeries").html(data);
        Search.searchFlagNewsSys = 0;
    },

    /**
     * 全文の検索結果に対する処理
     **/
    displayDataFullSys: function (data) {
        $("#informationBase").html(data);
        Search.searchFlagFullSys = 0;
    },

    /**
     * 全文の検索結果に対する処理(ページ遷移)
     **/
    displayDataFullPageSys: function (data) {
        $("#contentsFulltext").html(data);
        Search.searchFlagFullSys = 0;
    },

    /**
     * 詳細検索処理
     **/
    detailsSearch: function (current_page)
    {
        if (Search.searchFlagDetlSys == 0) {
            Search.searchFlagDetlSys = 1;
            // フォームの値を取得
            var search_word1  = document.searchForm.search_word1.value;
            var search_word2  = document.searchForm.search_word2.value;
            var search_word3  = document.searchForm.search_word3.value;
            var search_way1   = document.searchForm.search_way1.value;
            var search_way2   = document.searchForm.search_way2.value;
            var search_way3   = document.searchForm.search_way3.value;
            var search_range1 = document.searchForm.search_range1.value;
            var search_range2 = document.searchForm.search_range2.value;
            var search_range3 = document.searchForm.search_range3.value;
            var search_sort1  = document.searchForm.search_sort1.value;
            var search_sort2  = document.searchForm.search_sort2.value;
            var search_sort3  = document.searchForm.search_sort3.value;
            var search_joint1 = document.searchForm.search_joint1.value;
            var search_joint2 = document.searchForm.search_joint2.value;

            // IEのパラメタ取得 不備対応
            var displaycount_element  = document.getElementById("displaycount");
            var displaycount = displaycount_element.value;
            if (document.searchForm.search_phrase.checked == true) {
                var search_phrase = 1;
            } else {
                var search_phrase = 0;
            }

            if (current_page == null) {
                current_page = "";
            }

            // コンテンツ一覧のチェック情報を取得
            var contents_select = '';
            if (document.searchForm["contents[]"] != undefined) {
                contents_select = '';
                var start = 0;
                var end   = Search.getContents("contents[]").length;
                if (end != null) {
                    for(start = 0; start < end; start++) {
                        if (Search.getContents("contents[]")[start].checked == true) {
                            if (contents_select == '') {
                                contents_select = Search.getContents("contents[]")[start].value;
                            } else {
                                contents_select = contents_select + "," + Search.getContents("contents[]")[start].value;
                            }
                        }
                    }
                } else {
                    contents_select = document.searchForm["contents[]"].value;
                }
            } else {
                alert(Messages.ERROR_CONTENTS_NOT_CONTRACT);
                return;
            }

            // 検索語とコンテンツ一覧のエラーチェック
            var word1errors    = Search.searchWordParamCheck(search_word1, 'true');
            var word2errors    = Search.searchWordParamCheck(search_word2);
            var word3errors    = Search.searchWordParamCheck(search_word3);
            var contensterrors = Search.contentsSelectParamCheck(contents_select);
            if (word1errors != '') {
                word1errors = Search.first_search_word + word1errors;
            }
            if (word2errors != '') {
                word2errors = Search.second_search_word + word2errors;
            }
            if (word3errors != '') {
                word3errors = Search.third_search_word + word3errors;
            }
            if (contensterrors != '') {
            contensterrors = Search.contents_list + contensterrors;
            }
            var errors = word1errors + word2errors + word3errors + contensterrors;

            if (errors != '') {
                alert(errors);
                Search.searchFlagDetlSys = 0;
                document.searchForm.search_word1.focus();
                return false;
            }

            //ボタン押下
            if ( current_page == "" ){
                // 待機GIFを表示
                $("#importantBase").hide();
                $("#informationBase").html(Messages.DETAILS_INSERTION_TAG_FIRST);
                // 検索処理
                $.post("/stdsearch/search",
                {
                    "session_job_mode" : "check",
                    "mode_id"          : 2,
                    "contents_select"  : contents_select,
                    "current_page"     : current_page,
                    "search_word1"     : search_word1,
                    "search_word2"     : search_word2,
                    "search_word3"     : search_word3,
                    "search_way1"      : search_way1,
                    "search_way2"      : search_way2,
                    "search_way3"      : search_way3,
                    "search_sort1"     : search_sort1,
                    "search_sort2"     : search_sort2,
                    "search_sort3"     : search_sort3,
                    "search_range1"    : search_range1,
                    "search_range2"    : search_range2,
                    "search_range3"    : search_range3,
                    "search_joint1"    : search_joint1,
                    "search_joint2"    : search_joint2,
                    "displaycount"     : displaycount,
                    "search_phrase"    : search_phrase
                },
                Search.detailsdisplayData);
            } else if (current_page !== "" ) {
                // ページ遷移の場合は、hiddenパラメタを設定し直す
                search_word1    = document.hiddenForm.details_word1.value;
                search_word2    = document.hiddenForm.details_word2.value;
                search_word3    = document.hiddenForm.details_word3.value;
                search_way1     = document.hiddenForm.details_way1.value;
                search_way2     = document.hiddenForm.details_way2.value;
                search_way3     = document.hiddenForm.details_way3.value;
                search_range1   = document.hiddenForm.details_range1.value;
                search_range2   = document.hiddenForm.details_range2.value;
                search_range3   = document.hiddenForm.details_range3.value;
                search_sort1    = document.hiddenForm.details_sort1.value;
                search_sort2    = document.hiddenForm.details_sort2.value;
                search_sort3    = document.hiddenForm.details_sort3.value;
                search_joint1   = document.hiddenForm.details_joint1.value;
                search_joint2   = document.hiddenForm.details_joint2.value;
                search_phrase   = document.hiddenForm.details_phrase.value;
                displaycount    = document.hiddenForm.displaycount.value;
                contents_select = document.hiddenForm.contents_select.value;

                $("#searchDetails").html(Messages.DETAILS_INSERTION_TAG_PAGE);
                $.post("/stdsearch/search",
                {
                    "session_job_mode" : "check",
                    "mode_id"          : 2,
                    "contents_select"  : contents_select,
                    "current_page"     : current_page,
                    "search_word1"     : search_word1,
                    "search_word2"     : search_word2,
                    "search_word3"     : search_word3,
                    "search_way1"      : search_way1,
                    "search_way2"      : search_way2,
                    "search_way3"      : search_way3,
                    "search_sort1"     : search_sort1,
                    "search_sort2"     : search_sort2,
                    "search_sort3"     : search_sort3,
                    "search_range1"    : search_range1,
                    "search_range2"    : search_range2,
                    "search_range3"    : search_range3,
                    "search_joint1"    : search_joint1,
                    "search_joint2"    : search_joint2,
                    "displaycount"     : displaycount,
                    "search_phrase"    : search_phrase
                },
                Search.detailsdisplayData);
            }
        }
        document.searchForm.search_word1.focus();
    },

    /**
     * 検索結果に対する処理
     **/
    detailsdisplayData: function (data)
    {
        $("#searchDetails").html(data);
        Search.searchFlagDetlSys = 0;
    },

    /**
     * 個別検索処理
     **/
    individualSearch: function (current_page, contents_id, mode_id)
    {
        var targetForm = document.searchForm;
        if (Search.searchFlagIndiSys == 0) {
            Search.searchFlagIndiSys = 1;
            var init_page_flag = 0;
            var errorheadword = '';

            var displaycount = targetForm.displaycount.value;
            // ページ遷移の場合は、hiddenパラメタを設定し直す
            if (current_page) {
                displaycount   = document.hiddenForm.displaycount.value;
                contents_id    = document.hiddenForm.contents_id.value;
            }

            if (mode_id != 0){
                var search_word1  = targetForm.search_word1.value;
                var search_way1   = targetForm.search_way1.value;
                var search_range1 = targetForm.search_range1.value;
                // ページ遷移の場合は、hiddenパラメタを設定し直す
                if (current_page) {
                    search_word1   = document.hiddenForm.searchword1.value;
                    search_way1    = document.hiddenForm.search_way1.value;
                    search_range1  = document.hiddenForm.search_range1.value;
                }
            } else {
                var search_word1  = "";
                var search_way1   = "";
                var search_range1 = "";
            }

            if (mode_id == 3 || mode_id == 5){
                var search_word2  = targetForm.search_word2.value;
                var search_word3  = targetForm.search_word3.value;
                var search_way2   = targetForm.search_way2.value;
                var search_way3   = targetForm.search_way3.value;
                var search_range2 = targetForm.search_range2.value;
                var search_range3 = targetForm.search_range3.value;
                var search_joint1 = targetForm.search_joint1.value;
                var search_joint2 = targetForm.search_joint2.value;
                // ページ遷移の場合は、hiddenパラメタを設定し直す
                if (current_page) {
                    search_word2   = document.hiddenForm.searchword2.value;
                    search_word3   = document.hiddenForm.searchword3.value;
                    search_way2    = document.hiddenForm.search_way2.value;
                    search_way3    = document.hiddenForm.search_way3.value;
                    search_range2  = document.hiddenForm.search_range2.value;
                    search_range3  = document.hiddenForm.search_range3.value;
                    search_sort1   = document.hiddenForm.search_sort.value;
                    search_joint1  = document.hiddenForm.search_joint1.value;
                    search_joint2  = document.hiddenForm.search_joint2.value;
                }
            } else {
                var search_word2  = "";
                var search_word3  = "";
                var search_way2   = "";
                var search_way3   = "";
                var search_range2 = "";
                var search_range3 = "";
                var search_joint1 = "";
                var search_joint2 = "";
            }

            if (targetForm.search_sort1){
                var search_sort1   = targetForm.search_sort1.value;
                // ページ遷移の場合は、hiddenパラメタを設定し直す
                if (current_page) {
                    search_sort1   = document.hiddenForm.search_sort.value;
                }
            } else {
                var search_sort1   = "";
            }

            if (targetForm.divide_data1){
                var divide_data1   = targetForm.divide_data1.value;
                // ページ遷移の場合は、hiddenパラメタを設定し直す
                if (current_page) {
                    divide_data1   = document.hiddenForm.devide_data1.value;
                }
            } else {
                var divide_data1   = "";
            }

            if (targetForm.divide_data2){
                var divide_data2   = targetForm.divide_data2.value;
                // ページ遷移の場合は、hiddenパラメタを設定し直す
                if (current_page) {
                    divide_data2   = document.hiddenForm.devide_data2.value;
                }
            } else {
                var divide_data2   = "";
            }

            if (targetForm.divide_data3){
                var divide_data3   = targetForm.divide_data3.value;
                // ページ遷移の場合は、hiddenパラメタを設定し直す
                if (current_page) {
                    divide_data3   = document.hiddenForm.devide_data3.value;
                }
            } else {
                var divide_data3   = "";
            }

            if (targetForm.divide_data4){
                var divide_data4   = targetForm.divide_data4.value;
                // ページ遷移の場合は、hiddenパラメタを設定し直す
                if (current_page) {
                    divide_data4   = document.hiddenForm.devide_data4.value;
                }
            } else {
                var divide_data4   = "";
            }

            if (targetForm.divide_data5){
                var divide_data5   = targetForm.divide_data5.value;
                // ページ遷移の場合は、hiddenパラメタを設定し直す
                if (current_page) {
                    divide_data5   = document.hiddenForm.devide_data5.value;
                }
            } else {
                var divide_data5   = "";
            }

            if (targetForm.divide_data6){
                var divide_data6   = targetForm.divide_data6.value;
                // ページ遷移の場合は、hiddenパラメタを設定し直す
                if (current_page) {
                    divide_data6   = document.hiddenForm.devide_data6.value;
                }
            } else {
                var divide_data6   = "";
            }

            if (targetForm.divide_data7){
                var divide_data7   = targetForm.divide_data7.value;
                // ページ遷移の場合は、hiddenパラメタを設定し直す
                if (current_page) {
                    divide_data7   = document.hiddenForm.devide_data7.value;
                }
            } else {
                var divide_data7   = "";
            }

            if (targetForm.divide_data8){
                var divide_data8   = targetForm.divide_data8.value;
                // ページ遷移の場合は、hiddenパラメタを設定し直す
                if (current_page) {
                    divide_data8   = document.hiddenForm.devide_data8.value;
                }
            } else {
                var divide_data8   = "";
            }

            if (targetForm.divide_data9){
                var divide_data9   = targetForm.divide_data9.value;
                // ページ遷移の場合は、hiddenパラメタを設定し直す
                if (current_page) {
                    divide_data9   = document.hiddenForm.devide_data9.value;
                }
            } else {
                var divide_data9   = "";
            }

            if (targetForm.divide_data10){
                var divide_data10   = targetForm.divide_data10.value;
                // ページ遷移の場合は、hiddenパラメタを設定し直す
                if (current_page) {
                    divide_data10  = document.hiddenForm.devide_data10.value;
                }
            } else {
                var divide_data10   = "";
            }

            var date_text = "";
            if (targetForm.date_kind1){
                var date_kind1      = targetForm.date_kind1.value;
                // ページ遷移の場合は、hiddenパラメタを設定し直す
                if (current_page) {
                    date_kind1     = document.hiddenForm.date_kind1.value;
                }

                // 表示テキストを設定する
                if (contents_id == Search.CONTENTS_ID_ECO && date_kind1 != "ALL") {
                    var dateParent   = document.getElementById("date_kind1");
                    var dateval      = date_kind1;
                    date_text        = dateParent[dateParent.selectedIndex].text;

                    // ページ遷移の場合は、hiddenパラメタを設定し直す
                    if (current_page) {
                        for (idx = 0 ; idx < dateParent.length ; idx++) {
                            selectval = dateParent[idx].value;
                            if (selectval == dateval) {
                                date_text = dateParent[idx].text;
                                break;
                            }
                        }
                    }
                }

            } else {
                var date_kind1      = "";
            }

            if (targetForm.date_kind2){
                var date_kind2      = targetForm.date_kind2.value;
                // ページ遷移の場合は、hiddenパラメタを設定し直す
                if (current_page) {
                    date_kind2     = document.hiddenForm.date_kind2.value;
                }
            } else {
                var date_kind2      = "";
            }

            if (targetForm.date_kind3){
                var date_kind3      = targetForm.date_kind3.value;
                // ページ遷移の場合は、hiddenパラメタを設定し直す
                if (current_page) {
                    date_kind3     = document.hiddenForm.date_kind3.value;
                }
            } else {
                var date_kind3      = "";
            }

            if (targetForm.owner_headword) {
               if (targetForm.owner_headword.checked == true) {
                   var owner_headword = 1;
                // ページ遷移の場合は、hiddenパラメタを設定し直す
                if (current_page) {
                    owner_headword = document.hiddenForm.owner_headword.value;
                }
               } else {
                   var owner_headword = 0;
               }
            } else {
               var owner_headword = "";
            }

            if (targetForm.child_headword) {
               if (targetForm.child_headword.checked == true) {
                   var child_headword = 1;
                // ページ遷移の場合は、hiddenパラメタを設定し直す
                if (current_page) {
                    child_headword = document.hiddenForm.child_headword.value;
                }
               } else {
                   var child_headword = 0;
               }
            } else {
               var child_headword = "";
            }

            if (targetForm.extra_headword) {
               if (targetForm.extra_headword.checked == true) {
                   var extra_headword = 1;
                // ページ遷移の場合は、hiddenパラメタを設定し直す
                if (current_page) {
                    extra_headword = document.hiddenForm.extra_headword.value;
                }
               } else {
                   var extra_headword = 0;
               }
            } else {
               var extra_headword = "";
            }

            // 東洋文庫 対象フラグのチェック
            if (targetForm.radio_book && targetForm.radio_page) {
                if (targetForm.radio_book.checked) {
                   var target_flag = targetForm.radio_book.value;
                } else if (targetForm.radio_page.checked) {
                   var target_flag = targetForm.radio_page.value;
                } else {
                   var target_flag = "";
                }
                // ページ遷移の場合は、hiddenパラメタを設定し直す
                if (current_page) {
                    target_flag    = document.hiddenForm.target_flag.value;
                }
            } else {
                var target_flag = "";
            }

            // 日本国語大辞典 見出し種別
            if (owner_headword === "" && child_headword === "" && extra_headword === ""){
               errorheadword = "";
            } else {
               errorheadword = Search.searchHeadWordCheck(mode_id);
            }

            if (current_page == null) {
                current_page = "";
            }

            // 週刊エコノミスト 検索式の中分類のVALUE値を
            //                  セレクトボックスに表示されている文言を取得する
            var divide_text = "";
            if (targetForm.divideDispText) {
                if (contents_id == Search.CONTENTS_ID_ECO) {
                    var parent = document.getElementById("divide_data2");
                    var divideval = divide_data2;
                } else {
                    var parent = document.getElementById("divide_data1");
                    var divideval = divide_data1;
                }
                divide_text = parent[parent.selectedIndex].text;
                // ページ遷移の場合は、hiddenパラメタを設定し直す
                if (current_page) {
                    for (idx = 0 ; idx < parent.length ; idx++) {
                        selectval = parent[idx].value;
                        if (selectval == divideval) {
                            divide_text    = parent[idx].text;
                            break;
                        }
                    }
                }
            }

            // 検索語のチェック
            var errors = "";

            // 日本大百科全書(絞込み)・JK Who's Who(絞込み)・亀井肇の新語探検(絞込み)
            // NNA:アジア&EU 国際情報(絞込み)・週刊エコノミスト(絞込み)・田中宇のﾜｰﾙﾄﾞ・ｸﾛﾆｸﾙ(絞込み)
            // 山根一眞のIT書斎術百科(絞込み)・東洋文庫(基本)・会社四季報
            if (mode_id != 0) {
                var bchk = 'true';
                if (mode_id == 1 || mode_id == 4 || mode_id == 5) {
                    bchk = 'false';
                }

                var word1errors = Search.searchWordParamCheck(search_word1, bchk);

                if (mode_id == 3 && word1errors != '') {
                   if (document.getElementById('detailTbl').style.display == "block") {
                       var errorword = Search.first_search_word + word1errors;
                   } else {
                       var errorword = word1errors;
                   }
                } else if (mode_id == 5 && word1errors != '') {
                   if (document.getElementById('detailTbl').style.display == "block") {
                       var errorword = Search.first_search_word + word1errors;
                   }
                } else {
                    var errorword = word1errors;
                }
            } else {
                var errorword = '';
            }

            // 東洋文庫(詳細)で、検索語１が空かつ、検索語２，３にキーワードが指定された場合は入力エラーとする
            if (mode_id == 5) {
                if (document.getElementById('detailTbl').style.display == 'block') {
                    var replace_word1 = search_word1.replace(/[\t|\n|\r|\s|　]+/g, ' ');
                    var trim_word1    = replace_word1.replace(/^\s+|\s+$/g,'');
                    var replace_word2 = search_word2.replace(/[\t|\n|\r|\s|　]+/g, ' ');
                    var trim_word2    = replace_word2.replace(/^\s+|\s+$/g,'');
                    var replace_word3 = search_word3.replace(/[\t|\n|\r|\s|　]+/g, ' ');
                    var trim_word3    = replace_word3.replace(/^\s+|\s+$/g,'');
                    if (trim_word1 === "" && (trim_word2 !== "" || trim_word3 !== "")) {
                        bchk = 'true';
                        var word1errors = Search.searchWordParamCheck(search_word1, bchk);
                        if (word1errors !== '') {
                            errorword += Search.first_search_word + word1errors;
                        }
                    }
                }
            }

            // 日本国語大辞典(詳細)・東洋文庫(詳細)
            if (mode_id == 3 || mode_id == 5) {
                var word2errors = Search.searchWordParamCheck(search_word2);
                var word3errors = Search.searchWordParamCheck(search_word3);

                if (word2errors != '') {
                    errorword += Search.second_search_word + word2errors;
                }

                if (word3errors != '') {
                    errorword += Search.third_search_word + word3errors;
                }
            }

            // 分類のチェック
            var errorsdate = '';
            var errorsdivide = '';
            var alldfalg = 'true';
            var allkfalg = 'true';
            if (mode_id == 0 || mode_id == 1) {
                // 埋め込んだタグを元にチェックを行う。
                for(var i=1;i<=10;i++) {
                    if(eval("targetForm.divide_data" + i)) {
                        var dObj = eval("targetForm.divide_data" + i);
                        var errortmp = Search.searchDivideDataCheck(dObj.value);
                        if (errortmp == ''){
                            alldfalg = 'false';
                        } else if (errortmp == 1) {
                            errortmp = '';
                        } else if (errortmp != ''){
                            errorsdivide = errortmp;
                            alldfalg = 'false';
                        }
                    }
                }

                for(var i=1;i<=3;i++) {
                    if(eval("targetForm.date_kind" + i)) {
                        var kObj = eval("targetForm.date_kind" + i);
                        var errortmp = Search.searchDateDataCheck(kObj.value);
                        if (errortmp == '') {
                            allkfalg = 'false';
                        } else if (errortmp == 1) {
                            errortmp = '';
                        } else if (errortmp != '') {
                            errorsdate = errortmp;
                            allkfalg = 'false';
                        }
                    }
                }
           }

            // 検索モードによる処理分岐
            if (mode_id == 0 && (errorsdivide != '' || errorsdate != '')) {
               errors = errorsdivide + errorsdate;
            } else if (mode_id == 1 && (errorsdivide != '' || errorsdate != '')) {
               errors = errorsdivide + errorsdate;
            } else if (mode_id == 1 && errorword != '' && alldfalg == 'true' && allkfalg == 'true') {
               errors = errorword;
            } else if ((mode_id == 2 || mode_id == 3) && (errorheadword !== "" || errorword !== "")) {
               errors = errorword + errorheadword;
            } else if (mode_id != 1) {
               errors = errorsdivide + errorsdate + errorword;
            }

            // エラーがある場合はアラートを表示
            if (errors != '') {
                alert(errors);
                Search.searchFlagIndiSys = 0;
                if (mode_id != 0) {
                    targetForm.search_word1.focus();
                }
                return false;
            }

            //ボタン押下
            if ( current_page == "" ) {
                // 待機GIFを表示
                $("#viewBase").html(Messages.INDIVIDUAL_INSERTION_TAG_FIRST);
            } else {
                $("#viewBase").html(Messages.INDIVIDUAL_INSERTION_TAG_PAGE);
            }

            // 検索処理
            $.post("/individualsearch/search",
            {
                "session_job_mode" : "check",
                "mode_id"          : mode_id,
                "search_word1"     : search_word1,
                "search_word2"     : search_word2,
                "search_word3"     : search_word3,
                "search_way1"      : search_way1,
                "search_way2"      : search_way2,
                "search_way3"      : search_way3,
                "search_range1"    : search_range1,
                "search_range2"    : search_range2,
                "search_range3"    : search_range3,
                "search_sort1"     : search_sort1,
                "search_joint1"    : search_joint1,
                "search_joint2"    : search_joint2,
                "displaycount"     : displaycount,
                "divide_data1"     : divide_data1,
                "divide_data2"     : divide_data2,
                "divide_data3"     : divide_data3,
                "divide_data4"     : divide_data4,
                "divide_data5"     : divide_data5,
                "divide_data6"     : divide_data6,
                "divide_data7"     : divide_data7,
                "divide_data8"     : divide_data8,
                "divide_data9"     : divide_data9,
                "divide_data10"    : divide_data10,
                "date_kind1"       : date_kind1,
                "date_kind2"       : date_kind2,
                "date_kind3"       : date_kind3,
                "owner_headword"   : owner_headword,
                "child_headword"   : child_headword,
                "extra_headword"   : extra_headword,
                "current_page"     : current_page,
                "contents_id"      : contents_id,
                "init_page_flag"   : init_page_flag,
                "target_flag"      : target_flag,
                "divide_text"      : divide_text,
                "date_text"        : date_text
            },
            Search.individualdisplayData);
        }

        if (mode_id != 0) {
            targetForm.search_word1.focus();
        }
    },

    /**
     * 個別検索処理
     **/
    initPageMove: function (current_page, contents_id, mode_id)
    {
        var displaycount = document.hiddenForm.displaycount;
        var init_page_flag = 1;
        if (current_page == null) {
            current_page = "";
        }

        // 待機GIFを表示
        $("#viewBase").html(Messages.INDIVIDUAL_INSERTION_TAG_FIRST);

        // 検索処理
        $.post("/individualsearch/search",
        {
            "mode_id"        : mode_id,
            "search_word1"   : "",
            "search_word2"   : "",
            "search_word3"   : "",
            "search_way1"    : "",
            "search_way2"    : "",
            "search_way3"    : "",
            "search_range1"  : "",
            "search_range2"  : "",
            "search_range3"  : "",
            "search_sort1"   : "",
            "search_joint1"  : "",
            "search_joint2"  : "",
            "displaycount"   : "",
            "divide_data1"   : "",
            "divide_data2"   : "",
            "divide_data3"   : "",
            "divide_data4"   : "",
            "divide_data5"   : "",
            "divide_data6"   : "",
            "divide_data7"   : "",
            "divide_data8"   : "",
            "divide_data9"   : "",
            "divide_data10"  : "",
            "date_kind1"     : "",
            "date_kind2"     : "",
            "date_kind3"     : "",
            "owner_headword" : "",
            "child_headword" : "",
            "extra_headword" : "",
            "current_page"   : current_page,
            "contents_id"    : contents_id,
            "init_page_flag" : init_page_flag,
            "target_flag"    : ""
        },
        Search.individualdisplayData);
    },

    /**
     * 検索結果に対する処理
     **/
    individualdisplayData: function (data)
    {
        $("#viewBase").html(data);
        Search.searchFlagIndiSys = 0;
    },


    /**
     * 個別検索 個別モード遷移
     **/
    individualdisplay: function (mode_id,contents_id)
    {
        var f = document.searchForm;
        f.action = '/individualsearch/display';
        f.contents_id.value = contents_id;
        f.mode_id.value = mode_id;
        f.session_job_mode.value = "update";
        f.method = 'get';
        f.submit();
    },

    /**
     * 検索結果に対する処理
     **/
    selfdisplayData: function (data)
    {
       document.writeln(data);
    },

    /**
     * テキストのEnter対応
     **/
    stopEnter: function (keyEvn, current_page, basis_mode, flow_mode, contents_id, mode_id, freeMode)
    {
         var blowserTypeMIE ="MIE";
         var blowserTypeNSC ="NSC";

        // ブラウザの判別
        if(navigator.appName.charAt(0) == "M"){
            var blowserType = blowserTypeMIE;
        } else if(navigator.appName.charAt(0) == "N"){
            var blowserType =  blowserTypeNSC;
        }

        if (blowserType == blowserTypeMIE) {
           var evn = window.event.keyCode;
        } else if (blowserType == blowserTypeNSC) {
           var evn = keyEvn.keyCode;
        }

        //basis_mode 0:OneLook見出し検索
        //           1:OneLook全文検索
        //           2:詳細検索
        //           3:個別検索
        //           5:外部検索

        if (evn== 13) {
            if (freeMode === 1) {
                Search.freeSearch();
                return false;
            }
            if (basis_mode == 2) {
                Search.detailsSearch(current_page);
            } else if (basis_mode == 0) {
                Search.basisSearch(basis_mode, flow_mode, current_page);
            } else if (basis_mode == 3) {
                Search.individualSearch(current_page, contents_id, mode_id);
            } else if (basis_mode == 5) {
                Search.outsideWebSearch(mode_id, current_page);
            }
        }
    },

    /**
     * 1つ目のソート順の選択状況に応じて2つ目のソート順を作成する
     **/
    createSecondSortSelectBox: function (first_id, second_id, third_id)
    {
        // 初期化処理
        var hash = new Array();
        var text = new Array();

        // セレクトボックスのエレメントを取得する
        var first_selectbox  = document.getElementById(first_id);
        var second_selectbox = document.getElementById(second_id);
        var third_selectbox  = document.getElementById(third_id);

        // セレクトボックスのオプションを削除する
        for(start = second_selectbox.childNodes.length-1;start >= 0;start--){
            second_selectbox.removeChild(second_selectbox.childNodes[start]);
        }
        for(start = third_selectbox.childNodes.length-1;start >= 0;start--){
            third_selectbox.removeChild(third_selectbox.childNodes[start]);
        }

        // セレクトボックスの値のハッシュを作成
        for(start = 0;start < first_selectbox.length; start++){
            text[start]                               = first_selectbox.options[start].text;
            hash[first_selectbox.options[start].text] = first_selectbox.options[start].value;
        }

        // オプションを作成する
        text.splice(first_selectbox.selectedIndex, 1);
        Search.appendOptions(second_selectbox, text);

        //オプションのValue値を変更する
        for (start = 0;start < second_selectbox.length; start++) {
            second_selectbox.options[start].value = hash[second_selectbox.options[start].text];
            }
        Search.createThirdSortSelectBox(second_id, third_id);
    },

    /**
     * 2つ目のソート順の選択状況に応じて3つ目のソート順を作成する
     **/
    createThirdSortSelectBox: function (second_id, third_id)
    {
        // 初期化処理
        var hash = new Array();
        var text = new Array();

        // 2つ目のセレクトボックスと3つ目のセレクトボックスのエレメントを取得する
        var second_selectbox = document.getElementById(second_id);
        var third_selectbox  = document.getElementById(third_id);

        // 3つ目のセレクトボックスのオプションをすべて削除する
        for(i = third_selectbox.childNodes.length-1;i >= 0;i--){
            third_selectbox.removeChild(third_selectbox.childNodes[i]);
        }

        // セレクトボックスの値のハッシュを作成
        for(start = 0;start < second_selectbox.length; start++){
            text[start]                                = second_selectbox.options[start].text;
            hash[second_selectbox.options[start].text] = second_selectbox.options[start].value;
            }

        // オプションを作成する
        text.splice(second_selectbox.selectedIndex, 1);
        Search.appendOptions(third_selectbox, text);

        //オプションのValue値を変更する
        for (start = 0;start < third_selectbox.length; start++) {
            third_selectbox.options[start].value = hash[third_selectbox.options[start].text];
            }
    },

    /**
     * セレクトに対してオプションを追加する
     **/
    appendOptions: function (e, option_datas)
    {
        for(start = 0;start < option_datas.length;start++){
            var option = document.createElement("option");
            if (document.createTextNode(option_datas[start]) != null) {
                option.appendChild(document.createTextNode(option_datas[start]));
                e.appendChild(option);
            }
        }
    },

    /**
     * 選択状態をクリアする
     **/
    clear: function (sort_option)
    {
        // 選択状態を初期状態に戻す
        document.searchForm.search_word1.value          = "";
        document.searchForm.search_word2.value          = "";
        document.searchForm.search_word3.value          = "";
        document.searchForm.search_way1[0].selected     = true;
        document.searchForm.search_way1.disabled        = false;
        document.searchForm.search_way2[0].selected     = true;
        document.searchForm.search_way2.disabled        = false;
        document.searchForm.search_way3[0].selected     = true;
        document.searchForm.search_way3.disabled        = false;
        document.searchForm.search_range1[0].selected   = true;
        document.searchForm.search_range2[0].selected   = true;
        document.searchForm.search_range3[0].selected   = true;
        document.searchForm.search_joint1[0].selected   = true;
        document.searchForm.search_joint2[0].selected   = true;
        document.searchForm.search_phrase.checked       = false;
        document.searchForm.displaycount[0].selected    = true;

        // セレクトボックスのエレメントを取得する
        var first_selectbox  = document.getElementById("search_sort1");

        for (i = 0; i < first_selectbox.length; i++) {
            first_selectbox.options[i].selected = false;
            if (first_selectbox.options[i].text == sort_option) {
                first_selectbox.options[i].selected = true;
            }
        }
        Search.createSecondSortSelectBox('search_sort1', 'search_sort2', 'search_sort3');
        Search.createThirdSortSelectBox('search_sort2', 'search_sort3');
    },

    /**
     * 選択状態をクリアする(個別検索)
     **/
    indiclear: function (mode_id)
    {

        var contentsName = "";
        if (arguments[1]) {
            contentsName = arguments[1];
        }

        var targetForm = document.searchForm;
        // 選択状態を初期状態に戻す
        // 日本大百科全書(絞込み)・JK Who's Who(絞込み)・亀井肇の新語探検(絞込み)
        // NNA:アジア&EU 国際情報(絞込み)・週刊エコノミスト(絞込み)・田中宇のﾜｰﾙﾄﾞ・ｸﾛﾆｸﾙ(絞込み)
        // 山根一眞のIT書斎術百科(絞込み)・日本国語大辞典（基本）・東洋文庫(基本)・会社四季報
        if (mode_id != 0) {
            targetForm.search_word1.value = "";
            Search.initselectTagChange(targetForm.search_range1);
            Search.initselectTagChange(targetForm.search_way1);
            targetForm.search_way1.disabled      = false;
        }
        //日本国語大辞典
        if (mode_id == 3) {
            targetForm.search_word2.value        = "";
            targetForm.search_word3.value        = "";
            Search.initselectTagChange(targetForm.search_way2);
            targetForm.search_way2.disabled = false;
            Search.initselectTagChange(targetForm.search_way3);
            targetForm.search_way3.disabled = false;
            Search.initselectTagChange(targetForm.search_range2);
            Search.initselectTagChange(targetForm.search_range3);
            Search.initselectTagChange(targetForm.search_joint1);
            Search.initselectTagChange(targetForm.search_joint2);
        }

        //東洋文庫
        if (mode_id == 5) {
            targetForm.search_word2.value        = "";
            targetForm.search_word3.value        = "";
            Search.initselectTagChange(targetForm.search_joint1);
            Search.initselectTagChange(targetForm.search_joint2);
            document.getElementById('radio_page').checked = true;
            Search.targetSelectDefaultChange('radio_page');

            // PDF/flash表示切り替えラジオボタン 初期化
            Body.initSelectViewerRadio();

        }
            Search.initselectTagChange(targetForm.displaycount);

        //ソート順
        if(targetForm.search_sort1){
            Search.initselectTagChange(targetForm.search_sort1);
        }

        //親見出し
        if(targetForm.owner_headword) {
            targetForm.owner_headword.checked = true;
        }
        //子見出し
        if(targetForm.child_headword) {
            targetForm.child_headword.checked = true;
        }
        //字音語素
        if(targetForm.extra_headword) {
            targetForm.extra_headword.checked = true;
        }

        //分類
        if (targetForm.search_sort1){
            Search.initselectTagChange(targetForm.search_sort1);
        }

        if (targetForm.divide_data1){
            Search.initselectTagChange(targetForm.divide_data1);
        }

        if (targetForm.divide_data2){
            Search.initselectTagChange(targetForm.divide_data2);
        }

        if (targetForm.divide_data3){
            Search.initselectTagChange(targetForm.divide_data3);
        }

        if (targetForm.divide_data4){
            Search.initselectTagChange(targetForm.divide_data4);
        }

        if (targetForm.divide_data5){
            Search.initselectTagChange(targetForm.divide_data5);
        }

        if (targetForm.divide_data6){
            Search.initselectTagChange(targetForm.divide_data6);
        }

        if (targetForm.divide_data7){
            Search.initselectTagChange(targetForm.divide_data7);
        }

        if (targetForm.divide_data8){
            if (contentsName == "Nipponica") {
                Search.initselectTagChangeDisable(targetForm.divide_data8);
            } else {
                Search.initselectTagChange(targetForm.divide_data8);
            }
        }

        if (targetForm.divide_data9){
            if (contentsName == "Nipponica") {
                Search.initselectTagChangeDisable(targetForm.divide_data9);
            } else {
                Search.initselectTagChange(targetForm.divide_data9);
            }
        }

        if (targetForm.divide_data10){
            Search.initselectTagChange(targetForm.divide_data10);
        }

        if (targetForm.date_kind1){
            Search.initselectTagChange(targetForm.date_kind1);
        }

        if (targetForm.date_kind2){
            Search.initselectTagChange(targetForm.date_kind2);
        }

        if (targetForm.date_kind3){
            Search.initselectTagChange(targetForm.date_kind3);
        }

        // 対象フラグ
        if (targetForm.target_flag && mode_id != 5){
            targetForm.elements['target_flag'][0].checked = true;
        }

    },

    /**
     * セレクトボタンの初期化(TPL・HTML記述に戻す)
     **/
    initselectTagChange: function (selectObject)
    {
     var len = selectObject.length;
     var cnt = 0;

     //option 0の場合 false
     if (len == 0) {
         return false;
     }
     //初期値に戻す
     for (cnt; cnt < len;cnt++ ) {
         if (selectObject[cnt].defaultSelected == true) {
             selectObject[cnt].selected = true;
         } else {
             selectObject[cnt].selected = false;
         }
     }
     selectObject.disabled = false;
    },

    /**
     * セレクトボタンの初期化(TPL・HTML記述に戻しdisableにする)
     **/
    initselectTagChangeDisable: function (selectObject)
    {
     var len = selectObject.length;
     var cnt = 0;

     //option 0の場合 false
     if (len == 0) {
         return false;
     }
     //初期値に戻す
     for (cnt; cnt < len;cnt++ ) {
         if (selectObject[cnt].defaultSelected == true) {
             selectObject[cnt].selected = true;
         } else {
             selectObject[cnt].selected = false;
         }
     }
     selectObject.disabled = true;
    },

    /**
     * 範囲が全文の際に、検索条件を部分一致にする
     **/
    lockFullTextWay: function (rangeid, wayid)
    {
        var range = document.getElementById(rangeid);
        var way   = document.getElementById(wayid);

        switch (rangeid) {
            case "search_range1":
                var prevDetailSearchRangeFlag = Search.prevDetailSearchRangeFlagFirst;
                break;

            case "search_range2":
                var prevDetailSearchRangeFlag = Search.prevDetailSearchRangeFlagSecond;
                break;

            case "search_range3":
                var prevDetailSearchRangeFlag = Search.prevDetailSearchRangeFlagThird;
                break;

            default:
                var prevDetailSearchRangeFlag = Search.prevDetailSearchRangeFlagFirst;
                break;
        }

        if (range.value == Search.FULLTEXT_VALUE) {
            way.value    = 3;
            way.disabled = true;
            prevDetailSearchRangeFlag = true;
        } else {
            if (prevDetailSearchRangeFlag === true) {
                way.value    = 0;
            }
            way.disabled = false;
            prevDetailSearchRangeFlag = false;
        }

        switch (rangeid) {
            case "search_range1":
                Search.prevDetailSearchRangeFlagFirst  = prevDetailSearchRangeFlag;
                break;

            case "search_range2":
                Search.prevDetailSearchRangeFlagSecond =  prevDetailSearchRangeFlag;
                break;

            case "search_range3":
                Search.prevDetailSearchRangeFlagThird  = prevDetailSearchRangeFlag;
                break;

            default:
                Search.prevDetailSearchRangeFlagFirst  = prevDetailSearchRangeFlag;
                break;
        }

    },

    /**
     * 範囲が全文の際に、検索条件を部分一致にする
     **/
    lockFullTextWayNotBack: function (rangeid, wayid)
    {
        var range = document.getElementById(rangeid);
        var way   = document.getElementById(wayid);
        if (range.value == Search.FULLTEXT_VALUE) {
            way.value    = 3;
            way.disabled = true;
        } else {
            way.disabled = false;
        }
    },

    /**
     * 個別検索 基本/詳細 切り替え
     **/
    individualChangeDisplay: function (keyEvn, ModeCase)
    {

     var blowserTypeMIE ="MIE";
     var blowserTypeNSC ="NSC";

        // ブラウザの判別
        if(navigator.appName.charAt(0) == "M"){
            var blowserType = blowserTypeMIE;
        } else if(navigator.appName.charAt(0) == "N"){
            var blowserType =  blowserTypeNSC;
        }

        if (blowserType == blowserTypeMIE) {
           var evn = window.event.keyCode;
        } else if (blowserType == blowserTypeNSC) {
           var evn = keyEvn.keyCode;
        }

      //マウスイベントのみ受付
     if (evn==13) {
         return;
     }

     if (ModeCase == 'detailCase') {
      var otherDiv = document.getElementById('basicCase');
     } else {
      var otherDiv = document.getElementById('detailCase');
     }
     var caseDiv  = document.getElementById(ModeCase);
     caseDiv.style.display ='block';
     otherDiv.style.display = 'none';
    },

    /**
     * 範囲が全文・用例・方言・全分(親字)・全分(熟語)
     * 本文・見出し＋本文・執筆者・参考文献・図版の際に、検索条件を部分一致にする
     * (親字の時→完全/前方一致)
     **/
    lockIndividualChangeWay: function (rangeid, wayid, mode_id)
    {
        var range = eval('document.searchForm.' + rangeid);
        var way = eval('document.searchForm.' + wayid);

        switch (rangeid) {
            case "search_range1":
                var prevIndiSearchRangeFlag = Search.prevIndiSearchRangeFlagFirst;
                break;

            case "search_range2":
                var prevIndiSearchRangeFlag = Search.prevIndiSearchRangeFlagSecond;
                break;

            case "search_range3":
                var prevIndiSearchRangeFlag = Search.prevIndiSearchRangeFlagThird;
                break;

            default:
                var prevIndiSearchRangeFlag = Search.prevIndiSearchRangeFlagFirst;
                break;
        }

        if (range.value == Search.FULLTEXT_VALUE              ||
            range.value == Search.EXAMPLE_FULLTEXT_VALUE      ||
            range.value == Search.EXAMPLE_MAINTEXT_VALUE      ||
            range.value == Search.EXAMPLE_SOURCE_INF_VALUE    ||
            range.value == Search.DIALECT_VALUE               ||
            range.value == Search.LANGUAGE_OPINIONS_VALUE     ||
            range.value == Search.LANGUAGEBEGINNING_VALUE     ||
            range.value == Search.CLASSICAL_TEXT_VALUE        ||
            range.value == Search.MODERN_LANG_VALUE           ||
            range.value == Search.HEADNOTE_VALUE              ||
            range.value == Search.FULL_ALL_VALUE              ||
            range.value == Search.MAINTEXT_VALUE              ||
            range.value == Search.HEADWORD_AND_MAINTEXT_VALUE ||
            range.value == Search.AUTHOR_VALUE                ||
            range.value == Search.REFERENCES_VALUE            ||
            range.value == Search.FULLTEXT_ALL_VALUE          ||
            range.value == Search.IMAGES) {
            prevIndiSearchRangeFlag = true;
            way.value    = 3;
            way.disabled = true;
        } else if (range.value == Search.FULL_DIRECTION_VALUE ||
                   range.value == Search.FULL_PHRASE_VALUE) {
            Search.changeDisplaySelectOtion(range.value);
            prevIndiSearchRangeFlag = true;
            way.value    = 3;
            way.disabled = true;
            Search.restrictedInputSearch(true, mode_id);
        } else if (range.value == Search.DIRECTION_CHARA_VALUE ||
                   range.value == Search.PHRASE_VALUE) {
            Search.changeDisplaySelectOtion(range.value);
            way.value    = 0;
            way.disabled = false;
            Search.restrictedInputSearch(false, mode_id);
            prevIndiSearchRangeFlag = false;
        } else {
            var wayObj = document.getElementById(wayid);
            if (prevIndiSearchRangeFlag === true) {
                Search.initselectTagChange(wayObj);
            }
            prevIndiSearchRangeFlag = false;
        }

        switch (rangeid) {
            case "search_range1":
                Search.prevIndiSearchRangeFlagFirst  = prevIndiSearchRangeFlag;
                break;

            case "search_range2":
                Search.prevIndiSearchRangeFlagSecond =  prevIndiSearchRangeFlag;
                break;

            case "search_range3":
                Search.prevIndiSearchRangeFlagThird  = prevIndiSearchRangeFlag;
                break;

            default:
                Search.prevIndiSearchRangeFlagFirst  = prevIndiSearchRangeFlag;
                break;
        }

    },

    /**
     * 検索キーパラメーターチェック処理
     **/
    searchWordParamCheck: function (search_word, empcheck) {
        var errors       = "";
        var replace_word = search_word.replace(/[\t|\n|\r|\s|　]+/g, ' ');
        var trim_word    = replace_word.replace(/^\s+|\s+$/g,'');
        var search_words = trim_word.split(' ');
        var start        = 0;
        var end          = search_words.length;

        // 空文字のチェック
        // バーチカルバー「|」(0x7c)の場合は、空文字チェックを回避する。
        if(!search_word.match(/[\x7c]/g)){
           if (empcheck == 'true') {
               if (trim_word == "") {
                   var errors = errors + Messages.ERROR_KEYWORD_NOT_EMPTY;
               }
           }
        }
        // キーワードの最大長チェック
        if (trim_word.length > 128) {
            var errors = errors + Messages.ERROR_KEYWORD_LENGTH_LONG;
        }
        // 一つのキーワードの最大長チェック
        for(start = 0; start < end; start++){
            if (search_words[start].length > 60) {
                var errors = errors + Messages.ERROR_KEYWORD_PART_LENGTH_LONG;
                break;
            }
        }
        // キーワード数チェック
        if (end > 10) {
            var errors = errors + Messages.ERROR_KEYWORD_NUM_OVER;
        }
        return errors;
    },

    /**
     * 検索キーパラメーターチェック処理
     **/
    contentsSelectParamCheck: function (contents_select) {
        var errors       = "";
        // コンテンツ選択チェック
        if (contents_select == "") {
            var errors = Messages.ERROR_CONTENTS_NOT_CHECKED;
        }
        return errors;
    },

    /**
     * 見出し種別チェック
     **/
    searchHeadWordCheck: function () {
        var targetForm = document.searchForm;
        var errors       = "";
        var owner_headword = targetForm.owner_headword;
        var child_headword = targetForm.child_headword;
        var extra_headword = targetForm.extra_headword;

        if ((owner_headword.checked != true) &&
            (child_headword.checked != true) &&
            (extra_headword.checked != true)){
            var errors = Messages.ERROR_HEADWORD_NOT_SELECT;
        }
        return errors;
    },

    /**
     * 検索キーパラメーターチェック処理
     **/
    searchDivideDataCheck: function (divide_data) {
        var errors       = "";
        if (divide_data == "") {
            errors = Messages.ERROR_DIVIDE_DATA_SELECT;
        } else if (divide_data == "ALL") {
            errors = 1;
        }
        return errors;
    },

    /**
     * 日付パラメーターチェック処理
     **/
    searchDateDataCheck: function (date_data) {
        var errors       = "";
        if (date_data == "") {
            errors = Messages.ERROR_DIVIDE_DATE_SELECT;
        } else if (date_data == "ALL") {
            errors = 1;
        }
        return errors;
    },

    /**
     * 分類セレクトボックス生成
     **/
    createDivideSelectBox: function (contents_name, change_name, change_num, mode_id) {
        switch (contents_name) {
            case "Nipponica":
                 if (change_num == '7') {
                     var list_id = '000000000';
                 } else {
                     var element = document.getElementById('divide_data' + eval(change_num - 1));
                     var list_id = element.options[element.selectedIndex].id;
                     if(element.value == "ALL"){
                         document.searchForm.divide_data9[0].selected = true;
                         document.searchForm.divide_data9.disabled    = true;
                         if(change_num==8){
                            document.searchForm.divide_data8[0].selected = true;
                            document.searchForm.divide_data8.disabled    = true;
                         }
                     }
                 }
                if (change_num == '8') {
                    document.searchForm.divide_data9[0].selected = true;
                    document.searchForm.divide_data9.disabled    = true;
                }
                break;

            case "Shikiho":
                 if (change_num == '1') {
                     var list_id = '000000000';
                     document.searchForm.divide_data2.disabled    = true;
                 } else {
                     var element = document.getElementById('divide_data' + eval(change_num - 1));
                     var list_id = element.options[element.selectedIndex].id;
                     if(element.value == "ALL"){
                         if(change_num==2){
                            document.searchForm.divide_data2[0].selected = true;
                            document.searchForm.divide_data2.disabled    = true;
                         }
                     }
                 }
                break;

            case "Jitsu":
                if (change_num == '1') {
                    var list_id = '000000000';
                } else {
                    var element = document.getElementById('search_range' + eval(change_num - 1));
                    var list_id = element.options[element.selectedIndex].id;
                }
                break;

            default:
                 if (change_num == '1') {
                     var list_id = '000000000';
                 } else {
                     var element = document.getElementById('divide_data' + eval(change_num - 1));
                     var list_id = element.options[element.selectedIndex].id;
                 }
                break;
        }
        var select_box = eval(contents_name + ".n" + list_id);
        // 指定された階層のセレクトボックスを作成
        $("#" + change_name + change_num).html(select_box);
    },

    /**
     * 歴史個別表示処理
     **/
    rekishiDisplay: function ()
    {
        var f = document.searchForm;
        f.action = '/rekishi/display';
        f.session_job_mode.value = "update";
        f.method = 'get';
        f.submit();
    },
    /**
     * 歴史個別検索処理
     **/
    rekishiSearch: function (current_page)
    {
        if (Search.searchFlagRksSys == 1) {
            document.searchForm.search_word1.focus();
            return false;
        }
        Search.searchFlagRksSys = 1;
        var search_word2 = "";
        var search_word3 = "";
        var search_way2  = 0;
        var search_way3  = 0;
        var search_range2 = 0;
        var search_range3 = 0;
        var search_joint1 = 0;
        var search_joint2 = 0;

        // 検索ボタンを押下した場合
        if (!current_page) {
            // フォームの値を取得
            Search.rekishiModeSearch = Search.rekishiModeDisplay;
            var search_word1  = document.searchForm.search_word1.value;
            var search_way1   = document.searchForm.search_way1.value;
            var search_range1 = document.searchForm.search_range1.value;
            var displaycount  = document.searchForm.displaycount.value;
            // 都道府県一覧のチェック情報を取得
            var perf_select = '';
            if (document.searchForm["perf[]"] != undefined){
                var start = 0;
                var end   = document.searchForm["perf[]"].length;
                for(start = 0; start < end; start++) {
                    if (document.searchForm["perf[]"][start].checked == true) {
                        if (perf_select == '') {
                            perf_select = document.searchForm["perf[]"][start].value;
                        } else {
                            perf_select = perf_select + "," + document.searchForm["perf[]"][start].value;
                        }
                    }
                }
            }
            search_word2  = document.searchForm.search_word2.value;
            search_word3  = document.searchForm.search_word3.value;
            search_way2   = document.searchForm.search_way2.value;
            search_way3   = document.searchForm.search_way3.value;
            search_range2 = document.searchForm.search_range2.value;
            search_range3 = document.searchForm.search_range3.value;
            search_joint1 = document.searchForm.search_joint1.value;
            search_joint2 = document.searchForm.search_joint2.value;
        // ページ遷移を行った場合
        } else {
            var search_word1  = document.hiddenForm.search_word1.value;
            var search_way1   = document.hiddenForm.search_way1.value;
            var search_range1 = document.hiddenForm.search_range1.value;
            var displaycount  = document.hiddenForm.displaycount.value;
            var perf_select   = document.hiddenForm.perf_select.value;

            var search_word2  = document.hiddenForm.search_word2.value;
            var search_word3  = document.hiddenForm.search_word3.value;
            var search_way2   = document.hiddenForm.search_way2.value;
            var search_way3   = document.hiddenForm.search_way3.value;
            var search_range2 = document.hiddenForm.search_range2.value;
            var search_range3 = document.hiddenForm.search_range3.value;
            var search_joint1 = document.hiddenForm.search_joint1.value;
            var search_joint2 = document.hiddenForm.search_joint2.value;
        }

        // 検索語と都道府県一覧のエラーチェック
        var word1errors = Search.searchWordParamCheck(search_word1, 'true');
        var word2errors = Search.searchWordParamCheck(search_word2);
        var word3errors = Search.searchWordParamCheck(search_word3);
        var perferrors  = Search.perfSelectParamCheck(perf_select);
        if (word1errors != '') {
            word1errors = Search.first_search_word + word1errors;
        }
        if (word2errors != '') {
            word2errors = Search.second_search_word + word2errors;
        }
        if (word3errors != '') {
            word3errors = Search.third_search_word + word3errors;
        }
        if (perferrors != '') {
            perferrors = Search.perf_list + perferrors;
        }
        var errors = word1errors + word2errors + word3errors + perferrors;

        if (errors != '') {
            alert(errors);
            Search.searchFlagRksSys = 0;
            document.searchForm.search_word1.focus();
            return false;
        }
        //ボタン押下
        if (!current_page){
            // 待機GIFを表示
            $("#howtoBase").html(Messages.INDIVIDUAL_INSERTION_TAG_FIRST);
            // 検索処理
            $.post("/rekishi/search",
            {
                "session_job_mode" : "check",
                "perf_select"      : perf_select,
                "current_page"     : 1,
                "search_word1"     : search_word1,
                "search_word2"     : search_word2,
                "search_word3"     : search_word3,
                "search_way1"      : search_way1,
                "search_way2"      : search_way2,
                "search_way3"      : search_way3,
                "search_range1"    : search_range1,
                "search_range2"    : search_range2,
                "search_range3"    : search_range3,
                "search_joint1"    : search_joint1,
                "search_joint2"    : search_joint2,
                "displaycount"     : displaycount
            },
            Search.rekishidisplayData);
        } else {
            $("#howtoBase").html(Messages.INDIVIDUAL_INSERTION_TAG_PAGE);
            $.post("/rekishi/search",
            {
                "session_job_mode" : "check",
                "perf_select"      : perf_select,
                "current_page"     : current_page,
                "search_word1"     : search_word1,
                "search_word2"     : search_word2,
                "search_word3"     : search_word3,
                "search_way1"      : search_way1,
                "search_way2"      : search_way2,
                "search_way3"      : search_way3,
                "search_range1"    : search_range1,
                "search_range2"    : search_range2,
                "search_range3"    : search_range3,
                "search_joint1"    : search_joint1,
                "search_joint2"    : search_joint2,
                "displaycount"     : displaycount
            },
            Search.rekishidisplayData);
        }
        document.searchForm.search_word1.focus();
        return false;
    },

    /**
     * 歴史検索結果表示
     **/
    rekishidisplayData: function (data) {
            $("#howtoBase").html(data);
            Search.searchFlagRksSys = 0;
    },

    /**
     * 検索キーパラメーターチェック処理
     **/
    perfSelectParamCheck: function (perf_select) {
        var errors       = "";
        // コンテンツ選択チェック
        if (perf_select == "") {
            var errors = Messages.ERROR_PERF_NOT_CHECKED;
        }
        return errors;
    },

    /**
     * 選択状態をクリアする
     **/
    rekishiclear: function ()
    {
        // 選択状態を初期状態に戻す
        document.searchForm.search_word1.value          = "";
        document.searchForm.search_way1[3].selected     = true;
        document.searchForm.search_way1.disabled        = false;
        document.searchForm.search_range1[0].selected   = true;
        document.searchForm.displaycount[0].selected    = true;

        document.searchForm.search_word2.value          = "";
        document.searchForm.search_word3.value          = "";
        document.searchForm.search_way2[3].selected     = true;
        document.searchForm.search_way2.disabled        = false;
        document.searchForm.search_way3[3].selected     = true;
        document.searchForm.search_way3.disabled        = false;
        document.searchForm.search_range2[0].selected   = true;
        document.searchForm.search_range3[0].selected   = true;
        document.searchForm.search_joint1[0].selected   = true;
        document.searchForm.search_joint2[0].selected   = true;

        var start = 0;
        var end   = document.searchForm["perf[]"].length;
        for(start = 0; start < end; start++){
            document.searchForm["perf[]"][start].checked = true;
        }
    },

    /**
     * 都道府県毎の一括チェックON/OFF
     **/
    eachPerfCheck: function (perf)
    {
        var start = 0;
        var perf_list = perf.split(',');
        var end   = perf_list.length;
        var allcheck  = 0;
        for(start = 0; start < end; start++){
            if (document.searchForm["perf[]"][perf_list[start]-1].checked) {
                allcheck = 1;
                break;
            }
        }
        if (allcheck == 0) {
            for(start = 0; start < end; start++){
                document.searchForm["perf[]"][perf_list[start]-1].checked = true;
            }
        } else {
            for(start = 0; start < end; start++){
                document.searchForm["perf[]"][perf_list[start]-1].checked = false;
            }
        }
    },

    /**
     * 都道府県の一括チェック
     **/
    perfCheckAll: function ()
    {
        var start = 0;
        var end   = document.searchForm["perf[]"].length;
        for(start = 0; start < end; start++){
            document.searchForm["perf[]"][start].checked = true;
        }
    },

    /**
     * 都道府県の一括解除
     **/
    perfReleaseAll: function ()
    {
        var start = 0;
        var end   = document.searchForm["perf[]"].length;
        for(start = 0; start < end; start++){
            document.searchForm["perf[]"][start].checked = false;
        }
    },

    /**
     * 古典作品の一括チェック
     **/
    kotenCheckAll: function ()
    {

        var start = 0;
        var end   = document.searchForm["work[]"].length;

        for(var i = start; i < end; i++){
            if(document.searchForm["work[]"][i].disabled != true){
                document.searchForm["work[]"][i].checked = true;
            }
        }
    },

    /**
     * 古典作品の一括解除
     **/
    kotenReleaseAll: function ()
    {
        var start = 0;
        var end   = document.searchForm["work[]"].length;

        for(var i = start; i < end; i++){
            document.searchForm["work[]"][i].checked = false;
        }
    },

    /**
     * テキストのEnter対応
     **/
    rekishiStopEnter: function (keyEvn)
    {
         var blowserTypeMIE ="MIE";
         var blowserTypeNSC ="NSC";

        // ブラウザの判別
        if(navigator.appName.charAt(0) == "M"){
           var evn = window.event.keyCode;
        } else if(navigator.appName.charAt(0) == "N"){
           var evn = keyEvn.keyCode;
        }

        if (evn == 13) {
            Search.rekishiSearch();
        }
        return false;
    },

    /**
     * 集計表
     **/
    rekishiDiagramdisp : function ()
    {
        var f = document.hiddenForm;
        var wn = 'diagramdata';
        var w  = CommonUtils.nWin('', wn, 1000, 800);
        with (f) {
            action = '/rekishi/diagramdisp';
            target = wn;
            method = 'post';
            submit();
        }
        w.focus();
    },

    /**
     * 分布図
     **/
    rekishiDistributiondata : function ()
    {
        var f = document.hiddenForm;
        var wn = 'distributiondata';
        var w  = CommonUtils.nWin('', wn, 1000, 800);
        with (f) {
            action = '/rekishi/distributiondata';
            target = wn;
            method = 'post';
            submit();
        }
        w.focus();
    },

    /**
     * 県別閲覧
     **/
    perfInspection: function (perf)
    {
        $("#loading").show();
        $("#howtoBase").hide();

        if (!perf) {
            var f = document.rekishiForm;
            f.action = '/rekishi/perfinspection';
            f.method = 'post';
            f.submit();
        } else {
            $.post('/rekishi/perfinspection',
            {
                "session_job_mode" : "check",
                "perf"             : perf
            },
            Search.changePerfInspection);
        }
    },

    /**
     * 県別閲覧の表示
     **/
    changePerfInspection: function (data)
    {
        $("#loading").hide();
        $("#howtoBase").html(data).show();
    },

    /**
     * 県別閲覧の階層表示
     **/
    sitemapstyler: function (perfId)
    {
        var divList = document.getElementById("divList");
        if(divList){
            var items = divList.getElementsByTagName("ul");
            for(var i=0;i<items.length;i++){
                items[i].id = "sitemapitem" + i;
            }
            var items = divList.getElementsByTagName("li");
            for(var i=0;i<items.length;i++){
                Search.sitemapstylerli(items[i], perfId);
            }
            if (perfId) {
                var sitemapitem = (Cookie.getCookie('SITEMAPITEM' + perfId));
                if (sitemapitem != null) {
                    var items = sitemapitem.split(',');
                    for(var i=0;i<items.length;i++){
                        var item = document.getElementById(items[i]);
                        var spanitem = document.getElementById("span" + items[i]);
                        if (item && spanitem) {
                            item.style.display = "block";
                            spanitem.className = "expanded";
                        }
                    }
                }
            }
        }
    },

    /**
     * 県別閲覧の階層の表示・非表示切り替え
     **/
    sitemapstylerli: function (li, perfId)
    {
        if(li.getElementsByTagName("ul").length > 0){
            var ul = li.getElementsByTagName("ul")[0];
            ul.style.display = "none";
            var span = document.createElement("span");
            span.id = "span" + ul.id;
            span.className = "collapsed";
            span.onclick = function(){Search.sitemapstylerspan(ul, span, perfId);};
            li.appendChild(span);
        }
    },

    /**
     * 県別閲覧の階層の表示・非表示切り替え
     **/
    sitemapstylerspan: function (ul, span, perfId)
    {
        ul.style.display = (ul.style.display == "none") ? "block" : "none";
        span.className = (ul.style.display == "none") ? "collapsed" : "expanded";
        if (perfId) {
            var cookieName = 'SITEMAPITEM' + perfId;
            if (ul.style.display == "block") {
                var sitemapitem = (Cookie.getCookie(cookieName));
                if (sitemapitem == null || sitemapitem == '') {
                    Cookie.setCookie(cookieName, ul.id);
                } else {
                    Cookie.setCookie(cookieName, sitemapitem + ',' + ul.id);
                }
            } else {
                var sitemapitem = (Cookie.getCookie(cookieName));
                if (sitemapitem != null && sitemapitem != '') {
                    var cookieval = '';
                    var items = sitemapitem.split(',');
                    for(var i=0;i<items.length;i++){
                        if (items[i] != ul.id) {
                            if (cookieval != '') {
                                cookieval += ',';
                            }
                            cookieval += items[i];
                        }
                    }
                    Cookie.setCookie(cookieName, cookieval);
                }
            }
        }
    },

    /**
     * 県別閲覧の階層の表示・非表示切り替え
     **/
    sitemapstylerspanid: function (ul, span)
    {
        var ul = document.getElementById(ul);
        ul.style.display = (ul.style.display == "none" || ul.style.display == "") ? "block" : "none";
        span.className = (ul.style.display == "none" || ul.style.display == "") ? "collapsed" : "expanded";
    },

    /**
     * 地図・資料
     **/
    mapMaterial: function (perf)
    {
        if (!perf) {
            var f = document.rekishiMapForm;
            f.action = '/rekishi/mapmaterial';
            f.method = 'post';
            f.submit();
        } else {
            $.post('/rekishi/mapmaterial',
            {
                "session_job_mode" : "check",
                "perf"             : perf
            },
            Search.changeMapMaterial);
        }
    },

    /**
     * 地図・資料の表示
     **/
    changeMapMaterial: function (data)
    {
        $("#documentsBase").html(data);
    },

    /**
     * 明治復刻地図
     **/
    reprintmapMeijiEra: function (perf)
    {
        var f = document.rekishiMapForm;
        f.action = '/rekishi/reprintmapmeijiera';
        f.perf.value = perf;
        f.method = 'post';
        f.target = '_blank';
        f.submit();
    },

    /**
     * 認証ファイルを開く
     **/
    openAuthFile: function (file, newwindow, winname, width, height)
    {
        var f  = document.rekishiMapForm;
        if (newwindow == '0') {
            var wn =  '_self';
        } else {
            if (winname) {
                var wn = winname;
                var w  = CommonUtils.nWin('', wn, width, height);
            } else {
                var wn = '_blank';
            }
        }
        with (f) {
            action = '/common/display';
            filename.value = file;
            method = 'post';
            target = wn;
            submit();
        }
        if (winname) {
            w.focus();
        }
    },

    /**
     * 認証ファイルを開く(日本国語大辞典)
     **/
    openAuthFileNK: function (file, newwindow, winname, width, height)
    {
        var f  = document.nikkokuKanaForm;
        if (newwindow == '0') {
            var wn =  '_self';
        } else {
            if (winname) {
                var wn = winname;
                var w  = CommonUtils.nWin('', wn, width, height);
            } else {
                var wn = '_blank';
            }
        }

        with (f) {
            action = '/common/display';
            filename.value = file;
            method = 'post';
            target = wn;
            submit();
        }
        if (winname) {
            w.focus();
        }
    },

    /**
     * 認証ファイルを開く(国史大辞典)
     **/
    openAuthFileKS: function (file, newwindow, winname, width, height)
    {
        var f  = document.kokushiWalkForm;
        if (newwindow == '0') {
            var wn =  '_self';
        } else {
            if (winname) {
                var wn = winname;
                var w  = CommonUtils.nWin('', wn, width, height);
            } else {
                var wn = '_blank';
            }
        }

        with (f) {
            action = '/common/display';
            filename.value = file;
            method = 'post';
            target = wn;
            submit();
        }
        if (winname) {
            w.focus();
        }
    },

    /**
     * 認証ファイルを開く(日本史年表)
     **/
    openAuthFileChrono: function (file, newwindow, winname, width, height)
    {
        var f  = document.nenpyouShiryoForm;
        if (newwindow == '0') {
            var wn =  '_self';
        } else {
            if (winname) {
                var wn = winname;
                var w  = CommonUtils.nWin('', wn, width, height);
            } else {
                var wn = '_blank';
            }
        }

        with (f) {
            action = '/common/display';
            filename.value = file;
            method = 'post';
            target = wn;
            submit();
        }
        if (winname) {
            w.focus();
        }
    },

    /**
     * 明治復刻地図(API用)
     **/
    reprintmapMeijiEraApi: function (perf)
    {
        var f = document.rekishiMapForm;
        f.action = '/rekishi/reprintmapmeijiera/apiFlag/true';
        f.perf.value = perf;
        f.method = 'post';
        f.target = '_blank';
        f.submit();
    },

    /**
     * 認証ファイルを開く(API用)
     **/
    openAuthFileApi: function (file, newwindow, winname, width, height)
    {
        var f  = document.rekishiMapForm;
        if (newwindow == '0') {
            var wn =  '_self';
        } else {
            if (winname) {
                var wn = winname;
                var w  = CommonUtils.nWin('', wn, width, height);
            } else {
                var wn = '_blank';
            }
        }
        with (f) {
            action = '/common/display/apiFlag/true';
            filename.value = file;
            method = 'post';
            target = wn;
            submit();
        }
        if (winname) {
            w.focus();
        }
    },

    /**
     * 認証ファイルを開く(日本国語大辞典)(API用)
     **/
    openAuthFileNKApi: function (file, newwindow, winname, width, height)
    {
        var f  = document.nikkokuKanaForm;
        if (newwindow == '0') {
            var wn =  '_self';
        } else {
            if (winname) {
                var wn = winname;
                var w  = CommonUtils.nWin('', wn, width, height);
            } else {
                var wn = '_blank';
            }
        }

        with (f) {
            action = '/common/display/apiFlag/true';
            filename.value = file;
            method = 'post';
            target = wn;
            submit();
        }
        if (winname) {
            w.focus();
        }
    },

    /**
     * 認証ファイルを開く(国史大辞典)(API)
     **/
    openAuthFileKSApi: function (file, newwindow, winname, width, height)
    {
        var f  = document.kokushiWalkForm;
        if (newwindow == '0') {
            var wn =  '_self';
        } else {
            if (winname) {
                var wn = winname;
                var w  = CommonUtils.nWin('', wn, width, height);
            } else {
                var wn = '_blank';
            }
        }

        with (f) {
            action = '/common/display/apiFlag/true';
            filename.value = file;
            method = 'post';
            target = wn;
            submit();
        }
        if (winname) {
            w.focus();
        }
    },

    /**
     * 認証ファイルを開く(日本史年表)(API用)
     **/
    openAuthFileChronoApi: function (file, newwindow, winname, width, height)
    {
        var f  = document.nenpyouShiryoForm;
        if (newwindow == '0') {
            var wn =  '_self';
        } else {
            if (winname) {
                var wn = winname;
                var w  = CommonUtils.nWin('', wn, width, height);
            } else {
                var wn = '_blank';
            }
        }

        with (f) {
            action = '/common/display/apiFlag/true';
            filename.value = file;
            method = 'post';
            target = wn;
            submit();
        }
        if (winname) {
            w.focus();
        }
    },


    /**
     * 閲覧ソフトの使用許諾
     **/
    open_soft_kyodaku: function ()
    {
        var url = '/contents/intro/kyodaku/kyodaku.html';
        OpenSubWin.jkOpenSubWin(url, 'kyodaku');
    },

    /**
     * 地図・資料の概要
     **/
    open_map_outline: function ()
    {
        var url = '/contents/material/rekishi/html/outline.html';
        OpenSubWin.jkOpenSubWin(url, 'rekishi_outline');
    },

    /**
     * 現代地図
     **/
    open_map: function (url)
    {
        var swoption = "";
        swoption += 'width=900';
        swoption += ',height=800';
        swoption += ",directories=yes";
        swoption += ",location=no";
        swoption += ",menubar=yes";
        swoption += ",resizable=yes";
        swoption += ",scrollbars=yes";
        swoption += ",status=yes";
        swoption += ",titlebar=yes";
        swoption += ",toolbar=yes";
        newWin = window.open(url, '_blank', swoption);
    },

    /**
     * 字通検索
     **/
    jitsuuSearch: function (mode_id, current_page)
    {
        //実行フラグ
        if (Search.searchFlagJituSys == 0) {
            Search.searchFlagJituSys = 1;
            var targetForm = eval('document.searchForm'+ mode_id);

            //検索ボタン押下
            if (!current_page) {
                //選択状態を取得
                var search_word    = targetForm.search_word1.value;
                var search_range   = targetForm.search_range1.value;
                var search_way     = targetForm.search_way1.value;
                var displaycount   = targetForm.displaycount.value;
                var search_radical = targetForm.search_radical.value;
                var search_stroke  = targetForm.search_stroke.value;
                var search_gouma1  = targetForm.search_gouma1.value;
                var search_gouma2  = targetForm.search_gouma2.value;
                var search_gouma3  = targetForm.search_gouma3.value;
                var search_gouma4  = targetForm.search_gouma4.value;
                var search_kokun   = targetForm.search_kokun.value;
                var select_kokun   = targetForm.select_kokun.value;

            } else {
                //ページ遷移時
                var search_word    = document.hiddenForm.search_word1.value;
                var search_range   = document.hiddenForm.search_range1.value;
                var search_way     = document.hiddenForm.search_way1.value;
                var displaycount   = document.hiddenForm.displaycount.value;
                var search_radical = document.hiddenForm.search_radical.value;
                var search_stroke  = document.hiddenForm.search_stroke.value;
                var search_gouma1  = document.hiddenForm.search_gouma1.value;
                var search_gouma2  = document.hiddenForm.search_gouma2.value;
                var search_gouma3  = document.hiddenForm.search_gouma3.value;
                var search_gouma4  = document.hiddenForm.search_gouma4.value;
                var search_kokun   = document.hiddenForm.search_kokun.value;
                var select_kokun   = document.hiddenForm.select_kokun.value;
            }

            if ((search_range == Search.PHRASE_VALUE ||
                search_range == Search.FULL_DIRECTION_VALUE ||
                search_range == Search.FULL_PHRASE_VALUE)){
                 search_radical = "";
                 search_stroke  = "";
                 search_gouma1  = "";
                 search_gouma2  = "";
                 search_gouma3  = "";
                 search_gouma4  = "";
                 search_kokun   = "";
                 var radicalerrors = "";
                 var strokeerrors  = "";
                 var goumaerrors   = "";
                 var kokunerrors   = "";
            } else {
                // 部首名チェック
                var radicalerrors = Search.checkInputRadical(search_radical);
                // 総画数チェック
                var strokeerrors  = Search.checkInputStroke("search_stroke");
                //四角号碼チェック
                for (var addcnt = 1; addcnt <= 4; addcnt++) {
                     var str = "search_gouma" + addcnt;
                     var goumaerrors = Search.checkInputGouma(str);
                     if (goumaerrors != "") {
                       break;
                     }
                }
                //古訓チェック
                var kokunerrors = Search.checkInputKokun(search_kokun);
            }

            //入力状態チェック
            var inputStr = search_word + search_radical + search_stroke  +
                           search_gouma1 + search_gouma2 + search_gouma3 +
                           search_gouma4 + search_kokun;

            // バーチカルバー「|」(0x7c)の場合は、空文字チェックを回避する。
            if(!inputStr.match(/[\x7c]/g)){
                var replace_str     = inputStr.replace(/[\t|\n|\r|\s|　]+/g, ' ');
                var inputCheck_trim = replace_str.replace(/^\s+|\s+$/g,'');
            }

            if (inputCheck_trim == "") {
                totelInputerror = Messages.ERROR_PART_STR_NOT_EMPTY;
                alert(totelInputerror);
                Search.searchFlagJituSys = 0;
                targetForm.search_word1.focus();
                return false;
            }

            // キーワードチェック
            var worderrors    = Search.searchWordParamCheck(search_word);
            var errors = worderrors + radicalerrors + strokeerrors + goumaerrors + kokunerrors;

            if (errors != '') {
                alert(errors);
                Search.searchFlagJituSys = 0;
                targetForm.search_word1.focus();
                return false;
            }

            if (!current_page){
                // 待機GIFを表示
                $("#viewBase").html(Messages.INDIVIDUAL_INSERTION_TAG_FIRST);
                // 検索処理
                $.post("/jitsuu/search",
                {
                    "session_job_mode" : "check",
                    "current_page"     : 1,
                    "search_word"      : search_word,
                    "search_range"     : search_range,
                    "search_way"       : search_way,
                    "search_radical"   : search_radical,
                    "search_stroke"    : search_stroke,
                    "search_gouma1"    : search_gouma1,
                    "search_gouma2"    : search_gouma2,
                    "search_gouma3"    : search_gouma3,
                    "search_gouma4"    : search_gouma4,
                    "search_kokun"     : search_kokun,
                    "select_kokun"     : select_kokun,
                    "displaycount"     : displaycount
                },
                Search.jitsuudisplayData);
            } else {
                $("#viewBase").html(Messages.INDIVIDUAL_INSERTION_TAG_PAGE);
                $.post("/jitsuu/search",
                {
                    "session_job_mode" : "check",
                    "current_page"     : current_page,
                    "search_word"      : search_word,
                    "search_range"     : search_range,
                    "search_way"       : search_way,
                    "search_radical"   : search_radical,
                    "search_stroke"    : search_stroke,
                    "search_gouma1"    : search_gouma1,
                    "search_gouma2"    : search_gouma2,
                    "search_gouma3"    : search_gouma3,
                    "search_gouma4"    : search_gouma4,
                    "search_kokun"     : search_kokun,
                    "select_kokun"     : select_kokun,
                    "displaycount"     : displaycount
                },
                Search.jitsuudisplayData);
            }
        }
        var targetForm = eval('document.searchForm'+ mode_id);
        targetForm.search_word1.focus();
        return false;
    },

    /**
     * 字通 結果一覧表示
     **/
    jitsuudisplayData: function (data)
    {
        // タイトルタグは切り替えない(全てのコンテンツ)
        // TitleTagName.setTitleTagName(306, 303, 101,'');
        $("#viewBase").html(data);
        Search.searchFlagJituSys = 0;
    },

    /**
     * 字通 個別表示処理
     **/
    jitsuuDisplay: function ()
    {
        var f = document.searchForm;
        f.action = '/jitsuu/display';
        f.mode_id.value = 5;
        f.session_job_mode.value = "update";
        f.method = 'get';
        f.submit();
    },

    /**
     * 字通 部首名文字列数チェック
     **/
    checkInputRadical: function (search_radical)
    {
        var maxlength       = 128;
        var piecelength     = 60;
        var maxcount        = 10;
        var errors          = "";
        var replace_radical = search_radical.replace(/[\t|\n|\r|\s|　]+/g, ' ');
        var trim_radical    = replace_radical.replace(/^\s+|\s+$/g,'');
        var search_radicals = trim_radical.split(' ');
        var start           = 0;
        var end             = search_radicals.length;

        // キーワードの最大長チェック
        if (trim_radical.length > maxlength) {
            errors += Messages.ERROR_PART_STR_INDEX + Messages.ERROR_PART_STR_RADICAL +
                      Messages.ERROR_PART_STR_JOINT_HA + maxlength +
                      Messages.ERROR_PART_STR_LENGTH_LONG;
        }

        // 一つのキーワードの最大長チェック
        for(start = 0; start < end; start++){
            if (search_radicals[start].length > piecelength) {
                errors += Messages.ERROR_PART_STR_INDEX + Messages.ERROR_PART_STR_PART +
                          Messages.ERROR_PART_STR_RADICAL + Messages.ERROR_PART_STR_JOINT_HA +
                          piecelength + Messages.ERROR_PART_STR_LENGTH_LONG;
                break;
            }
        }
        // キーワード数チェック
        if (end > maxcount) {
            errors += Messages.ERROR_PART_STR_INDEX + Messages.ERROR_PART_STR_RADICAL +
                      Messages.ERROR_PART_STR_JOINT_HA + maxcount + Messages.ERROR_PART_STR_WHITHNUM_OVER;
        }
        return errors;
    },

    /**
     * 字通 総画数チェック
     **/
    checkInputStroke: function (id)
    {
        var maxvalue     = 33;
        var minvalue     = 1;
        var errors       = "";
        var stroke = document.getElementById(id);
        var value  = stroke.value;
        var replace_value = value.replace(/[\t|\n|\r|\s|　]+/g, ' ');
        var trim_stroke   = replace_value.replace(/^\s+|\s+$/g,'');

         // バーチカルバー「|」(0x7c)の場合は、空文字チェックを回避する。
        if (!value.match(/[\x7c]/g) ) {
            if (trim_stroke == '') {
                return errors;
            }
        }

        //入力文字チェック
        // バーチカルバー「|」(0x7c)の場合は、エラーメッセージを表示する。
        if (trim_stroke.match(/[^0-9０-９]/g) || value.match(/[\x7c]/g) ) {
            errors = Messages.ERROR_PART_STR_INDEX + Messages.ERROR_PART_STR_STROKE +
                     Messages.ERROR_PART_STR_JOINT_HA + Messages.ERROR_PART_STR_NUM_WITHOUT;
            return errors;
        }

        //33画以内
        trim_stroke = Search.convertNumber(trim_stroke);
        if (trim_stroke > maxvalue || trim_stroke < minvalue ) {
            errors += Messages.ERROR_PART_STR_INDEX + Messages.ERROR_PART_STR_STROKE +
                      Messages.ERROR_PART_STR_JOINT_HA + minvalue +
                      Messages.ERROR_PART_STR_WHITHSTROKE_LOWER + maxvalue +
                      Messages.ERROR_PART_STR_WHITHSTROKE_UPPER;
        }

        return errors;
    },

    /**
     * 数値を全角から半角に寄せる
     **/
    convertNumber: function (val)
    {
        var Zenkaku = "０１２３４５６７８９";
        var Hankaku = "0123456789";
        var str = "";
        var ind = "";
        val = val.toString(10);

        for(var i=0; i<val.length; i++){
            ind = val.charAt(i);
            if (ind.match(/[０-９]/g)) {
                ind= Zenkaku.indexOf(ind,0);
                str = str + Hankaku.charAt(ind);
            } else {
                str = str + ind;
            }
        }

        return str;
    },

    /**
     * 字通 四角号碼数値チェック
     **/
    checkInputGouma: function (id)
    {
        var maxvalue = 9;
        var errors   = "";
        var gouma    = document.getElementById(id);
        var value    = gouma.value;
        var replace_value = value.replace(/[\t|\n|\r|\s|　]+/g, ' ');
        var trim_gouma    = replace_value.replace(/^\s+|\s+$/g,'');

         // バーチカルバー「|」(0x7c)の場合は、空文字チェックを回避する。
        if (!value.match(/[\x7c]/g) ) {
            if (trim_gouma == '') {
                return errors;
            }
        }

        //入力文字チェック
        if (trim_gouma.match(/[^0-9０-９]/g) || value.match(/[\x7c]/g)) {
            errors = Messages.ERROR_PART_STR_INDEX + Messages.ERROR_PART_STR_GOUMA +
                     Messages.ERROR_PART_STR_JOINT_HA + Messages.ERROR_PART_STR_NUM_WITHOUT;
            return errors;
        }

        //9画以内
        if (trim_gouma > maxvalue || trim_gouma.length != 1) {
            errors += Messages.ERROR_PART_STR_KOKUN_RANGE;
        }
        return errors;
    },

    /**
     * 字通 古訓文字列チェック
     **/
    checkInputKokun: function (search_kokun)
    {
        var maxlength     = 128;
        var piecelength   = 60;
        var maxcount      = 10;
        var errors        = "";
        var replace_kokun = search_kokun.replace(/[\t|\n|\r|\s|　]+/g, ' ');
        var trim_kokun    = replace_kokun.replace(/^\s+|\s+$/g,'');
        var search_kokuns = trim_kokun.split(' ');
        var start         = 0;
        var end           = search_kokuns.length;

        // キーワードの最大長チェック
        if (trim_kokun.length > maxlength) {
            errors += Messages.ERROR_PART_STR_INDEX + Messages.ERROR_PART_STR_KOKUN +
                      Messages.ERROR_PART_STR_JOINT_HA + maxlength + Messages.ERROR_PART_STR_LENGTH_LONG;

        }
        // 一つのキーワードの最大長チェック
        for(start = 0; start < end; start++){
            if (search_kokuns[start].length > piecelength) {
                errors += Messages.ERROR_PART_STR_INDEX + Messages.ERROR_PART_STR_PART +
                          Messages.ERROR_PART_STR_KOKUN + Messages.ERROR_PART_STR_JOINT_HA +
                          piecelength + Messages.ERROR_PART_STR_LENGTH_LONG;
                break;
            }
        }
        // キーワード数チェック
        if (end > maxcount) {
            errors += Messages.ERROR_PART_STR_INDEX + Messages.ERROR_PART_STR_KOKUN +
                      Messages.ERROR_PART_STR_JOINT_HA + maxcount + Messages.ERROR_PART_STR_WHITHNUM_OVER;
        }
        return errors;
    },

    /**
     * 字通 親字選択時
     **/
    changeDisplaySelectOtion: function (range_value)
    {
        var isDisabled = new Array(4);
        isDisabled[1] = 1;
        isDisabled[2] = 1;
        isDisabled[3] = 1;
        isDisabled[4] = 1;

        //親字を選択中の場合
        if (range_value == Search.DIRECTION_CHARA_VALUE) {
            //非表示
            isDisabled[3] = 0;
            isDisabled[4] = 0;
        } else {
            //表示
            isDisabled[3] = 1;
            isDisabled[4] = 1;
        }
        for(var cnt = 1; cnt<=4;cnt++) {
            var strId = "search_way1_op" + cnt;
            var slOption = document.getElementById(strId);
            slOption.style.display = isDisabled[cnt] == 1 ? "block" : "none";
        }
    },

    /**
     * 字通 全文字の入力制限
     **/
    restrictedInputSearch: function (display_flag, mode_id)
    {
        if(display_flag != true && display_flag != false) {
            display_flag = false;
        }

        var targetForm = eval('document.searchForm'+ mode_id);
        //選択状態を取得
        var search_radical = targetForm.search_radical;
        var search_stroke  = targetForm.search_stroke;
        var search_gouma1  = targetForm.search_gouma1;
        var search_gouma2  = targetForm.search_gouma2;
        var search_gouma3  = targetForm.search_gouma3;
        var search_gouma4  = targetForm.search_gouma4;
        var search_kokun   = targetForm.search_kokun;
        var select_kokun   = targetForm.select_kokun;

        search_radical.disabled = display_flag;
        search_stroke.disabled = display_flag;
        search_gouma1.disabled = display_flag;
        search_gouma2.disabled = display_flag;
        search_gouma3.disabled = display_flag;
        search_gouma4.disabled = display_flag;
        search_kokun.disabled = display_flag;
        select_kokun.disabled = display_flag;
    },

    /**
     * 字通 四角号碼 自動フォーカス
     **/
    autoMoveNextFocus: function (keyEvn, object_num)
    {
        var blowserTypeMIE ="MIE";
        var blowserTypeNSC ="NSC";

        // ブラウザの判別
        if(navigator.appName.charAt(0) == "M"){
            var blowserType = blowserTypeMIE;
        } else if(navigator.appName.charAt(0) == "N"){
            var blowserType =  blowserTypeNSC;
        }

        if (blowserType == blowserTypeMIE) {
           var evn = window.event.keyCode;
        } else if (blowserType == blowserTypeNSC) {
           var evn = keyEvn.keyCode;
        }

        if (((48 <=evn) && (evn <= 57)) ||
            ((96 <=evn) && (evn <= 105))) {
            var numberTmp = object_num + 1;
            var objectId  = "search_gouma" + object_num;

            var gouma = document.getElementById(objectId);
            if (gouma.value.match(/[^0-9０-９]/g)) {
                return;
            };
        } else {
            return;
        }
        var strObject = ((1 <= object_num) && (object_num <= 3))? ("search_gouma" + numberTmp): "search_kokun";
        var next_object = document.getElementById(strObject);
        next_object.focus();
    },

    /**
     * 選択状態をクリアする(字通)
     **/
    jitsuuclear: function (mode_id)
    {
        var targetForm = eval('document.searchForm'+ mode_id);
        // 選択状態を初期状態に戻す
        // テキスト 検索語・古訓・部首名・四角号碼・総画数
        targetForm.search_word1.value   = "";
        targetForm.search_word1.disabled = false;
        targetForm.search_kokun.value   = "";
        targetForm.search_kokun.disabled = false;
        targetForm.search_radical.value = "";
        targetForm.search_radical.disabled = false;
        targetForm.search_gouma1.value  = "";
        targetForm.search_gouma1.disabled = false;
        targetForm.search_gouma2.value  = "";
        targetForm.search_gouma2.disabled = false;
        targetForm.search_gouma3.value  = "";
        targetForm.search_gouma3.disabled = false;
        targetForm.search_gouma4.value  = "";
        targetForm.search_gouma4.disabled = false;
        targetForm.search_stroke.value  = "";
        targetForm.search_stroke.disabled = false;

        //プルダウン 検索語 検索条件・範囲・表示件数・古訓：検索条件
        Search.initselectTagChange(targetForm.search_range1);
        Search.initselectTagChange(targetForm.search_way1);
        targetForm.search_way1.disabled = false;
        Search.initselectTagChange(targetForm.displaycount);
        Search.initselectTagChange(targetForm.select_kokun);
        targetForm.select_kokun.disabled = false;
    },

    /**
     * 範囲が全文・用例・方言・全分(親字)・全分(熟語)の際に、検索条件を部分一致にする
     * (親字の時→完全/前方一致)
     **/
    lockJitsuuChangeWay: function (rangeid, wayid, mode_id)
    {
        var range = eval('document.searchForm' + mode_id + '.' + rangeid);
        Search.createDivideSelectBox('Jitsu', 'divide_area', 2, 5);

        if (range.value == Search.FULL_DIRECTION_VALUE ||
            range.value == Search.FULL_PHRASE_VALUE) {
            Search.restrictedInputSearch(true, mode_id);
        } else if (range.value == Search.DIRECTION_CHARA_VALUE) {
            Search.restrictedInputSearch(false, mode_id);
        } else if (range.value == Search.PHRASE_VALUE) {
            Search.restrictedInputSearch(true, mode_id);
        }
    },

    /**
     * 入力アシスト表示
     **/
    assistWindowOpen: function (mode_id, search_radical)
    {

        if(document.getElementById("search_radical").disabled == true) {
          return false;
        }

        var f  = document.subwindowform;
        var wn = 'inputassist';
        var w  = CommonUtils.nWin('', wn, 450, 480);
        with (f) {
            session_job_mode.value = "update";
            return_element.value   = search_radical;
            mode_id.value          = 5;

            action = '/jitsuu/assistdisplay';
            target = wn;
            method = 'post';
            submit();
        }
    },

    /**
     * テキストのEnter対応(字通)
     **/
    jitsuuStopEnter: function (keyEvn, mode_id)
    {
         var blowserTypeMIE ="MIE";
         var blowserTypeNSC ="NSC";

        // ブラウザの判別
        if(navigator.appName.charAt(0) == "M"){
           var evn = window.event.keyCode;
        } else if(navigator.appName.charAt(0) == "N"){
           var evn = keyEvn.keyCode;
        }

        if (evn == 13) {
            Search.jitsuuSearch(mode_id);
        }
        return false;
    },

    /**
     * 日本史年表・表示処理
     **/
    nenpyouDisplay: function (mode)
    {
        var f = document.searchForm;
        f.action = '/nenpyou/display';
        f.mode_id.value = mode;
        f.session_job_mode.value = "update";
        f.method = 'get';
        f.submit();
    },

    /**
     * 日本史年表・絞込み制御
    **/
    nenpyouNarrow: function(checkedValue)
    {
      // 年表(基本検索)の絞込み制御
      var f = document.searchForm;
      var yearFlag = "disabled";
      if (checkedValue == true){
        var yearFlag = "";
      }
      for ( i=0; i < f.year_kind.length; i++ ){
         f.year_kind[i].disabled = yearFlag;

      }
      f.start_seireki1.disabled = yearFlag;
      f.end_seireki1.disabled = yearFlag;
      f.start_wareki_bt.disabled = yearFlag;
      f.start_wareki1.disabled = yearFlag;
      f.start_wareki2.disabled = yearFlag;
      f.end_wareki_bt.disabled = yearFlag;
      f.end_wareki1.disabled = yearFlag;
      f.end_wareki2.disabled = yearFlag;
    },

    /**
     * 日本史年表・クリアボタン制御
    **/
    nenpyouClear: function(clearFlag)
    {
      var f = document.searchForm;
      if (clearFlag == "1") {
        // 年表(基本検索)のクリア
        f.search_word1.value = "";
        f.narrow_flag.checked = false;
        f.search_range1[0].selected = true;
        f.search_way1[2].selected = true;
        f.search_way1.disabled = false;
        f.narrow_flag.disabled = false;
        f.year_kind[0].checked = true;
        f.start_seireki1.value = "";
        f.end_seireki1.value = "";
        f.start_wareki1.value = "";
        f.start_wareki2.value = "";
        f.end_wareki1.value = "";
        f.end_wareki2.value = "";
        f.displaycount[0].selected = true;

        // 年表(基本検索)の絞込みを呼び出す
        Search.nenpyouNarrow(false);

      // 年表(年代別一覧)のクリア
      } else if (clearFlag == "2") {
        f.each_century[0].selected = true;
        f.each_period[0].selected = true;
        f.century_period_kind[0].checked = true;
        f.century_period_kind[1].checked = false;
      // 年表(天皇・要職一覧)のクリア
      } else if (clearFlag == "3") {
        Search.initselectTagChange(f.divide_data1);
        Search.initselectTagChange(f.divide_data2);
        f.divide_data2.disabled = "disabled";
      }

    },

    /**
     * 日本史年表・検索実行
    **/
    nenpyouSearch: function(current_page, mode_id, contents_id, search_kind)
    {
      var errors = "";

      if (!current_page) {
          var f = document.searchForm;

          // IEのパラメタ取得 不備対応
          var displaycount_element  = document.getElementById("displaycount");
          var displaycount = displaycount_element.value;

          var search_message = Messages.INDIVIDUAL_INSERTION_TAG_FIRST;
          var current_page_value = "1";

      } else {
          var f = document.hiddenForm;
          var displaycount = f.displaycount.value;

          var search_message = Messages.INDIVIDUAL_INSERTION_TAG_PAGE;
          var current_page_value = current_page;

      }

      var search_word1        = f.search_word1.value;
      var search_way1         = f.search_way1.value;
      var search_range1       = f.search_range1.value;
      var start_seireki1      = f.start_seireki1.value;
      var end_seireki1        = f.end_seireki1.value;
      var start_wareki1       = f.start_wareki1.value;
      var end_wareki1         = f.end_wareki1.value;
      var start_wareki2       = f.start_wareki2.value;
      var end_wareki2         = f.end_wareki2.value;
      var each_century        = f.each_century.value;
      var each_period         = f.each_period.value;
      var important_position  = f.divide_data1.value;
      var important_person    = f.divide_data2.value;

      if (search_kind == '1') {
          errors = Search.searchWordParamCheck(search_word1, 'true');
          if (errors != "") {
              document.searchForm.search_word1.focus();
          }

          // 絞込みチェック
          if (!current_page) {
              var narrow_flag_value = "0";
              if (document.searchForm.narrow_flag.checked == true) {
                  narrow_flag_value = "1";
              }

              // 西暦・和暦の選択状態取得
              if (narrow_flag_value == "1") {
                  for ( i=0; i < document.searchForm.year_kind.length; i++ ) {
                      if (document.searchForm.year_kind[i].checked == true) {
                          var year_kind_num = i;
                          break;
                      }
                  }
              }
          } else {
              var narrow_flag_value = document.hiddenForm.narrow_flag.value;
              var year_kind_num = document.hiddenForm.year_kind.value;
          }

          errors = Search.nenpyouNarrowCheck(errors, current_page, narrow_flag_value, year_kind_num);

      } else if (search_kind == '2') {

          // 世紀・時代の選択状態取得
          if (!current_page) {
              for ( i=0; i < document.searchForm.century_period_kind.length; i++ ) {
                  if (document.searchForm.century_period_kind[i].checked == true) {
                      var century_period_kind_num = i;
                      break;
                  }
              }
          } else {
              var century_period_kind_num = document.hiddenForm.century_period_kind.value;
          }
          errors = Search.nenpyouCenturyPeriodCheck(errors, century_period_kind_num, current_page);

      } else if (search_kind == '3') {
          // 天皇・要職の選択状態取得
          var emperorError = "";
          if (important_position == "" || important_person == "") {
              errors = errors + Messages.NENPYOU_SELECT_EMPEROR + Messages.ERROR_NENPYOU_EMPEROR;
          }
      }

      // 検索式の表示用に、セレクトボックスに表示されている文言を取得する
      var divide_text = "";
      if (search_kind == '2' || search_kind == '3') {
          if (search_kind == '2') {
             if (document.getElementById("centuryck").checked == true) {
                  var parent = document.getElementById("each_century");
                  var divideval = each_century;
              } else {
                  var parent = document.getElementById("each_period");
                  var divideval = each_period;
              }
          } else if (search_kind == '3'){
              var parent = document.getElementById("divide_data2");
              var divideval = important_person;
          }

          divide_text = parent[parent.selectedIndex].text;
          // ページ遷移の場合は、hiddenパラメタを設定し直す
          if (current_page) {
              for (idx = 0 ; idx < parent.length ; idx++) {
                  selectval = parent[idx].value;
                  if (selectval == divideval) {
                      divide_text    = parent[idx].text;
                      break;
                  }
              }
          }
      }

      if (errors != "") {
          alert(errors);
          return false;
      }

      // ボタン押下
      // 待機GIFを表示
      $("#viewBase").html(search_message);
      // 検索処理
      $.post("/nenpyou/search",
      {
          "session_job_mode"    : "check",
          "current_page"        : current_page_value,
          "mode_id"             : mode_id,
          "search_word1"        : search_word1,
          "search_way1"         : search_way1,
          "search_range1"       : search_range1,
          "narrow_flag"         : narrow_flag_value,
          "year_kind"           : year_kind_num,
          "start_seireki1"      : start_seireki1,
          "end_seireki1"        : end_seireki1,
          "start_wareki1"       : start_wareki1,
          "end_wareki1"         : end_wareki1,
          "start_wareki2"       : start_wareki2,
          "end_wareki2"         : end_wareki2,
          "displaycount"        : displaycount,
          "search_kind"         : search_kind,
          "century_period_kind" : century_period_kind_num,
          "each_century"        : each_century,
          "each_period"         : each_period,
          "important_position"  : important_position,
          "important_person"    : important_person,
          "divide_text"         : divide_text
      },
      Search.nenpyoudisplayData);
    },

    /**
     * 日本史年表検索結果表示
     **/
    nenpyoudisplayData: function (data) {
        $("#viewBase").html(data);
    },

    /**
     * 日本史年表・絞込み条件チェック
    **/
    nenpyouNarrowCheck: function(errors, current_page, narrow_flag_value, year_kind_num)
    {

      if (!current_page) {
          var f = document.searchForm;
      } else {
          var f = document.hiddenForm;
      }

      // 西暦が選択されている場合
      // 西暦の開始年・終了年が両方省略した場合はエラーにする。
      // 西暦の開始年・終了年に[0-9]、「０-９]以外が入力されていないかチェックする。
      if (narrow_flag_value == "1" && year_kind_num == "0") {
          var sSeirekiErrors = "";
          var eSeirekiErrors = "";

          if (f.start_seireki1.value == "" && f.end_seireki1.value == "") {
              sSeirekiErrors = sSeirekiErrors + Messages.ERROR_SEIREKI_NOT_EMPTY;
              eSeirekiErrors = eSeirekiErrors + Messages.ERROR_SEIREKI_NOT_EMPTY;
          }

          if (f.start_seireki1.value != "" && f.start_seireki1.value.match(/[^(0-9)|(０-９)]+/)) {
              sSeirekiErrors = sSeirekiErrors + Messages.ERROR_SEIREKI_NOT_NUM;
          }
          if (sSeirekiErrors != "") {
              errors = errors + Messages.NENPYOU_START_SEIREKI + sSeirekiErrors;
          }

          if (f.end_seireki1.value != "" && f.end_seireki1.value.match(/[^(0-9)|(０-９)]+/)) {
              eSeirekiErrors = eSeirekiErrors + Messages.ERROR_SEIREKI_NOT_NUM;
          }
          if (eSeirekiErrors != "") {
              errors = errors + Messages.NENPYOU_END_SEIREKI + eSeirekiErrors;
          }
      }

      // 和暦が選択されている場合
      // 和暦の開始年号・終了年号のどちらかが省略した場合はエラーにする。
      // 和暦の年号妥当性チェックを入れる。
      // 和暦の開始年・終了年に[0-9]、「０-９]以外が入力されていないかチェックする。
      if (narrow_flag_value == "1" && year_kind_num == "1") {
          var sWarekiErrors = "";
          if (f.start_wareki1.value == "") {
              sWarekiErrors = sWarekiErrors + Messages.ERROR_NENGOU_NOT_EMPTY;
          } else {
              sWarekiErrors = sWarekiErrors +  Nengou.validCheck(f.start_wareki1.value, sWarekiErrors);
          }
          if (f.start_wareki2.value != "" && f.start_wareki2.value.match(/[^(0-9)|(０-９)]+/)) {
              sWarekiErrors = sWarekiErrors + Messages.ERROR_WAREKI_NOT_NUM;
          }
          if (sWarekiErrors != "") {
              errors = errors + Messages.NENPYOU_START_WAREKI + sWarekiErrors;
          }

          var eWarekiErrors = "";
          if (f.end_wareki1.value == "") {
              eWarekiErrors = eWarekiErrors + Messages.ERROR_NENGOU_NOT_EMPTY;
          } else {
              eWarekiErrors = eWarekiErrors +  Nengou.validCheck(f.end_wareki1.value, eWarekiErrors);
          }
          if (f.end_wareki2.value != "" && f.end_wareki2.value.match(/[^(0-9)|(０-９)]+/)) {
              eWarekiErrors = eWarekiErrors +  Messages.ERROR_WAREKI_NOT_NUM;
          }
          if (eWarekiErrors != "") {
              errors = errors + Messages.NENPYOU_END_WAREKI + eWarekiErrors;
          }

      }

      return errors;
    },

    /**
     * 日本史年表・検索条件制御
    **/
    nenpyouSelectChange: function()
    {
      // @TODO データクリアを追加する必要を確認
      var f = document.searchForm;
      // 人名・事項名の場合
      if (f.search_range1[0].selected == true) {
          if (Search.prevIndiSearchRangeFlagFirst === true) {
              f.search_way1[2].selected = true;
          }
          f.search_way1.disabled = false;
          f.narrow_flag.disabled = false;
          Search.prevIndiSearchRangeFlagFirst = false;
      // 西暦の場合
      } else if (f.search_range1[1].selected == true) {
          f.search_way1[0].selected = true;
          f.search_way1.disabled = true;
          f.narrow_flag.disabled = true;
          f.narrow_flag.checked = false;
          Search.nenpyouNarrow(false);
          Search.prevIndiSearchRangeFlagFirst = true;
      // 和暦の場合
      } else if (f.search_range1[2].selected == true) {
          if (Search.prevIndiSearchRangeFlagFirst === true) {
              f.search_way1[2].selected = true;
          }
          f.search_way1.disabled = false;
          f.narrow_flag.disabled = true;
          f.narrow_flag.checked = false;
          Search.nenpyouNarrow(false);
          Search.prevIndiSearchRangeFlagFirst = false;
      // 全文の場合
      } else if (f.search_range1[3].selected == true) {
          f.search_way1[1].selected = true;
          f.search_way1.disabled = true;
          f.narrow_flag.disabled = false;
          Search.prevIndiSearchRangeFlagFirst = true;
      }
    },

    /**
     * 日本史年表でのEnter制御
    **/
    nenpyouEnter: function(keyEvn, current_page, mode_id, contents_id, search_kind)
    {
      var blowserTypeMIE ="MIE";
      var blowserTypeNSC ="NSC";

        // ブラウザの判別
        if(navigator.appName.charAt(0) == "M"){
            var blowserType = blowserTypeMIE;
        } else if(navigator.appName.charAt(0) == "N"){
            var blowserType =  blowserTypeNSC;
        }

        if (keyEvn == 13) {
           Search.nenpyouSearch();
        }
    },

    /**
    * 世紀・政権のチェック
    **/
    nenpyouCenturyPeriodCheck: function (errors, selectkind, current_page)
    {
      if (!current_page) {
          var f = document.searchForm;
      } else {
          var f = document.hiddenForm;
      }

      var centuryPeriodError = "";

      if (selectkind == 0) {
          if (f.each_century.value == "") {
            centuryPeriodError = Messages.ERROR_NENPYOU_CENTURY;
          }
      } else {
          if (f.each_period.value == "") {
            centuryPeriodError = Messages.ERROR_NENPYOU_PERIOD;
          }
      }
      if (centuryPeriodError != "") {
          errors = errors + Messages.NENPYOU_SELECT_AGE + centuryPeriodError;
      }
      return errors;

    },


    /**
     * 和暦表表示
     **/
    warekiWindowOpen: function (winName)
    {
        var f = document.searchForm;
        var wn = winName;
        var w  = CommonUtils.nWin('/nenpyou/warekidisplay', wn, 600, 650);
        w.focus();
    },

    /**
     * 個別検索 絞込み検索 検索ボタン切換え(表示→非表示)
     **/
    showHide: function(id){
        var disp = document.getElementById(id).style.display;
        if(disp == "block"){
            document.getElementById(id).style.display = "none";
        } else {
            document.getElementById(id).style.display = "block";
        }
        return false;
    },

    /**
     * 個別検索 絞込み検索 検索ボタン切換え(非表示→表示)
     **/
    hideShow: function(id){
        var disp = document.getElementById(id).style.display;
        if(disp == "none"){
            document.getElementById(id).style.display = "block";
        } else {
            document.getElementById(id).style.display = "none";
        }
        return false;
    },

    /**
     * 個別検索 東洋文庫 対象選択 デフォルト表示
     */
    targetSelectDefaultChange: function(id) {
        var target = document.getElementById(id);
        if (target.value == '0') {
            for(i = 1; i<= 3; i++) {
                var rObject = document.getElementById('search_range' + i);
                var wObject = document.getElementById('search_way' + i);
                Search.initselectTagChange(rObject);
                Search.initselectTagChange(wObject);
                wObject.disabled = false;
            }
          Search.prevIndiSearchRangeFlagFirst  = false;
          Search.prevIndiSearchRangeFlagSecond = false;
          Search.prevIndiSearchRangeFlagThird  = false;
        } else {
            for(i = 1; i<= 3; i++) {
                // ページが選択された場合には各検索条件の範囲を「全文」に変更する
                var renge   = 'search_range' + i;
                var rObject = document.getElementById(renge);
                // #1335で関連語を削除しているので「全文」は固定の番号ではなく選択肢の末尾を指定するようにする
                rObject[rObject.length-1].selected = true;
                Search.lockIndividualChangeWay('search_range' + i, 'search_way'+ i, '5');
            }
          Search.prevIndiSearchRangeFlagFirst  = true;
          Search.prevIndiSearchRangeFlagSecond = true;
          Search.prevIndiSearchRangeFlagThird  = true;
        }

        // 東洋文庫 PDF/FLASHVIEWER グレーアウト切り替え
        Search.changeSelectViewer();
    },

    /**
     * 個別検索 古典文学全集 検索画面表示
     */
    kotenDisplay: function() {
        var f = document.searchForm;
        f.action = '/koten/display';
        f.session_job_mode.value = "update";
        f.method = 'get';
        f.submit();
    },

    /**
     * 選択状態をクリアする
     **/
    kotenClear: function ()
    {
        // 検索語は、対象の選択状態にかかわらず空初期化する。
        // 対象が「タイトル」の場合は、「タイトル」-「部分一致」
        // 対象が「ページ」の場合は、「古典本文」-「部分一致」
        var def_way   = 1;
        var def_range = 0;

        // 対象が「タイトル」の場合,検索条件グのレーアウト（入力無効化）
        if (document.getElementById('radio_title').checked == true) {
           var def_disabled = false;
        // 対象が「ページ」の場合、検索条件グのレーアウト解除（入力無効化解除）
        } else {
           var def_disabled = true;
        }

        // 選択状態を初期状態に戻す
        for(var i = 1; i <= 3; i++) {
            document.searchForm['search_word' + i].value = "";
            document.searchForm['search_range' + i][def_range].selected = true;
            document.searchForm['search_way' + i][def_way].selected = true;
            document.searchForm['search_way' + i].disabled = def_disabled;
        }

        document.searchForm.search_joint1[0].selected = true;
        document.searchForm.search_joint2[0].selected = true;
        document.searchForm.displaycount[0].selected = true;

        // 古典文学全集 対象作品の一括選択
        Search.kotenCheckAll();
    },

    /**
     * 個別検索 古典文学全集 対象切替デフォルト表示
     */
    kotenSelectDefaultChange: function(id) {
        var target = document.getElementById(id);

        for(i = 1; i<= 3; i++) {
            var rObject = document.getElementById('search_range' + i);
            var wObject = document.getElementById('search_way' + i);

            // 指定された階層のセレクトボックスを作成
            if (target.value == '0') {
                var work = (2 * i - 1);
                var setFlag = false;
                Search.initselectTagChange(wObject);
                wObject.disabled = false;
            } else {
                var work = (2 * i - 2);
                var setFlag = true;
                Search.initselectTagChangeDisable(wObject);
            }

            Search.initselectTagChange(rObject);
            var select_box = eval("Koten" + ".n00" + work  + "000000");
            $("#" + "divide_area" + i).html(select_box);
        }
        Search.prevIndiSearchRangeFlagFirst  = setFlag;
        Search.prevIndiSearchRangeFlagSecond = setFlag;
        Search.prevIndiSearchRangeFlagThird  = setFlag;
    },

    /**
     * 古典文学全集 対象作品の一括選択
     **/
    kotenCheckAll: function ()
    {
        var start = 0;
        var end   = document.searchForm["work[]"].length;

        for(var i = start; i < end; i++){
            if(document.searchForm["work[]"][i].disabled != true){
                document.searchForm["work[]"][i].checked = true;
            }
        }
    },

    /**
     * 古典作品の一括解除
     **/
    kotenReleaseAll: function ()
    {
        var start = 0;
        var end   = document.searchForm["work[]"].length;

        for(var i = start; i < end; i++){
            document.searchForm["work[]"][i].checked = false;
        }
    },

    /**
     * 対象作品の一括チェックON/OFF
     **/
    eachWorkCheck: function (list)
    {
        var start     = 0;
        var work_list = list.split(',');
        var end       = work_list.length;
        var allcheck  = 0;

        for(var i = start; i < end; i++){
            var cObject = document.getElementById('w' + work_list[i]);
            if (cObject.checked == true) {
                allcheck = 1;
                break;
            }
        }

        // 時代区分配下に一つでもチェックボックスへの選択があった場合は、
        // 全てのチェックボックスを解除する。
        if (allcheck == 0) {
            var checked = true;
        } else {
            var checked = false;
        }

        for(i = start; i < end; i++){
            var cObject = document.getElementById('w' + work_list[i]);
            if (cObject.disabled != true) {
                cObject.checked = checked;
            }
        }
    },

    /**
     * テキストのEnter対応 古典文学全集
     **/
    kotenStopEnter: function (keyEvn)
    {
        // ブラウザの判別
        if(navigator.appName.charAt(0) == "M"){
           var evn = window.event.keyCode;
        } else if(navigator.appName.charAt(0) == "N"){
           var evn = keyEvn.keyCode;
        }

        if (evn == 13) {
            Search.kotenSearch();
        }
        return false;
    },

    /**
     * 古典文学全集 個別検索処理
     **/
    kotenSearch: function (current_page)
    {
        if (Search.searchFlagKtnSys == 1) {
            document.searchForm.search_word1.focus();
            return false;
        }

        Search.searchFlagKtnSys = 1;
        var search_word   = new Array(3);
        var search_way    = new Array(3);
        var search_range  = new Array(3);
        var search_joint  = new Array(3);
        var targetFormStr = "";
        var work_select   = "";
        var displaycount  = "";

        // 検索ボタンを押下した場合
        if (!current_page) {
            // 対象作品のチェック情報を取得
            if (document.searchForm["work[]"] != undefined){
                var start = 0;
                var end   = document.searchForm["work[]"].length;
                for(var i = start; i < end; i++) {
                    if (document.searchForm["work[]"][i].checked == true) {
                        if (work_select == '') {
                            work_select = document.searchForm["work[]"][i].value;
                        } else {
                            work_select = work_select + "," + document.searchForm["work[]"][i].value;
                        }
                    }
                }
            }
        // ページ遷移を行った場合
           var targetFormStr = eval('document.searchForm');
        } else {
           var targetFormStr = eval('document.hiddenForm');
           work_select = targetFormStr['work_select'].value;
        }

        // フォームの値を取得
        for(i = 1; i<= 3; i++) {
            search_word[(i - 1)]  = targetFormStr['search_word' + i].value;
            search_way[(i - 1)]   = targetFormStr['search_way' + i].value;
            search_range[(i - 1)] = targetFormStr['search_range' + i].value;
        }

        // フォームの値を取得
        displaycount    = targetFormStr.displaycount.value;
        search_joint[0] = targetFormStr.search_joint1.value;
        search_joint[1] = targetFormStr.search_joint2.value;

        // 対象フラグのチェック
        if (document.searchForm.radio_title &&
            document.searchForm.radio_page) {
            if (document.searchForm.radio_title.checked == true) {
               var target_flag = document.searchForm.radio_title.value;
            } else if (document.searchForm.radio_page.checked == true) {
               var target_flag = document.searchForm.radio_page.value;
            } else {
               var target_flag = "";
            }
            // ページ遷移の場合は、hiddenパラメタを設定し直す
            if (current_page) {
                target_flag    = document.hiddenForm.target_flag.value;
            }
        } else {
            var target_flag = "";
        }

        // 検索語と対象作品のエラーチェック
        var word1errors = Search.searchWordParamCheck(search_word[0], 'true');
        var word2errors = Search.searchWordParamCheck(search_word[1]);
        var word3errors = Search.searchWordParamCheck(search_word[2]);
        var workerrors  = Search.kotenSelectParamCheck(work_select);
        if (word1errors != '') {
            word1errors = Search.first_search_word + word1errors;
        }
        if (word2errors != '') {
            word2errors = Search.second_search_word + word2errors;
        }
        if (word3errors != '') {
            word3errors = Search.third_search_word + word3errors;
        }
        if (workerrors != '') {
            workerrors = Search.work_list + workerrors;
        }
        var errors = word1errors + word2errors + word3errors + workerrors;

        if (errors != '') {
            alert(errors);
            Search.searchFlagKtnSys = 0;
            document.searchForm.search_word1.focus();
            return false;
        }

        //ボタン押下
        if (!current_page) {
            var msgstr = Messages.INDIVIDUAL_INSERTION_TAG_FIRST;
            var send_page = 1;
        } else {
            var msgstr = Messages.INDIVIDUAL_INSERTION_TAG_PAGE;
            var send_page = current_page;
        }

        // 待機GIFを表示
        $("#howtoBase").html(msgstr);

        // 検索処理アクションへPOST
        $.post("/koten/search",
        {
            "session_job_mode" : "check",
            "work_select"      : work_select,
            "current_page"     : send_page,
            "search_word1"     : search_word[0],
            "search_word2"     : search_word[1],
            "search_word3"     : search_word[2],
            "search_way1"      : search_way[0],
            "search_way2"      : search_way[1],
            "search_way3"      : search_way[2],
            "search_range1"    : search_range[0],
            "search_range2"    : search_range[1],
            "search_range3"    : search_range[2],
            "search_joint1"    : search_joint[0],
            "search_joint2"    : search_joint[1],
            "displaycount"     : displaycount,
            "target_flag"      : target_flag
        },
        Search.kotenDisplayData);
        document.searchForm.search_word1.focus();
        return false;
    },

    /**
     * 古典文学全集 検索結果表示
     **/
    kotenDisplayData: function (data) {
        $("#howtoBase").html(data);
        Search.searchFlagKtnSys = 0;
    },

    /**
     * 検索キーパラメーターチェック処理
     **/
    kotenSelectParamCheck: function (work_select) {
        var errors       = "";
        // コンテンツ選択チェック
        if (work_select == "") {
            var errors = Messages.ERROR_WORK_NOT_CHECKED;
        }
        return errors;
    },

     /**
     * 国史大辞典 個別表示処理
     **/
    kokushiDisplay: function ()
    {
        var f = document.searchForm;
        f.action = '/kokushi/display';
        f.mode_id.value = 2;
        f.session_job_mode.value = "update";
        f.method = 'get';
        f.submit();
    },

    /**
     * 国史大辞典 検索結果表示
     **/
    kokushiDisplayData: function (data) {
        $("#howtoBase").html(data);
        Search.searchFlagKksSys = 0;
    },

    /**
     * テキストのEnter対応 国史大辞典
     **/
    kokushiStopEnter: function (keyEvn)
    {
        // ブラウザの判別
        if(navigator.appName.charAt(0) == "M"){
           var evn = window.event.keyCode;
        } else if(navigator.appName.charAt(0) == "N"){
           var evn = keyEvn.keyCode;
        }

        if (evn == 13) {
            Search.kokushiSearch();
        }
        return false;
    },

    /**
     * 国史大辞典 個別検索処理
     **/
    kokushiSearch: function (current_page)
    {
        if (Search.searchFlagKksSys == 1) {
            document.searchForm.search_word1.focus();
            return false;
        }

        Search.searchFlagKksSys = 1;
        var search_word   = new Array(3);
        var search_way    = new Array(3);
        var search_range  = new Array(3);
        var search_joint  = new Array(3);
        var targetFormStr = "";
        var work_select   = "";
        var displaycount  = "";

        if (!current_page) {
            var targetFormStr = eval('document.searchForm');
        } else {
            var targetFormStr = eval('document.hiddenForm');
        }

        if (targetFormStr == undefined) {
            Search.searchFlagKksSys = 0;
            return false;
        }

        // フォームの値を取得
        for(i = 1; i<= 3; i++) {
            search_word[(i - 1)]  = targetFormStr['search_word' + i].value;
            search_way[(i - 1)]   = targetFormStr['search_way' + i].value;
            search_range[(i - 1)] = targetFormStr['search_range' + i].value;
        }

        // フォームの値を取得
        displaycount    = targetFormStr.displaycount.value;
        search_joint[0] = targetFormStr.search_joint1.value;
        search_joint[1] = targetFormStr.search_joint2.value;

        // 検索語と対象作品のエラーチェック
        var word1errors = Search.searchWordParamCheck(search_word[0], 'true');
        var word2errors = Search.searchWordParamCheck(search_word[1]);
        var word3errors = Search.searchWordParamCheck(search_word[2]);
        if (word1errors != '') {
            word1errors = Search.first_search_word + word1errors;
        }

        if (word2errors != '') {
            word2errors = Search.second_search_word + word2errors;
        }

        if (word3errors != '') {
            word3errors = Search.third_search_word + word3errors;
        }

        var errors = word1errors + word2errors + word3errors;

        if (errors != '') {
            alert(errors);
            Search.searchFlagKksSys = 0;
            targetFormStr.search_word1.focus();
            return false;
        }

        //ボタン押下
        if (!current_page) {
            var msgstr = Messages.INDIVIDUAL_INSERTION_TAG_FIRST;
            var send_page = 1;
        } else {
            var msgstr = Messages.INDIVIDUAL_INSERTION_TAG_PAGE;
            var send_page = current_page;
        }

        // 待機GIFを表示
        $("#howtoBase").html(msgstr);

        // 検索処理アクションへPOST
        $.post("/kokushi/search",
        {
            "session_job_mode" : "check",
            "current_page"     : send_page,
            "search_word1"     : search_word[0],
            "search_word2"     : search_word[1],
            "search_word3"     : search_word[2],
            "search_way1"      : search_way[0],
            "search_way2"      : search_way[1],
            "search_way3"      : search_way[2],
            "search_range1"    : search_range[0],
            "search_range2"    : search_range[1],
            "search_range3"    : search_range[2],
            "search_joint1"    : search_joint[0],
            "search_joint2"    : search_joint[1],
            "displaycount"     : displaycount
        },
        Search.kokushiDisplayData);
        document.searchForm.search_word1.focus();
        return false;
    },

    /**
     * 国史大辞典 クリア
     **/
    kokushiClear: function ()
    {
        var def_way   = 2;
        var def_range = 0;

        // 選択状態を初期状態に戻す
        for(var i = 1; i <= 3; i++) {
            document.searchForm['search_word' + i].value = "";
            document.searchForm['search_range' + i][def_range].selected = true;
            document.searchForm['search_way' + i][def_way].selected = true;
            document.searchForm['search_way' + i].disabled = false;
        }
        document.searchForm.search_joint1[0].selected = true;
        document.searchForm.search_joint2[0].selected = true;
        document.searchForm.displaycount[0].selected = true;
    },

    /**
     * 認証ファイルを開く
     **/
    openAuthFileIndividual: function (file)
    {
        var f = document.libraryForm;

        with (f) {
            action = '/common/display';
            filename.value = file;
            method = 'post';
            target = '_self';
            lib_flag.value = 'indi_auth';
            submit();
        }
    },

    /**
     * ライブラリのオプションを開く
     **/
    Individualoptiondisplay: function ()
    {
        var f = document.libraryForm;
        var obj = document.getElementById('selectBox');
        var file = obj[obj.selectedIndex].value;
        if (file) {
            if (file.substr(0,1) != "#") {
                with (f) {
                    action = '/common/display';
                    filename.value = file;
                    method = 'post';
                    target = '_self';
                    lib_flag.value = 'indi_auth';
                    submit();
                }
            } else {
                location.href = file;
            }
        }
    },

    /**
     * 東洋文庫 PDF/FLASHVIEWER グレーアウト切り替え
     **/
    changeSelectViewer: function ()
    {
        var f  = null;

        if (document.viewerForm) {
          f = document.viewerForm;
        } else {
          retuen;
        }

        // 東洋文庫 ipone/ipadの確認
        var dispFlag = new Array(2);
        if (Body.easternlibCheckIsUaFlashNg()) {
            dispFlag["pdf"]   = Body.flashNgAgentSetting["disabledPdf"];
            dispFlag["flash"] = Body.flashNgAgentSetting["disabledFlash"];
        } else {
            switch (document.getElementById('radio_book').checked) {
                case false:
                    dispFlag["pdf"]   = false;
                    dispFlag["flash"] = false;
                    break;

                case true:
                    dispFlag["pdf"]   = true;
                    dispFlag["flash"] = true;
                    break;

                default:
                    dispFlag["pdf"]   = true;
                    dispFlag["flash"] = true;
                    break;
            }
        }

        f['radio_pdf'].disabled   = dispFlag["pdf"];
        f['radio_flash'].disabled = dispFlag["flash"];

    }
};

