/*==== ALLEGATI: toggle e validazione PDF 5MB (NUOVO) ====*/

// Toggle ditta / società: mostra/nasconde blocco e rende obbligatori i 3 campi società
$(document).on('change', 'input[name="tipo_richiedente"]', function(){
    const isSoc = $('#tipo_societa').is(':checked');
    $('#allegati_societa').toggleClass('d-none', !isSoc);
    ['atto_costitutivo_statuto','elenco_soci','delibera_organo_competente'].forEach(name=>{
      const $el = $(`input[name="${name}"]`);
      if ($el.length) $el.prop('required', isSoc);
    });
  });
  
  // Validazione generica: solo .pdf e max 5MB su tutti i file input con .file-pdf
  $(document).on('change', '.file-pdf', function(){
    const file = this.files && this.files[0];
    const $inp = $(this);
    const maxSize = 5 * 1024 * 1024;
    const isPdf = file ? (file.type === 'application/pdf' || /\.pdf$/i.test(file.name)) : false;
  
    // trova/crea box di errore vicino all'input
    let $err = $inp.siblings('.invalid-feedback');
    if ($err.length === 0) {
      $err = $('<div class="invalid-feedback"></div>').insertAfter($inp);
    }
  
    if (!file) {
      // campo opzionale lasciato vuoto: ok; se required sarà il browser a segnalarlo al submit
      $inp.removeClass('is-invalid');
      $err.text('');
      return;
    }
    if (!isPdf) {
      $inp.addClass('is-invalid');
      $err.text('Formato non valido. Carica solo file .pdf.');
      $inp.val('');
      return;
    }
    if (file.size > maxSize) {
      $inp.addClass('is-invalid');
      $err.text('Il file deve essere inferiore a 5 MB.');
      $inp.val('');
      return;
    }
    $inp.removeClass('is-invalid');
    $err.text('');
  });
  /*==== /ALLEGATI ====*/