// Funzioni di controllo delle strutture.

function checkPageNumberInVolume(text,page,volumes)
{ // Controlla il numero di pagina in relazione ad un volume di un'opera.

  // Controllo sulla legittimitą del numero di pagina richiesto.
  if (isNaN(page) || page <= 0)
  { // Il numero di pagina richiesto e' errato.
    alert("Il numero di pagina richiesto non e' consistente.");
    return false;
  };

  // Dichiarazione delle variabili locali.
  var volume_selected = 0;            // Volume selezionato per la consultazione.
  var volumes_number  = 0;            // Numero di volumi nell'opera.
  var volume_max_page = new Array(6); // Numero ultima pagina per ogni volume.
  var volume_min_page = new Array(6); // Numero prima pagina per ogni volume.

  // Controllo dell'opera in cui compare la pagina.
  switch (text) {

    case "le_vite": // L'opera richiesta e' "le Vite" di Giorgio Vasari.
      volumes_number     = 6;
      volume_min_page[0] = 1;
      volume_max_page[0] = 227;
      volume_min_page[1] = 3;
      volume_max_page[1] = 322;
      volume_min_page[2] = 3;
      volume_max_page[2] = 640;
      volume_min_page[3] = 3;
      volume_max_page[3] = 630;
      volume_min_page[4] = 3;
      volume_max_page[4] = 588;
      volume_min_page[5] = 3;
      volume_max_page[5] = 413;
      break;

    default:
      alert("Errore di programma. Contattare l'amministratore.");
      return false; 
      break;

  };

  // Ricerca del volume richiesto per la consultazione.
  for (var n = 0; n < volumes_number; ++n)
    if (volumes.options[n].selected == true)
      volume_selected = n;

  // Controllo sull'ammissibilitą della pagina richiesta.
  if (page < volume_min_page[volume_selected] || page > volume_max_page[volume_selected])
  { // Il numero di pagina richiesto e' errato.
    alert("Le pagine del volume " + (volume_selected + 1) + " sono comprese fra " + volume_min_page[volume_selected] + " e " + volume_max_page[volume_selected] + ".");
    return false;
  }
  else
  { // Il numero di pagina richiesto e' corretto.
    return true;
  };

}

function not_empty(string,message)
{ // Controlla se la stringa e' vuota.

  // Controllo sulla lunghezza della stringa.
  if (string.length == 0)
  {
    alert(message);
    return false;
  }
  else
  {
    return true;
  };

  

}
