//シェアボタン位置移動
(function($) {
$(".section .lyt-share-a.js-toggle.insert-share").html($(".main-contents > .section.diff-margin-b:first-child .lyt-share-a.js-toggle").html());
})(jQuery);
//アコーディオン最初のコンテンツオープン
(function($) {
$(".section .list-accordion-a.emp-list > .js-toggle:first-child").removeClass("is-close").addClass("is-open");
$(".section .list-accordion-a.emp-list > .js-toggle .toggle-hook .toggle-txt").text("閉じる");
$(".section .list-accordion-a.emp-list > .js-toggle .toggle-content").css("display", "block");
})(jQuery);
//別タブオープン
function tabChange(anchor) {
$("#tab-change-anchor .lists .tab-list-a li").removeClass("is-active");
$("#tab-change-anchor .lists .tab-list-a li").eq(anchor-1).addClass("is-active");
$("#tab-change-anchor .tabs-a .tab-panel").removeClass("is-active");
$("#tab-change-anchor .tabs-a .tab-panel").eq(anchor-1).addClass("is-active");
}
//右側の追従お問い合わせボタンに id="inquiryParam1" を付加
(function($) {
$("#footer-conversion .conv-list .conversion:last-child").attr("id", "inquiryParam1");
})(jQuery);
//追従お問い合わせボタンに target="_blank" を付加
(function($) {
$("#footer-conversion .conv-list .conversion > a").attr("target", "_blank");
})(jQuery);
/* サブメニュー設置ページで必要なスクリプト */
// サブメニューでドロップダウンなしのメニューのリンク有効化
$(function() {
$('.c-nav-header > ul > li > a.active').on("click",function(event) {
if (event.target.tagName === 'SPAN') {
location.href = $(this).attr('href');
return false;
}
});
});
// スマホでhoverを無効にする
var touch = 'ontouchstart' in document.documentElement
|| navigator.maxTouchPoints > 0
|| navigator.msMaxTouchPoints > 0;
if (touch) { // remove all :hover stylesheets
try { // prevent exception on browsers not supporting DOM styleSheets properly
for (var si in document.styleSheets) {
var styleSheet = document.styleSheets[si];
if (!styleSheet.rules) continue;
for (var ri = styleSheet.rules.length - 1; ri >= 0; ri--) {
if (!styleSheet.rules[ri].selectorText) continue;
if (styleSheet.rules[ri].selectorText.match(':hover')) {
styleSheet.deleteRule(ri);
}
}
}
} catch (ex) {}
}
/* 検索ページで必要なスクリプト */
// カテゴリーから探すボタン モーダル開く
$(function() {
$('.js-modal-opener').on('click', function() {
$('.searcharea-article').addClass('is-on');
return false;
});
$('.js-modal-close').on('click', function() {
$('.searcharea-article').removeClass('is-on');
return false;
});
});
/* サブメニュー設置ページ, トップページ, 検索ページで必要なスクリプト */
(function() {
var CAT_PATH = '/jp/group/fjm/business/mikata/'; //カテゴリーページまでのパス
var itemDataUrl = '/jp/group/fjm/imagesgig5/fjm_mikata_data_tcm173-4753938_tcm173-2750236-32.txt'; // アイテムcsvのURL
var menuDataUrl = '/jp/group/fjm/imagesgig5/fjm_mikata_search_tcm173-4753943_tcm173-2750236-32.txt'; // 検索メニューcsvのURL
var TTL_INDEX = 0; // csv中タイトルインデックス
var URL_INDEX = 1; // csv中リンク先インデックス
var IMG_INDEX = 2; // csv中サムネイルインデックス
var DATE_INDEX = 3; // csv中サムネイルインデックス
var TAG_INDEXES = [4, 8]; // csv中アイテムのタグワードインデックス範囲
var LBEL_INDEX = 8; // csv中ラベルインデックス
var TOP_INDEX = 9; // csv中トップページに表示フラグインデックス
var TARGET_INDEX = 10; // リンクオープンインデックス
var SPECIAL_INDEX = 11; // スペシャルコンテンツインデックス
var SEARCH_INDEX_START = 12; // csv中アイテムの検索タグ開始インデックス
var TAG_QUERY_KEY = 'tags'; // タグクエリのキー
var TAG_QUERY_JOINT = '+'; // 復数のタグクエリを繋ぐ文字列
var PAGE_QUERY_KEY = 'p'; // ページクエリのキー
var DEFAULT_ITEMS_NUM = 16; // デフォルト表示数
var DEFAULT_ITEMS_NUM__TOP = 8; // トップページのデフォルト表示数
var ITEMS_PER_PAGE = 8; // 「記事をもっと見る」1クリック辺りの表示件数
var CAT_PAGES = ['industry.html', 'keyword.html', 'issue.html']; //メニューcsvの大項目順の対応するファイル名
var MORE_BTN = '.diff-article-more'; //もっと見るボタン要素
var SERCH_RESULT_CONTAINER = '.search-result-container'; //検索結果リストを表示する要素
var itemDataList; //アイテムcsv変換配列
var menuDataList; //メニューcsv変換配列
var saerachIndexEnd; // csv中アイテムの検索タグ終了インデックス(検索ワード数は変動で末尾まであるので = csvの1レコードのlength)
var tagObj; //すべての検索タグをキーに格納したオブジェクト tagObj[tag] = {cat:大項目, subcat:中項目, items:タグ検索一致アイテム配列, url:検索ページURL}
var resultItems; // 検索結果アイテム格納配列
var resultItemsTagsObj; // 検索結果のアイテムが持つキータグをキーにしたオブジェクト
var defaultItemsNum; // 最初のアイテム表示件数(トップページ、サブページで変動)
var isTopPage; //トップページフラグ
var currentPushQuery = location.search; // 現在のロケーションクエリ
function load() {
loadData(itemDataUrl, function(data) { itemDataList = csvToArray(data) });
loadData(menuDataUrl, function(data) { menuDataList = csvToArray(data) });
}
function loadData(url, func) {
$.ajax({
url: url,
}).done(function(data) {
func(data);
if (itemDataList && menuDataList) init(); //データを全て読み込んだら初期化
}).fail(function(XMLHttpRequest, textStatus, errorThrown) {
console.log("XMLHttpRequest : " + XMLHttpRequest.status);
console.log("textStatus : " + textStatus);
console.log("errorThrown : " + errorThrown.message);
});
}
function init() {
initItems();
initTagObj();
initDom();
initEvents();
//
//
search();
}
function initDom() {
initGnav();
initSearcharea();
}
function initSearcharea() {
var arr = [];
var catCount = -1;
for (var i = 0; i < menuDataList.length; ++i) {
var menuData = menuDataList[i];
if (menuData[0]) {
catCount++;
arr[catCount] = $('
');
arr[catCount].append('
' + menuData[0] + '
');
}
if (menuData[1]) {
arr[catCount].append('
' + menuData[1] + '
');
arr[catCount].append('
');
}
if (tagObj[menuData[2]]) {
if (!arr[catCount].find('.list-article-refine__body')[0]) arr[catCount].append('
');
$li = '';
arr[catCount].find('.list-article-category').eq(-1).append($li);
}
}
var locationPageName = getLocationPageName();
for (var i = 0; i < CAT_PAGES.length; i++) {
if (CAT_PAGES[i] == locationPageName) {
$('#searcharea-refine').prepend(arr[i].html());
} else {
$('.list-article-refine__accordion .toggle-content').append(arr[i].html());
}
}
//
initSearchareaEvents();
}
function initSearchareaEvents() {
$('[data-search-tag]').each(function(index, el) {
$(el).on('change', searchareaSearch);
});
$('.js-searcharea-clear').on('click', function() {
searchByTag('', false);
});
$('.searcharea-article-close__button').on('click', function() {
history.replaceState('replace', '', currentPushQuery);
search();
});
$('.js-searcharea-exec').on('click', function() {
searchByTag(getQueryObj()[TAG_QUERY_KEY], true);
});
}
function searchareaSearch() {
var arr = [];
$('[data-search-tag]:checked').each(function(index, el) {
arr.push($(el).attr('data-search-tag'));
});
searchByTag(arr.join(TAG_QUERY_JOINT), false);
}
function updateSearcharea() {
//表示リセット
$('.list-article-category__label').css({'opacity':.3, 'pointer-events':'none'});
$('[data-search-tag]').prop("checked", false).next('.js-searcharea-hits').text('');
// タグ毎の一致アイテム数表示
for (var key in resultItemsTagsObj) {
var n = resultItemsTagsObj[key].length;
var resultCB = $('[data-search-tag="' + key + '"]');
resultCB.closest('.list-article-category__label').css({'opacity':1, 'pointer-events':'auto'});
resultCB.next('.js-searcharea-hits').text('(' + n + ')');
}
// 検索タグ表示
$('#list-keywords').html('');
$('#list-selected-keywords').html('');
var sw = getCurrentSerachTags();
for (var i = 0; i < sw.length; ++i) {
var w = sw[i];
$('[data-search-tag="' + w + '"]').prop("checked", true);
$('#list-keywords').append('
' + w + '
');
$('#list-selected-keywords').append('
' + w + '
');
}
$('.js-searcharea-total').text(resultItems.length);
}
function initGnav() {
var catCount = 0;
var subcatCount = 0;
var tagCount = 0;
for (var i = 0; i < menuDataList.length; ++i) {
var menuData = menuDataList[i];
var $nav;
if (menuData[0]) {
$nav = $('.c-nav-header>ul>li.js-toggle').eq(catCount++);
$nav.find('.toggle-hook span:first-child').text(menuData[0]);
$nav.find('.c-nav-header__child-wrap>.c-nav-header__child-label').html(menuData[0] + '');
subcatCount = tagCount = 0;
$nav.find('.c-nav-header__child>li').html('');
}
if (menuData[1]) {
$nav.find('.c-nav-header__child-label.detail').eq(subcatCount++).text(menuData[1]);
}
if (tagObj[menuData[2]]) {
var btn = '' + menuData[2] + '';
$nav.find('.c-nav-header__child>li').eq(tagCount++).html(btn);
}
}
// toggle-hook で開いたメニューをクローズボタンで閉じる
$('.c-nav-header__child__close-button').on('click', function() {
$(this).closest('.js-toggle').find('>.toggle-hook').click();
});
}
function updateView() {
updateSearcharea();
updateList();
}
function updateList() {
$(MORE_BTN).show();
var currentPage = getCurrentPage();
var st = 0;
var end = defaultItemsNum;
if (currentPage > 1) {
st = defaultItemsNum + ((currentPage - 2) * ITEMS_PER_PAGE);
end = st + ITEMS_PER_PAGE;
}
if (end >= resultItems.length) $(MORE_BTN).hide();
var $list = $(SERCH_RESULT_CONTAINER).find('>li');
for (var i = 0; i < itemDataList.length; i++) {
var item = resultItems[i];
if (item && i < end) {
if ($list.eq(i)[0]) {
var itemID = item[item.length - 1];
if ($list.eq(i).attr('data-item-id') != itemID) {
$list.eq(i).replaceWith(getItemCard(item));
}
} else {
$(SERCH_RESULT_CONTAINER).append(getItemCard(item));
}
} else {
if ($list.eq(i)[0]) {
$list.eq(i).remove();
} else {
break;
}
}
}
}
function countUpPage() {
var queryObj = getQueryObj();
var currentPage = getCurrentPage();
if (setQuery(PAGE_QUERY_KEY, currentPage + 1, true)) updateList();
}
function getCurrentPage() {
var queryObj = getQueryObj();
return parseInt(queryObj[PAGE_QUERY_KEY]) || 1;
}
function getItemCard(item) {
if (!item) return;
var link = item[URL_INDEX];
var img = item[IMG_INDEX];
var alt = item[TTL_INDEX];
var ttl = item[TTL_INDEX];
var label = item[LBEL_INDEX];
var target = item[TARGET_INDEX];
var id = item[item.length - 1];
var tags = '';
var date = item[DATE_INDEX];
date = date.split('-');
date = date[0] + '年' + date[1] + '月' + date[2] + '日';
for (var i = TAG_INDEXES[0]; i < TAG_INDEXES[1]; i++) {
var tag = item[i];
if (tag) {
var tagUrl;
if (tagObj[tag]) tagUrl = tagObj[tag]['url'];
tags += '