(function(){ var E=window.EstAircon={},D={ UNIT_TYPES:{"wall-6":{name:"\u58C1\u639B\u3051\u30A8\u30A2\u30B3\u30F3\uFF086\u301C10\u7573\uFF09",price:55000},"wall-10":{name:"\u58C1\u639B\u3051\u30A8\u30A2\u30B3\u30F3\uFF0810\u301C14\u7573\uFF09",price:73000},"wall-14":{name:"\u58C1\u639B\u3051\u30A8\u30A2\u30B3\u30F3\uFF0814\u301C20\u7573\uFF09",price:95000},"ceiling":{name:"\u5929\u4E95\u30AB\u30BB\u30C3\u30C8\u578B",price:180000},"floor":{name:"\u5E8A\u7F6E\u304D\u578B",price:120000},"multi":{name:"\u30DE\u30EB\u30C1\u30A8\u30A2\u30B3\u30F3\uFF08\u5BA4\u5916\u6A5F1\u53F0\uFF09",price:250000}}, OPTIONS:{"pipe4":{name:"\u914D\u7BA1\u5EF6\u9577\uFF084m\u8FFD\u52A0\uFF09",price:4000},"pipe8":{name:"\u914D\u7BA1\u5EF6\u9577\uFF088m\u8FFD\u52A0\uFF09",price:8000},"cover":{name:"\u5316\u7CA7\u30AB\u30D0\u30FC",price:8000},"drain":{name:"\u30C9\u30EC\u30F3\u30A2\u30C3\u30D7",price:12000},"voltage":{name:"\u96FB\u5727\u5207\u66FF\u5DE5\u4E8B",price:5000},"outlet":{name:"\u5C02\u7528\u30B3\u30F3\u30BB\u30F3\u30C8\u65B0\u8A2D",price:15000},"hole-wood":{name:"\u7A74\u3042\u3051\u5DE5\u4E8B\uFF08\u6728\u9020\uFF09",price:5000},"hole-rc":{name:"\u7A74\u3042\u3051\u5DE5\u4E8B\uFF08RC\u9020\uFF09",price:15000}}, REMOVAL:{"none":{name:"\u306A\u3057",price:0},"wall":{name:"\u58C1\u639B\u3051\u64A4\u53BB",price:8000},"ceiling":{name:"\u5929\u4E95\u30AB\u30BB\u30C3\u30C8\u64A4\u53BB",price:15000},"hanging":{name:"\u5929\u540A\u308A\u64A4\u53BB",price:20000}}, TRIP:{"none":{name:"\u306A\u3057\uFF08\u8FD1\u96A3\u30A8\u30EA\u30A2\uFF09",price:0},"near":{name:"\u8FD1\u90CA",price:5000},"far":{name:"\u9060\u65B9",price:10000},"pref":{name:"\u770C\u5916",price:20000}}, CUSTOMERS:[{id:"C001",name:"\u3231\u5C71\u7530\u5546\u4E8B",contact:"\u5C71\u7530\u592A\u90CE",tel:"03-1234-5678",email:"yamada@example.com",address:"\u6771\u4EAC\u90FD\u5343\u4EE3\u7530\u533A\u4E38\u306E\u51851-1-1"},{id:"C002",name:"\u4F50\u85E4\u69D8\u90B8",contact:"\u4F50\u85E4\u82B1\u5B50",tel:"03-2345-6789",email:"sato@example.com",address:"\u6771\u4EAC\u90FD\u4E16\u7530\u8C37\u533A\u6210\u57CE2-2-2"},{id:"C003",name:"\u3231ABC\u4E0D\u52D5\u7523",contact:"\u9234\u6728\u4E00\u90CE",tel:"03-3456-7890",email:"suzuki@abc-fudosan.co.jp",address:"\u6771\u4EAC\u90FD\u6E2F\u533A\u516D\u672C\u67083-3-3"},{id:"C004",name:"\u7530\u4E2D\u69D8\u90B8",contact:"\u7530\u4E2D\u6B21\u90CE",tel:"045-123-4567",email:"tanaka@example.com",address:"\u795E\u5948\u5DDD\u770C\u6A2A\u6D5C\u5E02\u9752\u8449\u533A4-4-4"},{id:"C005",name:"\u3231DEF\u30AA\u30D5\u30A3\u30B9",contact:"\u9AD8\u6A4B\u7F8E\u54B2",tel:"03-4567-8901",email:"takahashi@def.co.jp",address:"\u6771\u4EAC\u90FD\u65B0\u5BBF\u533A\u897F\u65B0\u5BBF5-5-5"},{id:"C006",name:"\u9234\u6728\u69D8\u90B8",contact:"\u9234\u6728\u5065\u592A",tel:"047-234-5678",email:"suzuki-k@example.com",address:"\u5343\u8449\u770C\u8239\u6A4B\u5E026-6-6"}], MY_COMPANY:{name:"Estimato \u7A7A\u8ABF\u30B5\u30FC\u30D3\u30B9",invoiceNo:"T1234567890123",address:"\u3012103-0026 \u6771\u4EAC\u90FD\u4E2D\u592E\u533A\u65E5\u672C\u6A4B\u515C\u753A17-2",tel:"03-6555-5088",email:"contact@estimato.jp"}, PROJECTS:[{customer:"\u3231\u5C71\u7530\u5546\u4E8B",site:"\u672C\u793E\u30D3\u30EB3F",date:"2026/1/10",amount:385000,status:"done"},{customer:"\u4F50\u85E4\u69D8\u90B8",site:"\u6771\u4EAC\u90FD\u4E16\u7530\u8C37\u533A",date:"2026/1/8",amount:125000,status:"ordered"},{customer:"\u3231ABC\u4E0D\u52D5\u7523",site:"ABC\u30D3\u30EB",date:"2025/12/22",amount:580000,status:"progress"},{customer:"\u7530\u4E2D\u69D8\u90B8",site:"\u795E\u5948\u5DDD\u770C\u6A2A\u6D5C\u5E02",date:"2025/12/15",amount:95000,status:"done"},{customer:"\u3231DEF\u30AA\u30D5\u30A3\u30B9",site:"DEF\u30BF\u30EF\u30FC10F",date:"2025/11/28",amount:420000,status:"done"},{customer:"\u9234\u6728\u69D8\u90B8",site:"\u5343\u8449\u770C\u8239\u6A4B\u5E02",date:"2025/11/10",amount:78000,status:"pending"}], SL:{done:"\u65BD\u5DE5\u5B8C\u4E86",progress:"\u65BD\u5DE5\u4E2D",ordered:"\u53D7\u6CE8",pending:"\u898B\u7A4D\u4E2D"}, DT:{estimate:{t:"\u5FA1 \u898B \u7A4D \u66F8",e:"QUOTATION"},order:{t:"\u5FA1 \u767A \u6CE8 \u66F8",e:"PURCHASE ORDER"},completion:{t:"\u5DE5\u4E8B\u5B8C\u4E86\u5831\u544A\u66F8",e:"COMPLETION REPORT"},invoice:{t:"\u5FA1 \u8ACB \u6C42 \u66F8",e:"INVOICE"},receipt:{t:"\u9818 \u53CE \u66F8",e:"RECEIPT"}} },uc=1,MU=10,w=null; function init(){w=document.querySelector(".est-aircon-wrap");if(!w)return;initMainTabs();initMasterTabs();renderMasterTables();renderEstimateForm();renderProjects();bindEvents();calcTotal();} if(document.readyState==="loading"){document.addEventListener("DOMContentLoaded",init);}else{setTimeout(init,0);} function initMainTabs(){w.querySelectorAll(".main-tab-btn").forEach(function(b){b.addEventListener("click",function(){w.querySelectorAll(".main-tab-btn").forEach(function(x){x.classList.remove("active");});this.classList.add("active");w.querySelectorAll(".main-tab-content").forEach(function(c){c.classList.remove("active");});w.querySelector("#main-tab-"+this.dataset.mainTab).classList.add("active");});});} function initMasterTabs(){w.querySelectorAll(".master-tab-btn").forEach(function(b){b.addEventListener("click",function(){w.querySelectorAll(".master-tab-btn").forEach(function(x){x.classList.remove("active");});this.classList.add("active");w.querySelectorAll(".master-tab-content").forEach(function(c){c.classList.remove("active");});w.querySelector("#tab-"+this.dataset.tab).classList.add("active");});});} function renderMasterTables(){renderMasterTable("unit-types",D.UNIT_TYPES);renderMasterTable("options",D.OPTIONS);renderMasterTable("removal",D.REMOVAL);renderMasterTable("trip",D.TRIP);renderCustomerTable();renderCompanyForm();updateCustomerStats();bindCSVImports();} function renderMasterTable(t,d){var tb=w.querySelector("#table-"+t+" tbody");if(!tb||!d)return;tb.innerHTML="";for(var k in d){var tr=document.createElement("tr");tr.innerHTML="";tb.appendChild(tr);}} function renderCustomerTable(){var tb=w.querySelector("#table-customers tbody");if(!tb)return;tb.innerHTML="";D.CUSTOMERS.forEach(function(c){var tr=document.createElement("tr");tr.innerHTML="";tb.appendChild(tr);});} function updateCustomerStats(){var t=D.CUSTOMERS.length,c=D.CUSTOMERS.filter(function(x){return x.name.indexOf("\u3231")>=0||x.name.indexOf("\u682A\u5F0F\u4F1A\u793E")>=0;}).length;var ce=w.querySelector("#customer-count"),co=w.querySelector("#corporate-count"),pe=w.querySelector("#personal-count");if(ce)ce.textContent=t;if(co)co.textContent=c;if(pe)pe.textContent=t-c;} function renderCompanyForm(){var n=w.querySelector("#company-name"),i=w.querySelector("#company-invoice-no"),a=w.querySelector("#company-address"),t=w.querySelector("#company-tel"),e=w.querySelector("#company-email");if(n)n.value=D.MY_COMPANY.name;if(i)i.value=D.MY_COMPANY.invoiceNo;if(a)a.value=D.MY_COMPANY.address;if(t)t.value=D.MY_COMPANY.tel;if(e)e.value=D.MY_COMPANY.email;} function renderEstimateForm(){var r=w.querySelector(".est-unit-row");if(r)renderUnitRow(r);renderRemovalSelect();renderTripSelect();} function renderUnitRow(r){var ts=r.querySelector(".est-unit-type"),og=r.querySelector(".est-opt-grid");if(!ts||!og)return;ts.innerHTML="";for(var k in D.UNIT_TYPES){var o=document.createElement("option");o.value=k;o.textContent=D.UNIT_TYPES[k].name;if(k==="wall-10")o.selected=true;ts.appendChild(o);}og.innerHTML="";for(var ok in D.OPTIONS){var lb=document.createElement("label");lb.className="est-opt-checkbox";lb.innerHTML=" "+D.OPTIONS[ok].name+" +\u00A5"+D.OPTIONS[ok].price.toLocaleString()+"";og.appendChild(lb);}ts.addEventListener("change",calcTotal);var qi=r.querySelector(".est-unit-qty");if(qi)qi.addEventListener("input",calcTotal);og.querySelectorAll("input").forEach(function(cb){cb.addEventListener("change",calcTotal);});var rb=r.querySelector(".est-unit-remove");if(rb){rb.addEventListener("click",function(){if(w.querySelectorAll(".est-unit-row").length>1){r.remove();renumberUnits();calcTotal();}else{alert("\u6700\u4F4E1\u53F0\u306E\u6A5F\u5668\u304C\u5FC5\u8981\u3067\u3059");}});}} function renderRemovalSelect(){var s=w.querySelector("#est-removal-type");if(!s)return;s.innerHTML="";for(var k in D.REMOVAL){var o=document.createElement("option");o.value=k;o.textContent=k==="none"?"\u306A\u3057":D.REMOVAL[k].name+"\uFF08\u00A5"+D.REMOVAL[k].price.toLocaleString()+"/\u53F0\uFF09";s.appendChild(o);}s.addEventListener("change",calcTotal);var qe=w.querySelector("#est-removal-qty"),me=w.querySelector("#est-misc");if(qe)qe.addEventListener("input",calcTotal);if(me)me.addEventListener("input",calcTotal);} function renderTripSelect(){var s=w.querySelector("#est-trip");if(!s)return;s.innerHTML="";for(var k in D.TRIP){var o=document.createElement("option");o.value=k;o.textContent=D.TRIP[k].price>0?D.TRIP[k].name+"\uFF08\u00A5"+D.TRIP[k].price.toLocaleString()+"\uFF09":D.TRIP[k].name;s.appendChild(o);}s.addEventListener("change",calcTotal);} function renderProjects(){var rs=w.querySelector("#recent-projects"),yf=w.querySelector("#year-folders");if(!rs||!yf)return;rs.innerHTML="";D.PROJECTS.forEach(function(p,i){rs.innerHTML+=createProjectCard(p,i);});var p26=D.PROJECTS.filter(function(p){return p.date.indexOf("2026")===0;}),p25=D.PROJECTS.filter(function(p){return p.date.indexOf("2025")===0;});yf.innerHTML="
\u25B6 2026\u5E74 "+p26.length+"\u4EF6
"+p26.map(function(p,i){return createProjectCard(p,i);}).join("")+"
\u25B6 2025\u5E74 "+p25.length+"\u4EF6
"+p25.map(function(p,i){return createProjectCard(p,i+p26.length);}).join("")+"
";bindProjectCards();} function createProjectCard(p,i){return "
"+(D.SL[p.status]||"")+"
"+p.customer+"
"+p.site+"
"+p.date+"
\u00A5"+p.amount.toLocaleString()+"
";} function bindProjectCards(){w.querySelectorAll(".est-card-copy-btn").forEach(function(b){b.addEventListener("click",function(e){e.stopPropagation();var c=this.closest(".est-search-card"),cu=c.querySelector(".est-search-card-customer").textContent,si=c.querySelector(".est-search-card-site").textContent;var ce=w.querySelector("#est-customer"),se=w.querySelector("#est-site");if(ce)ce.value=cu;if(se)se.value=si;c.classList.add("selected");setTimeout(function(){c.classList.remove("selected");},500);alert("\u300C"+cu+"\u300D\u306E\u5185\u5BB9\u3092\u8AAD\u307F\u8FBC\u307F\u307E\u3057\u305F");});});} function bindEvents(){var ab=w.querySelector(".est-add-unit");if(ab){ab.addEventListener("click",function(){var ct=w.querySelector("#unit-container"),rows=ct.querySelectorAll(".est-unit-row");if(rows.length>=MU){alert("\u6A5F\u5668\u306F\u6700\u5927"+MU+"\u53F0\u307E\u3067\u3067\u3059");return;}uc++;var nr=document.createElement("div");nr.className="est-unit-row";nr.innerHTML="
\u6A5F\u5668 #"+uc+"
\u5C0F\u8A08\u00A50
";ct.insertBefore(nr,this);renderUnitRow(nr);calcTotal();});}w.querySelectorAll(".est-doc-btn").forEach(function(b){b.addEventListener("click",function(){openDocument(this.dataset.doc);});});var ov=w.querySelector(".est-modal-overlay"),cb=w.querySelector("#btn-close"),pb=w.querySelector("#btn-print");if(ov)ov.addEventListener("click",function(){w.querySelector("#est-modal").classList.remove("active");});if(cb)cb.addEventListener("click",function(){w.querySelector("#est-modal").classList.remove("active");});if(pb)pb.addEventListener("click",function(){window.print();});var slb=w.querySelector("#btn-share-link");if(slb){slb.addEventListener("click",function(){var la=w.querySelector("#share-link-area"),li=w.querySelector("#share-link-input"),rid=Math.random().toString(36).substring(2,10);if(li)li.value="https://estimato.jp/v/"+rid;if(la)la.style.display="block";});}var clb=w.querySelector("#btn-copy-link");if(clb){clb.addEventListener("click",function(){var li=w.querySelector("#share-link-input");if(li){li.select();document.execCommand("copy");this.textContent="\u30B3\u30D4\u30FC\u6E08\u307F!";var b=this;setTimeout(function(){b.textContent="\u30B3\u30D4\u30FC";},2000);}});}var se=w.querySelector("#est-search"),ste=w.querySelector("#est-filter-status"),ame=w.querySelector("#est-filter-amount");if(se)se.addEventListener("input",filterProjects);if(ste)ste.addEventListener("change",filterProjects);if(ame)ame.addEventListener("change",filterProjects);var cse=w.querySelector("#customer-search");if(cse){cse.addEventListener("input",function(){var q=this.value.toLowerCase();w.querySelectorAll("#table-customers tbody tr").forEach(function(r){r.style.display=r.textContent.toLowerCase().indexOf(q)>=0?"":"none";});});}} function filterProjects(){var se=w.querySelector("#est-search"),ste=w.querySelector("#est-filter-status"),ame=w.querySelector("#est-filter-amount");var search=se?se.value.toLowerCase():"",status=ste?ste.value:"",amount=ame?ame.value:"";w.querySelectorAll("#recent-projects .est-search-card").forEach(function(c){var ms=c.textContent.toLowerCase().indexOf(search)>=0,mst=!status||c.dataset.status===status,ca=parseInt(c.dataset.amount),ma=true;if(amount){var pts=amount.split("-"),mn=parseInt(pts[0])||0,mx=parseInt(pts[1])||Infinity;ma=ca>=mn&&ca<=mx;}c.style.display=ms&&mst&&ma?"":"none";});} function renumberUnits(){w.querySelectorAll(".est-unit-row").forEach(function(r,i){var ne=r.querySelector(".est-unit-num");if(ne)ne.textContent="\u6A5F\u5668 #"+(i+1);});uc=w.querySelectorAll(".est-unit-row").length;} function calcTotal(){w.querySelectorAll(".est-unit-row").forEach(function(r){var ts=r.querySelector(".est-unit-type"),qi=r.querySelector(".est-unit-qty"),st=r.querySelector(".est-unit-subtotal");if(!ts||!qi||!st)return;var tk=ts.value,qty=parseInt(qi.value)||1,sub=(D.UNIT_TYPES[tk]?D.UNIT_TYPES[tk].price:0)*qty;r.querySelectorAll(".est-opt-checkbox input:checked").forEach(function(cb){sub+=(D.OPTIONS[cb.value]?D.OPTIONS[cb.value].price:0)*qty;});st.textContent="\u00A5"+sub.toLocaleString();});} function openDocument(k){var ti=D.DT[k]||{t:"\u66F8\u985E",e:""};var mte=w.querySelector("#modal-title"),dte=w.querySelector("#doc-title"),dtee=w.querySelector("#doc-title-en");if(mte)mte.textContent=ti.t;if(dte)dte.textContent=ti.t;if(dtee)dtee.textContent=ti.e;var ce=w.querySelector("#est-customer"),cn=ce?ce.value||"\u30B5\u30F3\u30D7\u30EB\u682A\u5F0F\u4F1A\u793E":"\u30B5\u30F3\u30D7\u30EB\u682A\u5F0F\u4F1A\u793E";var dcne=w.querySelector("#doc-customer-name"),dcce=w.querySelector("#doc-company-name"),dcie=w.querySelector("#doc-company-info");if(k==="order"){if(dcne)dcne.textContent=D.MY_COMPANY.name+" \u69D8";if(dcce)dcce.textContent=cn;if(dcie)dcie.innerHTML="\uFF08\u767A\u6CE8\u8005\uFF09";}else{if(dcne)dcne.textContent=cn+" \u5FA1\u4E2D";if(dcce)dcce.textContent=D.MY_COMPANY.name;if(dcie)dcie.innerHTML="\u9069\u683C\u8ACB\u6C42\u66F8\u767B\u9332\u756A\u53F7: "+D.MY_COMPANY.invoiceNo+"
"+D.MY_COMPANY.address+"
TEL: "+D.MY_COMPANY.tel+" / Email: "+D.MY_COMPANY.email;}var today=new Date(),dde=w.querySelector("#doc-date");if(dde)dde.textContent=today.getFullYear()+"\u5E74"+(today.getMonth()+1)+"\u6708"+today.getDate()+"\u65E5";generateDocItems();var modal=w.querySelector("#est-modal");if(modal)modal.classList.add("active");} function generateDocItems(){var tb=w.querySelector("#doc-items");if(!tb)return;tb.innerHTML="";var subtotal=0;w.querySelectorAll(".est-unit-row").forEach(function(r){var ts=r.querySelector(".est-unit-type"),qi=r.querySelector(".est-unit-qty");if(!ts||!qi)return;var tk=ts.value,tn=D.UNIT_TYPES[tk]?D.UNIT_TYPES[tk].name:"",up=D.UNIT_TYPES[tk]?D.UNIT_TYPES[tk].price:0,qty=parseInt(qi.value)||1,rt=up*qty;tb.innerHTML+=""+tn+""+qty+"\u53F0\u00A5"+up.toLocaleString()+"\u00A5"+rt.toLocaleString()+"";subtotal+=rt;r.querySelectorAll(".est-opt-checkbox input:checked").forEach(function(cb){var on=D.OPTIONS[cb.value]?D.OPTIONS[cb.value].name:"",op=D.OPTIONS[cb.value]?D.OPTIONS[cb.value].price:0,ot=op*qty;tb.innerHTML+="\u2514 "+on+""+qty+"\u5F0F\u00A5"+op.toLocaleString()+"\u00A5"+ot.toLocaleString()+"";subtotal+=ot;});});var rte=w.querySelector("#est-removal-type"),rqe=w.querySelector("#est-removal-qty"),rt=rte?rte.value:"none",rq=rqe?parseInt(rqe.value)||0:0;if(rt!=="none"&&rq>0&&D.REMOVAL[rt]){var rp=D.REMOVAL[rt].price,rtl=rp*rq;tb.innerHTML+="\u65E2\u5B58\u6A5F\u5668"+D.REMOVAL[rt].name+""+rq+"\u53F0\u00A5"+rp.toLocaleString()+"\u00A5"+rtl.toLocaleString()+"";subtotal+=rtl;}var mse=w.querySelector("#est-misc"),ms=mse?parseInt(mse.value)||0:0;if(ms>0){tb.innerHTML+="\u8ACE\u7D4C\u8CBB1\u5F0F\u00A5"+ms.toLocaleString()+"\u00A5"+ms.toLocaleString()+"";subtotal+=ms;}var tre=w.querySelector("#est-trip"),tt=tre?tre.value:"none";if(D.TRIP[tt]&&D.TRIP[tt].price>0){var tp=D.TRIP[tt].price;tb.innerHTML+="\u51FA\u5F35\u8CBB\uFF08"+D.TRIP[tt].name+"\uFF091\u5F0F\u00A5"+tp.toLocaleString()+"\u00A5"+tp.toLocaleString()+"";subtotal+=tp;}var tax=Math.floor(subtotal*0.1),total=subtotal+tax;var dse=w.querySelector("#doc-subtotal"),dxe=w.querySelector("#doc-tax"),dte=w.querySelector("#doc-total"),dt2=w.querySelector("#doc-total2");if(dse)dse.textContent=subtotal.toLocaleString();if(dxe)dxe.textContent=tax.toLocaleString();if(dte)dte.textContent=total.toLocaleString();if(dt2)dt2.textContent=total.toLocaleString();} function bindCSVImports(){["unit-types","options","removal","trip"].forEach(function(t){var el=w.querySelector("#csv-"+t);if(el)el.addEventListener("change",function(e){importMasterCSV(e,t);});});var cc=w.querySelector("#csv-customers");if(cc)cc.addEventListener("change",importCustomerCSV);} function importMasterCSV(e,t){var f=e.target.files[0];if(!f)return;var r=new FileReader();r.onload=function(ev){var lines=ev.target.result.split("\n").filter(function(l){return l.trim();});var d={};lines.forEach(function(line,i){if(i===0)return;var cols=parseCSVLine(line);if(cols.length>=3&&cols[0].trim()){d[cols[0].trim()]={name:cols[1].trim(),price:parseInt(cols[2])||0};}});if(t==="unit-types")D.UNIT_TYPES=d;if(t==="options")D.OPTIONS=d;if(t==="removal")D.REMOVAL=d;if(t==="trip")D.TRIP=d;renderMasterTable(t,d);renderEstimateForm();calcTotal();showSaveMessage();alert("CSV\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3057\u307E\u3057\u305F\uFF08"+Object.keys(d).length+"\u4EF6\uFF09");};r.readAsText(f,"UTF-8");e.target.value="";} function importCustomerCSV(e){var f=e.target.files[0];if(!f)return;var r=new FileReader();r.onload=function(ev){var lines=ev.target.result.split("\n").filter(function(l){return l.trim();});D.CUSTOMERS=[];lines.forEach(function(line,i){if(i===0)return;var cols=parseCSVLine(line);if(cols.length>=6&&cols[0].trim()){D.CUSTOMERS.push({id:cols[0].trim(),name:cols[1].trim(),contact:cols[2].trim(),tel:cols[3].trim(),email:cols[4].trim(),address:cols[5].trim()});}});renderCustomerTable();updateCustomerStats();showSaveMessage();alert("\u9867\u5BA2\u30C7\u30FC\u30BF\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3057\u307E\u3057\u305F\uFF08"+D.CUSTOMERS.length+"\u4EF6\uFF09");};r.readAsText(f,"UTF-8");e.target.value="";} function parseCSVLine(l){var r=[],c="",q=false;for(var i=0;i";tb.appendChild(tr);tr.querySelector("input").focus();}; E.deleteMasterRow=function(b){if(confirm("\u3053\u306E\u9805\u76EE\u3092\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F"))b.closest("tr").remove();}; E.addCustomerRow=function(){var tb=w.querySelector("#table-customers tbody");if(!tb)return;var nid="C"+String(D.CUSTOMERS.length+1).padStart(3,"0");var tr=document.createElement("tr");tr.innerHTML="";tb.appendChild(tr);tr.querySelector(".customer-name").focus();}; E.deleteCustomerRow=function(b){if(confirm("\u3053\u306E\u9867\u5BA2\u3092\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F"))b.closest("tr").remove();}; E.saveCompany=function(){var n=w.querySelector("#company-name"),i=w.querySelector("#company-invoice-no"),a=w.querySelector("#company-address"),t=w.querySelector("#company-tel"),e=w.querySelector("#company-email");if(n)D.MY_COMPANY.name=n.value;if(i)D.MY_COMPANY.invoiceNo=i.value;if(a)D.MY_COMPANY.address=a.value;if(t)D.MY_COMPANY.tel=t.value;if(e)D.MY_COMPANY.email=e.value;showSaveMessage();alert("\u81EA\u793E\u60C5\u5831\u3092\u4FDD\u5B58\u3057\u307E\u3057\u305F");}; })();