<!-- MM_callJS(jsStr); controlla_esistenza(numeroform,campo,nome); -->
<!-- controlla_data(numeroform,campo,nome); controlla_lunghezza(numeroform,campo,nome,lunghezza); -->
<!-- controlla_dipendenza(numeroform,campo1,nome1,campo2,nome2,tipo); -->
<!-- controlla_uguaglianza(numeroform,campo1,nome1,campo2,nome2,tipo); controlla_form(); -->

<!-- esecuzione di una chiamata javascript come evento -->
function MM_callJS(jsStr) { //v2.0

	return eval(jsStr)

}

<!-- controllo dell'esistenza di un valore all'interno di un campo di form -->
function controlla_esistenza(numeroform,campo,nome) {

	if (document.forms[numeroform].elements[campo].value=="")
		{alert('ATTENZIONE! Il campo \''+nome+'\' non può essere vuoto!');errore=1;}

}

<!-- controllo dell'esattezza del formato di una data: gg/mm/aaaa -->
function controlla_data(numeroform,campo,nome) {

	if (document.forms[numeroform].elements[campo].value.length==10)
		{comp=document.forms[numeroform].elements[campo].value;
		gg=comp.substring(0,2);
		if (gg.charAt(0)=="0")
			{gg=gg.charAt(1);}
		mm=comp.substring(3,5);
		if (mm.charAt(0)=="0")
			{mm=mm.charAt(1);}
		aaaa=comp.substring(6,10);
		if ((gg!=parseInt(gg))||(mm!=parseInt(mm))||(aaaa!=parseInt(aaaa)))
			{alert('ATTENZIONE! Verificare l\'esattezza del campo \''+nome+'\'!');errore=1}
	}else{
		alert('ATTENZIONE! Verificare l\'esattezza del campo \''+nome+'\'!');errore=1}
//	if (errore==0)
//		{document.forms[numeroform].elements[campo].value=aaaa+'-'+mm+'-'+gg}

}

<!-- controllo della lunghezza massima di un campo di testo -->
function controlla_lunghezza(numeroform,campo,nome,lunghezza) {

	if (document.forms[numeroform].elements[campo].value.length>lunghezza)
		{alert('ATTENZIONE! Il campo \''+nome+'\' non può essere più lungo di '+lunghezza+' caratteri!');errore=1;}

}

function controlla_check(numeroform,campo,nome) {

	if (document.forms[numeroform].elements[campo].checked!=true)
		{alert('ATTENZIONE! \''+nome+'\' è un campo obbligatorio!');errore=1;}

}

<!-- controllo della dipendenza di due campi -->
<!-- tipo 1: "se a allora b", tipo 2: "se a allora b e se b allora a" -->
function controlla_dipendenza(numeroform,campo1,nome1,campo2,nome2,tipo) {

	if ((document.forms[numeroform].elements[campo1].value!="")&&(document.forms[numeroform].elements[campo2].value==""))
		{alert('ATTENZIONE! Essendo presente il campo \''+nome1+'\' deve essere presente anche il campo \''+nome2+'\'!');errore=1;}
	if (tipo=="2")
		{if ((document.forms[numeroform].elements[campo2].value!="")&&(document.forms[numeroform].elements[campo1].value==""))
			{alert('ATTENZIONE! Essendo presente il campo \''+nome2+'\' deve essere presente anche il campo \''+nome1+'\'!');errore=1;}
		}

}

<!-- controllo della uguaglianza di due campi -->
<!-- tipo 1: "se a = b OK", tipo 2: "se a = b KO" -->
function controlla_uguaglianza(numeroform,campo1,nome1,campo2,nome2,tipo) {

	if (tipo=="1")
	{
	if ((document.forms[numeroform].elements[campo1].value!=document.forms[numeroform].elements[campo2].value==""))
		{alert('ATTENZIONE! Il campo \''+nome1+'\' deve essere uguale al campo \''+nome2+'\'!');errore=1;}
	}
	if (tipo=="2")
		{if ((document.forms[numeroform].elements[campo2].value!=document.forms[numeroform].elements[campo1].value==""))
		{alert('ATTENZIONE! Il campo \''+nome1+'\' deve essere diverso dal campo \''+nome2+'\'!');errore=1;}
		}

}


<!-- controllo di un form e invio se esito OK -->
<!-- accetta in input una serie di valori, il primo dei quali è il numero del form -->
<!-- poi il parametro del tipo di controllo seguito dai parametri specifici di quel controllo stesso -->
<!-- in particolare: "e"=esistenza, "d"=data, "l"=lunghezza, "x"=dipendenza, "u"=uguaglianza -->
function controlla_form() {

	errore=0; var args = controlla_form.arguments; numform=args[0];
	for (var i=1; i<args.length;i++)
		{if (args[i]=="e")
			{controlla_esistenza(args[0],args[i+1],args[i+2]);i=i+2}
			if (args[i]=="c")
			{controlla_check(args[0],args[i+1],args[i+2]);i=i+2}
		if (args[i]=="d")
			{controlla_data(args[0],args[i+1],args[i+2]);i=i+2}
		if (args[i]=="l")
			{controlla_lunghezza(args[0],args[i+1],args[i+2],args[i+3]);i=i+3}
		if (args[i]=="x")
			{controlla_dipendenza(args[0],args[i+1],args[i+2],args[i+3],args[i+4],args[i+5]);i=i+5}
		if (args[i]=="u")
			{controlla_uguaglianza(args[0],args[i+1],args[i+2],args[i+3],args[i+4],args[i+5]);i=i+5}

		}
	if (errore==0){document.forms[numform].submit()}
}
