var catalog_list; var CATALOG_COOKIE = 'catalog.cart'; var catalogMap = { "1101" : "一条 Links Villa 西郷", "1201" : "i-paletteカタログ", "1301" : "i-tab lite 視聴ご案内リーフレット", "1401" : "ICHIJO meets ACTUS STYLE BOOK", "2000" : "総合免災住宅カタログ", "0101" : "セゾンF", "0102" : "アイ・スマート", "0103" : "アイ・キューブ", "0104" : "セゾンA", "0105" : "ブリアール", "0106" : "セゾン・アシュレ", "0108" : "円熟の家・百年", "0109" : "3階建", "0110" : "グラン・セゾン メロウ ブラウン", "0111" : "グラン・セゾン ジャパン ナチュラル", "0112" : "グラン・セゾン ブロッサム ホワイト", "0113" : "グラン・セゾン コンフォート グレージュ", "0114" : "グラン・スマート メロウ ブラウンン", "0115" : "グラン・スマート ジャパン ナチュラル", "0116" : "グラン・スマート ブロッサム ホワイト", "0117" : "グラン・スマート コンフォート グレージュ", "0201" : "夢の家(I‐HEAD構法)", "0202" : "一条の免震住宅", "0203" : "安全住宅宣言", "0204" : "木質耐震シェルター", "0401" : "全館床暖房", "0402" : "ICHIJO'S SYSTEM KITCHEN", "0403" : "アイ・スマート設備・仕様ガイド", "0404" : "一条の住むだけで地球にやさしい家", "0405" : "i-standard住宅設備カタログ", "0406" : "ICHIJO TILE STYLE", "0407" : "夢発電システム", "0408" : "グラン・セゾン 設備仕様ガイド", "0409" : "ICHIJO 電力大革命", "0410" : "花粉ジェットリーフレット", "0411" : "グラン・スマート 設備仕様ガイド", "0412" : "全館さらぽか空調", "0413" : "防犯ツインLow-Eトリプル樹脂サッシ", "0414" : "ラシック・シリーズ住宅設備カタログ", "0415" : "Home, in Style vol.1", "0416" : "Home, in Style vol.2", "0417" : "「ブラックレーベル」リーフレット", "0205" : "健康へのこだわり", "0601" : "ICHIJO 防災BOOK", "0602" : "夏の不快を0にする家", "0603" : "お願い!ロスガードくん!", "0604" : "奥さま応援BOOK", "0605" : "一条ポカポカ読本~冬の困ったにサヨナラ~", "0606" : "ICHIJO NEWS", "0607" : "キッズデザインの家", "0608" : "くらしラクカタログ", "0701" : "VOICE of ICHIJO ハイドロテクトタイル特集", "0702" : "VOICE of ICHIJO 収納実例特集", "0703" : "VOICE of ICHIJO 全館床暖房特集", "0705" : "VOICE of ICHIJO 3階建て特集", "0706" : "VOICE of ICHIJO 太陽光発電特集", "0707" : "with ICHIJO vol.2 インテリア実例集", "0708" : "VOICE of ICHIJO ペットと暮らす家特集", "0709" : "VOICE of ICHIJO 二世帯住宅特集", "0704" : "VOICE of ICHIJO 平屋特集", "0711" : "VOICE of ICHIJO ユーティリティ特集", "0712" : "VOICE of ICHIJO 玄関シューズクローク特集", "0713" : "VOICE of ICHIJO キッチン特集", "0714" : "VOICE of ICHIJO 20代の家づくり特集", "0715" : "VOICE of ICHIJO おうち時間特集", "0716" : "VOICE of ICHIJO 太陽光&蓄電池特集", "0717" : "VOICE of ICHIJO 子育て特集", "0718" : "VOICE of ICHIJO 「全館さらぽか空調」特集", "0719" : "iikoto別冊「yukikoが行く!」 vol.1", "0720" : "iikoto別冊「yukikoが行く!」 vol.2", "0721" : "VOICE of ICHIJO 寒冷地での暮らし特集", "0722" : "VOICE of ICHIJO セカンドライフ特集", "0723" : "with ICHIJO インテリア実例集", "0724" : "VOICE of ICHIJO 世界から見た一条特集", "0725" : "VOICE of ICHIJO 地震に強い家特集", "0726" : "iikoto別冊「yukikoが行く!」 vol.3", "0727" : "VOICE of ICHIJO 一条の「リビングスタイル」特集", "0728" : "VOICE of ICHIJO 一条の「耐水害住宅」特集", "0501" : "セゾン・アシュレプラン集", "2001" : "iikoto 2020年4月号", "2002" : "iikoto 2020年5月号", "2003" : "iikoto 2020年6月号", "2004" : "iikoto 2020年7月号", "2005" : "iikoto 2020年8月号", "2006" : "iikoto 2020年9月号", "2007" : "iikoto 2020年10月号", "2008" : "iikoto 2020年11月号", "2009" : "iikoto 2020年12月号", "2010" : "iikoto 2021年1月号", "2011" : "iikoto 2021年2月号", "2012" : "iikoto 2021年3月号", "2013" : "iikoto 2021年4月号", "2014" : "iikoto 2021年5月号", "2015" : "iikoto 2021年6月号", "2016" : "iikoto 2021年7月号", "2017" : "iikoto 2021年8月号", "2018" : "iikoto 2021年9月号", "2019" : "iikoto 2021年10月号", "2020" : "iikoto 2021年11月号", "2021" : "iikoto 2021年12月号", "2022" : "iikoto 2022年1月号", "2023" : "iikoto 2022年2月号", "2024" : "iikoto 2022年3月号", "2025" : "iikoto 2022年4月号", "2026" : "iikoto 2022年5月号", "2027" : "iikoto 2022年6月号", "2028" : "iikoto 2022年7月号", "2029" : "iikoto 2022年8月号", "2030" : "iikoto 2022年9月号", "2031" : "iikoto 2022年10月号", "2032" : "iikoto 2022年11月号", "2033" : "iikoto 2022年12月号", "2034" : "iikoto 2023年1月号", "2035" : "iikoto 2023年2月号", "2036" : "iikoto 2023年3月号", "2037" : "iikoto 2023年4月号", "2038" : "iikoto 2023年5月号", "2039" : "iikoto 2023年6月号", "2040" : "iikoto 2023年7月号", "2041" : "iikoto 2023年8月号", "2042" : "iikoto 2023年9月号", "2043" : "iikoto 2023年10月号", "2044" : "iikoto 2023年11月号", "2045" : "iikoto 2023年12月号", "2046" : "iikoto 2024年1月号", "2047" : "iikoto 2024年2月号", "2048" : "iikoto 2024年3月号", "2049" : "iikoto 2024年4月号", "2050" : "iikoto 2024年5月号", "2051" : "iikoto 2024年6月号", "2052" : "iikoto 2024年7月号", "2053" : "iikoto 2024年8月号", "2054" : "iikoto 2024年9月号", "2055" : "iikoto 2024年10月号", "2056" : "iikoto 2024年11月号", "2057" : "iikoto 2024年12月号", "2058" : "iikoto 2025年1月号", "2059" : "iikoto 2025年2月号", "2060" : "iikoto 2025年3月号", "2061" : "iikoto 2025年4月号", "2062" : "iikoto 2025年5月号", "2063" : "iikoto 2025年6月号", "2064" : "iikoto 2025年7月号", "2065" : "iikoto 2025年8月号", "2066" : "iikoto 2025年9月号", "2999" : "iikoto別冊「デリッシュディッシュ 60レシピ集」" }; const catalogPairs = { "0415": "0416", }; if (!catalog_list) { catalog_list = true; $(function () { //$('div.page-contentsbg-area div.catBlock') // 連動設定用のマップ $('#catalogArea li').click(function () { var c = $(this).find('input[type=checkbox]')[0]; var symbol = c.value.split('_')[0]; // 上限チェック:すでに2冊入っていて、今回チェックしようとしているならNG if (!c.checked && getCart().length >= 3) { $('#max').fadeIn(); return false; } c.checked = !c.checked; markIt(c); checkCheckbox(); // 連動対象が設定されているか → 自動的に追加 if (catalogPairs[symbol]) { var anotherId = catalogPairs[symbol]; var another = $('.catalog_' + anotherId + ' input[type=checkbox]')[0]; if (c.checked && another && !another.checked) { // カートの上限確認(すでに1冊入っている状態で連動追加するならNG) if (getCart().length >= 3) { $('#max').fadeIn(); // 元の選択もキャンセル(連動も含めて無効に) c.checked = false; markIt(c); checkCheckbox(); return false; } another.checked = true; markIt(another); } else if (!c.checked && another && another.checked) { another.checked = false; markIt(another); } checkCheckbox(); } }) .find('input[type=checkbox]').click(function (ev) { markIt(this); //ev.stopPropagation(); }); function markIt(c) { var j = $(c).parents('label'); var symbol = c.value.split('_')[0]; var label = c.value.split('_')[1]; if (c.checked) { if (getCart().length >= 3) { $('#max').fadeIn(); c.checked = false; return false; } addToCart(symbol, label); } else { removeFromCart(symbol); } refreshCart(); } }); } function addToCart(symbol, label) { var cart = $.evalJSON($.cookie(CATALOG_COOKIE)); if (!cart) cart = []; if (cart.length >= 3) return; var found = false; $.each(cart, function (c, v) { if (!v) return; if (v.symbol == symbol) { found = true; return false; } }); if (found) return; cart.push({symbol:symbol, label:label, date:Math.floor(new Date / 1E3)}); setCart(cart); } function removeFromCart(symbol) { var cart = getCart(); // 関連する連動シンボルを取得する関数 function getLinkedSymbol(sym) { for (const key in catalogPairs) { if (key === sym) return catalogPairs[key]; if (catalogPairs[key] === sym) return key; } return null; } // UI側チェックボックスをオフにし、表示からも除去(存在すれば) function uncheckUI(sym) { const checkbox = $('.catalog_' + sym + ' input[type=checkbox]'); if (checkbox.length && checkbox.prop('checked')) { checkbox.prop('checked', false); checkbox.parents("li").removeClass("selected"); } } // 元のsymbolを削除 cart = cart.filter(function (item) { return item && item.symbol !== symbol; }); uncheckUI(symbol); // UI側も解除 // 連動カタログがある場合はそれも削除 const linkedSymbol = getLinkedSymbol(symbol); if (linkedSymbol) { cart = cart.filter(function (item) { return item && item.symbol !== linkedSymbol; }); uncheckUI(linkedSymbol); // 連動相手のUI側も解除 } setCart(cart); } function checkCart() { var cart = getCart(); $.each(cart, function (c, v) { $('#' + v.symbol).attr('checked', 'checked'); }); } function getCart() { var cart = $.evalJSON($.cookie(CATALOG_COOKIE)); return cart === null ? [] : cart; } function setCart(cart) { $.cookie(CATALOG_COOKIE, $.toJSON(cart)); } function resetCart() { $.cookie(CATALOG_COOKIE, null); } function refreshCart() { populate(); } function populate() { //var ul = $('#selectedCatalog ul.selects'); var ul = $('#selects'); if (ul.size() == 0) return; ul.empty(); var cart = getCart(); var selected00 = $('#selected00'); $.each(cart, function (c, item) { var o = selected00.clone(true); o.attr('id', 'selected0'+ (c + 1)) //o.find('p.name').text(item.label); //o.find('img.catalog_image').attr('src', 'img/cat_'+ item.symbol +'.jpg'); //o.find('img.remove').attr('id', 'select_box_'+ item.symbol); o.find('.catalog_image').attr('src', getCatalogImagePath(item.symbol)); o.find('.remove').attr('id', 'select_box_'+ item.symbol); o.append('') o.appendTo(ul); }); var selected00b = $('#selected00b'); for (var i = 0; i < 3 - cart.length; i++) { var o = selected00b.clone(true); o.attr('id', 'selected0'+ (i + 1 + cart.length)); o.addClass('remain0'+ (3 - cart.length)); o.appendTo(ul); } if (typeof updateCatalogBoxVisibility === 'function') updateCatalogBoxVisibility(); } function getCatalogImagePath(symbol) { const customImageMap = { "0415": "/inquiry/catalog/img/cat_0415/cover.jpg", "0416": "/inquiry/catalog/img/cat_0416/cover.jpg" }; return customImageMap[symbol] || '/inquiry/catalog/img/cat_' + symbol + '/0.jpg'; } function getCatalogImagePath(symbol) { const customImageMap = { "0415": "/inquiry/catalog/img/cat_0415/cover.jpg", "0416": "/inquiry/catalog/img/cat_0416/cover.jpg" }; return customImageMap[symbol] || '/inquiry/catalog/img/cat_' + symbol + '/0.jpg'; } function checkCheckbox() { var cc = $("input[type=checkbox]"); $.each(cc, function(){ if($(this).is(":checked")){ $(this).parents("li").addClass("selected"); }else{ $(this).parents("li").removeClass("selected"); } }); } $(function () { var symbol = window.location.href.slice(window.location.href.indexOf('#') + 1); if (symbol === '0415' || symbol === '0416') { // 0415 または 0416 の場合、両方追加 if (catalogMap['0415']) { addToCart('0415', catalogMap['0415']); } if (catalogMap['0416']) { addToCart('0416', catalogMap['0416']); } } else if (catalogMap[symbol]) { // それ以外は1件のみ追加 addToCart(symbol, catalogMap[symbol]); } //if ($('#selectedCatalog ul.selects').size() == 0) return; if ($('#selects').size() == 0) return; //$('img.remove').click(function () { $('.remove').click(function () { var symbol = $(this).attr('id').replace('select_box_', ''); var c =$("#" + symbol); c.prop('checked', false); c.parents("li").removeClass("selected"); removeFromCart(symbol); refreshCart(); return false; }); populate(); checkCart(); checkCheckbox(); $('.chkreq').click(function(){ var cart = getCart(); if (cart == ""){ $('#empty').fadeIn(); return false; }else{ $(this).submit(); return true; } }); }); $(function () { const catalogSets = { "01": ['.catalog_0606', '.catalog_2000', '.catalog_0715'], "02": ['.catalog_0114', '.catalog_0102', '.catalog_0105'], "03": ['.catalog_0704', '.catalog_0703', '.catalog_0716'], "04": ['.catalog_0608', '.catalog_0702', '.catalog_0713'], "05": ['.catalog_0604', '.catalog_0607', '.catalog_0717'], "06": ['.catalog_0415', '.catalog_0416', '.catalog_0608'] }; function triggerCatalogSet(setId) { const catalogs = catalogSets[setId] || []; catalogs.forEach(selector => { const $el = $(selector); if (!$el.hasClass('selected')) $el.trigger('click'); }); $('input[name="catalog_set"]').val(setId); } function isSetSelected(setId) { const catalogs = catalogSets[setId] || []; return catalogs.every(selector => $(selector).hasClass('selected')); } function resetSelection() { $('#selected03 .remove').trigger('click'); $('#selected02 .remove').trigger('click'); $('#selected01 .remove').trigger('click'); $('.catalog_recommend_button, .listCatalog li').removeClass('selected'); $('input[name="catalog_set"]').val(""); } function updateRecommendButton() { $('.catalog_recommend_button').removeClass('selected'); $.each(catalogSets, function (setId, selectors) { if (selectors.some(sel => $(sel).hasClass('selected'))) { if ($('input[name="catalog_set"]').val() === setId) { // $('.catalog_recommend_button[data-catalog="' + setId + '"]').addClass("selected"); } } }); } function syncRecommendButtons() { $.each(catalogSets, function (setId, selectors) { if (selectors.every(sel => $(sel).hasClass('selected'))) { $('.catalog_recommend_button[data-catalog="' + setId + '"]').addClass("selected"); $('input[name="catalog_set"]').val(setId); } }); } $('.catalog_recommend_button').on('click', function (e) { const $btn = $(this); const setId = $btn.data('catalog'); if ($('#selected01 input').length) { if ($btn.hasClass('selected')) { resetSelection(); } else { $('#max').fadeIn(); return false; } } else { $btn.addClass('selected'); triggerCatalogSet(setId); $(window).scrollTop(e.pageY - e.clientY); } }); $('.remove').on('click', function () { $('.catalog_recommend_button').removeClass('selected'); updateRecommendButton(); $('input[name="catalog_set"]').val(""); }); syncRecommendButtons(); $('.btFormSubmit').on('click', function () { let matched = false; $.each(catalogSets, function (setId, selectors) { if (selectors.every(sel => $(sel).hasClass('selected'))) { $('.catalog_recommend_button[data-catalog="' + setId + '"]').addClass("selected"); $('input[name="catalog_set"]').val(setId); matched = true; return false; // break } }); if (!matched) { $('input[name="catalog_set"]').val(""); } }); });