/*
Theme Name: Lightning Child
Theme URI: 
Template: lightning
Description: 
Author: 
Tags: 
Version: 0.6.0
*/

document.addEventListener('DOMContentLoaded', () => {
  const themeIconToggle = document.getElementById('theme-icon-toggle');
  const themeSelectMenu = document.getElementById('theme-select-menu');
  const themeSelect = document.getElementById('theme-select');
  const body = document.body;

  // テーマに対応するアイコンのマッピング
  const themeIcons = {
    'system': '⚙️',
    'light': '☀️',
    'dark': '🌙'
  };

  // ページ読み込み時にlocalStorageから保存されたテーマを適用
  const savedTheme = localStorage.getItem('theme');
  if (savedTheme) {
    themeSelect.value = savedTheme;
    // アイコンを保存されたテーマに合わせる
    themeIconToggle.querySelector('span').textContent = themeIcons[savedTheme];
    if (savedTheme !== 'system') {
      body.setAttribute('data-theme', savedTheme);
    }
  } else {
    localStorage.setItem('theme', 'system');
    themeSelect.value = 'system';
  }

  // アイコンボタンがクリックされたらプルダウンメニューを表示
  themeIconToggle.addEventListener('click', () => {
    themeSelectMenu.style.display = 'block';
    themeSelect.focus(); // ユーザーがすぐに選択できるようにフォーカス
  });

  // プルダウンが変更されたときの処理
  themeSelect.addEventListener('change', (event) => {
    const selectedTheme = event.target.value;
    
    if (selectedTheme === 'system') {
      body.removeAttribute('data-theme');
    } else {
      body.setAttribute('data-theme', selectedTheme);
    }
    localStorage.setItem('theme', selectedTheme);
    
    // 選択されたテーマに合わせてアイコンを変更
    themeIconToggle.querySelector('span').textContent = themeIcons[selectedTheme];

    // 選択後、プルダウンメニューを非表示にする
    themeSelectMenu.style.display = 'none';
  });

  // プルダウンからフォーカスが外れたら非表示にする（選択しなかった場合）
  themeSelect.addEventListener('blur', () => {
    // わずかな遅延を設けてクリックイベントが発火するのを待つ
    setTimeout(() => {
      themeSelectMenu.style.display = 'none';
    }, 150);
  });
});

document.addEventListener('DOMContentLoaded', function() {
    const copyButton = document.getElementById('ReqSumCopyButton');
    const targetField = document.getElementById('fieldname28');

    if (copyButton && targetField) {
        copyButton.addEventListener('click', function() {
            const textToCopy = targetField.value;

            // Step 1: 新しい Clipboard API を試す
            if (navigator.clipboard && navigator.clipboard.writeText) {
                navigator.clipboard.writeText(textToCopy)
                    .then(() => {
                        alert('コピーしました！');
                        console.log('テキストがクリップボードにコピーされました。');
                    })
                    .catch(err => {
                        console.error('コピーに失敗しました。', err);
                        alert('コピーに失敗しました。');
                    });
            } else {
                // Step 2: フォールバックとして document.execCommand を使用
                try {
                    const tempTextarea = document.createElement('textarea');
                    tempTextarea.value = textToCopy;
                    document.body.appendChild(tempTextarea);
                    tempTextarea.select(); // テキストを選択状態にする
                    document.execCommand('copy');
                    document.body.removeChild(tempTextarea); // 一時的な要素を削除

                    alert('コピーしました！');
                    console.log('テキストがフォールバック処理でコピーされました。');
                } catch (err) {
                    console.error('コピーに失敗しました。', err);
                    alert('コピーに失敗しました。');
                }
            }
        });
    }
});