function Valida(theForm)
{

// controllo campo Nome

  if (theForm.Nome.value == "")
  {
    alert("Inserire un valore per il campo \"Richiedente\".");
    theForm.Nome.focus();
    return (false);
  }

  if (theForm.Nome.value.length < 3)
  {
    alert("Inserire almeno 3 caratteri nel campo \"Richiedente\".");
    theForm.Nome.focus();
    return (false);
  }

  var checkOK = " ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ";
  var checkStr = theForm.Nome.value;
  var allValid = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Inserire solo lettera caratteri nel campo \"Richiedente\".");
    theForm.Nome.focus();
    return (false);
  }


// CODICE FISCALE

  if (theForm.Codicefiscale.value == "")
  {
    alert("Inserire un valore per il campo \"Codice Fiscale o P. IVA\".");
    theForm.Codicefiscale.focus();
    return (false);
  }

  if (theForm.Codicefiscale.value.length > 11 && !isNaN(parseInt(theForm.Codicefiscale.value.substr(0,1))))
  {
    alert("Inserire solo 11 caratteri nel campo \"Codice Fiscale o P. IVA\" se inserite la Partita IVA.");
    theForm.Codicefiscale.focus();
    return (false);
  }

  if (theForm.Codicefiscale.value.length > 11 && isNaN(parseInt(theForm.Codicefiscale.value.substr(0,1))) && theForm.Codicefiscale.value.length < 16)
  {
    alert("Inserire 16 caratteri nel campo \"Codice Fiscale o P. IVA\" se inserite il Codice Fiscale.");
    theForm.Codicefiscale.focus();
    return (false);
  }

  if (theForm.Codicefiscale.value.length < 11 )
  {
    alert("Inserire almeno 11 caratteri nel campo \"Codice Fiscale o P. IVA\".");
    theForm.Codicefiscale.focus();
    return (false);
  }

  if (theForm.Codicefiscale.value.length > 16)
  {
    alert("Inserire al massimo 16 caratteri nel campo \"Codice Fiscale o P. IVA\".");
    theForm.Codicefiscale.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ0123456789-";
  var checkStr = theForm.Codicefiscale.value;
  var allValid = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Inserire solo lettera e cifra caratteri nel campo \"Codice Fiscale o P. IVA\".");
    theForm.Codicefiscale.focus();
    return (false);
  }

  if (theForm.Telefono.value == "")
  {
    alert("Inserire un valore per il campo \"Telefono\".");
    theForm.Telefono.focus();
    return (false);
  }

  if (theForm.Telefono.value.length < 6)
  {
    alert("Inserire almeno 6 caratteri nel campo \"Telefono\".");
    theForm.Telefono.focus();
    return (false);
  }

  if (theForm.Telefono.value.length > 11)
  {
    alert("Inserire al massimo 11 caratteri nel campo \"Telefono\".");
    theForm.Telefono.focus();
    return (false);
  }

  var checkOK = "0123456789-";
  var checkStr = theForm.Telefono.value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  if (!allValid)
  {
    alert("Inserire solo cifra caratteri nel campo \"Telefono\".");
    theForm.Telefono.focus();
    return (false);
  }

  var checkOK = "0123456789-,";
  var checkStr = theForm.cellulare.value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    if (ch == ",")
    {
      allNum += ".";
      decPoints++;
    }
    else
      allNum += ch;
  }
  if (!allValid)
  {
    alert("Inserire solo cifra caratteri nel campo \"cellulare\".");
    theForm.cellulare.focus();
    return (false);
  }

  if (decPoints > 1)
  {
    alert("Inserire un numero valido nel campo \"cellulare\".");
    theForm.cellulare.focus();
    return (false);
  }

  if (theForm.email.value == "")
  {
    alert("Inserire un valore per il campo \"email\".");
    theForm.email.focus();
    return (false);
  }

  if (theForm.email.value.length < 5)
  {
    alert("Inserire almeno 5 caratteri nel campo \"email\".");
    theForm.email.focus();
    return (false);
  }

  var chkVal = theForm.email.value;
  var prsVal = chkVal;
  if (chkVal != "" && !(prsVal != "<"))
  {
    alert("Inserire un valore diverso da \"<\" nel campo \"email\".");
    theForm.email.focus();
    return (false);
  }

// controllo dati catastali

//controllo DATI CATASTALI
// tipo di catasto
if (theForm.U_T.selectedIndex == 0)
  {
    alert("Selezionare una delle opzioni di \"Urbano o Terreni:\".");
    theForm.U_T.focus();
    return (false);
  }
