// online tax calculator script
// Global Variables
var IsDonation=false;
var IsCredit=false;
var IsNetcost=false;

function IsDec(no)
{
    return FoundChar(no, ".");
}

function IsNumber(textValue)
{
        var IsDec = false;
        var k = 0;
        var Find = "";
        for (k = 0; k < textValue.length; k ++)
        {
        Find = textValue.substring(k, k + 1 );
                if ((Find < "0") || (Find > "9"))
                {
                        if ((Find == ".") && (!IsDec))
                        {

                                IsDec = true;

                                continue;

                        }

                        else

                        {

                                if ((Find == "-") && (k == 0))

                                {

                                        return false;

                                }

                        }

                        return false;

        }

        }

        return true;

}



function FoundChar(text, chr)

{

        var j;

        for (j = 0; j < text.length; j++)

        {

        if (text.substring(j, j + 1) == chr)

                {

                        return true;

        }

        }

        return false;

}



function calcMoney(temp)

{

        var Final;

        var Dollars;

        var tmpC;

        var chrDol;

        var Cents;

        Dollars=Math.floor(temp);

        chrDol=""+ Math.floor(temp*100);

        tmpC=""+Math.round(temp*100);

        Cents=tmpC.substring(tmpC.length-2, tmpC.length);

        if ((chrDol.substring(chrDol.length-2, chrDol.length)=="99") &&

(Cents=="00"))

        {

                Dollars = Math.floor(Dollars+1);

        }

        temp=Dollars+"."+Cents;

        Final=temp;

        return Final;

}



function donationChanged(form, donation)

{

        var temp;

        var crTmp;

        if (donation.value.length==0)

        {

                alert("You must enter a positive number before proceeding.");

        donation.value = form.donation.defaultValue;

        }

        if (!IsNumber(donation.value))

        {

                alert("You must enter a positive number before proceeding.");

        donation.value = form.donation.defaultValue;

      }

        else

        {

                donation.value=calcMoney(donation.value);

                form.donation.defaultValue=donation.value;

                if (donation.value > 200)

                {

                        // 0.16*(200)*1.625 + 0.29*(donation.value-200)*1.4396;

                        temp = (0.417484*donation.value) - 31.4968;

                        form.credit.value=calcMoney(temp);

                        form.credit.defaultValue = form.credit.value;

                        temp=donation.value - form.credit.value;

                        form.netcost.value = calcMoney(temp);

                        form.netcost.defaultValue = form.netcost.value;

                }

                else

                {

                        // 0.16*(donation.value)*1.625;

						temp = donation.value * 0.26;

						form.credit.value = calcMoney(temp);

                        form.credit.defaultValue = form.credit.value;

                        temp=donation.value - form.credit.value

                        form.netcost.value = calcMoney(temp);

                        form.netcost.defaultValue = form.netcost.value;

                }

      }

        IsDonation=false;

}



function creditChanged(form, credit)

{

        var temp;

        if (credit.value.length==0)

        {

                alert("You must enter a positive number before proceeding.");

        credit.value = form.credit.defaultValue;

        }

        if (!IsNumber(credit.value))

        {

                alert("You must enter a positive number before proceeding.");

        credit.value = form.credit.defaultValue;

      }

        else

        {

                credit.value=calcMoney(credit.value);

                form.credit.defaultValue=credit.value;

                if (credit.value > 52.00)

                {

                        // (0.16*1.625*200) + (0.29*1.4396*(donation.value-200));

                        temp = (credit.value/0.417484) + (31.4968/0.417484);

						form.donation.value = calcMoney(temp);

                        form.donation.defaultValue = form.donation.value;

                        temp=form.donation.value - credit.value;

                        form.netcost.value=calcMoney(temp);

                        form.netcost.defaultValue = form.netcost.value;

                }

                else

                {

                        // 0.16*donation.value*1.625;

                        temp = credit.value/0.26;

                        form.donation.value = calcMoney(temp);

                        form.donation.defaultValue = form.donation.value;

                        temp=form.donation.value - credit.value;

                        form.netcost.value=calcMoney(temp);

                        form.netcost.defaultValue = form.netcost.value;

                }

      }

        IsCredit=false;

}



function netcostChanged(form, netcost)

{

        var temp;

        if (form.netcost.value.length==0)

        {

                alert("You must enter a positive number before proceeding.");

        netcost.value = form.netcost.defaultValue;

        }

        if (!IsNumber(netcost.value))

        {

                alert("You must enter a positive number before proceeding.");

        netcost.value = form.netcost.defaultValue;

      }

        else

        {

                netcost.value=calcMoney(netcost.value);

                form.netcost.defaultValue=netcost.value;

                if (netcost.value > 148.00)

                {

                        // donation.value - ((0.16*1.625*200) + (0.29*1.4396*(donation.value-200)));

                        temp = (netcost.value - 31.4968)/0.582516;

                        form.donation.value = calcMoney(temp);

                        form.donation.defaultValue = form.donation.value;

                        temp=form.donation.value - netcost.value;

                        form.credit.value = calcMoney(temp);

                        form.credit.defaultValue = form.credit.value;

                }

                else

                {

                        // donation.value - (0.16*1.625*donation.value);

                        temp = netcost.value/0.74;

                        form.donation.value = calcMoney(temp);

                        form.donation.defaultValue = form.donation.value;

                        temp=form.donation.value - netcost.value;

                        form.credit.value = calcMoney(temp);

                        form.credit.defaultValue = form.credit.value;

                }

      }

        IsNetcost=false;

}



function CheckValue(form)

{

        if (IsDonation==true)

        {

                donationChanged(form, form.donation);

        }

        else if (IsCredit==true)

        {

                creditChanged(form, form.credit);

        }

        else if (IsNetcost==true)

        {

                netcostChanged(form, form.netcost);

        }

}



function SetChange(chValue)

{

        if (chValue==1)

        {

                IsDonation=true;

        }

        else if (chValue==2)

        {

                IsCredit=true;

        }

        else if (chValue==3)

        {

                IsNetcost=true;

        }

}