(function() {
'use strict';
document.addEventListener('DOMContentLoaded', function() {
initSubscriptionToggle();
initMembershipTypeToggle();
initDeactivationConfirm();
});
function initSubscriptionToggle() {
var checkbox = document.getElementById('ojs_subscription_requested');
var fields = document.getElementById('ojs-subscription-fields');
if (!checkbox || !fields) return;
function toggle() {
fields.style.display = checkbox.checked ? '' : 'none';
var required = fields.querySelectorAll('[data-conditional-required]');
for (var i = 0; i < required.length; i++) {
required[i].required = checkbox.checked;
}
}
checkbox.addEventListener('change', toggle);
toggle();
}
function initMembershipTypeToggle() {
var radios = document.querySelectorAll('input[name="ojs_membership_type"]');
if (!radios.length) return;
var wrapper = document.getElementById('ojs-field-ojs_student_document');
if (!wrapper) return;
function toggle() {
var checked = document.querySelector('input[name="ojs_membership_type"]:checked');
var isStudent = checked && (checked.value === 'student' || checked.value === 'student_junior');
wrapper.style.display = isStudent ? '' : 'none';
var fileInput = wrapper.querySelector('input[type="file"]');
if (fileInput) {
fileInput.required = isStudent;
}
}
for (var i = 0; i < radios.length; i++) {
radios[i].addEventListener('change', toggle);
}
toggle();
}
function initDeactivationConfirm() {
if (typeof wpOjsSsoBridge === 'undefined') return;
var checkbox = document.querySelector('input[id$="subscription_active"][type="checkbox"]');
if (!checkbox) return;
var wasChecked = checkbox.checked;
var form = checkbox.closest('form');
if (!form) return;
form.addEventListener('submit', function(e) {
if (wasChecked && !checkbox.checked) {
if (!confirm(wpOjsSsoBridge.confirmDeactivation)) {
checkbox.checked = true;
e.preventDefault();
}
}
});
}
})();