// ============================================================
// drugs-loader.js
// Fetches /data/drugs.json at page load and exposes:
//   window._DRUGS        — the parsed JSON (after fetch resolves)
//   window._DRUGS_READY  — a Promise that resolves to the JSON
//
// Calculator functions in calculators.js look up drugs via a small
// helper (pickDrug) and fall back to hardcoded inline data if the
// JSON isn't loaded yet. This means the app keeps working even if
// the fetch fails — the JSON is an authoritative data source but
// not a hard dependency at runtime.
// ============================================================
  // Default to empty shape so lookups don't throw before fetch resolves.
  window._DRUGS = window._DRUGS || { version: null, sections: {} };

  window._DRUGS_READY = fetch('/data/drugs.json', { credentials: 'same-origin' })
    .then(function(r) {
      if (!r.ok) throw new Error('drugs.json HTTP ' + r.status);
      return r.json();
    })
    .then(function(j) {
      window._DRUGS = j;
      return j;
    })
    .catch(function(err) {
      // Non-fatal — calc functions have inline fallbacks.
      console.warn('[drugs-loader] could not load /data/drugs.json:', err);
      return window._DRUGS;
    });
