// Trust Garden Facility Search functionality function facilitySearch() { return { facilities: [], prefectures: {}, features: {}, dataLoaded: false, hasError: false, searchExecuted: false, filters: { prefectures: [], features: [] }, async loadFacilities() { this.dataLoaded = false; this.hasError = false; try { const data = { "facilities": [ { "id": "classicgarden", "name": "クラシックガーデン文京根津", "prefecture": "tokyo_bunkyo", "prefectureName": "東京都", "city": "文京区", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_classicgarden_A.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_classicgarden_B.jpg" }, "features": [ "24hour_nursing", "healthy_residents", "couple_room", "all_private_rooms", "rehabilitation", "short_term_stay", "end_of_life_care" ], "description": "文京・根津の歴史ある街並みと庭園に囲まれた、趣ある暮らしを。", "facilityType": "介護付有料老人ホーム", "detailUrl": "https://www.trustgarden.jp/classicgarden/?sb_tracking=true", "pamphletUrl": "https://www.trustgarden.jp/pamphlet/?user_home=7&sb_tracking=true", "visitUrl": "https://www.trustgarden.jp/visit/?user_home=7&lp=0&sb_tracking=true" }, { "id": "hongou", "name": "トラストガーデン本郷", "prefecture": "tokyo_bunkyo", "prefectureName": "東京都", "city": "文京区", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_hongou_A.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_hongou_B.jpg" }, "features": [ "24hour_nursing", "healthy_residents", "all_private_rooms", "rehabilitation", "short_term_stay", "end_of_life_care" ], "description": "文京・本郷の緑に囲まれた文教地区で、ゆとりと彩りに満ちた毎日を。", "facilityType": "介護付有料老人ホーム", "detailUrl": "https://www.trustgarden.jp/hongou/?sb_tracking=true", "pamphletUrl": "https://www.trustgarden.jp/pamphlet/?user_home=10&sb_tracking=true", "visitUrl": "https://www.trustgarden.jp/visit/?user_home=10&lp=0&sb_tracking=true" }, { "id": "higashiminemachi", "name": "トラストガーデン東嶺町", "prefecture": "tokyo_ota", "prefectureName": "東京都", "city": "大田区", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_higashiminemachi_A.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_higashiminemachi_B.jpg" }, "features": [ "24hour_nursing", "healthy_residents", "all_private_rooms", "rehabilitation", "short_term_stay", "end_of_life_care" ], "description": "大田区・東嶺町の住宅街に溶け込む、家族のようなぬくもりある住まい。", "facilityType": "介護付有料老人ホーム", "detailUrl": "https://www.trustgarden.jp/higashiminemachi/?sb_tracking=true", "pamphletUrl": "https://www.trustgarden.jp/pamphlet/?user_home=8&sb_tracking=true", "visitUrl": "https://www.trustgarden.jp/visit/?user_home=8&lp=0&sb_tracking=true" }, { "id": "felio-tamagawa", "name": "フェリオ多摩川", "prefecture": "tokyo_ota", "prefectureName": "東京都", "city": "大田区", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_tamagawa_A.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_tamagawa_B.jpg" }, "features": [ "24hour_nursing", "healthy_residents", "all_private_rooms", "rehabilitation", "short_term_stay", "end_of_life_care" ], "description": "大田区・多摩川の住まいで、中庭の緑と人のぬくもりに包まれる、家族のような日々を。", "facilityType": "介護付有料老人ホーム", "detailUrl": "https://www.trustgarden.jp/tamagawa/?sb_tracking=true", "pamphletUrl": "https://www.trustgarden.jp/pamphlet/?user_home=21&sb_tracking=true", "visitUrl": "https://www.trustgarden.jp/visit/?user_home=21&sb_tracking=true" }, { "id": "sakurashinmachi", "name": "トラストガーデン桜新町", "prefecture": "tokyo_setagaya", "prefectureName": "東京都", "city": "世田谷区", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_sakurashinmachi_A.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_sakurashinmachi_B.jpg" }, "features": [ "24hour_nursing", "healthy_residents", "couple_room", "all_private_rooms", "rehabilitation", "short_term_stay", "end_of_life_care", "hospice_care" ], "description": "世田谷・弦巻の閑静な環境で、のびやかに心ほどける日々を。", "facilityType": "介護付有料老人ホーム", "detailUrl": "https://www.trustgarden.jp/sakurashinmachi/?sb_tracking=true", "pamphletUrl": "https://www.trustgarden.jp/pamphlet/?user_home=4&sb_tracking=true", "visitUrl": "https://www.trustgarden.jp/visit/?user_home=4&lp=0&sb_tracking=true" }, { "id": "youga", "name": "トラストガーデン用賀の杜", "prefecture": "tokyo_setagaya", "prefectureName": "東京都", "city": "世田谷区", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_youga_C.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_youga_B.jpg" }, "features": [ "24hour_nursing", "healthy_residents", "couple_room", "all_private_rooms", "rehabilitation", "short_term_stay", "end_of_life_care" ], "description": "世田谷・用賀の自然に抱かれた中庭のある邸宅で、別荘のようなひとときを。", "facilityType": "介護付有料老人ホーム", "detailUrl": "https://www.trustgarden.jp/youga/?sb_tracking=true", "pamphletUrl": "https://www.trustgarden.jp/pamphlet/?user_home=5&sb_tracking=true", "visitUrl": "https://www.trustgarden.jp/visit/?user_home=5&lp=0&sb_tracking=true" }, { "id": "todoroki", "name": "トラストガーデン等々力", "prefecture": "tokyo_setagaya", "prefectureName": "東京都", "city": "世田谷区", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_todoroki_B.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_todoroki_A.jpg" }, "features": [ "24hour_nursing", "healthy_residents", "all_private_rooms", "rehabilitation", "short_term_stay", "end_of_life_care" ], "description": "自然と利便が調和する世田谷・等々力で、潤いある日常を。", "facilityType": "介護付有料老人ホーム", "detailUrl": "https://www.trustgarden.jp/todoroki/?sb_tracking=true", "pamphletUrl": "https://www.trustgarden.jp/pamphlet/?user_home=6&sb_tracking=true", "visitUrl": "https://www.trustgarden.jp/visit/?user_home=6&lp=0&sb_tracking=true" }, { "id": "felio-seijo", "name": "フェリオ成城", "prefecture": "tokyo_setagaya", "prefectureName": "東京都", "city": "世田谷区", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_felio-seijo_A.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_felio-seijo_B.jpg" }, "features": [ "24hour_nursing", "healthy_residents", "all_private_rooms", "rehabilitation", "short_term_stay", "end_of_life_care" ], "description": "中庭の緑に心ほどける、祖師谷の静かな住まい。ぬくもりに満ちた、家族のような日々を。", "facilityType": "介護付有料老人ホーム", "detailUrl": "https://www.trustgarden.jp/seijo/?sb_tracking=true", "pamphletUrl": "https://www.trustgarden.jp/pamphlet/?user_home=22&sb_tracking=true", "visitUrl": "https://www.trustgarden.jp/visit/?user_home=22&sb_tracking=true" }, { "id": "nanpeidai", "name": "トラストガーデン南平台", "prefecture": "tokyo_shibuya", "prefectureName": "東京都", "city": "渋谷区", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_nanpeidai_A.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_nanpeidai_B.jpg" }, "features": [ "24hour_nursing", "healthy_residents", "couple_room", "all_private_rooms", "rehabilitation", "short_term_stay", "end_of_life_care", "hospice_care" ], "description": "渋谷・南平台の上質な邸宅で、心寄り添う丁寧な暮らしと、家族のような温もりを。", "facilityType": "介護付有料老人ホーム", "detailUrl": "https://www.trustgarden.jp/nanpeidai/?sb_tracking=true", "pamphletUrl": "https://www.trustgarden.jp/pamphlet/?user_home=3&sb_tracking=true", "visitUrl": "https://www.trustgarden.jp/visit/?user_home=3&lp=0&sb_tracking=true" }, { "id": "tokiwamatsu", "name": "トラストガーデン常磐松", "prefecture": "tokyo_shibuya", "prefectureName": "東京都", "city": "渋谷区", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_tokiwamatsu_A.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_tokiwamatsu_B.jpg" }, "features": [ "24hour_nursing", "healthy_residents", "couple_room", "all_private_rooms", "rehabilitation", "short_term_stay", "end_of_life_care" ], "description": "渋谷・常磐松の静かな邸宅地で、心やすらぐ上質な暮らしを。", "facilityType": "介護付有料老人ホーム", "detailUrl": "https://www.trustgarden.jp/tokiwamatsu/?sb_tracking=true", "pamphletUrl": "https://www.trustgarden.jp/pamphlet/?user_home=11&sb_tracking=true", "visitUrl": "https://www.trustgarden.jp/visit/?user_home=11&lp=0&sb_tracking=true" }, { "id": "suginami", "name": "トラストガーデン杉並宮前", "prefecture": "tokyo_suginami", "prefectureName": "東京都", "city": "杉並区", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_suginami_A.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_suginami_B.jpg" }, "features": [ "24hour_nursing", "healthy_residents", "couple_room", "all_private_rooms", "rehabilitation", "short_term_stay", "end_of_life_care", "hospice_care" ], "description": "光と風と緑に包まれる杉並・宮前で、自然とともに暮らす心地よさを。", "facilityType": "介護付有料老人ホーム", "detailUrl": "https://www.trustgarden.jp/suginami-miyamae/?sb_tracking=true", "pamphletUrl": "https://www.trustgarden.jp/pamphlet/?user_home=1&sb_tracking=true", "visitUrl": "https://www.trustgarden.jp/visit/?user_home=1&lp=0&sb_tracking=true" }, { "id": "ogikubo", "name": "トラストガーデン荻窪", "prefecture": "tokyo_suginami", "prefectureName": "東京都", "city": "杉並区", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_ogikubo_A.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_ogikubo_B.jpg" }, "features": [ "24hour_nursing", "healthy_residents", "couple_room", "all_private_rooms", "rehabilitation", "short_term_stay", "end_of_life_care" ], "description": "杉並・清水の気品漂う和モダンの空間で、くつろぎに満ちた毎日を。", "facilityType": "介護付有料老人ホーム", "detailUrl": "https://www.trustgarden.jp/ogikubo/?sb_tracking=true", "pamphletUrl": "https://www.trustgarden.jp/pamphlet/?user_home=2&sb_tracking=true", "visitUrl": "https://www.trustgarden.jp/visit/?user_home=2&lp=0&sb_tracking=true" }, { "id": "bashamichi", "name": "トラストガーデン横浜ベイ馬車道", "prefecture": "kanagawa", "prefectureName": "神奈川県", "city": "横浜市中区", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_bashamichi_A.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_bashamichi_B.jpg" }, "features": [ "24hour_nursing", "healthy_residents", "all_private_rooms", "rehabilitation", "short_term_stay", "end_of_life_care" ], "description": "歴史と華やぎが交差する横浜・馬車道で、港町に寄り添う暮らしを。", "facilityType": "介護付有料老人ホーム", "detailUrl": "https://www.trustgarden.jp/bashamichi/?sb_tracking=true", "pamphletUrl": "https://www.trustgarden.jp/pamphlet/?user_home=16&sb_tracking=true", "visitUrl": "https://www.trustgarden.jp/visit/?user_home=16&lp=0&sb_tracking=true" }, { "id": "morningpark", "name": "モーニングパーク主税町", "prefecture": "aichi", "prefectureName": "愛知県", "city": "名古屋市東区", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_morningpark_A.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_morningpark_B.jpg" }, "features": [ "24hour_nursing", "healthy_residents", "couple_room", "all_private_rooms", "rehabilitation", "short_term_stay", "end_of_life_care" ], "description": "名古屋・主税町の由緒ある地で、家族が集う笑顔あふれる日々を。", "facilityType": "介護付有料老人ホーム", "detailUrl": "https://www.trustgarden.jp/morningpark/?sb_tracking=true", "pamphletUrl": "https://www.trustgarden.jp/morningpark/contact/?sb_tracking=true", "visitUrl": "https://www.trustgarden.jp/visit/?user_home=18&sb_tracking=true" }, { "id": "shirakabe", "name": "トラストグレイス白壁", "prefecture": "aichi", "prefectureName": "愛知県", "city": "名古屋市東区", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_shirakabe_care.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_shirakabe_B.jpg" }, "features": [ "24hour_nursing", "healthy_residents", "couple_room", "all_private_rooms", "rehabilitation" ], "description": "歴史と文化が息づく白壁の邸宅街で、成熟した人生にふさわしい穏やかな暮らしを。", "facilityType": "サービス付き高齢者向け住宅", "detailUrl": "https://trustgrace.jp/shirakabe/?sb_tracking=true", "pamphletUrl": "https://trustgrace.jp/shirakabe/pamphlet/?sb_tracking=true", "visitUrl": "https://trustgrace.jp/shirakabe/visit/?sb_tracking=true" }, { "id": "shirakabe-kaigo", "name": "トラストグレイス白壁/介護フロア", "prefecture": "aichi", "prefectureName": "愛知県", "city": "名古屋市東区", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_shirakabe_C.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_shirakabe_B.jpg" }, "features": [ "24hour_nursing", "all_private_rooms", "rehabilitation", "end_of_life_care" ], "description": "歴史と格式ある白壁の街並みに寄り添い、穏やかで安心な日々を。", "facilityType": "サービス付き高齢者向け住宅", "detailUrl": "https://trustgrace.jp/shirakabe/?sb_tracking=true", "pamphletUrl": "https://trustgrace.jp/shirakabe/pamphlet/?sb_tracking=true", "visitUrl": "https://trustgrace.jp/shirakabe/visit/?sb_tracking=true" }, { "id": "activabiwa-residence", "name": "アクティバ琵琶/レジデンス棟", "prefecture": "shiga", "prefectureName": "滋賀県", "city": "大津市", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_activabiwa_A.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_activabiwa_B.jpg" }, "features": [ "24hour_nursing", "healthy_residents", "couple_room", "all_private_rooms", "rehabilitation" ], "description": "琵琶湖と比叡山を望む開放感のなか、自由で安心なアクティブライフを。", "facilityType": "介護付有料老人ホーム", "detailUrl": "https://www.activabiwa.jp/?sb_tracking=true", "pamphletUrl": "https://www.activabiwa.jp/pamphlet/?sb_tracking=true", "visitUrl": "https://www.activabiwa.jp/visit/?sb_tracking=true" }, { "id": "activabiwa-care", "name": "アクティバ琵琶/ケアレジデンス棟", "prefecture": "shiga", "prefectureName": "滋賀県", "city": "大津市", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_activabiwa_care.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_activabiwa_B.jpg" }, "features": [ "24hour_nursing", "all_private_rooms", "rehabilitation", "end_of_life_care" ], "description": "琵琶湖の潤いと比叡山の緑に寄り添い、安らぎと安心が続く毎日を。", "facilityType": "介護付有料老人ホーム", "detailUrl": "https://www.activabiwa.jp/care/?sb_tracking=true", "pamphletUrl": "https://www.activabiwa.jp/pamphlet/?sb_tracking=true", "visitUrl": "https://www.activabiwa.jp/visit/?sb_tracking=true" }, { "id": "shijokarasuma", "name": "トラストガーデン四条烏丸", "prefecture": "kyoto", "prefectureName": "京都府", "city": "京都市下京区", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_shijokarasuma_A.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_shijokarasuma_B.jpg" }, "features": [ "24hour_nursing", "couple_room", "all_private_rooms", "rehabilitation", "end_of_life_care", "hospice_care" ], "description": "京都の中心・四条烏丸で、歴史と伝統に寄り添う穏やかな暮らしを。", "facilityType": "介護付有料老人ホーム", "detailUrl": "https://www.trustgarden.jp/shijokarasuma/?sb_tracking=true", "pamphletUrl": "https://www.trustgarden.jp/pamphlet/?user_home=12&sb_tracking=true", "visitUrl": "https://www.trustgarden.jp/visit/?user_home=12&lp=0&sb_tracking=true" }, { "id": "trustgrace-general", "name": "トラストグレイス御影/一般棟", "prefecture": "hyogo", "prefectureName": "兵庫県", "city": "神戸市東灘区", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_trustgrace_A.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_trustgrace_B.jpg" }, "features": [ "24hour_nursing", "healthy_residents", "couple_room", "all_private_rooms", "rehabilitation" ], "description": "神戸・御影の緑豊かな高台で、洗練された上質な時間を愉しむ。", "facilityType": "サービス付き高齢者向け住宅", "detailUrl": "https://trustgrace.jp/?sb_tracking=true", "pamphletUrl": "https://trustgrace.jp/pamphlet/?sb_tracking=true", "visitUrl": "https://trustgrace.jp/visit/?sb_tracking=true" }, { "id": "trustgrace-care", "name": "トラストグレイス御影/介護棟", "prefecture": "hyogo", "prefectureName": "兵庫県", "city": "神戸市東灘区", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_trustgrace_care.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_trustgrace_B.jpg" }, "features": [ "24hour_nursing", "all_private_rooms", "rehabilitation", "end_of_life_care" ], "description": "神戸・御影の緑の中で、その方らしさを大切にした穏やかな日々を。", "facilityType": "介護付有料老人ホーム", "detailUrl": "https://trustgrace.jp/kaigo/?sb_tracking=true", "pamphletUrl": "https://trustgrace.jp/pamphlet/?sb_tracking=true", "visitUrl": "https://trustgrace.jp/visit/?sb_tracking=true" }, { "id": "takarazuka", "name": "トラストガーデン宝塚", "prefecture": "hyogo", "prefectureName": "兵庫県", "city": "宝塚市", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_takarazuka_A.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_takarazuka_B.jpg" }, "features": [ "24hour_nursing", "healthy_residents", "couple_room", "all_private_rooms", "rehabilitation", "end_of_life_care" ], "description": "高台に広がる宝塚・花屋敷の静寂に包まれて、心豊かな日々を。", "facilityType": "介護付有料老人ホーム", "detailUrl": "https://www.trustgarden-takarazuka.com/?sb_tracking=true", "pamphletUrl": "https://www.trustgarden-takarazuka.com/contact/?sb_tracking=true", "visitUrl": "https://www.trustgarden-takarazuka.com/reserve/?sb_tracking=true" }, { "id": "felio-tenjin", "name": "フェリオ天神", "prefecture": "fukuoka", "prefectureName": "福岡県", "city": "福岡市中央区", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_felio-tenjin_A.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_felio-tenjin_B.jpg" }, "features": [ "24hour_nursing", "healthy_residents", "couple_room", "all_private_rooms", "rehabilitation", "short_term_stay", "end_of_life_care" ], "description": "福岡・天神近くの便利な立地で、快適さと安心が調和した暮らしを。", "facilityType": "介護付有料老人ホーム", "detailUrl": "https://www.trustgarden.jp/tenjin/?sb_tracking=true", "pamphletUrl": "https://www.trustgarden.jp/pamphlet/?user_home=24&sb_tracking=true", "visitUrl": "https://www.trustgarden.jp/visit/?user_home=24&sb_tracking=true" }, { "id": "felio-momochi", "name": "フェリオ百道", "prefecture": "fukuoka", "prefectureName": "福岡県", "city": "福岡市早良区", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_felio-momochi_A.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_felio-momochi_B.jpg" }, "features": [ "24hour_nursing", "healthy_residents", "couple_room", "all_private_rooms", "rehabilitation", "short_term_stay", "end_of_life_care" ], "description": "早良区・百道の静けさと緑に癒される、やさしさが満ちる住まい。", "facilityType": "介護付有料老人ホーム", "detailUrl": "https://www.trustgarden.jp/momochi/?sb_tracking=true", "pamphletUrl": "https://www.trustgarden.jp/pamphlet/?user_home=23&sb_tracking=true", "visitUrl": "https://www.trustgarden.jp/visit/?user_home=23&sb_tracking=true" }, { "id": "resius-momochi", "name": "レジアス百道", "prefecture": "fukuoka", "prefectureName": "福岡県", "city": "福岡市早良区", "images": { "main": "https://www.trustgarden.jp/lp/brand/02_opt/img/_resius-momochi_A.jpg", "sub": "https://www.trustgarden.jp/lp/brand/02_opt/img/_resius-momochi_B.jpg" }, "features": [ "healthy_residents", "couple_room", "all_private_rooms" ], "description": "緑と静けさが息づく百道の文教地区で、健やかなセカンドライフを。", "facilityType": "住宅型有料老人ホーム", "detailUrl": "https://www.trustgarden.jp/resius-momochi/?sb_tracking=true", "pamphletUrl": "https://www.trustgarden.jp/pamphlet/?user_home=25&sb_tracking=true", "visitUrl": "https://www.trustgarden.jp/visit/?user_home=25&sb_tracking=true" } ], "prefectures": { "tokyo_bunkyo": { "id": "tokyo_bunkyo", "name": "東京都文京区", "order": 1 }, "tokyo_ota": { "id": "tokyo_ota", "name": "東京都大田区", "order": 2 }, "tokyo_setagaya": { "id": "tokyo_setagaya", "name": "東京都世田谷区", "order": 3 }, "tokyo_shibuya": { "id": "tokyo_shibuya", "name": "東京都渋谷区", "order": 4 }, "tokyo_suginami": { "id": "tokyo_suginami", "name": "東京都杉並区", "order": 5 }, "kanagawa": { "id": "kanagawa", "name": "神奈川県", "order": 6 }, "aichi": { "id": "aichi", "name": "愛知県", "order": 7 }, "shiga": { "id": "shiga", "name": "滋賀県", "order": 8 }, "kyoto": { "id": "kyoto", "name": "京都府", "order": 9 }, "hyogo": { "id": "hyogo", "name": "兵庫県", "order": 10 }, "fukuoka": { "id": "fukuoka", "name": "福岡県", "order": 11 } }, "features": { "24hour_nursing": { "id": "24hour_nursing", "name": "24時間看護体制", "description": "24時間体制で看護師が常駐しています" }, "healthy_residents": { "id": "healthy_residents", "name": "お元気な方も入居可", "description": "お元気な方の入居が可能です" }, "couple_room": { "id": "couple_room", "name": "ご夫婦で同室入居可", "description": "ご夫婦で一緒に入居できる部屋があります" }, "all_private_rooms": { "id": "all_private_rooms", "name": "全室個室で安心", "description": "すべてのお部屋が個室です" }, "rehabilitation": { "id": "rehabilitation", "name": "リハビリサポート充実", "description": "理学療法士・作業療法士による充実したリハビリテーションを提供しています" }, "short_term_stay": { "id": "short_term_stay", "name": "短期利用(ショートステイ)可", "description": "短期利用・ショートステイでのご利用が可能です" }, "end_of_life_care": { "id": "end_of_life_care", "name": "看取りケア対応", "description": "看取りケアに対応しています" }, "hospice_care": { "id": "hospice_care", "name": "ホスピスケア・ルームあり", "description": "ホスピスケア専用のルームを完備しています" } } } // Validate data structure if (!data.facilities || !Array.isArray(data.facilities)) { throw new Error('Invalid data format: facilities array not found'); } this.facilities = data.facilities; this.prefectures = data.prefectures || {}; this.features = data.features || {}; this.dataLoaded = true; } catch (error) { console.error('Error loading facilities data:', error); this.hasError = true; this.dataLoaded = true; } }, get filteredFacilities() { if (!this.dataLoaded) return []; return this.facilities.filter(facility => { // Prefecture filter (OR condition) const prefectureMatch = this.filters.prefectures.length === 0 || this.filters.prefectures.includes(facility.prefecture); // Feature filter (OR condition) const featureMatch = this.filters.features.length === 0 || this.filters.features.some(featureId => facility.features.includes(featureId) ); // Both conditions must be true (AND between groups, OR within groups) return prefectureMatch && featureMatch; }); }, executeSearch() { this.searchExecuted = true; try { this.scrollToResults(); } catch (error) { console.warn('Scroll to results failed:', error); } }, resetFilters() { this.filters.prefectures = []; this.filters.features = []; this.searchExecuted = false; }, scrollToResults() { // Cache DOM elements for better performance if (!this.resultsElement) { this.resultsElement = document.getElementById('search-results'); } if (!this.headerElement) { this.headerElement = document.querySelector('.Header'); } // Ensure resultsElement exists and has offsetTop property before accessing if (this.resultsElement && typeof this.resultsElement.offsetTop === 'number') { const headerHeight = this.headerElement ? this.headerElement.offsetHeight : 0; const elementPosition = this.resultsElement.offsetTop; const offsetPosition = elementPosition - headerHeight; window.scrollTo({ top: offsetPosition, behavior: 'smooth' }); } }, getTokyoPrefectures() { return Object.values(this.prefectures) .filter(p => p.id.startsWith('tokyo_')) .sort((a, b) => a.order - b.order); }, getOtherPrefectures() { return Object.values(this.prefectures) .filter(p => !p.id.startsWith('tokyo_')) .sort((a, b) => a.order - b.order); }, // Group checkbox methods toggleTokyoGroup(event) { const isChecked = event.target.checked; const tokyoPrefectures = this.getTokyoPrefectures(); if (isChecked) { // Add all Tokyo prefectures const tokyoIds = tokyoPrefectures.map(p => p.id); this.filters.prefectures = [...new Set([...this.filters.prefectures, ...tokyoIds])]; } else { // Remove all Tokyo prefectures const tokyoIds = tokyoPrefectures.map(p => p.id); this.filters.prefectures = this.filters.prefectures.filter(id => !tokyoIds.includes(id)); } }, toggleOtherGroup(event) { const isChecked = event.target.checked; const otherPrefectures = this.getOtherPrefectures(); if (isChecked) { // Add all other prefectures const otherIds = otherPrefectures.map(p => p.id); this.filters.prefectures = [...new Set([...this.filters.prefectures, ...otherIds])]; } else { // Remove all other prefectures const otherIds = otherPrefectures.map(p => p.id); this.filters.prefectures = this.filters.prefectures.filter(id => !otherIds.includes(id)); } }, isTokyoGroupChecked() { const tokyoPrefectures = this.getTokyoPrefectures(); const tokyoIds = tokyoPrefectures.map(p => p.id); return tokyoIds.length > 0 && tokyoIds.every(id => this.filters.prefectures.includes(id)); }, isTokyoGroupIndeterminate() { const tokyoPrefectures = this.getTokyoPrefectures(); const tokyoIds = tokyoPrefectures.map(p => p.id); const selectedCount = tokyoIds.filter(id => this.filters.prefectures.includes(id)).length; return selectedCount > 0 && selectedCount < tokyoIds.length; }, isOtherGroupChecked() { const otherPrefectures = this.getOtherPrefectures(); const otherIds = otherPrefectures.map(p => p.id); return otherIds.length > 0 && otherIds.every(id => this.filters.prefectures.includes(id)); }, isOtherGroupIndeterminate() { const otherPrefectures = this.getOtherPrefectures(); const otherIds = otherPrefectures.map(p => p.id); const selectedCount = otherIds.filter(id => this.filters.prefectures.includes(id)).length; return selectedCount > 0 && selectedCount < otherIds.length; } } }