function controllaNumero(input, min, max, msg)

{

    msg = msg + " valore non valido: " + input.value;

    var str = input.value;

    for (var i = 0; i < str.length; i++) {

        var ch = str.substring(i, i + 1)

        if ((ch < "0" || "9" < ch) && ch != '.') {

            alert(msg);

            return false;

        }

    }

    var num = parseFloat(str)

    if (num < min || max < num) {

        alert(msg + " not in range [" + min + ".." + max + "]");

        return false;

    }

    input.value = str;

    return true;

}

function calcolaCampo(input)

{

    if (input.value != null && input.value.length != 0)

        input.value = "" + eval(input.value);

}

function calcolaModulo(form)

{

    if ((form.pagamenti.value == null || form.pagamenti.value.length == 0) ||

        (form.interesse.value == null || form.interesse.value.length == 0) ||

        (form.capitale.value == null || form.capitale.value.length == 0)) {

        return;

    }

    if (!controllaNumero(form.pagamenti, 1, 480, "NUMERO RATE") ||

        !controllaNumero(form.interesse, .001, 99, "Interesse") ||

        !controllaNumero(form.capitale, 100, 500000000, "Capitale")) {

        form.rata.value = "Non valido";

        return;

    }

    var i = form.interesse.value;

    if (i > 1.0) {

        i = i / 100;



    }

    i /=form.periodo.value;

    var param = Math.pow(  (1 + i ) , form.pagamenti.value ) ;

    form.rata.value = (form.capitale.value * i * param) / (param - 1)

}

function cancellaModulo(form)

{

    form.pagamenti.value = "";

    form.interesse.value = "";

    form.capitale.value = "";

}
