function checkNumber(obj)
{
        var str = obj.value;

        if (str.length == 0 || str == "" || str == null) {
                return false;
        }

        for (var i = 0; i < str.length; i++) {
                var ch = str.substring(i, i + 1)
                if ((ch < "0" || "9" < ch) && ch != '.' && ch != '$' && ch != ',') {
                        return false;
                }
        }

        return true;
}

function tonum(str) 
{
        var     nstr = "";

        for (var i = 0; i < str.length; i++) {
                var ch = str.substring(i, i + 1);
                if ((ch >= "0" && ch <= "9") || ch == '.') {
                        nstr += ch;
                }
        }

        return parseFloat(nstr);
}

function valueOrDefault(obj, defval) 
{
        if (!checkNumber(obj)) {
                return defval;
        }

        var val = tonum(obj.value);

        if (val == 0) {
                return defval;
        }
        return val;
}


function format(val, len, decimal)
{
        var     scale = 1;

        if (decimal == null)
                decimal = 1;

        for (i = 0; i <= decimal; i++)
                scale *= 10;

        var     str = "" + Math.round(parseFloat(val) * scale);

        if (str.length == 0 || str == "0") {
                str = "00";
        }

        str = str;
        i = len - str.length;
        if (scale != 1)
                i--;
        while (0 < i--) 
                str = " " + str;
        if (scale != 1) {
                var p = len - decimal - 2;
                var a = str.substring(0, p);
                var b = str.substring(p, len);
                return a + "." + b;
        }
        return str;
}

function compute(input)
{
        var form = input.form;

        //
        //
        //

        assetc1 = valueOrDefault(form.assetc1, 0);
        assetc2 = valueOrDefault(form.assetc2, 0);
        assetc3 = valueOrDefault(form.assetc3, 0);
	assetc4 = valueOrDefault(form.assetc4, 0);
	assetc5 = valueOrDefault(form.assetc5, 0);
	assetc6 = valueOrDefault(form.assetc6, 0);
	assetc7 = valueOrDefault(form.assetc7, 0);

        tca = assetc1 + assetc2 + assetc3 + assetc4 + assetc5 + assetc6 + assetc7;

        form.total_current.value = format(tca, 15, 1);  

        ta2 = assetc1 + assetc2 + assetc3 + assetc4 + assetc5 + assetc6 + assetc7;

        form.total_current2.value = format(ta2, 15, 1);  


	assetf1 = valueOrDefault(form.assetf1, 0);
	assetf2 = valueOrDefault(form.assetf2, 0);
	assetf3 = valueOrDefault(form.assetf3, 0);
	assetf4 = valueOrDefault(form.assetf4, 0);
        assetf5 = valueOrDefault(form.assetf5, 0);

	tfa = assetf1 + assetf2 + assetf3 + assetf4 - assetf5;

        form.total_fixed.value = format(tfa, 15, 1);

	asseto1 = valueOrDefault(form.asseto1, 0);
	asseto2 = valueOrDefault(form.asseto2, 0);
	asseto3 = valueOrDefault(form.asseto3, 0);
	asseto4 = valueOrDefault(form.asseto4, 0);
        asseto5 = valueOrDefault(form.asseto5, 0);

	noa = asseto1 + asseto2 - asseto3;

        form.net_other.value = format(noa, 15, 1);

	toa = asseto1 + asseto2 - asseto3 + asseto4 + asseto5;

        form.total_other.value = format(toa, 15, 1);

	ttt = tca + tfa + toa;  

	form.total_total.value = format(ttt, 15, 1); 

        liabc1 = valueOrDefault(form.liabc1, 0);
        liabc2 = valueOrDefault(form.liabc2, 0);
        liabc3 = valueOrDefault(form.liabc3, 0);
	liabc4 = valueOrDefault(form.liabc4, 0);
	liabc5 = valueOrDefault(form.liabc5, 0);
	liabc6 = valueOrDefault(form.liabc6, 0);

        tcl = liabc1 + liabc2 + liabc3 + liabc4 + liabc5 + liabc6;

        form.total_currliab.value = format(tcl, 15, 1);  

        tc2 = liabc1 + liabc2 + liabc3 + liabc4 + liabc5 + liabc6;

        form.total_currliab2.value = format(tc2, 15, 1);  

        ltdebt1 = valueOrDefault(form.ltdebt1, 0);

        tdl = ltdebt1;

        capacct1 = valueOrDefault(form.capacct1, 0);

        tml = capacct1;

	ttl = tcl + tdl + tml;  

	form.total_totalliab.value = format(ttl, 15, 1);  

	lrt = ta2 / tc2;  

	form.liqratio.value = format(lrt, 15, 1);  


}
