I am trying to do math with Javascript, it will run calculation from one input (monthly salary) to result (tax) as following:
- Deduction from annual income (12000)
- here comes the hard part, tax is calculated in different levels, so if annual is between 6500 and 25000, tax should be 10%. And if there is more left after 25000 and less than 40000, tax should be 15% added to the previous 10%, and so on.
EX. if annual is 60000, the math will be like this:
 60000 - 12000 = 48000 // deduction
 25000 X (10/100)   = 2500 // 10% tax on 6500-25000 range
 48000 - 25000 = 23000 // first cut 25000
 23000 X (15/100) = 3450 // 15% tax on 25000-40000 range
 total tax will be 2500 + 3450 = 5950
Code:
<input type=text id="salary">
<div id="total"></div>
<script>
function calc(){
    var salary   = document.getElementById('salary').value;
    var annual   = salary * 12;
    var net      = annual - 12000;
    // Define Tax brackets
    var bracket1 = (10 / 100);
    var bracket2 = (15 / 100);
    if (net >= 6500){
        if ( net >= 6500 && net <= 25000 ) {
           var tax1 = (net * bracket1);
        }
        else if ( net >= 30000 && net <= 40000 ) {
           var tax2 = (net * bracket2);
        }
        var result = (tax1 + tax2) / 12; //monthly tax
    document.getElementById('total').innerHTML = result ;
}
</script>
So output comes as NaN, I am not sure if what I have done so far is the right thing or variables inside statement is the problem here.
 
     
    