function verify(f) 
{ /*apre functions*/
 var errors=""
 for(i=0;i<f.length;i++) 
 { /*apre for 1*/
  var e=f.elements[i] /*archivia nella array e tutti gli elementi*/

  if(e.type=="text") /*Il campo è text?*/
   { /*apre if 1*/
   if(e.Optional==true) /*in questo campo text optional è = true?*/
   { /*apre if 2*/
    if(e.value==null || e.value=="") errors += "\n- il campo "+ e.name +" è vuoto" /*controllo se è vuoto*/
    else if(e.value.length>0 && (e.CharAccept!=null || e.CharNoAccept!=null)) 
    { /* else if 1*/
     var tmp=false
     if(e.CharAccept!=null && e.value.search(e.CharAccept)==-1) tmp=true
     if(e.CharNoAccept!=null && e.value.search(e.CharNoAccept)!=-1) tmp=true
     if(tmp) errors += "\n- il campo "+ e.name +" contiene caratteri non ammessi"
    } /*chiude elseif 1*/

   } /* chiude if 2*/

   if(e.CharUpper==true) e.value=e.value.toUpperCase()
   if(e.CharTower==true) e.value=e.value.toLowerCase()
   if(e.CharIndexUpper==true && e.value.length>0)
   { /*apre if 4*/
    var tmp=e.value.split("")
    tmp[0]=tmp[0].toUpperCase()
    for(a=0;a<tmp.length-1;a++)
     if(tmp[a]==' ') tmp[a+1]=tmp[a+1].toUpperCase()
    e.value=tmp.join("")
   } /*chiude if 4*/
   
  if(e.NumFloat==true || (e.NumMin!=null || e.NumMax!=null)) /*controllo che l'elemento in esame debba essere float o che abbia un minimo o un massimo impostati*/
   { /*apre if 5*/
   var corr=e.value.replace(/,/g, ".")
    var v=parseFloat(corr) /*passo a v il valore floattato della VALUE DELL'ELEMENTO*/
    if(isNaN(v)) errors += "\n- il campo "+ e.name +" deve contenere un numero"  /*se v non è un numero genero l'errore*/
    else e.value=parseFloat(corr)
   } /*chiude if 5*/

   if(e.NumMin!=null || e.NumMax!=null) /*controllo se l'elemento ha un massimo o un minimo impostati*/
   { /*apre if6*/
    var v=parseFloat(e.value)
    if(isNaN(v) || ((e.NumMin!=null) && (v<e.NumMin)) || ((e.NumMax!=null) && (v>e.NumMax))) 
    { /*apre if 7*/
     errors += "\n- il campo "+ e.name +" deve contenere un numero"
     if(e.NumMin!=null) errors+= " maggiore di "+ e.NumMin
     if(e.NumMin!=null && e.NumMax!=null) errors+= " e minore di "+ e.NumMax
     else if(e.NumMax!=null) errors+= " minore di "+ e.NumMax
    } /*chiude if 7*/
   } /*chiude if 6*/
  } /*chiude if 1*/
  } /*chiude for 1*/

 if(errors=="") return true

 var msg=""
 msg+="______________________________________________________________________\n"
 msg+="La scommessa presenta i seguenti errori\n"
 msg+="Si prega di correggerli e di inviare nuovamente\n"
 msg+="______________________________________________________________________\n"

 msg+="\nI seguenti campi risultano non corretti:\n"+ errors
 msg+="\n______________________________________________________________________\n"
 alert(msg)
 return false

}