//foglio  
 if (theForm.Foglio.value == "")
  {
    alert("Inserire un valore per il campo \"Foglio\".");
    theForm.Foglio.focus();
    return (false);
  }

  if (theForm.Foglio.value.length < 1)
  {
    alert("Inserire almeno 1 caratteri nel campo \"Foglio\".");
    theForm.Foglio.focus();
    return (false);
  }

  if (theForm.Foglio.value.length > 4)
  {
    alert("Inserire al massimo 4 caratteri nel campo \"Foglio\".");
    theForm.Foglio.focus();
    return (false);
  }

  var checkOK = "0123456789";
  var checkStr = theForm.Foglio.value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  if (!allValid)
  {
    alert("Inserire solo numeri nel campo \"Foglio\".");
    theForm.Foglio.focus();
    return (false);
  }

//Particella
 if (theForm.Particella.value == "")
  {
    alert("Inserire un valore per il campo \"Particella\".");
    theForm.Particella.focus();
    return (false);
  }

  if (theForm.Particella.value.length < 1)
  {
    alert("Inserire almeno 1 caratteri nel campo \"Particella\".");
    theForm.Particella.focus();
    return (false);
  }

  if (theForm.Particella.value.length > 4)
  {
    alert("Inserire al massimo 4 caratteri nel campo \"Particella\".");
    theForm.Particella.focus();
    return (false);
  }

  var checkOK = "0123456789";
  var checkStr = theForm.Particella.value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  if (!allValid)
  {
    alert("Inserire solo numeri nel campo \"Particella\".");
    theForm.Particella.focus();
    return (false);
  }
  

// sub particella
 if (theForm.Sub.value == "")
  {
    alert("Inserire un valore per il campo \"Sub\".");
    theForm.Sub.focus();
    return (false);
  }

  if (theForm.Sub.value.length < 1)
  {
    alert("Inserire almeno 1 caratteri nel campo \"Sub\".");
    theForm.Particella.focus();
    return (false);
  }

  if (theForm.Sub.value.length > 3)
  {
    alert("Inserire al massimo 3 caratteri nel campo \"Sub\".");
    theForm.Sub.focus();
    return (false);
  }

  var checkOK = "0123456789";
  var checkStr = theForm.Sub.value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  if (!allValid)
  {
    alert("Inserire solo numeri nel campo \"Sub\".");
    theForm.Sub.focus();
    return (false);
  }

