let jsonData=[],filteredData=[];const SHEET_ID="1EAOsiZkw5oWWUpAyXz-04aQWdSMR9f_c3Jup69LeiuA",API_KEY="AIzaSyDsqxZhhN2llBnbX13DldQ0ChLD1VZLs5s",SHEET_NAMES=["總表"],COLLEGES=["醫學院","工學院","管理學院","智慧運算學院"],PROGRAMS=["大學部","碩士班","博士班"];async function fetchSheetData(e){document.getElementById("loading-message").style.display="block";let t=`https://sheets.googleapis.com/v4/spreadsheets/1EAOsiZkw5oWWUpAyXz-04aQWdSMR9f_c3Jup69LeiuA/values/${e}?key=AIzaSyDsqxZhhN2llBnbX13DldQ0ChLD1VZLs5s`;try{let l=await fetch(t),a=await l.json();if(!a.values||a.values.length<=1)return console.warn(`工作表 ${e} 沒有數據,跳過。`),[];return a.values.slice(1).map((t,l)=>{let a=extractPlainText(t[6]),n=extractPlainText(t[7]);return{id:l,rowIndex:l,國家:extractPlainText(t[1]),校名:formatCell(t[2],t[3]),網址:t[3]||"",學院:a,colleges:parseColleges(a),學制:n,programs:parsePrograms(n),學系:formatCell(t[8]),類型:formatCell(t[11]),更多資訊:"",sheetName:e}})}catch(n){return console.error("讀取 Google Sheets 失敗:",n),[]}finally{document.getElementById("loading-message").style.display="none"}}async function fetchAllSheets(){for(let e of(jsonData=[],filteredData=[],SHEET_NAMES)){let t=await fetchSheetData(e);t.length>0&&(filteredData=[...jsonData=jsonData.concat(t)])}displayResults(),populateFilters(jsonData)}function extractPlainText(e){return e?e.toString().replace(/<\/?[^>]+(>|$)/g,""):""}function parseColleges(e){let t=extractPlainText(e||"").trim();if(!t)return[];if(t.includes("四院皆可"))return[...COLLEGES];let l=t.split(/[,\s、\/;;]+/g).map(e=>e.trim()).filter(Boolean);return[...new Set(l.filter(e=>COLLEGES.includes(e)))]}function parsePrograms(e){let t=extractPlainText(e||"").trim();if(!t)return[];let l=t.split(/[,\s、\/;;]+/g).map(e=>e.replace(/(.*?)|\(.*?\)/g,"").trim()).filter(Boolean),a=[];return l.forEach(e=>{e.includes("大學部")&&a.push("大學部"),e.includes("碩士班")&&a.push("碩士班"),e.includes("研究所")&&a.push("碩士班","博士班")}),[...new Set(a)]}function formatCell(e,t=null){if(!e)return"";let l=e.toString().replace(/\n/g,"
"),a=t&&t.startsWith("http")?t:"";return a?`${l}`:`${l}`}function populateFilters(e){let t=document.getElementById("country-filter"),l=document.getElementById("college-filter"),a=document.getElementById("type-filter");populateFilterOptions(t,[...new Set(e.map(e=>extractPlainText(e.國家)))]),populateFilterOptions(l,COLLEGES),populateFilterOptions(a,PROGRAMS)}function populateFilterOptions(e,t){e.innerHTML='',t.forEach(t=>{let l=document.createElement("option");l.value=t,l.textContent=t,e.appendChild(l)})}function search(){let e=document.getElementById("search-input").value.trim().toLowerCase(),t=document.getElementById("country-filter").value,l=document.getElementById("college-filter").value,a=document.getElementById("type-filter").value;filteredData=jsonData.filter(n=>(""===e||Object.values(n).some(t=>"string"==typeof t&&t.toLowerCase().includes(e)))&&(""===t||n.國家===t)&&(""===l||(n.colleges||[]).includes(l))&&(""===a||(n.programs||[]).includes(a))),displayResults()}function displayResults(){let e=document.getElementById("table-body"),t=document.getElementById("total-count");e.innerHTML="",filteredData.forEach((t,l)=>{let a=t.sheetName,n=document.createElement("tr");n.innerHTML=` $调迟.国家皑 $调迟.校名皑 $调迟.学院皑 $调迟.学制皑 `,e.appendChild(n)}),t&&(t.textContent=`共 ${filteredData.length} 筆`)}function openDetailsPage(e,t,l){if(!t||"undefined"===t){console.warn("? 錯誤:sheetName 為 undefined,無法導向詳情頁面。");return}let a=parseInt(l,10)+1,n=`/oia-ch/ServerFile/GetByKindEditor/58c6f84b-f89d-410e-a9a1-fa8e4144cc26?subjectId=64943&id=${e}&sheet=${encodeURIComponent(t)}&row=${a}`;window.open(n,"_blank")}fetchAllSheets(),document.getElementById("search-btn").addEventListener("click",search),document.addEventListener("keydown",function(e){("F12"===e.key||e.ctrlKey&&e.shiftKey&&("I"===e.key||"J"===e.key)||e.ctrlKey&&"U"===e.key)&&e.preventDefault()}),document.addEventListener("contextmenu",function(e){e.preventDefault()});