{"id":7,"date":"2026-02-17T22:00:48","date_gmt":"2026-02-17T22:00:48","guid":{"rendered":"https:\/\/dev.bdmregistry.com.au\/?page_id=7"},"modified":"2026-02-17T22:15:26","modified_gmt":"2026-02-17T22:15:26","slug":"home","status":"publish","type":"page","link":"https:\/\/dev.bdmregistry.com.au\/","title":{"rendered":"Home"},"content":{"rendered":"<style id=\"bdm-death-registration-styles\">:root {\r\n      --step-active: #1a5f7a;\r\n      --step-done: #2d8f6f;\r\n      --step-pending: #94a3b8;\r\n      --border: #cbd5e1;\r\n      --bg: #f8fafc;\r\n      --card: #fff;\r\n      --text: #1e293b;\r\n      --error: #b91c1c;\r\n    }\r\n    * { box-sizing: border-box; }\r\n    .bdm-death-registration-form-wrapper {\r\n      font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;\r\n      margin: 0;\r\n      padding: 1rem;\r\n      background: var(--bg);\r\n      color: var(--text);\r\n      line-height: 1.5;\r\n    }\r\n    .container { max-width: 720px; margin: 0 auto; }\r\n    h1 {\r\n      font-size: 1.5rem;\r\n      margin-bottom: 1.5rem;\r\n      color: var(--step-active);\r\n    }\r\n    \/* Stepbar *\/\r\n    .stepbar {\r\n      display: flex;\r\n      justify-content: space-between;\r\n      margin-bottom: 2rem;\r\n      padding: 0 0.5rem;\r\n    }\r\n    .step-item {\r\n      flex: 1;\r\n      text-align: center;\r\n      position: relative;\r\n      cursor: pointer;\r\n    }\r\n    .step-item::before {\r\n      content: '';\r\n      display: block;\r\n      height: 4px;\r\n      background: var(--step-pending);\r\n      border-radius: 2px;\r\n      margin-bottom: 0.5rem;\r\n    }\r\n    .step-item.done::before { background: var(--step-done); }\r\n    .step-item.active::before { background: var(--step-active); }\r\n    .step-num {\r\n      display: inline-flex;\r\n      width: 28px;\r\n      height: 28px;\r\n      align-items: center;\r\n      justify-content: center;\r\n      border-radius: 50%;\r\n      background: var(--step-pending);\r\n      color: #fff;\r\n      font-weight: 600;\r\n      font-size: 0.875rem;\r\n    }\r\n    .step-item.done .step-num { background: var(--step-done); }\r\n    .step-item.active .step-num { background: var(--step-active); }\r\n    .step-label {\r\n      font-size: 0.7rem;\r\n      color: var(--step-pending);\r\n      margin-top: 0.25rem;\r\n    }\r\n    .step-item.active .step-label,\r\n    .step-item.done .step-label { color: var(--text); }\r\n    \/* Panels *\/\r\n    .panel {\r\n      display: none;\r\n      background: var(--card);\r\n      border-radius: 8px;\r\n      padding: 1.5rem;\r\n      box-shadow: 0 1px 3px rgba(0,0,0,0.08);\r\n    }\r\n    .panel.active { display: block; }\r\n    .section { margin-bottom: 1.5rem; }\r\n    .section-title {\r\n      font-weight: 600;\r\n      margin-bottom: 0.75rem;\r\n      padding-bottom: 0.35rem;\r\n      border-bottom: 1px solid var(--border);\r\n    }\r\n    .form-row { margin-bottom: 0.75rem; }\r\n    .form-row label {\r\n      display: block;\r\n      font-size: 0.875rem;\r\n      margin-bottom: 0.25rem;\r\n    }\r\n    .form-row label .hint { font-weight: normal; color: #64748b; }\r\n    input[type=\"text\"],\r\n    input[type=\"email\"],\r\n    input[type=\"tel\"],\r\n    input[type=\"number\"],\r\n    input[type=\"date\"],\r\n    select,\r\n    textarea {\r\n      width: 100%;\r\n      padding: 0.5rem 0.75rem;\r\n      border: 1px solid var(--border);\r\n      border-radius: 6px;\r\n      font-size: 1rem;\r\n    }\r\n    input:focus, select:focus, textarea:focus {\r\n      outline: none;\r\n      border-color: var(--step-active);\r\n      box-shadow: 0 0 0 2px rgba(26, 95, 122, 0.2);\r\n    }\r\n    .inline-group { display: flex; gap: 1rem; flex-wrap: wrap; }\r\n    .inline-group .form-row { flex: 1; min-width: 140px; }\r\n    .conditional { display: none; margin-top: 0.5rem; }\r\n    .conditional.show { display: block; }\r\n    .radio-group { margin-bottom: 0.5rem; }\r\n    .radio-group label, .radio-row label { display: inline-flex; align-items: center; margin-right: 1rem; cursor: pointer; }\r\n    .radio-group.vertical label { display: block; margin: 0 0 0.35rem 0; }\r\n    .radio-group input, .radio-row input { width: auto; margin-right: 0.35rem; }\r\n    \/* Buttons *\/\r\n    .btn {\r\n      padding: 0.6rem 1.2rem;\r\n      border-radius: 6px;\r\n      font-size: 1rem;\r\n      cursor: pointer;\r\n      border: none;\r\n      font-weight: 500;\r\n    }\r\n    .btn-primary { background: var(--step-active); color: #fff; }\r\n    .btn-primary:hover { filter: brightness(1.05); }\r\n    .btn-secondary { background: var(--border); color: var(--text); }\r\n    .btn-outline { background: transparent; border: 1px solid var(--step-active); color: var(--step-active); }\r\n    .nav-buttons {\r\n      display: flex;\r\n      justify-content: space-between;\r\n      margin-top: 1.5rem;\r\n      gap: 1rem;\r\n    }\r\n    .nav-buttons .btn { min-width: 100px; }\r\n    .block-repeat {\r\n      border: 1px solid var(--border);\r\n      border-radius: 8px;\r\n      padding: 1rem;\r\n      margin-bottom: 1rem;\r\n    }\r\n    .block-repeat .block-header { font-weight: 600; margin-bottom: 0.75rem; }\r\n    .signature-pad {\r\n      border: 1px solid var(--border);\r\n      border-radius: 6px;\r\n      background: #fafafa;\r\n      cursor: crosshair;\r\n      touch-action: none;\r\n    }\r\n    .signature-actions { margin-top: 0.5rem; }\r\n    .signature-actions .btn { margin-right: 0.5rem; }\r\n    .declaration-text {\r\n      background: #f1f5f9;\r\n      padding: 1rem;\r\n      border-radius: 6px;\r\n      margin-bottom: 1rem;\r\n      font-size: 0.9rem;\r\n    }\r\n    .readonly-summary { color: #475569; }\r\n    .readonly-summary .form-row { margin-bottom: 0.5rem; }\r\n    .error-message { color: var(--error); font-size: 0.875rem; margin-top: 0.25rem; }\r\n    input.bdm-invalid, select.bdm-invalid, textarea.bdm-invalid {\r\n      border-color: var(--error) !important;\r\n      box-shadow: 0 0 0 2px rgba(185, 28, 28, 0.2);\r\n    }\r\n    .radio-group.bdm-invalid { border: 1px solid var(--error); border-radius: 6px; padding: 0.5rem; }\r\n    .bdm-fill-test { margin-bottom: 1rem; }\r\n    .bdm-fill-test .btn { font-size: 0.875rem; padding: 0.4rem 0.8rem; }\r\n    .bdm-top-actions {\r\n      display: flex;\r\n      justify-content: flex-end;\r\n      gap: 0.5rem;\r\n      margin-bottom: 1rem;\r\n    }\r\n    .bdm-top-actions .btn {\r\n      font-size: 0.875rem;\r\n      padding: 0.4rem 0.8rem;\r\n    }\r\n    @media (max-width: 600px) {\r\n      .stepbar .step-label { display: none; }\r\n    }<\/style><div class=\"bdm-death-registration-form-wrapper\" data-bdm-ajax-url=\"https:\/\/dev.bdmregistry.com.au\/wp-admin\/admin-ajax.php\" data-bdm-nonce=\"ad797e3ba4\"><div class=\"container\">\r\n    <h1>Death Registration \u2013 Registry of Births, Deaths &amp; Marriages<\/h1>\r\n\r\n    <!-- Stepbar -->\r\n    <nav class=\"stepbar\" aria-label=\"Form steps\">\r\n      <div class=\"step-item active\" data-step=\"1\"><div class=\"step-num\">1<\/div><div class=\"step-label\">Your Details<\/div><\/div>\r\n      <div class=\"step-item\" data-step=\"2\"><div class=\"step-num\">2<\/div><div class=\"step-label\">Deceased<\/div><\/div>\r\n      <div class=\"step-item\" data-step=\"3\"><div class=\"step-num\">3<\/div><div class=\"step-label\">Death Details<\/div><\/div>\r\n      <div class=\"step-item\" data-step=\"4\"><div class=\"step-num\">4<\/div><div class=\"step-label\">Parents<\/div><\/div>\r\n      <div class=\"step-item\" data-step=\"5\"><div class=\"step-num\">5<\/div><div class=\"step-label\">Marriages<\/div><\/div>\r\n      <div class=\"step-item\" data-step=\"6\"><div class=\"step-num\">6<\/div><div class=\"step-label\">Children<\/div><\/div>\r\n      <div class=\"step-item\" data-step=\"7\"><div class=\"step-num\">7<\/div><div class=\"step-label\">Declaration<\/div><\/div>\r\n    <\/nav>\r\n\r\n    <!--Developer\/testing helper (optional):-->\r\n    <div class=\"bdm-fill-test\">\r\n      <button type=\"button\" class=\"btn btn-outline\" id=\"bdmFillTestData\">Fill test data<\/button>\r\n    <\/div>\r\n\r\n    <div class=\"bdm-top-actions\">\r\n      <button type=\"button\" class=\"btn btn-secondary bdmSaveDraft\" id=\"bdmSaveDraft\">Save now<\/button>\r\n    <\/div>\r\n\r\n    <form id=\"deathForm\" action=\"#\" method=\"post\" novalidate>\r\n      <!-- Step 1: Your Details -->\r\n      <div class=\"panel active\" id=\"panel-1\" data-step=\"1\">\r\n        <div class=\"section\">\r\n          <div class=\"section-title\">Your name<\/div>\r\n          <div class=\"form-row\"><label>Family name<\/label><input type=\"text\" name=\"your_family_name\" id=\"your_family_name\" required><\/div>\r\n          <div class=\"form-row\"><label>First given name<\/label><input type=\"text\" name=\"your_first_name\" id=\"your_first_name\" required><\/div>\r\n          <div class=\"form-row\"><label>Other given names<\/label><input type=\"text\" name=\"your_other_names\" id=\"your_other_names\"><\/div>\r\n        <\/div>\r\n        <div class=\"section\">\r\n          <div class=\"section-title\">Your address<\/div>\r\n          <div class=\"form-row\"><label>Address line 1<\/label><input type=\"text\" name=\"your_addr1\" id=\"your_addr1\" required><\/div>\r\n          <div class=\"form-row\"><label>Address line 2<\/label><input type=\"text\" name=\"your_addr2\" id=\"your_addr2\"><\/div>\r\n          <div class=\"inline-group\">\r\n            <div class=\"form-row\"><label>Suburb \/ Town \/ City<\/label><input type=\"text\" name=\"your_suburb\" id=\"your_suburb\" required><\/div>\r\n            <div class=\"form-row\"><label>State \/ Territory<\/label><input type=\"text\" name=\"your_state\" id=\"your_state\" required><\/div>\r\n            <div class=\"form-row\"><label>Post code<\/label><input type=\"text\" name=\"your_postcode\" id=\"your_postcode\" required><\/div>\r\n          <\/div>\r\n          <div class=\"form-row\"><label>Country<\/label><input type=\"text\" name=\"your_country\" id=\"your_country\" value=\"Australia\"><\/div>\r\n        <\/div>\r\n        <div class=\"section\">\r\n          <div class=\"section-title\">Your contact details<\/div>\r\n          <div class=\"form-row\"><label>Telephone<\/label><input type=\"tel\" name=\"your_telephone\" id=\"your_telephone\"><\/div>\r\n          <div class=\"form-row\"><label>Email<\/label><input type=\"email\" name=\"your_email\" id=\"your_email\" required><\/div>\r\n        <\/div>\r\n        <div class=\"section\">\r\n          <div class=\"section-title\">Your relationship to the deceased<\/div>\r\n          <div class=\"form-row\">\r\n            <label>I am the deceased's<\/label>\r\n            <input type=\"text\" name=\"your_relationship\" id=\"your_relationship\" placeholder=\"e.g. spouse, child, executor\">\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"nav-buttons\">\r\n          <span><\/span>\r\n          <button type=\"button\" class=\"btn btn-secondary bdmSaveDraft\">Save now<\/button>\r\n          <button type=\"button\" class=\"btn btn-primary\" data-next=\"2\">Next<\/button>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- Step 2: Deceased Details -->\r\n      <div class=\"panel\" id=\"panel-2\" data-step=\"2\">\r\n        <div class=\"section\">\r\n          <div class=\"section-title\">Details of the deceased<\/div>\r\n          <div class=\"form-row\"><label>Family name<\/label><input type=\"text\" name=\"dec_family_name\" required><\/div>\r\n          <div class=\"form-row\"><label>Family name (at birth)<\/label><input type=\"text\" name=\"dec_family_name_birth\"><\/div>\r\n          <div class=\"form-row\"><label>First given name<\/label><input type=\"text\" name=\"dec_first_name\" required><\/div>\r\n          <div class=\"form-row\"><label>Other given names<\/label><input type=\"text\" name=\"dec_other_names\"><\/div>\r\n          <div class=\"form-row\"><label>Gender<\/label><select name=\"dec_sex\"><option value=\"\">\u2014 Select \u2014<\/option><option value=\"Male\">Male<\/option><option value=\"Female\">Female<\/option><option value=\"Other\">Other<\/option><\/select><\/div>\r\n        <\/div>\r\n        <div class=\"section\">\r\n          <div class=\"section-title\">Usual residential address of the deceased<\/div>\r\n          <div class=\"form-row\"><label>Address line 1<\/label><input type=\"text\" name=\"dec_addr1\"><\/div>\r\n          <div class=\"form-row\"><label>Address line 2<\/label><input type=\"text\" name=\"dec_addr2\"><\/div>\r\n          <div class=\"inline-group\">\r\n            <div class=\"form-row\"><label>Suburb \/ Town \/ City<\/label><input type=\"text\" name=\"dec_suburb\"><\/div>\r\n            <div class=\"form-row\"><label>State \/ Territory<\/label><input type=\"text\" name=\"dec_state\"><\/div>\r\n            <div class=\"form-row\"><label>Post code<\/label><input type=\"text\" name=\"dec_postcode\"><\/div>\r\n          <\/div>\r\n          <div class=\"form-row\"><label>Country<\/label><input type=\"text\" name=\"dec_country\" value=\"Australia\"><\/div>\r\n        <\/div>\r\n        <div class=\"section\">\r\n          <div class=\"section-title\">Date of birth<\/div>\r\n          <div class=\"form-row\"><label>Date of birth<\/label><input type=\"date\" name=\"dec_dob\"><\/div>\r\n        <\/div>\r\n        <div class=\"section\">\r\n          <div class=\"section-title\">Place of birth<\/div>\r\n          <div class=\"form-row\"><label>Country<\/label><input type=\"text\" name=\"dec_birth_country\"><\/div>\r\n          <div class=\"inline-group\">\r\n            <div class=\"form-row\"><label>Suburb \/ Town \/ City<\/label><input type=\"text\" name=\"dec_birth_suburb\"><\/div>\r\n            <div class=\"form-row\"><label>State \/ Territory<\/label><input type=\"text\" name=\"dec_birth_state\"><\/div>\r\n          <\/div>\r\n          <p class=\"form-row\"><label>If born overseas, what date did the deceased first arrive in Australia?<\/label><\/p>\r\n          <p class=\"form-row\" style=\"margin-top:-0.5rem;color:#64748b;font-size:0.875rem\">(If the exact date is not known, please state the year of arrival)<\/p>\r\n          <div class=\"form-row\"><label>Year of arrival<\/label><input type=\"number\" name=\"dec_arrival_year\" min=\"1800\" max=\"2100\" step=\"1\" placeholder=\"e.g. 1985\"><\/div>\r\n        <\/div>\r\n        <div class=\"section\">\r\n          <div class=\"section-title\">Usual occupation during working life (if applicable)<\/div>\r\n          <p class=\"form-row\" style=\"margin-top:-0.25rem;color:#64748b;font-size:0.875rem\">(Please give full details. For example, Music Teacher, Machine Operator)<\/p>\r\n          <div class=\"form-row\"><input type=\"text\" name=\"dec_occupation\" placeholder=\"e.g. Music Teacher, Machine Operator\"><\/div>\r\n          <div class=\"radio-row\"><label>Was the deceased retired at date of death?<\/label><\/div>\r\n          <div class=\"radio-group\">\r\n            <label><input type=\"radio\" name=\"dec_retired\" value=\"yes\"> Yes<\/label>\r\n            <label><input type=\"radio\" name=\"dec_retired\" value=\"no\"> No<\/label>\r\n          <\/div>\r\n          <div class=\"radio-row\"><label>Was the deceased a pensioner at date of death?<\/label><\/div>\r\n          <div class=\"radio-group\">\r\n            <label><input type=\"radio\" name=\"dec_pensioner\" value=\"yes\"> Yes<\/label>\r\n            <label><input type=\"radio\" name=\"dec_pensioner\" value=\"no\"> No<\/label>\r\n          <\/div>\r\n          <div class=\"conditional\" id=\"pension_type_wrap\">\r\n            <div class=\"form-row\"><label>If Yes, please state what type of pension (e.g. Invalid, Aged, Veterans)<\/label><input type=\"text\" name=\"dec_pension_type\"><\/div>\r\n          <\/div>\r\n          <div class=\"radio-row\" style=\"margin-bottom: 0.35rem;\"><label>Was the deceased of Aboriginal or Torres Strait Islander origin?<\/label><\/div>\r\n          <div class=\"radio-group vertical\">\r\n            <label><input type=\"radio\" name=\"dec_aboriginal_tsi\" value=\"aboriginal\"> Aboriginal origin<\/label>\r\n            <label><input type=\"radio\" name=\"dec_aboriginal_tsi\" value=\"tsi\"> Torres Strait Islander origin<\/label>\r\n            <label><input type=\"radio\" name=\"dec_aboriginal_tsi\" value=\"both\"> Both Aboriginal and Torres Strait Islander origin<\/label>\r\n            <label><input type=\"radio\" name=\"dec_aboriginal_tsi\" value=\"neither\"> Neither<\/label>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"nav-buttons\">\r\n          <button type=\"button\" class=\"btn btn-secondary\" data-prev=\"1\">Previous<\/button>\r\n          <button type=\"button\" class=\"btn btn-secondary bdmSaveDraft\">Save now<\/button>\r\n          <button type=\"button\" class=\"btn btn-primary\" data-next=\"3\">Next<\/button>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- Step 3: Deceased Death Details -->\r\n      <div class=\"panel\" id=\"panel-3\" data-step=\"3\">\r\n        <div class=\"section\">\r\n          <div class=\"section-title\">Place of death<\/div>\r\n          <div class=\"radio-row\"><label>Did the death occur in a NSW hospital or nursing home?<\/label><\/div>\r\n          <div class=\"radio-group\">\r\n            <label><input type=\"radio\" name=\"death_nsw_hospital\" value=\"yes\"> Yes<\/label>\r\n            <label><input type=\"radio\" name=\"death_nsw_hospital\" value=\"no\"> No<\/label>\r\n          <\/div>\r\n          <div class=\"conditional\" id=\"hospital_name_wrap\">\r\n            <div class=\"form-row\"><label>If Yes, insert name of hospital or nursing home<\/label><input type=\"text\" name=\"death_hospital_name\"><\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"section\">\r\n          <div class=\"section-title\">Date of death<\/div>\r\n          <div class=\"form-row\"><label>Date of death<\/label><input type=\"date\" name=\"death_date\" required><\/div>\r\n        <\/div>\r\n        <div class=\"section\">\r\n          <div class=\"section-title\">Address where they died<\/div>\r\n          <div class=\"form-row\"><label>Address line 1<\/label><input type=\"text\" name=\"death_addr1\"><\/div>\r\n          <div class=\"form-row\"><label>Address line 2<\/label><input type=\"text\" name=\"death_addr2\"><\/div>\r\n          <div class=\"inline-group\">\r\n            <div class=\"form-row\"><label>Suburb \/ Town \/ City<\/label><input type=\"text\" name=\"death_suburb\"><\/div>\r\n            <div class=\"form-row\"><label>State \/ Territory<\/label><input type=\"text\" name=\"death_state\"><\/div>\r\n            <div class=\"form-row\"><label>Post code<\/label><input type=\"text\" name=\"death_postcode\"><\/div>\r\n          <\/div>\r\n          <div class=\"form-row\"><label>Country<\/label><input type=\"text\" name=\"death_country\" value=\"Australia\"><\/div>\r\n        <\/div>\r\n        <div class=\"nav-buttons\">\r\n          <button type=\"button\" class=\"btn btn-secondary\" data-prev=\"2\">Previous<\/button>\r\n          <button type=\"button\" class=\"btn btn-secondary bdmSaveDraft\">Save now<\/button>\r\n          <button type=\"button\" class=\"btn btn-primary\" data-next=\"4\">Next<\/button>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- Step 4: Parents -->\r\n      <div class=\"panel\" id=\"panel-4\" data-step=\"4\">\r\n        <div class=\"section\">\r\n          <div class=\"section-title\">Parent one (mother)<\/div>\r\n          <div class=\"radio-row\"><label>Relationship to the deceased<\/label><\/div>\r\n          <div class=\"radio-group\">\r\n            <label><input type=\"radio\" name=\"parent1_relation\" value=\"Mother\"> Mother<\/label>\r\n            <label><input type=\"radio\" name=\"parent1_relation\" value=\"Parent\"> Parent<\/label>\r\n          <\/div>\r\n          <div class=\"form-row\"><label>Family name<\/label><input type=\"text\" name=\"parent1_family_name\"><\/div>\r\n          <div class=\"form-row\"><label>Family name (at birth)<\/label><input type=\"text\" name=\"parent1_family_name_birth\"><\/div>\r\n          <div class=\"form-row\"><label>First given name<\/label><input type=\"text\" name=\"parent1_first_name\"><\/div>\r\n          <div class=\"form-row\"><label>Other given names<\/label><input type=\"text\" name=\"parent1_other_names\"><\/div>\r\n          <div class=\"form-row\"><label>Gender<\/label><select name=\"parent1_sex\"><option value=\"\">\u2014 Select \u2014<\/option><option value=\"Male\">Male<\/option><option value=\"Female\">Female<\/option><option value=\"Other\">Other<\/option><\/select><\/div>\r\n          <div class=\"form-row\"><label class=\"hint\">Usual occupation during working life (if applicable)<\/label><input type=\"text\" name=\"parent1_occupation\" placeholder=\"e.g. Music Teacher, Machine Operator\"><\/div>\r\n        <\/div>\r\n        <div class=\"section\">\r\n          <div class=\"section-title\">Parent two (father \/ parent \/ mother)<\/div>\r\n          <div class=\"radio-row\"><label>Relationship to the deceased<\/label><\/div>\r\n          <div class=\"radio-group\">\r\n            <label><input type=\"radio\" name=\"parent2_relation\" value=\"Father\"> Father<\/label>\r\n            <label><input type=\"radio\" name=\"parent2_relation\" value=\"Mother\"> Mother<\/label>\r\n            <label><input type=\"radio\" name=\"parent2_relation\" value=\"Parent\"> Parent<\/label>\r\n          <\/div>\r\n          <div class=\"form-row\"><label>Family name<\/label><input type=\"text\" name=\"parent2_family_name\"><\/div>\r\n          <div class=\"form-row\"><label>Family name (at birth)<\/label><input type=\"text\" name=\"parent2_family_name_birth\"><\/div>\r\n          <div class=\"form-row\"><label>First given name<\/label><input type=\"text\" name=\"parent2_first_name\"><\/div>\r\n          <div class=\"form-row\"><label>Other given names<\/label><input type=\"text\" name=\"parent2_other_names\"><\/div>\r\n          <div class=\"form-row\"><label>Gender<\/label><select name=\"parent2_sex\"><option value=\"\">\u2014 Select \u2014<\/option><option value=\"Male\">Male<\/option><option value=\"Female\">Female<\/option><option value=\"Other\">Other<\/option><\/select><\/div>\r\n          <div class=\"form-row\"><label class=\"hint\">Usual occupation during working life (if applicable)<\/label><input type=\"text\" name=\"parent2_occupation\" placeholder=\"e.g. Music Teacher, Machine Operator\"><\/div>\r\n        <\/div>\r\n        <div class=\"nav-buttons\">\r\n          <button type=\"button\" class=\"btn btn-secondary\" data-prev=\"3\">Previous<\/button>\r\n          <button type=\"button\" class=\"btn btn-secondary bdmSaveDraft\">Save now<\/button>\r\n          <button type=\"button\" class=\"btn btn-primary\" data-next=\"5\">Next<\/button>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- Step 5: Marriages -->\r\n      <div class=\"panel\" id=\"panel-5\" data-step=\"5\">\r\n        <div class=\"section\">\r\n          <div class=\"section-title\">Marriages or relationships of the deceased<\/div>\r\n          <div class=\"form-row\"><label>Marital status of the deceased at time of death<\/label><\/div>\r\n          <p style=\"margin-top:-0.25rem;color:#64748b;font-size:0.875rem\">(Only include a de facto if it was the most recent relationship)<\/p>\r\n          <select name=\"marital_status\">\r\n            <option value=\"\">\u2014 Select \u2014<\/option>\r\n            <option value=\"Never married\">Never married<\/option>\r\n            <option value=\"Married\">Married<\/option>\r\n            <option value=\"Divorced\">Divorced<\/option>\r\n            <option value=\"Widow\/Widower\">Widow\/Widower<\/option>\r\n            <option value=\"Registered relationship\">Registered relationship<\/option>\r\n            <option value=\"De facto\">De facto<\/option>\r\n            <option value=\"Unknown\">Unknown<\/option>\r\n          <\/select>\r\n        <\/div>\r\n        <div class=\"conditional\" id=\"relationships_wrap\">\r\n        <p class=\"form-row\" style=\"margin-top:-0.25rem;color:#64748b;font-size:0.875rem\">(Enter marriages or relationships in order of most recent to oldest)<\/p>\r\n        <div id=\"relationships-container\">\r\n          <div class=\"block-repeat relationship-block\" data-index=\"0\">\r\n            <div class=\"block-header\">Relationship one<\/div>\r\n            <div class=\"form-row\">\r\n              <label>Relationship type<\/label>\r\n              <select name=\"rel_0_type\">\r\n                <option value=\"\">\u2014 Select \u2014<\/option>\r\n                <option value=\"Marriage\">Marriage<\/option>\r\n                <option value=\"De facto\">De facto<\/option>\r\n                <option value=\"Registered relationship\">Registered relationship<\/option>\r\n              <\/select>\r\n            <\/div>\r\n            <div class=\"conditional\" id=\"rel_0_place_wrap\">\r\n              <div class=\"section-title\">Place of marriage<\/div>\r\n              <div class=\"form-row\"><label>Country<\/label><input type=\"text\" name=\"rel_0_place_country\"><\/div>\r\n              <div class=\"inline-group\">\r\n                <div class=\"form-row\"><label>Suburb \/ Town \/ City<\/label><input type=\"text\" name=\"rel_0_place_suburb\"><\/div>\r\n                <div class=\"form-row\"><label>State \/ Territory<\/label><input type=\"text\" name=\"rel_0_place_state\"><\/div>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"form-row\"><label>Age of the deceased at start of relationship<\/label><input type=\"number\" name=\"rel_0_deceased_age\" min=\"0\" placeholder=\"years\"><\/div>\r\n            <div class=\"section-title\">Spouse details<\/div>\r\n            <div class=\"form-row\"><label>Family name of spouse\/partner when married (at date of marriage\/relationship)<\/label><input type=\"text\" name=\"rel_0_spouse_family_name\"><\/div>\r\n            <div class=\"form-row\"><label>Family name of spouse\/partner at birth<\/label><input type=\"text\" name=\"rel_0_spouse_family_name_birth\"><\/div>\r\n            <div class=\"form-row\"><label>First given name of spouse\/partner<\/label><input type=\"text\" name=\"rel_0_spouse_first_name\"><\/div>\r\n            <div class=\"form-row\"><label>Other given names of spouse\/partner<\/label><input type=\"text\" name=\"rel_0_spouse_other_names\"><\/div>\r\n            <div class=\"form-row\"><label>Gender of spouse\/partner<\/label><select name=\"rel_0_spouse_sex\"><option value=\"\">\u2014 Select \u2014<\/option><option value=\"Male\">Male<\/option><option value=\"Female\">Female<\/option><option value=\"Other\">Other<\/option><\/select><\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <div style=\"margin-bottom:1rem\"><button type=\"button\" class=\"btn btn-outline\" id=\"addRelationship\">CLICK TO ADD ANOTHER RELATIONSHIP<\/button><\/div>\r\n        <\/div>\r\n        <div class=\"nav-buttons\">\r\n          <button type=\"button\" class=\"btn btn-secondary\" data-prev=\"4\">Previous<\/button>\r\n          <button type=\"button\" class=\"btn btn-secondary bdmSaveDraft\">Save now<\/button>\r\n          <button type=\"button\" class=\"btn btn-primary\" data-next=\"6\">Next<\/button>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- Step 6: Children -->\r\n      <div class=\"panel\" id=\"panel-6\" data-step=\"6\">\r\n        <div class=\"section\">\r\n          <div class=\"section-title\">Children of the deceased<\/div>\r\n          <div class=\"radio-row\"><label>Did the deceased have any children?<\/label><\/div>\r\n          <div class=\"radio-group\">\r\n            <label><input type=\"radio\" name=\"had_children\" value=\"yes\"> Yes<\/label>\r\n            <label><input type=\"radio\" name=\"had_children\" value=\"no\"> No<\/label>\r\n          <\/div>\r\n          <div class=\"conditional\" id=\"children_count_wrap\">\r\n            <div class=\"form-row\"><label>If yes, please specify how many children (include legally adopted children)<\/label><input type=\"number\" name=\"children_count\" min=\"0\" id=\"children_count\"><\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"conditional\" id=\"children_details_wrap\">\r\n        <p class=\"form-row\" style=\"margin-top:0.5rem\">Enter each child in order of birth<\/p>\r\n        <div id=\"children-container\">\r\n          <div class=\"block-repeat child-block\" data-index=\"0\">\r\n            <div class=\"block-header\">First child<\/div>\r\n            <div class=\"form-row\"><label>Family name<\/label><input type=\"text\" name=\"child_0_family_name\"><\/div>\r\n            <div class=\"form-row\"><label>Family name (at birth)<\/label><input type=\"text\" name=\"child_0_family_name_birth\"><\/div>\r\n            <div class=\"form-row\"><label>First given name<\/label><input type=\"text\" name=\"child_0_first_name\"><\/div>\r\n            <div class=\"form-row\"><label>Other given names<\/label><input type=\"text\" name=\"child_0_other_names\"><\/div>\r\n            <div class=\"form-row\"><label>Age of this child<\/label><input type=\"number\" name=\"child_0_age\" min=\"0\"><\/div>\r\n            <div class=\"form-row\"><label>Gender<\/label><select name=\"child_0_sex\"><option value=\"\">\u2014 Select \u2014<\/option><option value=\"Male\">Male<\/option><option value=\"Female\">Female<\/option><option value=\"Other\">Other<\/option><\/select><\/div>\r\n            <div class=\"form-row\"><label>Is this child alive?<\/label><select name=\"child_0_alive\"><option value=\"\">\u2014 Select \u2014<\/option><option value=\"Alive\">Alive<\/option><option value=\"Deceased\">Deceased<\/option><option value=\"Stillborn\">Stillborn<\/option><option value=\"Unknown\">Unknown<\/option><\/select><\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <div style=\"margin-bottom:1rem\"><button type=\"button\" class=\"btn btn-outline\" id=\"addChild\">CLICK TO ADD ANOTHER CHILD<\/button><\/div>\r\n        <\/div>\r\n        <div class=\"nav-buttons\">\r\n          <button type=\"button\" class=\"btn btn-secondary\" data-prev=\"5\">Previous<\/button>\r\n          <button type=\"button\" class=\"btn btn-secondary bdmSaveDraft\">Save now<\/button>\r\n          <button type=\"button\" class=\"btn btn-primary\" data-next=\"7\">Next<\/button>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- Step 7: Declaration -->\r\n      <div class=\"panel\" id=\"panel-7\" data-step=\"7\">\r\n        <!-- <div class=\"section\">\r\n          <div class=\"section-title\">Certification by the informant<\/div>\r\n          <div class=\"declaration-text\">\r\n            I declare that the information I have provided is true and correct. I understand that it is an offence under Part 5A of the Crimes Act 1900 to provide false or misleading information or documents and that it is an offence under the Births, Deaths and Marriages Registration Act 1995 to make a false or misleading representation in an application, notice or document.\r\n          <\/div>\r\n        <\/div> -->\r\n        <div class=\"section\">\r\n          <div class=\"section-title\">Informant details<\/div>\r\n          <p class=\"form-row\" style=\"color:#64748b;font-size:0.875rem\">(Note: Informant details are from step 1)<\/p>\r\n          <div class=\"readonly-summary\" id=\"informantSummary\">\r\n            <div class=\"form-row\"><strong>Your name<\/strong><\/div>\r\n            <div class=\"form-row\"><span id=\"sum_family_name\"><\/span><\/div>\r\n            <div class=\"form-row\"><span id=\"sum_first_name\"><\/span><\/div>\r\n            <div class=\"form-row\"><span id=\"sum_other_names\"><\/span><\/div>\r\n            <div class=\"form-row\"><strong>Your address<\/strong><\/div>\r\n            <div class=\"form-row\"><span id=\"sum_addr1\"><\/span><\/div>\r\n            <div class=\"form-row\"><span id=\"sum_addr2\"><\/span><\/div>\r\n            <div class=\"form-row\"><span id=\"sum_suburb\"><\/span> <span id=\"sum_state\"><\/span> <span id=\"sum_postcode\"><\/span> <span id=\"sum_country\"><\/span><\/div>\r\n            <div class=\"form-row\"><strong>Your contact details<\/strong><\/div>\r\n            <div class=\"form-row\"><span id=\"sum_telephone\"><\/span><\/div>\r\n            <div class=\"form-row\"><span id=\"sum_email\"><\/span><\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"section\">\r\n          <div class=\"section-title\">Submission date<\/div>\r\n          <div class=\"form-row\">Date of submitting the form: <strong id=\"submission_date\"><\/strong><\/div>\r\n          <div class=\"declaration-text\" style=\"margin-top:1rem;\">\r\n            I declare that the information I have provided is true and correct. I understand that it is an offence under Part 5A of the Crimes Act 1900 to provide false or misleading information or documents and that it is an offence under the Births, Deaths and Marriages Registration Act 1995 to make a false or misleading representation in an application, notice or document.\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"section\">\r\n          <div class=\"section-title\">Signature<\/div>\r\n          <canvas id=\"signaturePad\" class=\"signature-pad\" width=\"400\" height=\"160\"><\/canvas>\r\n          <input type=\"hidden\" name=\"signature_data\" id=\"signature_data\">\r\n          <div class=\"signature-actions\">\r\n            <button type=\"button\" class=\"btn btn-secondary\" id=\"clearSignature\">Clear signature<\/button>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"nav-buttons\">\r\n          <button type=\"button\" class=\"btn btn-secondary\" data-prev=\"6\">Previous<\/button>\r\n          <button type=\"submit\" class=\"btn btn-primary\">SUBMIT FORM<\/button>\r\n        <\/div>\r\n      <\/div>\r\n    <\/form>\r\n  <\/div>\r\n\r\n  <script>\r\n    (function() {\r\n      var form = document.getElementById('deathForm');\r\n      \/\/ Step navigation\r\n      var currentStep = 1;\r\n      var totalSteps = 7;\r\n      var stepbar = document.querySelector('.stepbar');\r\n      var panels = document.querySelectorAll('.panel');\r\n\r\n      function goToStep(step) {\r\n        step = Math.max(1, Math.min(totalSteps, step));\r\n        currentStep = step;\r\n        panels.forEach(function(p) {\r\n          p.classList.remove('active');\r\n          if (parseInt(p.dataset.step, 10) === step) p.classList.add('active');\r\n        });\r\n        stepbar.querySelectorAll('.step-item').forEach(function(el) {\r\n          var s = parseInt(el.dataset.step, 10);\r\n          el.classList.remove('active');\r\n          if (s < step) el.classList.add('done');\r\n          else if (s === step) el.classList.add('active');\r\n          else el.classList.remove('done');\r\n        });\r\n        if (step === 5 && typeof updateMaritalVisibility === 'function') {\r\n          updateMaritalVisibility();\r\n        }\r\n        if (step === 7) {\r\n          updateInformantSummary();\r\n          document.getElementById('submission_date').textContent = new Date().toLocaleDateString('en-AU', { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' });\r\n        }\r\n        var container = document.querySelector('.container');\r\n        if (container) {\r\n          var top = container.getBoundingClientRect().top + window.pageYOffset - 16;\r\n          window.scrollTo({ top: top, behavior: 'smooth' });\r\n        }\r\n      }\r\n\r\n      \/\/ Validate only required fields in the given step panel (used for optional per-step checks)\r\n      function validateCurrentStep() {\r\n        var panel = document.querySelector('.panel.active');\r\n        if (!panel) return { valid: true, firstInvalid: null };\r\n        var required = panel.querySelectorAll('input[required], select[required], textarea[required]');\r\n        for (var i = 0; i < required.length; i++) {\r\n          var el = required[i];\r\n          var val = (el.type === 'radio' || el.type === 'checkbox') ? panel.querySelector('input[name=\"' + el.name + '\"]:checked') : el;\r\n          if (el.type === 'radio' || el.type === 'checkbox') {\r\n            if (!val) return { valid: false, firstInvalid: el };\r\n          } else if (!el.value || !el.value.trim()) {\r\n            return { valid: false, firstInvalid: el };\r\n          }\r\n        }\r\n        return { valid: true, firstInvalid: null };\r\n      }\r\n\r\n      \/\/ Validate all steps and return all invalid fields (for red border) + first invalid (for focus)\r\n      function validateAllSteps() {\r\n        var invalidElements = [];\r\n        var firstInvalid = null;\r\n        var firstStep = null;\r\n        var required = document.querySelectorAll('.panel input[required], .panel select[required], .panel textarea[required]');\r\n        for (var i = 0; i < required.length; i++) {\r\n          var el = required[i];\r\n          var panel = el.closest('.panel');\r\n          var step = panel && panel.dataset.step ? parseInt(panel.dataset.step, 10) : null;\r\n          var isEmpty = false;\r\n          if (el.type === 'radio' || el.type === 'checkbox') {\r\n            var checked = (panel || document).querySelector('input[name=\"' + el.name + '\"]:checked');\r\n            isEmpty = !checked;\r\n            if (isEmpty) {\r\n              var group = el.closest('.radio-group');\r\n              if (group && invalidElements.indexOf(group) === -1) invalidElements.push(group);\r\n              if (!firstInvalid) { firstInvalid = el; firstStep = step; }\r\n            }\r\n          } else {\r\n            isEmpty = !el.value || !el.value.trim();\r\n            if (isEmpty) {\r\n              invalidElements.push(el);\r\n              if (!firstInvalid) { firstInvalid = el; firstStep = step; }\r\n            }\r\n          }\r\n        }\r\n        return {\r\n          valid: invalidElements.length === 0,\r\n          firstInvalid: firstInvalid,\r\n          step: firstStep,\r\n          invalidElements: invalidElements\r\n        };\r\n      }\r\n\r\n      function clearInvalidHighlights() {\r\n        document.querySelectorAll('.bdm-invalid').forEach(function(el) { el.classList.remove('bdm-invalid'); });\r\n      }\r\n\r\n      function setInvalidHighlights(invalidElements) {\r\n        invalidElements.forEach(function(el) { el.classList.add('bdm-invalid'); });\r\n      }\r\n\r\n      document.querySelectorAll('[data-next]').forEach(function(btn) {\r\n        btn.addEventListener('click', function() {\r\n          var next = parseInt(this.dataset.next, 10);\r\n          goToStep(next);\r\n        });\r\n      });\r\n      document.querySelectorAll('[data-prev]').forEach(function(btn) {\r\n        btn.addEventListener('click', function() { goToStep(parseInt(this.dataset.prev, 10)); });\r\n      });\r\n      stepbar.querySelectorAll('.step-item').forEach(function(el) {\r\n        el.addEventListener('click', function() {\r\n          var targetStep = parseInt(this.dataset.step, 10);\r\n          goToStep(targetStep);\r\n        });\r\n      });\r\n\r\n      \/\/ Pension type \u2013 show if pensioner Yes\r\n      var pensionerRadios = document.querySelectorAll('input[name=\"dec_pensioner\"]');\r\n      var pensionWrap = document.getElementById('pension_type_wrap');\r\n      pensionerRadios.forEach(function(r) {\r\n        r.addEventListener('change', function() { pensionWrap.classList.toggle('show', this.value === 'yes'); });\r\n      });\r\n\r\n      \/\/ NSW hospital \u2013 show hospital name if Yes\r\n      var hospitalRadios = document.querySelectorAll('input[name=\"death_nsw_hospital\"]');\r\n      var hospitalWrap = document.getElementById('hospital_name_wrap');\r\n      hospitalRadios.forEach(function(r) {\r\n        r.addEventListener('change', function() { hospitalWrap.classList.toggle('show', this.value === 'yes'); });\r\n      });\r\n\r\n      \/\/ Children \u2013 show count (and later details) if Yes\r\n      var hadChildrenRadios = document.querySelectorAll('input[name=\"had_children\"]');\r\n      var childrenCountWrap = document.getElementById('children_count_wrap');\r\n      var childrenDetailsWrap = document.getElementById('children_details_wrap');\r\n      function updateChildrenVisibility(value) {\r\n        var show = value === 'yes';\r\n        if (childrenCountWrap) childrenCountWrap.classList.toggle('show', show);\r\n        if (childrenDetailsWrap) childrenDetailsWrap.classList.toggle('show', show);\r\n      }\r\n      hadChildrenRadios.forEach(function(r) {\r\n        r.addEventListener('change', function() { updateChildrenVisibility(this.value); });\r\n      });\r\n\r\n      \/\/ Step 5: Marital status \u2013 show Relationship One + \"Add another\" only when status is not Never married \/ Unknown\r\n      var maritalStatusSelect = document.querySelector('select[name=\"marital_status\"]');\r\n      var relationshipsWrap = document.getElementById('relationships_wrap');\r\n      function updateMaritalVisibility() {\r\n        if (!maritalStatusSelect || !relationshipsWrap) return;\r\n        var v = maritalStatusSelect.value;\r\n        var hide = !v || v === 'Never married' || v === 'Unknown';\r\n        relationshipsWrap.classList.toggle('show', !hide);\r\n      }\r\n      if (maritalStatusSelect) {\r\n        maritalStatusSelect.addEventListener('change', updateMaritalVisibility);\r\n        updateMaritalVisibility();\r\n      }\r\n\r\n      \/\/ Relationship type \u2013 show place of marriage only when Marriage is selected\r\n      function handleRelationshipTypeChange(selectEl) {\r\n        if (!selectEl || !selectEl.name) return;\r\n        var m = selectEl.name.match(\/^rel_(\\d+)_type$\/);\r\n        if (!m) return;\r\n        var idx = m[1];\r\n        var wrap = document.getElementById('rel_' + idx + '_place_wrap');\r\n        if (!wrap) return;\r\n        wrap.classList.toggle('show', selectEl.value === 'Marriage');\r\n      }\r\n      var firstRelType = document.querySelector('select[name=\"rel_0_type\"]');\r\n      if (firstRelType) {\r\n        firstRelType.addEventListener('change', function() { handleRelationshipTypeChange(this); });\r\n      }\r\n\r\n      \/\/ Add another relationship\r\n      var relIndex = 1;\r\n      var relTemplate = function(i) {\r\n        var label = i === 1 ? 'Relationship two' : 'Relationship ' + (i + 1);\r\n        return '<div class=\"block-repeat relationship-block\" data-index=\"' + i + '\">' +\r\n          '<div class=\"block-header\">' + label + '<\/div>' +\r\n          '<div class=\"form-row\"><label>Relationship type<\/label><select name=\"rel_' + i + '_type\"><option value=\"\">\u2014 Select \u2014<\/option><option value=\"Marriage\">Marriage<\/option><option value=\"De facto\">De facto<\/option><option value=\"Registered relationship\">Registered relationship<\/option><\/select><\/div>' +\r\n          '<div class=\"conditional\" id=\"rel_' + i + '_place_wrap\"><div class=\"section-title\">Place of marriage<\/div>' +\r\n          '<div class=\"form-row\"><label>Country<\/label><input type=\"text\" name=\"rel_' + i + '_place_country\"><\/div>' +\r\n          '<div class=\"inline-group\"><div class=\"form-row\"><label>Suburb \/ Town \/ City<\/label><input type=\"text\" name=\"rel_' + i + '_place_suburb\"><\/div><div class=\"form-row\"><label>State \/ Territory<\/label><input type=\"text\" name=\"rel_' + i + '_place_state\"><\/div><\/div><\/div>' +\r\n          '<div class=\"form-row\"><label>Age of the deceased at start of relationship<\/label><input type=\"number\" name=\"rel_' + i + '_deceased_age\" min=\"0\" placeholder=\"years\"><\/div>' +\r\n          '<div class=\"section-title\">Spouse details<\/div>' +\r\n          '<div class=\"form-row\"><label>Family name of spouse\/partner when married<\/label><input type=\"text\" name=\"rel_' + i + '_spouse_family_name\"><\/div>' +\r\n          '<div class=\"form-row\"><label>Family name of spouse\/partner at birth<\/label><input type=\"text\" name=\"rel_' + i + '_spouse_family_name_birth\"><\/div>' +\r\n          '<div class=\"form-row\"><label>First given name of spouse\/partner<\/label><input type=\"text\" name=\"rel_' + i + '_spouse_first_name\"><\/div>' +\r\n          '<div class=\"form-row\"><label>Other given names of spouse\/partner<\/label><input type=\"text\" name=\"rel_' + i + '_spouse_other_names\"><\/div>' +\r\n          '<div class=\"form-row\"><label>Gender of spouse\/partner<\/label><select name=\"rel_' + i + '_spouse_sex\"><option value=\"\">\u2014 Select \u2014<\/option><option value=\"Male\">Male<\/option><option value=\"Female\">Female<\/option><option value=\"Other\">Other<\/option><\/select><\/div>' +\r\n          '<\/div>';\r\n      };\r\n      document.getElementById('addRelationship').addEventListener('click', function() {\r\n        var div = document.createElement('div');\r\n        div.innerHTML = relTemplate(relIndex);\r\n        var block = div.firstElementChild;\r\n        document.getElementById('relationships-container').appendChild(block);\r\n        var typeSelect = block.querySelector('select[name=\"rel_' + relIndex + '_type\"]');\r\n        if (typeSelect) {\r\n          typeSelect.addEventListener('change', function() { handleRelationshipTypeChange(this); });\r\n        }\r\n        relIndex++;\r\n      });\r\n\r\n      \/\/ Add another child\r\n      var childIndex = 1;\r\n      var childTemplate = function(i) {\r\n        var label = i === 1 ? 'Second child' : 'Child ' + (i + 1);\r\n        return '<div class=\"block-repeat child-block\" data-index=\"' + i + '\">' +\r\n          '<div class=\"block-header\">' + label + '<\/div>' +\r\n          '<div class=\"form-row\"><label>Family name<\/label><input type=\"text\" name=\"child_' + i + '_family_name\"><\/div>' +\r\n          '<div class=\"form-row\"><label>Family name (at birth)<\/label><input type=\"text\" name=\"child_' + i + '_family_name_birth\"><\/div>' +\r\n          '<div class=\"form-row\"><label>First given name<\/label><input type=\"text\" name=\"child_' + i + '_first_name\"><\/div>' +\r\n          '<div class=\"form-row\"><label>Other given names<\/label><input type=\"text\" name=\"child_' + i + '_other_names\"><\/div>' +\r\n          '<div class=\"form-row\"><label>Age of this child<\/label><input type=\"number\" name=\"child_' + i + '_age\" min=\"0\"><\/div>' +\r\n          '<div class=\"form-row\"><label>Gender<\/label><select name=\"child_' + i + '_sex\"><option value=\"\">\u2014 Select \u2014<\/option><option value=\"Male\">Male<\/option><option value=\"Female\">Female<\/option><option value=\"Other\">Other<\/option><\/select><\/div>' +\r\n          '<div class=\"form-row\"><label>Is this child alive?<\/label><select name=\"child_' + i + '_alive\"><option value=\"\">\u2014 Select \u2014<\/option><option value=\"Alive\">Alive<\/option><option value=\"Deceased\">Deceased<\/option><option value=\"Stillborn\">Stillborn<\/option><option value=\"Unknown\">Unknown<\/option><\/select><\/div>' +\r\n          '<\/div>';\r\n      };\r\n      document.getElementById('addChild').addEventListener('click', function() {\r\n        var div = document.createElement('div');\r\n        div.innerHTML = childTemplate(childIndex);\r\n        document.getElementById('children-container').appendChild(div.firstElementChild);\r\n        childIndex++;\r\n      });\r\n\r\n      \/\/ Informant summary (step 7)\r\n      function updateInformantSummary() {\r\n        var ids = ['your_family_name','your_first_name','your_other_names','your_addr1','your_addr2','your_suburb','your_state','your_postcode','your_country','your_telephone','your_email'];\r\n        var sumIds = ['sum_family_name','sum_first_name','sum_other_names','sum_addr1','sum_addr2','sum_suburb','sum_state','sum_postcode','sum_country','sum_telephone','sum_email'];\r\n        ids.forEach(function(id, i) {\r\n          var el = document.getElementById(id);\r\n          var sum = document.getElementById(sumIds[i]);\r\n          if (el && sum) sum.textContent = el.value || '\u2014';\r\n        });\r\n      }\r\n\r\n      \/\/ Signature pad\r\n      var canvas = document.getElementById('signaturePad');\r\n      var ctx = canvas.getContext('2d');\r\n      var drawing = false;\r\n      var lastX = 0, lastY = 0;\r\n      function getPos(e) {\r\n        var rect = canvas.getBoundingClientRect();\r\n        var scaleX = canvas.width \/ rect.width, scaleY = canvas.height \/ rect.height;\r\n        if (e.touches) {\r\n          return { x: (e.touches[0].clientX - rect.left) * scaleX, y: (e.touches[0].clientY - rect.top) * scaleY };\r\n        }\r\n        return { x: (e.clientX - rect.left) * scaleX, y: (e.clientY - rect.top) * scaleY };\r\n      }\r\n      function start(e) { e.preventDefault(); drawing = true; var p = getPos(e); lastX = p.x; lastY = p.y; }\r\n      function move(e) {\r\n        e.preventDefault();\r\n        if (!drawing) return;\r\n        var p = getPos(e);\r\n        ctx.strokeStyle = '#1e293b';\r\n        ctx.lineWidth = 2;\r\n        ctx.lineCap = 'round';\r\n        ctx.beginPath();\r\n        ctx.moveTo(lastX, lastY);\r\n        ctx.lineTo(p.x, p.y);\r\n        ctx.stroke();\r\n        lastX = p.x;\r\n        lastY = p.y;\r\n      }\r\n      function end(e) { e.preventDefault(); drawing = false; document.getElementById('signature_data').value = canvas.toDataURL('image\/png'); }\r\n      canvas.addEventListener('mousedown', start);\r\n      canvas.addEventListener('mousemove', move);\r\n      canvas.addEventListener('mouseup', end);\r\n      canvas.addEventListener('mouseleave', end);\r\n      canvas.addEventListener('touchstart', start, { passive: false });\r\n      canvas.addEventListener('touchmove', move, { passive: false });\r\n      canvas.addEventListener('touchend', end, { passive: false });\r\n      document.getElementById('clearSignature').addEventListener('click', function() {\r\n        ctx.clearRect(0, 0, canvas.width, canvas.height);\r\n        document.getElementById('signature_data').value = '';\r\n      });\r\n\r\n      \/\/ Fill test data (all fields)\r\n      function setVal(form, name, value) {\r\n        if (value === undefined || value === null) return;\r\n        var el = form.querySelector('[name=\"' + name + '\"]');\r\n        if (!el) return;\r\n        if (el.type === 'radio' || el.type === 'checkbox') {\r\n          var radios = form.querySelectorAll('[name=\"' + name + '\"]');\r\n          for (var r = 0; r < radios.length; r++) {\r\n            radios[r].checked = (radios[r].value === String(value));\r\n          }\r\n        } else if (el.tagName === 'SELECT') {\r\n          el.value = value;\r\n        } else {\r\n          el.value = value;\r\n        }\r\n      }\r\n      var testData = {\r\n        your_family_name: 'Smith', your_first_name: 'Jane', your_other_names: 'Mary',\r\n        your_addr1: '42 Test Street', your_addr2: 'Unit 3', your_suburb: 'Sydney', your_state: 'NSW', your_postcode: '2000', your_country: 'Australia',\r\n        your_telephone: '02 9123 4567', your_email: 'jane.smith@example.com',\r\n        your_relationship: 'child', your_relationship_other: '',\r\n        dec_family_name: 'Jones', dec_family_name_birth: 'Jones', dec_first_name: 'Robert', dec_other_names: 'William',\r\n        dec_sex: 'Male',\r\n        dec_addr1: '10 Memorial Ave', dec_addr2: '', dec_suburb: 'Parramatta', dec_state: 'NSW', dec_postcode: '2150', dec_country: 'Australia',\r\n        dec_dob: '1945-06-15', dec_birth_country: 'Australia', dec_birth_suburb: 'Sydney', dec_birth_state: 'NSW',\r\n        dec_arrival_year: '1985', dec_occupation: 'Secondary School Teacher',\r\n        dec_retired: 'yes', dec_pensioner: 'yes', dec_pension_type: 'Aged', dec_aboriginal_tsi: 'neither',\r\n        death_nsw_hospital: 'yes', death_hospital_name: 'Sydney General Hospital',\r\n        death_date: '2024-01-20', death_addr1: '100 Hospital Rd', death_addr2: '', death_suburb: 'Sydney', death_state: 'NSW', death_postcode: '2000', death_country: 'Australia',\r\n        parent1_relation: 'Mother', parent1_family_name: 'Brown', parent1_family_name_birth: 'Brown', parent1_first_name: 'Margaret', parent1_other_names: 'Anne', parent1_sex: 'Female', parent1_occupation: 'Nurse',\r\n        parent2_relation: 'Father', parent2_family_name: 'Jones', parent2_family_name_birth: 'Jones', parent2_first_name: 'Thomas', parent2_other_names: 'James', parent2_sex: 'Male', parent2_occupation: 'Engineer',\r\n        marital_status: 'Widow\/Widower',\r\n        rel_0_type: 'Marriage', rel_0_place_country: 'Australia', rel_0_place_suburb: 'Sydney', rel_0_place_state: 'NSW', rel_0_deceased_age: '28',\r\n        rel_0_spouse_family_name: 'Jones', rel_0_spouse_family_name_birth: 'Smith', rel_0_spouse_first_name: 'Patricia', rel_0_spouse_other_names: 'Jean', rel_0_spouse_sex: 'Female',\r\n        had_children: 'yes', children_count: '2',\r\n        child_0_family_name: 'Jones', child_0_family_name_birth: 'Jones', child_0_first_name: 'Michael', child_0_other_names: 'David', child_0_age: '45', child_0_sex: 'Male', child_0_alive: 'Alive'\r\n      };\r\n      document.getElementById('bdmFillTestData') && document.getElementById('bdmFillTestData').addEventListener('click', function() {\r\n        var form = document.getElementById('deathForm');\r\n        Object.keys(testData).forEach(function(name) { setVal(form, name, testData[name]); });\r\n        document.getElementById('pension_type_wrap').classList.add('show');\r\n        document.getElementById('hospital_name_wrap').classList.add('show');\r\n        if (typeof updateChildrenVisibility === 'function') updateChildrenVisibility('yes');\r\n        var firstType = document.querySelector('select[name=\"rel_0_type\"]');\r\n        if (firstType) {\r\n          handleRelationshipTypeChange(firstType);\r\n        }\r\n        ctx.clearRect(0, 0, canvas.width, canvas.height);\r\n        ctx.strokeStyle = '#1e293b';\r\n        ctx.lineWidth = 2;\r\n        ctx.lineCap = 'round';\r\n        ctx.beginPath();\r\n        ctx.moveTo(50, 80);\r\n        ctx.lineTo(150, 80);\r\n        ctx.lineTo(250, 100);\r\n        ctx.stroke();\r\n        document.getElementById('signature_data').value = canvas.toDataURL('image\/png');\r\n        alert('Test data filled. You can move through the steps and submit.');\r\n      });\r\n\r\n      \/\/ Helper to get AJAX config (WordPress)\r\n      function getAjaxConfig() {\r\n        var form = document.getElementById('deathForm');\r\n        if (!form) return { ajaxUrl: null, nonce: null };\r\n        var wrapper = form.closest && form.closest('.bdm-death-registration-form-wrapper') || document.querySelector('.bdm-death-registration-form-wrapper');\r\n        var ajaxUrl = (wrapper && wrapper.getAttribute && wrapper.getAttribute('data-bdm-ajax-url')) || window.bdm_ajax_url;\r\n        var nonce = (wrapper && wrapper.getAttribute && wrapper.getAttribute('data-bdm-nonce')) || window.bdm_nonce;\r\n        return { ajaxUrl: ajaxUrl, nonce: nonce };\r\n      }\r\n\r\n      \/\/ Force Step 1 informant values from the same fields as the step 7 summary (so backend matches what the customer entered).\r\n      function setInformantFieldsOnFormData(fd) {\r\n        ['your_family_name', 'your_first_name', 'your_other_names', 'your_email'].forEach(function(id) {\r\n          var el = document.getElementById(id);\r\n          fd.set(id, el && typeof el.value === 'string' ? el.value.trim() : '');\r\n        });\r\n      }\r\n\r\n      \/\/ Save draft (\\\"Save now\\\") \u2013 sends current data and emails a resume link\r\n      var saveButtons = document.querySelectorAll('.bdmSaveDraft');\r\n      if (saveButtons.length) {\r\n        saveButtons.forEach(function(saveBtn) {\r\n          saveBtn.addEventListener('click', function() {\r\n            var form = document.getElementById('deathForm');\r\n            var emailEl = document.getElementById('your_email');\r\n            if (!emailEl || !emailEl.value.trim()) {\r\n              alert('Please enter your email address on Step 1 so we can email you a link to continue later.');\r\n              goToStep(1);\r\n              if (emailEl) emailEl.focus();\r\n              return;\r\n            }\r\n            var cfg = getAjaxConfig();\r\n            if (!cfg.ajaxUrl || !cfg.nonce) {\r\n              alert('Save is not available because the server configuration could not be detected.');\r\n              return;\r\n            }\r\n            var fd = new FormData(form);\r\n            setInformantFieldsOnFormData(fd);\r\n            fd.append('action', 'bdm_save_death_registration_draft');\r\n            fd.append('nonce', cfg.nonce);\r\n            fd.append('current_url', window.location.href.split('#')[0]);\r\n            saveBtn.disabled = true;\r\n            var originalText = saveBtn.textContent;\r\n            saveBtn.textContent = 'Saving\u2026';\r\n            fetch(cfg.ajaxUrl, {\r\n              method: 'POST',\r\n              body: fd,\r\n              credentials: 'same-origin',\r\n              headers: { 'X-Requested-With': 'XMLHttpRequest' }\r\n            })\r\n            .then(function(res) { return res.json(); })\r\n            .then(function(data) {\r\n              if (data.success) {\r\n                alert(data.data && data.data.message ? data.data.message : ('A link to continue this form has been emailed to ' + emailEl.value.trim() + '.'));\r\n              } else {\r\n                alert(data.data && data.data.message ? data.data.message : 'We could not save your draft. Please try again.');\r\n              }\r\n            })\r\n            .catch(function() {\r\n              alert('We could not save your draft. Please check your connection and try again.');\r\n            })\r\n            .finally(function() {\r\n              saveBtn.disabled = false;\r\n              saveBtn.textContent = originalText || 'Save now';\r\n            });\r\n          });\r\n        });\r\n      }\r\n\r\n      \/\/ Load draft from token in URL (if any)\r\n      function getQueryParam(name) {\r\n        var m = window.location.search.match(new RegExp('[?&]' + name + '=([^&]+)'));\r\n        return m ? decodeURIComponent(m[1].replace(\/\\\\+\/g, ' ')) : null;\r\n      }\r\n      var draftToken = getQueryParam('bdm_draft');\r\n      if (draftToken) {\r\n        var cfgDraft = getAjaxConfig();\r\n        if (cfgDraft.ajaxUrl && cfgDraft.nonce) {\r\n          var fdDraft = new FormData();\r\n          fdDraft.append('action', 'bdm_get_death_registration_draft');\r\n          fdDraft.append('nonce', cfgDraft.nonce);\r\n          fdDraft.append('token', draftToken);\r\n          fetch(cfgDraft.ajaxUrl, {\r\n            method: 'POST',\r\n            body: fdDraft,\r\n            credentials: 'same-origin',\r\n            headers: { 'X-Requested-With': 'XMLHttpRequest' }\r\n          })\r\n          .then(function(res) {\r\n            return res.text().then(function(text) {\r\n              if (!res.ok) {\r\n                var err = new Error(res.statusText || 'Request failed');\r\n                err.status = res.status;\r\n                err.body = text;\r\n                throw err;\r\n              }\r\n              try {\r\n                return text ? JSON.parse(text) : {};\r\n              } catch (e) {\r\n                var err = new Error('Invalid response from server');\r\n                err.body = text;\r\n                throw err;\r\n              }\r\n            });\r\n          })\r\n          .then(function(data) {\r\n            if (!data.success || !data.data || !data.data.fields) {\r\n              var msg = (data.data && data.data.message) ? data.data.message : 'Your saved form could not be found or the link may have expired.';\r\n              alert(msg);\r\n              return;\r\n            }\r\n            var fields = data.data.fields;\r\n            Object.keys(fields).forEach(function(name) {\r\n              if (name === 'signature_data') return;\r\n              setVal(form, name, fields[name]);\r\n            });\r\n            \/\/ Re-apply conditional visibility based on loaded values\r\n            if (pensionerRadios && pensionerRadios.length && pensionWrap) {\r\n              pensionerRadios.forEach(function(r) {\r\n                if (r.checked) pensionWrap.classList.toggle('show', r.value === 'yes');\r\n              });\r\n            }\r\n            if (hospitalRadios && hospitalRadios.length && hospitalWrap) {\r\n              hospitalRadios.forEach(function(r) {\r\n                if (r.checked) hospitalWrap.classList.toggle('show', r.value === 'yes');\r\n              });\r\n            }\r\n            if (hadChildrenRadios && hadChildrenRadios.length && childrenCountWrap) {\r\n              hadChildrenRadios.forEach(function(r) {\r\n                if (r.checked) updateChildrenVisibility(r.value);\r\n              });\r\n            }\r\n            if (typeof updateMaritalVisibility === 'function') updateMaritalVisibility();\r\n            var relTypes = document.querySelectorAll('select[name^=\"rel_\"][name$=\"_type\"]');\r\n            relTypes.forEach(function(sel) { handleRelationshipTypeChange(sel); });\r\n            alert('Your saved form has been loaded. You can continue filling it in.');\r\n          })\r\n          .catch(function(err) {\r\n            var msg = 'We could not load your saved form. Please try again.';\r\n            if (err && err.body && err.body.length < 500 && \/security|expired|not found\/i.test(err.body)) {\r\n              msg = err.body;\r\n            } else if (err && err.status === 403) {\r\n              msg = 'Access was denied. Please refresh the page and try the link again.';\r\n            }\r\n            alert(msg);\r\n          });\r\n        }\r\n      }\r\n\r\n      \/\/ Remove invalid highlight when user corrects a field\r\n      form.addEventListener('input', function(e) {\r\n        var el = e.target;\r\n        if (el.classList && el.classList.contains('bdm-invalid')) el.classList.remove('bdm-invalid');\r\n        if (el.type === 'radio' || el.type === 'checkbox') {\r\n          var group = el.closest('.radio-group');\r\n          if (group && group.classList.contains('bdm-invalid')) group.classList.remove('bdm-invalid');\r\n        }\r\n      });\r\n      form.addEventListener('change', function(e) {\r\n        var el = e.target;\r\n        if (el.classList && el.classList.contains('bdm-invalid')) el.classList.remove('bdm-invalid');\r\n        if (el.type === 'radio' || el.type === 'checkbox') {\r\n          var group = el.closest('.radio-group');\r\n          if (group && group.classList.contains('bdm-invalid')) group.classList.remove('bdm-invalid');\r\n        }\r\n      });\r\n\r\n      \/\/ Form submit \u2013 WordPress AJAX or fallback mailto\r\n      var submitBtn = form.querySelector('button[type=\"submit\"]');\r\n\r\n      form.addEventListener('submit', function(e) {\r\n        e.preventDefault();\r\n\r\n        clearInvalidHighlights();\r\n        var result = validateAllSteps();\r\n        if (!result.valid) {\r\n          setInvalidHighlights(result.invalidElements);\r\n          if (result.step) goToStep(result.step);\r\n          setTimeout(function() {\r\n            if (result.firstInvalid) {\r\n              result.firstInvalid.focus();\r\n              if (result.firstInvalid.reportValidity) result.firstInvalid.reportValidity();\r\n            }\r\n          }, 100);\r\n          alert('Please complete all required fields before submitting.');\r\n          return;\r\n        }\r\n\r\n        if (!document.getElementById('signature_data').value) {\r\n          alert('Please provide your signature before submitting.');\r\n          var sigSection = document.querySelector('#panel-7 .signature-pad');\r\n          if (sigSection) sigSection.focus();\r\n          return;\r\n        }\r\n        document.getElementById('signature_data').value = canvas.toDataURL('image\/png');\r\n\r\n        \/\/ Use WordPress when URL\/nonce are set (from wrapper data attributes or window)\r\n        var cfgSubmit = getAjaxConfig();\r\n        var ajaxUrl = cfgSubmit.ajaxUrl;\r\n        var nonce = cfgSubmit.nonce;\r\n        if (ajaxUrl && nonce) {\r\n          \/\/ WordPress: submit via AJAX and wp_mail\r\n          var fd = new FormData(form);\r\n          setInformantFieldsOnFormData(fd);\r\n          fd.append('action', 'bdm_submit_death_registration');\r\n          fd.append('nonce', nonce);\r\n          if (submitBtn) {\r\n            submitBtn.disabled = true;\r\n            submitBtn.textContent = 'Submitting\u2026';\r\n          }\r\n          fetch(ajaxUrl, {\r\n            method: 'POST',\r\n            body: fd,\r\n            credentials: 'same-origin',\r\n            headers: { 'X-Requested-With': 'XMLHttpRequest' }\r\n          })\r\n          .then(function(res) { return res.json(); })\r\n          .then(function(data) {\r\n            if (data.success) {\r\n              alert(data.data && data.data.message ? data.data.message : 'Thank you. Your form has been submitted successfully.');\r\n              form.reset();\r\n              ctx.clearRect(0, 0, canvas.width, canvas.height);\r\n              document.getElementById('signature_data').value = '';\r\n              goToStep(1);\r\n            } else {\r\n              alert(data.data && data.data.message ? data.data.message : 'Submission failed. Please try again or contact us.');\r\n            }\r\n          })\r\n          .catch(function() {\r\n            alert('Submission failed. Please check your connection and try again.');\r\n          })\r\n          .finally(function() {\r\n            if (submitBtn) {\r\n              submitBtn.disabled = false;\r\n              submitBtn.textContent = 'SUBMIT FORM';\r\n            }\r\n          });\r\n          return;\r\n        }\r\n\r\n        \/\/ Fallback: mailto when not in WordPress (no AJAX URL\/nonce \u2014 submissions are NOT saved in WP admin)\r\n        alert('This form is not connected to WordPress (AJAX settings missing). Open the page that uses the shortcode [bdm_death_registration_form] on your live site. Submissions made via email only do not appear under Settings \u2192 Death Registration.');\r\n        var SUBMIT_EMAIL = 'registry@example.nsw.gov.au';\r\n        var fd = new FormData(form);\r\n        var body = 'Death Registration Form Submission\\n\\n';\r\n        fd.forEach(function(value, key) {\r\n          if (key !== 'signature_data') body += key + ': ' + value + '\\n';\r\n          else body += key + ': [signature image - base64]\\n';\r\n        });\r\n        window.location.href = 'mailto:' + SUBMIT_EMAIL + '?subject=Death%20Registration%20Form%20Submission&body=' + encodeURIComponent(body);\r\n      });\r\n    })();\r\n  <\/script><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-7","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/dev.bdmregistry.com.au\/index.php\/wp-json\/wp\/v2\/pages\/7","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dev.bdmregistry.com.au\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dev.bdmregistry.com.au\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dev.bdmregistry.com.au\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/dev.bdmregistry.com.au\/index.php\/wp-json\/wp\/v2\/comments?post=7"}],"version-history":[{"count":3,"href":"https:\/\/dev.bdmregistry.com.au\/index.php\/wp-json\/wp\/v2\/pages\/7\/revisions"}],"predecessor-version":[{"id":11,"href":"https:\/\/dev.bdmregistry.com.au\/index.php\/wp-json\/wp\/v2\/pages\/7\/revisions\/11"}],"wp:attachment":[{"href":"https:\/\/dev.bdmregistry.com.au\/index.php\/wp-json\/wp\/v2\/media?parent=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}