// controllo recapito

  if (theForm.Via.value == "")
  {
    alert("Inserire un valore per il campo \"Via\".");
    theForm.Via.focus();
    return (false);
  }

  if (theForm.Via.value.length < 5)
  {
    alert("Inserire almeno 5 caratteri nel campo \"Via\".");
    theForm.Via.focus();
    return (false);
  }

  if (theForm.Civico.value == "")
  {
    alert("Inserire un valore per il campo \"Civico\".");
    theForm.Civico.focus();
    return (false);
  }

  if (theForm.Civico.value.length < 1)
  {
    alert("Inserire almeno 1 caratteri nel campo \"Civico\".");
    theForm.Civico.focus();
    return (false);
  }

  var checkOK = "0123456789-";
  var checkStr = theForm.Civico.value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  if (!allValid)
  {
    alert("Inserire solo cifra caratteri nel campo \"Civico\".");
    theForm.Civico.focus();
    return (false);
  }

  if (theForm.cap.value == "")
  {
    alert("Inserire un valore per il campo \"cap\".");
    theForm.cap.focus();
    return (false);
  }

  if (theForm.cap.value.length < 5)
  {
    alert("Inserire almeno 5 caratteri nel campo \"cap\".");
    theForm.cap.focus();
    return (false);
  }

  if (theForm.cap.value.length > 5)
  {
    alert("Inserire al massimo 5 caratteri nel campo \"cap\".");
    theForm.cap.focus();
    return (false);
  }

  var checkOK = "0123456789-";
  var checkStr = theForm.cap.value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  if (!allValid)
  {
    alert("Inserire solo cifra caratteri nel campo \"cap\".");
    theForm.cap.focus();
    return (false);
  }

  if (theForm.Citta.value == "")
  {
    alert("Inserire un valore per il campo \"Citta\".");
    theForm.Citta.focus();
    return (false);
  }

  if (theForm.Citta.value.length < 5)
  {
    alert("Inserire almeno 5 caratteri nel campo \"Citta\".");
    theForm.Citta.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ \t\r\n\f";
  var checkStr = theForm.Citta.value;
  var allValid = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Inserire solo lettera e spazio caratteri nel campo \"Citta\".");
    theForm.Citta.focus();
    return (false);
  }

  if (theForm.ViaFornitura.value == "")
  {
    alert("Inserire un valore per il campo \"ViaFornitura\".");
    theForm.ViaFornitura.focus();
    return (false);
  }

  if (theForm.ViaFornitura.value.length < 5)
  {
    alert("Inserire almeno 5 caratteri nel campo \"ViaFornitura\".");
    theForm.ViaFornitura.focus();
    return (false);
  }

  if (theForm.Civicofornitura.value == "")
  {
    alert("Inserire un valore per il campo \"Civicofornitura\".");
    theForm.Civicofornitura.focus();
    return (false);
  }

  if (theForm.Civicofornitura.value.length < 1)
  {
    alert("Inserire almeno 1 caratteri nel campo \"Civicofornitura\".");
    theForm.Civicofornitura.focus();
    return (false);
  }

  var checkOK = "0123456789-";
  var checkStr = theForm.Civicofornitura.value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  if (!allValid)
  {
    alert("Inserire solo cifra caratteri nel campo \"Civicofornitura\".");
    theForm.Civicofornitura.focus();
    return (false);
  }

  if (theForm.Cittafornitura.value == "")
  {
    alert("Inserire un valore per il campo \"Cittafornitura\".");
    theForm.Cittafornitura.focus();
    return (false);
  }

  if (theForm.Cittafornitura.value.length < 5)
  {
    alert("Inserire almeno 5 caratteri nel campo \"Cittafornitura\".");
    theForm.Cittafornitura.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ \t\r\n\f";
  var checkStr = theForm.Cittafornitura.value;
  var allValid = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Inserire solo lettera e spazio caratteri nel campo \"Cittafornitura\".");
    theForm.Cittafornitura.focus();
    return (false);
  }

  var checkOK = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzƒŠŒŽšœžŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ0123456789-";
  var checkStr = theForm.Contratto.value;
  var allValid = true;
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
  }
  if (!allValid)
  {
    alert("Inserire solo lettera e cifra caratteri nel campo \"Contratto\".");
    theForm.Contratto.focus();
    return (false);
  }

  var checkOK = "0123456789-";
  var checkStr = theForm.CodeUte.value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  if (!allValid)
  {
    alert("Inserire solo cifra caratteri nel campo \"CodeUte\".");
    theForm.CodeUte.focus();
    return (false);
  }

  if (theForm.Matricola.value == "")
  {
    alert("Inserire un valore per il campo \"Matricola\". Inserire le ultime sei cifre della matricola");
    theForm.Matricola.focus();
    return (false);
  }

  if (theForm.Matricola.value.length < 6)
  {
    alert("Inserire almeno 6 caratteri nel campo \"Matricola\". Inserire le ultime sei cifre della matricola");
    theForm.Matricola.focus();
    return (false);
  }

  if (theForm.Matricola.value.length > 6)
  {
    alert("Inserire al massimo 6 caratteri nel campo \"Matricola\". Inserire le ultime sei cifre della matricola");
    theForm.Matricola.focus();
    return (false);
  }

  var checkOK = "0123456789-";
  var checkStr = theForm.Matricola.value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    allNum += ch;
  }
  if (!allValid)
  {
    alert("Inserire solo cifra caratteri nel campo \"Matricola\".");
    theForm.Matricola.focus();
    return (false);
  }

  var chkVal = allNum;
  var prsVal = parseInt(allNum);
  if (chkVal != "" && !(prsVal >= "0"))
  {
    alert("Inserire un valore maggiore o uguale a \"0\" nel campo \"Matricola\".");
    theForm.Matricola.focus();
    return (false);
  }

  if (theForm.Lettura.value == "")
  {
    alert("Inserire un valore per il campo \"Lettura contatore acqua\".");
    theForm.Lettura.focus();
    return (false);
  }

  if (theForm.Lettura.value.length < 1)
  {
    alert("Inserire almeno 1 caratteri nel campo \"Lettura contatore acqua\".");
    theForm.Lettura.focus();
    return (false);
  }

  if (theForm.Lettura.value.length > 6)
  {
    alert("Inserire al massimo 6 caratteri nel campo \"Lettura contatore acqua\".");
    theForm.Lettura.focus();
    return (false);
  }

  var checkOK = "0123456789-.";
  var checkStr = theForm.Lettura.value;
  var allValid = true;
  var decPoints = 0;
  var allNum = "";
  for (i = 0;  i < checkStr.length;  i++)
  {
    ch = checkStr.charAt(i);
    for (j = 0;  j < checkOK.length;  j++)
      if (ch == checkOK.charAt(j))
        break;
    if (j == checkOK.length)
    {
      allValid = false;
      break;
    }
    if (ch != ".")
      allNum += ch;
  }
  if (!allValid)
  {
    alert("Inserire solo cifra caratteri nel campo \"Lettura contatore acqua\".");
    theForm.Lettura.focus();
    return (false);
  }

  if (theForm.TIPO.selectedIndex < 0)
  {
    alert("Selezionare una delle opzioni di \"TIPO\".");
    theForm.TIPO.focus();
    return (false);
  }
// prepara la risposta

  msg="<p class='rosso16'><b>Gentile "+theForm.Nome.value+",<br>grazie per aver richiesto i nostri servizi!</font></p>"
  PopIt('Conferma Dati Subentro',msg)
  return (true);
}
//-->

