<script src="/admin/app-assets/js/core/libraries/jquery.min.js"></script>
<script src="/admin/app-assets/vendors/js/forms/select/select2.full.min.js"></script>
<script src="/admin/app-assets/js/scripts/forms/select/form-select2.js"></script>
<script>
    console.log('user.lna')
    $('.js-example-basic-multiple').select2({
        placeholder: "<%=i18n.__('countries.villages')%>",
        dir: "rtl"
    });


    const translations = {
        add: "<%= i18n.__('common.add') %>",
        edit: "<%= i18n.__('common.edit') %>",
    };


    function validateInput(input) {
    const i18n = {
      common: {
        emptyField: "<%= i18n.__('common.emptyField') %>",
        minLength: "<%= i18n.__('common.minLength', { minLength: '{{minLength}}' }) %>",
        invalidEmail: "<%= i18n.__('common.emailMustBeValid') %>"
      }
    };

    try {
      const trimmedValue = input.value.trim();
      const minLength = 2;
      const emptyMessage = i18n.common.emptyField;
      const minLengthMessage = i18n.common.minLength.replace('{{minLength}}', minLength);
      const invalidEmailMessage = i18n.common.invalidEmail;
      const feedback = input.nextElementSibling;

      if (input.type === 'email' && !isValidEmail(trimmedValue)) {
        feedback.textContent = invalidEmailMessage;
        input.classList.add('is-invalid');
        input.style.border = '1px solid red';
        input.setCustomValidity('');
      } else if (trimmedValue.length < minLength) {
        feedback.textContent = minLengthMessage;
        input.classList.add('is-invalid');
        input.style.border = '1px solid red';
        input.setCustomValidity(minLengthMessage);
      } else {
        feedback.textContent = ''; // Clear feedback
        input.classList.remove('is-invalid');
        input.style.border = '';
        input.setCustomValidity('');
      }

      // input.reportValidity();
    } catch (error) {
      console.error("Validation error:", error);
    }

    function isValidEmail(value) {
      const emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
      return emailPattern.test(value);
    }
  }


    function shared(e, action, formElement) {

        e.preventDefault();

        const confirm = translations[action];

        const districtAr = String($('input[name="ar"]').val());

        const districtEn = String($('input[name="en"]').val());

        if (
            !districtAr.trim().length ||
            !districtEn.trim().length
        ) {
            $(formElement).removeClass('was-validated');
        } else {
            $(formElement).addClass('was-validated');
        }


        if (
            districtAr.trim().length &&
            districtEn.trim().length
        ) {
            ajaxUpload($(formElement), {}, "uploadWithoutImage", confirm);

        }

    }


    $(document).ready(function () {

        $(document).on('submit', '#addDistrict', function (e) {


            shared(e, "add", this);

        });

        $(document).on('submit', '#editDistrict', function (e) {

            shared(e, "edit", this);
        });
    })
</script>