function validate()
{
    if (!isNaturalNumber(document.mls.i, " for the Equity Invested."))
    {
        return false;
    }

    if (!isNaturalNumber(document.mls.b, " for the Amount Borrowed."))
    {
        return false;
    }

    if (!isValueInRange(document.mls.ir, 1, 100, " for the Interest Rate."))
    {
        return false;
    }

    if (!isValueInRange(document.mls.d, 1, 100, " for the Expected Dividend Yield."))
    {
        return false;
    }

    if (!isValueInRange(document.mls.pr, 1, 100, " for the Expected Growth Rate of Portfolio."))
    {
        return false;
    }

    return true;
}

function calc()
{
    var i = parseFloat(document.mls.i.value);
    var b = parseFloat(document.mls.b.value);
    var ir = parseFloat(document.mls.ir.value);
    var d = parseFloat(document.mls.d.value);
    var pr = parseFloat(document.mls.pr.value);
    var v1 = i;
    var v2 = i + b;
    var e1 = v1 * (d / 100);
    var e2 = v2 * (d / 100);
    var i1 = 0;
    var i2 = b * (ir / 100);
    var c1 = e1 - i1;
    var c2 = e2 - i2;
    var m1 = v1 * (1 + (pr / 100));
    var m2 = v2 * (1 + (pr / 100));
    var c11 = m1 - i;
    var c12 = m2 - i;
    var r1 = c1 + c11;
    var r2 = c2 + c12;
    var r11 = (r1 / v1) * 100;
    var r12 = (r2 / v2) * 100;

    document.mls.v1.value = round(v1, 2);
    document.mls.v2.value = round(v2, 2);
    document.mls.e1.value = round(e1, 2);
    document.mls.e2.value = round(e2, 2);
    document.mls.i1.value = round(i1, 2);
    document.mls.i2.value = round(i2, 2);
    document.mls.c1.value = round(c1, 2);
    document.mls.c2.value = round(c2, 2);
    document.mls.m1.value = round(m1, 2);
    document.mls.m2.value = round(m2, 2);
    document.mls.r1.value = round(r1, 2);
    document.mls.r2.value = round(r2, 2);
    document.mls.r11.value = round(r11, 2);
    document.mls.r12.value = round(r12, 2);
}

function clean()
{
    document.mls.i.value = "";
    document.mls.b.value = "";
    document.mls.ir.value = "";
    document.mls.d.value = "";
    document.mls.pr.value = "";
    document.mls.v1.value = "";
    document.mls.v2.value = "";
    document.mls.e1.value = "";
    document.mls.e2.value = "";
    document.mls.i1.value = "";
    document.mls.i2.value = "";
    document.mls.c1.value = "";
    document.mls.c2.value = "";
    document.mls.m1.value = "";
    document.mls.m2.value = "";
    document.mls.r1.value = "";
    document.mls.r2.value = "";
    document.mls.r11.value = "";
    document.mls.r12.value = "";
}
