<!-- 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, t) {

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

<!-- controllo se tutti i caratteri sono cifre -->
function controlla_numero(numeroform,campo,nome, t) {

	if ( isNaN(document.forms[numeroform].elements[campo].value) || document.forms[numeroform].elements[campo].value=='' ) {
		avviso+='- Verificare l\'esattezza del campo \''+nome+'\'!\n\n';
		errore=1;
	}
	
}


<!-- controllo dell'esattezza dell indirizzo email -->
function controlla_mail(numeroform,campo,nome, t) {
	
	var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	if( !filter.test(document.forms[numeroform].elements[campo].value) || document.forms[numeroform].elements[campo].value.split("@").pop()=='italianlight.it' || document.forms[numeroform].elements[campo].value.split("@").pop()=='italianlightproduction.com' ) { 
		avviso+='- Verificare l\'esattezza del campo \''+nome+'\'!\n\n';
		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))) {
			avviso+='- Verificare l\'esattezza del campo \''+nome+'\'!\n\n';
			errore=1;
		}
	} else {
		avviso+='- Verificare l\'esattezza del campo \''+nome+'\'!\n\n';
		errore=1;
	}
//	if (errore==0)
//		{document.forms[numeroform].elements[campo].value=aaaa+'-'+mm+'-'+gg}

}

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

	if (document.forms[numeroform].elements[campo].value.length<lunghezza) {
		errore=1; 
		avviso+='- Il campo \''+nome+'\' non può essere più corto di '+lunghezza+' caratteri!\n\n';
	}
}

<!-- 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=="")) {
		avviso+='- Essendo presente il campo \''+nome1+'\' deve essere presente anche il campo \''+nome2+'\'!\n\n';
		errore=1;
	}
	if (tipo=="2") {
		if ((document.forms[numeroform].elements[campo2].value!="")&&(document.forms[numeroform].elements[campo1].value=="")) {
			avviso+='- Essendo presente il campo \''+nome2+'\' deve essere presente anche il campo \''+nome1+'\'!\n\n';
			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==""))	{
			avviso+='- Il campo \''+nome1+'\' deve essere uguale al campo \''+nome2+'\'!\n\n';
			errore=1; }
	}
	if (tipo=="2") {
		if ((document.forms[numeroform].elements[campo2].value!=document.forms[numeroform].elements[campo1].value=="")) {
			avviso+='- Il campo \''+nome1+'\' deve essere diverso dal campo \''+nome2+'\'!\n\n'; 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() {
	avviso=''; 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]=="n")
			{controlla_numero(args[0],args[i+1],args[i+2]); i=i+2}
		if (args[i]=="m")
			{controlla_mail(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()}
	else { alert (avviso); }
}
