function fix_amount(amount) { var number = 0; var string = amount; var string2 var string3 = parseInt(string,10); var string4 = parseInt(string % 1 *100, 10); if (string4 == "0" || string4 == "1" || string4 == "2" || string4 == "3" || string4 == "4" || string4 == "5" || string4 == "6" || string4 == "7" || string4 == "8" || string4 == "9") string4 = string4+ "0"; string2 = "$" + string3 + "." + string4; return string2; } function no_commas(string) { var string2 = string; var string3 = ""; var ch = ""; for (var i = 0; i < string2.length; i++) { ch = string2.substring(i, i+1); if ((ch < "0" || "9" < ch) && ch != ".") { var j = 0; } else { string3 = string3 + ch; } } return string3; } function setDailyhrs() { var sel1 = document.temps.select1; var period_mult = sel1.options[sel1.selectedIndex].value; if(period_mult == "99") { document.temps.dailyhrs.disabled = false; } else { document.temps.dailyhrs.disabled = true; } } function calculate() { var exemp_amount = 0; var sel2 = document.temps.select2; var sel3 = document.temps.select3; var type = sel2.options[sel2.selectedIndex].value; var exemp = document.temps.exemptions.value; var disptype = sel3.options[sel3.selectedIndex].value; var net_wages = 0; var gross_wages = 0; for(var x = 0; x < 3;x++) { var unit_wage = 0; var sel1 = document.temps.wage_unit[x]; var period_mult = sel1.options[sel1.selectedIndex].value; var wage = document.temps.wages[x].value; var dailyhrs = document.temps.dailyhrs[x].value; var duration = document.temps.duration[x].value; var sel2 = document.temps.dur_unit[x]; var dur_unit = sel2.options[sel2.selectedIndex].value; if(dur_unit == 99) { dur_unit = dailyhrs * 240; } if(period_mult == 99) { period_mult = dailyhrs * 240; } unit_wage = wage * period_mult; unit_wage = (unit_wage * duration)/dur_unit; gross_wages = gross_wages + unit_wage; } if(disptype == 99) { disptype = dailyhrs * 240; } document.temps.gross_salary.value = fix_amount(gross_wages); wage = no_commas(wage); if (document.temps.year.options[document.temps.year.selectedIndex].value == 1) { var exemp_amount = 2700; var ss_base = 68400; } else { var exemp_amount = 2750; var ss_base = 72600; } var exempt_calc = exemp*exemp_amount; net_wages = gross_wages - exempt_calc; if (net_wages < 0) net_wages = 0; var plus = 0; var minus = 0; var percent = 0.0; var var_ss_tax = 0.00; var var_total_tax = 0.00; var var_med_tax = 0.00; var var_fed_tax = 0.00; var per_ss_tax = 0.00; var per_total_tax = 0.00; var per_med_tax = 0.00; var per_fed_tax = 0.00; var before = 0; var after = 0; document.temps.net_salary.value = fix_amount(net_wages/ disptype); if (document.temps.year.options[document.temps.year.selectedIndex].value == 1) { if (type == 1) { if (net_wages <= 2650) { minus = 0; plus = 0; percent = 0; } else if (net_wages <= 26900) { minus = 2650; plus = 0; percent = .15; } else if (net_wages <= 57450) { minus = 26900; plus = 3637.50; percent = .28; } else if (net_wages <= 129650) { minus = 57450; plus = 12191.50; percent = .31; } else if (net_wages <= 280000) { minus = 129650; plus = 35156.50; percent = .36; } else { minus = 280000; plus = 34573.50; percent = .396; } } else { if (net_wages <= 6450) { minus = 0; plus = 0; percent = 0; } else if (net_wages <= 46750) { minus = 6450; plus = 0; percent = .15; } else if (net_wages <= 96450) { minus = 46750; plus = 6045.50; percent = .28; } else if (net_wages <= 160350) { minus = 96450; plus = 19961.50; percent = .31; } else if (net_wages <= 282850) { minus = 160350; plus = 39770.50; percent = .36; } else { minus = 282850; plus = 83870.50; percent = .396; } } } else { if (type == 1) { if (net_wages <= 2650) { minus = 0; plus = 0; percent = 0; } else if (net_wages <= 27300) { minus = 2650; plus = 0; percent = .15; } else if (net_wages <= 58500) { minus = 27300; plus = 3697.50; percent = .28; } else if (net_wages <= 131800) { minus = 58500; plus = 12433.50; percent = .31; } else if (net_wages <= 284700) { minus = 131800; plus = 35156.50; percent = .36; } else { minus = 284700; plus = 90200.50; percent = .396; } } else { if (net_wages <= 6450) { minus = 0; plus = 0; percent = 0; } else if (net_wages <= 47500) { minus = 6450; plus = 0; percent = .15; } else if (net_wages <= 98500) { minus = 47500; plus = 6157.50; percent = .28; } else if (net_wages <= 163000) { minus = 98500; plus = 20437.50; percent = .31; } else if (net_wages <= 287600) { minus = 163000; plus = 40432.50; percent = .36; } else { minus = 287600; plus = 85288.50; percent = .396; } } } var tot_state_tax = calculateNJ(net_wages, disptype, type); var_fed_tax = ((net_wages - minus) * percent) + plus; document.temps.fed_tax.value = fix_amount(var_fed_tax/ disptype); if ((wage*period_mult) < ss_base) var_ss_tax = wage*period_mult*.062; else var_ss_tax = ss_base*.062; document.temps.ss_tax.value = fix_amount(var_ss_tax / disptype); var_med_tax = wage*period_mult*.0145; document.temps.med_tax.value = fix_amount(var_med_tax / disptype); var_total_tax = var_fed_tax + var_med_tax + var_ss_tax; document.temps.total_tax.value = fix_amount(var_total_tax / disptype); document.temps.net_sal.value = fix_amount((gross_wages - (var_total_tax+ tot_state_tax)) / disptype); } function calculateNJ(net_wages, disptype, type) { if (net_wages < 0) net_wages = 0; var plus = 0; var minus = 0; var percent = 0.0; var var_ss_tax = 0.00; var var_total_tax = 0.00; var var_med_tax = 0.00; var var_fed_tax = 0.00; var per_total_tax = 0.00; var per_fed_tax = 0.00; var before = 0; var after = 0; if (document.temps.year.options[document.temps.year.selectedIndex].value == 1) { if (type == 1) { if (net_wages <= 20000) { minus = 0; plus = 0; percent = .014; } else if (net_wages <= 35000) { minus = 70; plus = 0; percent = .0175; } else if (net_wages <= 40000) { minus = 682.50; plus = 0; percent = .035; } else if (net_wages <= 75000) { minus = 1492.50; plus = 0; percent = .05525; } else { minus = 2126.25; plus = 0; percent = .0637; } } else { if (net_wages <= 20000) { minus = 0; plus = 0; percent = .014; } else if (net_wages <= 50000) { minus = 70; plus = 0; percent = .0175; } else if (net_wages <= 70000) { minus = 420; plus = 0; percent = .0245; } else if (net_wages <= 80000) { minus = 1154.50; plus = 0; percent = .035; } else if (net_wages <= 150000) { minus = 2775; plus = 0; percent = .05525; } else { minus = 4042.50; plus = 0; percent = .0637; } } } else { if (type == 1) { if (net_wages <= 20000) { minus = 0; plus = 0; percent = .014; } else if (net_wages <= 35000) { minus = 70; plus = 0; percent = .0175; } else if (net_wages <= 40000) { minus = 682.50; plus = 0; percent = .035; } else if (net_wages <= 75000) { minus = 1492.50; plus = 0; percent = .05525; } else { minus = 2126.25; plus = 0; percent = .0637; } } else { if (net_wages <= 20000) { minus = 0; plus = 0; percent = .014; } else if (net_wages <= 50000) { minus = 70; plus = 0; percent = .0175; } else if (net_wages <= 70000) { minus = 420; plus = 0; percent = .0245; } else if (net_wages <= 80000) { minus = 1154.50; plus = 0; percent = .035; } else if (net_wages <= 150000) { minus = 2775; plus = 0; percent = .05525; } else { minus = 4042.50; plus = 0; percent = .0637; } } } var_fed_tax = ((net_wages - minus) * percent) + plus; document.temps.fed_tax_state.value = fix_amount(var_fed_tax/ disptype); var_total_tax = var_fed_tax; document.temps.total_tax_state.value = fix_amount(var_total_tax / disptype); return (var_total_tax / disptype); }