(function () {
  'use strict';

  function append(url, key, value) {
    if (value === undefined || value === null || String(value) === '') return url;
    return url + (url.includes('?') ? '&' : '?') + encodeURIComponent(key) + '=' + encodeURIComponent(String(value));
  }

  function targetUrl(button, includeWifi) {
    var subscriberId = parseInt(button.dataset.subscriberId || '0', 10);
    var agentId = parseInt(button.dataset.agent || '0', 10);
    var editToken = button.dataset.editToken || '';
    var url = includeWifi ? 'subscriber_router_setup.php' : 'subscriber_info_print.php';
    url = append(url, 'subscriber_id', subscriberId);
    if (includeWifi) url = append(url, 'return_to_profile_print', '1');
    else {
      url = append(url, 'include_wifi', '0');
      url = append(url, 'auto', '1');
    }
    if (agentId > 0) url = append(url, 'agent', agentId);
    if (editToken) url = append(url, 'agent_edit_token', editToken);
    return url;
  }

  document.addEventListener('click', function (event) {
    var button = event.target.closest('[data-subscriber-info-print]');
    if (!button) return;
    event.preventDefault();
    var subscriberId = parseInt(button.dataset.subscriberId || '0', 10);
    if (subscriberId <= 0) return;
    var includeWifi = window.confirm(
      'هل تريد توليد أكواد شبكات Wi‑Fi قبل الطباعة؟\n\n' +
      'موافق: الانتقال إلى مولّد أكواد الراوتر ثم طباعة بطاقة المشترك مع أكواد Wi‑Fi والحساب.\n' +
      'إلغاء: طباعة معلومات المشترك وكود الحساب فقط.'
    );
    window.location.href = targetUrl(button, includeWifi);
  });
})();
