Buongiorno, spero possiate aiutarmi.

Ho inserito questa funzione all'interno di un form; la funzione controlla che i campi data_inizio e data_fine siano correttamente compilati e che la data_inizio sia sempre minore della data_fine.

Problemi:

1) nel form ho anche altri campi che possono essere selezionati e data_inizio e data_fine non devono essere obbligatori, perchè posso anche decidere di non seelzionare nessuna data_inizio o fine;

2) se decido di selezionare una data_inizio il campo data_fine deve diventare obbligatorio...

Non ci riesco

codice:
<script language="JavaScript" type="text/JavaScript">
<!--

function isDate(str)
{ // anno a 4 cifre !!!
  spz = str.split("/");
  if (spz.length != 3) return(false);
 
  dat = new Date(spz[2], spz[1] - 1, spz[0]);
 
  if (dat.getFullYear() == parseFloat(spz[2]) &&
      dat.getMonth() == (parseFloat(spz[1]) - 1) &&
      dat.getDate() == parseFloat(spz[0])) return(dat);
 
  return(false);
}

function convalidaForm(Qform)
{
  if ((data_1 = isDate(Qform.data_inizio.value)) == false)
    {
      alert("Inserire data inizio correttamente.");
      Qform.data_inizio.focus();
      return(false);
    }
 
  if ((data_2 = isDate(Qform.data_fine.value)) == false)
    {
      alert("Inserire data fine correttamente.");
      Qform.data_fine.focus();
      return(false);
    }
 
  if (data_2.getTime() < data_1.getTime())
    {
      alert("La data di fine non può essere inferiore alla data di inizio !");
      Qform.data_fine.focus();
      return(false);
    }
 
  // Abilita l'invio del FORM
  return(true);
}
//-->
</script>