// ============================================================
// Casa IS — MailerLite newsletter integration
// Uses MailerLite Universal embedded form script
// Form ID: KwLZND
// ============================================================

const MAILERLITE_FORM_ID = 'KwLZND';

// Load MailerLite Universal script once
(function loadMailerLite() {
  if (window.ml) return;
  var s = document.createElement('script');
  s.async = true;
  s.src = 'https://assets.mailerlite.com/js/universal.js';
  s.onload = function() {
    if (window.ml) window.ml('account', '1072498');
  };
  document.head.appendChild(s);
})();

// Subscribe by submitting directly to MailerLite's form endpoint
async function subscribeToNewsletter(email, lang, listType) {
  if (!email || !/^[^@\s]+@[^@\s]+\.[^@\s]+$/.test(email)) {
    return { ok: false, error: 'invalid_email' };
  }

  try {
    // Use MailerLite's JSONP/form submission endpoint
    const formData = new URLSearchParams();
    formData.append('fields[email]', email);
    formData.append('fields[language]', lang || 'en');
    formData.append('ml-submit', '1');
    formData.append('anticsrf', 'true');

    const res = await fetch('https://assets.mailerlite.com/jsonp/' + MAILERLITE_FORM_ID + '/jsonp', {
      method: 'POST',
      body: formData,
      headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
      mode: 'no-cors',
    });

    // no-cors means we can't read the response, but the request goes through
    return { ok: true };
  } catch (err) {
    return { ok: false, error: err.message };
  }
}

Object.assign(window, { NEWSLETTER_CONFIG: { formId: MAILERLITE_FORM_ID }, subscribeToNewsletter });
