(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="
";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="