// 20050413
function isblank(s)
{
    for(var i = 0; i < s.length; i++) {
        var c = s.charAt(i);
        if ((c != ' ') && (c != '\n') && (c != '\t')) return false;
    }
    return true;
}
function verify(f)
{
    var msg;
    var empty_fields = "";
    var errors = "";

    for(var i = 0; i < f.length; i++) {
        var e = f.elements[i];
        if (((e.type == "text") || (e.type == "textarea")) && !e.optional) {
            if ((e.value == null) || (e.value == "") || isblank(e.value)) {
                empty_fields += "\n          " + e.name;
                continue;
            }
	    if (e.email) {
		var str=e.value
		var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
		if (filter.test(str)) {
			testresults=true
		}else{
			alert("Inserire un indirizzo e-mail valido!")
			testresults=false
		}
                continue;
		}
	    if (e.zop) {
		var str=e.value
		var filter=/^\d{5}$/g
		if (filter.test(str)) {
			testresults=true
		}else{
			alert("Inserire un cap valido!")
			testresults=false
                return false;
		}
		//return (testresults)
		}


            if (e.numeric || (e.min != null) || (e.max != null)) { 
                var v = parseFloat(e.value);
                if (isNaN(v) || 
                    ((e.min != null) && (v < e.min)) || 
                    ((e.max != null) && (v > e.max))) {
                    errors += "- The field " + e.name + " must be a number";
                    if (e.min != null) 
                        errors += " that is greater than " + e.min;
                    if (e.max != null && e.min != null) 
                        errors += " and less than " + e.max;
                    else if (e.max != null)
                        errors += " that is less than " + e.max;
                    errors += ".\n";
                }
            }
        }
    }
    if (!empty_fields && !errors) return true;
    msg  = "______________________________________________________\n\n"
    msg += "I dati non sono stati inviati a causa dei seguenti errori:\n";
    msg += "______________________________________________________\n\n"
    if (empty_fields) {
        msg += "- I campi:" 
                + empty_fields + "\n";
        if (errors) msg += "\n";
    }
    msg += errors;
    msg += "sono richiesti e vanno compilati.\n";
    msg += "______________________________________________________\n\n"
    msg += "Correggere gli errori e inviare di nuovo.\n";
    alert(msg);
    return false;
}