var payrolltype = 0;// 0 默认 、 1 税前推税后 、 -1 税后推税前 var insurancebasetype = 0;// 0 默认 、 1 修改过 var fundbasetype = 0;// 0 默认 、 1 修改过 var savedb = 0;// 0 默认 、 1 保存 var minwage = 0; var medicareplan = 0;//大病统筹 var insurancemin = 0;//社保下限 var medicaremin = 0;//医保下限 var _threshold = 5000; var arraynull = { insurancemax:"",//社保封顶数 insurancemin:0,//社保下限 medicaremin:0,//医保下限 fundmax:"",//公积金封顶数 pension:"",//养老金% medicare:"",//医疗保险% medicareplan:0,//大病统筹 unemploymentinsurance:"",//失业保险% fund:"",//公积金% threshold:_threshold,//个税起征点 //单位部分 pensionfirm:"",//养老金% medicarefirm:"",//医疗保险% unemploymentinsurancefirm:"",//失业保险% fundfirm:"",//公积金% industrialinjuryfirm:"",//工伤保险% maternityinsurancefirm:"",//生育保险% minwage:0//当地最低工资 }; var arrayinsurance = arraynull; function initialvalue(arrayobj) { $("#insurancemax").val(arrayobj.insurancemax);//社保封顶数: //$("#fundmax").val(arrayobj.fundmax);//住房公积金封顶数: $("#pension").val(arrayobj.pension);//养老保险: $("#medicare").val(arrayobj.medicare);//医疗保险: $("#unemploymentinsurance").val(arrayobj.unemploymentinsurance);//失业保险: $("#fund").val(arrayobj.fund);//公积金: //$("#threshold").val(arrayobj.threshold);//个税起征点 $("#threshold").val(_threshold);//个税起征点 $("#pensionfirm").val(arrayobj.pensionfirm);//养老金 $("#medicarefirm").val(arrayobj.medicarefirm);//医疗保险 $("#unemploymentinsurancefirm").val(arrayobj.unemploymentinsurancefirm);//失业保险 $("#fundfirm").val(arrayobj.fundfirm);//公积金 $("#industrialinjuryfirm").val(arrayobj.industrialinjuryfirm);//工伤保险 $("#maternityinsurancefirm").val(arrayobj.maternityinsurancefirm);//生育保险 $("#domestic").attr("checked",true); $("#overseas").attr("checked",false); minwage = arrayobj.minwage; medicareplan = arrayobj.medicareplan; medicaremin = arrayobj.medicaremin; insurancemin = arrayobj.insurancemin; } function changetype() { switch( jquery.trim( $("#taxtype").val() ) ) { case "0": payrollcalculateshow(); break; case "14": simplifieddivshow(); break; } } function simplifieddivshow() { insurancebasetype = 0;// 0 默认 、 1 修改过 fundbasetype = 0;// 0 默认 、 1 修改过 $("#payrolldiv").hide();//月薪 //简化版 $("#simplifiedsalary").val(""); $("#simplifiedinsurance").val(""); $("#simplifiedaftertax").val(""); $("#simplifiedtax").val(""); $("#simplifiedthreshold").val(_threshold); $("#simplifieddiv").show(); for(var i = 1; i < 11; i++) { $("#div"+i.tostring()).hide(); } $("#div14").hide(); $("#div"+$("#taxtype").val()).show(); $("#otherdiv").show(); } //工资、薪金所得 function payrollcalculateshow() { insurancebasetype = 0;// 0 默认 、 1 修改过 fundbasetype = 0;// 0 默认 、 1 修改过 $("#otherdiv").hide(); $("#compensationdiv").hide(); $("#decollator").hide(); $("#city").val( "请选择城市" ); $("#cityid").val("0"); $("#area").val("0"); $("#tax").val(""); $("#personaltotal").html(""); $("#taxsalary").val(""); $("#pretaxtotal").html(""); $("#pension").val(""); $("#pensionspan").html(""); $("#medicare").val(""); $("#medicarespan").html(""); $("#unemploymentinsurance").val(""); $("#unemploymentinsurancespan").html(""); $("#fund").val(""); $("#fundspan").html(""); $("#firmtotal").html(""); $("#firmexpensetotal").html(""); $("#pensionfirm").val(""); $("#pensionfirmspan").html(""); $("#medicarefirm").val(""); $("#medicarefirmspan").html(""); $("#unemploymentinsurancefirm").val(""); $("#unemploymentinsurancefirmspan").html(""); $("#industrialinjuryfirm").val(""); $("#industrialinjuryfirmspan").html(""); $("#maternityinsurancefirm").val(""); $("#maternityinsurancefirmspan").html(""); $("#fundfirm").val(""); $("#fundfirmspan").html(""); $("#insurancebase").val(""); $("#fundbase").val(""); $("#insurancemax").val(""); $("#threshold").val(_threshold); $("#aftertax").val("");//税后 $("#salary").val("");// $("#domestic").attr("checked",true); $("#overseas").attr("checked",false); $("#payrolldiv").show(); } function showcitiesdiv(area,cityname,firstchar) { var sb = new stringbuilder(); sb.append("
"); sb.append("
"); sb.append("
"); sb.append("请选择城市"); sb.append(""); sb.append("
"); // #region 分栏行 sb.append(""); // #endregion 分栏行 //$("#area").val(area); if (cityname == "-1") { cityname = ""; } sb.append("
"); // #region 城市部分 sb.append(""); // #endregion 城市部分 sb.append(""); sb.append("
"); sb.append("
"); sb.append("
"); return sb.tostring(); } function setcitydivclass(cityname,area) { var exists = false; for(var i=0;i< parseint($("#citycount").val()); i++) { $("#"+area+"_"+i).removeclass("ac_over"); if(i == 0) { $("#"+area+"_"+i)[0].classname = "ac_odd ac_over"; } if($("#"+area+"_"+i).html() == cityname) { exists = true; $("#"+area+"_"+i)[0].classname = "ac_odd ac_over"; } } if(exists) { $("#"+area+"_0").removeclass("ac_over"); } } function showcitydiv() { hiddenmengban(); $("#city").select(); $("#city").val( jquery.trim($("#city").val()) == "请选择城市" ? "" : jquery.trim($("#city").val()) ); var cityname = jquery.trim($("#city").val()) == "其它" ? "" : jquery.trim($("#city").val()); var res = showcitiesdiv( parseint($("#area").val()) ,cityname,makepy(cityname)); if($("#taxtype").val() == "0") { $("#citydiv").html(res); $("#citydiv").show(); } else { $("#compensationcitydiv").html(res); $("#compensationcitydiv").show(); } setcitydivclass(cityname,parseint($("#area").val())); } function hidecitydiv() { $("#citydiv").hide(); } function setcity(area,cityid,cityname) { $("#area").val(area); $("#cityid").val(cityid); if($("#taxtype").val() == "0") { $("#city").val(cityname); hidecitydiv(); } changethiscity(); for(var i=0;i< parseint($("#citycount").val()); i++) { $("#"+$("#area").val()+"_"+i).removeclass("ac_over"); if($("#"+$("#area").val()+"_"+i).html() == cityname) { $("#"+$("#area").val()+"_"+i)[0].classname = "ac_odd ac_over"; } } } function changearea(areaid) { if(areaid == "6") { $("#area").val("0"); setcity( $("#area").val(),jquery.trim($("#otherid").val()),"其它"); } else { var cityname = ""; if($("#taxtype").val() == "0") { $("#city").select(); cityname = jquery.trim($("#city").val()) == "其它" ? "" : jquery.trim($("#city").val()); } else { $("#compensationcity").select(); cityname = jquery.trim($("#compensationcity").val()) == "其它" ? "" : jquery.trim($("#city").val()); } var res = showcitiesdiv(parseint(areaid),"-1",makepy(cityname)); if($("#taxtype").val() == "0") { $("#citydiv").html(res); $("#citydiv").show(); } else { $("#compensationcitydiv").html(res); $("#compensationcitydiv").show(); } setcitydivclass(cityname,areaid); } } $(document).ready(function(){ $(document).click(function(){ hidecitydiv(); }); $('#citydiv,#cityinptdiv,#compensationcitydiv,#compensationcityinptdiv,#mbcontent').click(function(event){ event.stoppropagation(); }); }); function changposition(event) { /* var areaid = jquery.trim($("#area").val()); if(event.keycode==13)//回车 { var citycount = jquery.trim($("#citycount").val()); for(var i =0 ;i < parseint(citycount,10) ;i++) { if( $("#" + areaid + "_" + i.tostring()).hasclass("ac_over") ) { app.selcityname( jquery.trim($("#" + areaid+"_"+i).html()),changposition_callback); hidecitydiv(); return; } } } else if(event.keycode==37)//← { var citycount = jquery.trim($("#citycount").val()); var thisindex = 0; for(var i = 0 ;i < parseint(citycount,10) ;i++) { if( $("#" + areaid + "_" + i.tostring()).hasclass("ac_over") ) { thisindex = i; } $("#" + areaid+"_"+i).removeclass("ac_over"); } if(thisindex == 0) { thisindex = parseint(citycount,10) - 1; } else { thisindex--; } $("#" + areaid+"_"+thisindex).addclass("ac_over"); } else if(event.keycode==38)//↑ { var citycount = jquery.trim($("#citycount").val()); var thisindex = 0; for(var i = 0 ;i < parseint(citycount,10) ;i++) { if( $("#" + areaid + "_" + i.tostring()).hasclass("ac_over") ) { thisindex = i; } $("#" + areaid+"_"+i).removeclass("ac_over"); } if(thisindex - 4 < 0) { thisindex = parseint(citycount,10) - 1; } else { thisindex -= 4; } $("#" + areaid+"_"+thisindex).addclass("ac_over"); } else if(event.keycode==39)//→ { var citycount = jquery.trim($("#citycount").val()); var thisindex = 0; for(var i = 0 ;i < parseint(citycount,10) ;i++) { if( $("#" + areaid + "_" + i.tostring()).hasclass("ac_over") ) { thisindex = i; } $("#" + areaid+"_"+i).removeclass("ac_over"); } if(thisindex == parseint(citycount,10) - 1) { thisindex = 0; } else { thisindex++; } $("#" + areaid+"_"+thisindex).addclass("ac_over"); } else if(event.keycode==40)//↓ { var citycount = jquery.trim($("#citycount").val()); var thisindex = 0; for(var i = 0 ;i < parseint(citycount,10) ;i++) { if( $("#" + areaid + "_" + i.tostring()).hasclass("ac_over") ) { thisindex = i; } $("#" + areaid+"_"+i).removeclass("ac_over"); } if(thisindex + 4 >= citycount) { thisindex = thisindex % 4; } else { thisindex += 4; } $("#" + areaid+"_"+thisindex).addclass("ac_over"); } */ } function changposition_callback(res) { if(res) { eval(res.value); } } function showcitydivbox() { var m_sb = new stringbuilder(); m_sb.append("
"); m_sb.append("
"); m_sb.append("系统提示"); m_sb.append("关闭"); m_sb.append("
"); m_sb.append("
请选择城市。如所在城市未列出,请选择“其它”并可根据实际情况修改各项参数;或重新在“收入类型”中选择“月薪简化版”进行计算。
"); m_sb.append("
"); m_sb.append("
"); $("#mbcontent").html(m_sb.tostring()); showmengban(); $("#btnok").focus(); } function changethiscity() { var js_sb = new stringbuilder(); if($("#taxtype").val() == "0") { if( jquery.trim($("#city").val()) == "" || jquery.trim($("#city").val()) == "请选择城市") { initialvalue(arraynull); showcitydivbox(); } else { changearrayinsurance(jquery.trim($("#city").val())); } } else { if(jquery.trim($("#compensationcity").val()) == "" || jquery.trim($("#compensationcity").val()) == "请选择城市") { showcitydivbox(); } else { changearrayinsurance(jquery.trim($("#compensationcity").val())); } } } function changearrayinsurance(cname) { jquery("#cityid").value = ""; if(cname == "其它") { var isexist = false; var insurancemaxsum = 0,fundmaxsum = 0,insurancemaxcount = 0; for(var i = 1; i < groups.length; i++) {//区域 cities for(var j = 0; j < groups[i].length; j++) {//城市 city id,name,tax if(groups[i][j].name != "北京" && groups[i][j].name != "上海" && groups[i][j].name != "深圳" && groups[i][j].name != "广州" && groups[i][j].name != "其它") { insurancemaxsum += groups[i][j].tax.insurancemax; fundmaxsum += groups[i][j].tax.fundmax; insurancemaxcount++; } if(groups[i][j].name == cname) { isexist = true; jquery("#cityid").value = groups[i][j].id; arrayinsurance = groups[i][j].tax; } } } } else { for(var i = 0; i < groups.length; i++) {//区域 cities if(isexist) { break; } for(var j = 0; j < groups[i].length; j++) {//城市 city id,name,tax if(groups[i][j].name == cname) { isexist = true; jquery("#cityid").value = groups[i][j].id; arrayinsurance = groups[i][j].tax; break; } } } } if(!isexist) { if($("#taxtype").val() == "0") { initialvalue(arraynull); } var m_sb = new stringbuilder(); m_sb.append("
"); m_sb.append("
"); m_sb.append("系统提示"); m_sb.append("关闭"); m_sb.append("
"); m_sb.append("
请选择正确的城市!
"); m_sb.append("
"); m_sb.append("
"); $("#mbcontent").html(m_sb.tostring()); showmengban(); $("#btnok").focus(); return; } if(cname == "其它") { arrayinsurance.insurancemax = (insurancemaxsum/insurancemaxcount).tofixed(2); arrayinsurance.fundmax = (fundmaxsum/insurancemaxcount).tofixed(2); } initialvalue(arrayinsurance); if($("#taxtype").val() == "0") { if(payrolltype == 1) { if(jquery.trim($("#salary").val()) != "") { calculatetaxes();//税前推税后 } } else if(payrolltype == -1) { if(jquery.trim($("#aftertax").val()) != "") { calculateaftertax();//税后推税前 } } } else { $("#wagesavg").val( (parsefloat(arrayinsurance.insurancemax) * 12 / 3).tofixed(0) ); if(jquery.trim($("#compensationtax").val()) != "") { calculatetaxcompensation( 0 ); } } } function calculatetax() { payrolltype = 1; savedb = 1; chkfloat($("#salary")[0]); if(jquery.trim($("#city").val()) != "") { if(jquery.trim($("#salary").val()) != "") { calculatetaxes();//税前推税后 } else { var m_sb = new stringbuilder(); m_sb.append("
"); m_sb.append("
"); m_sb.append("系统提示"); m_sb.append("关闭"); m_sb.append("
"); m_sb.append("
请输入税前月收入!
"); m_sb.append("
"); m_sb.append("
"); $("#mbcontent").html(m_sb.tostring()); showmengban(); $("#btnok").focus(); } } else { changethiscity(); } } function salarykeydown(event) { if(event.keycode == 13) { savedb = 1; calculatetax(); } else { payrolltype = 0; chkfloatkeyup($("#salary")[0]); var salary = jquery.trim($("#salary").val()) == "" ? "0" : jquery.trim($("#salary").val());//税前收入 var insurancemax = jquery.trim($("#insurancemax").val()) != "" ? jquery.trim($("#insurancemax").val()) : "0"; var insurancebase = 0; if(insurancebasetype == 0) { insurancebase = parseint(salary,10) < parseint(insurancemax,10) ? parseint(salary,10) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parseint(salary,10)); if(insurancebase < insurancemin) { insurancebase = insurancemin; } $("#insurancebase").val(insurancebase); } else { insurancebase = jquery.trim($("#insurancebase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#insurancebase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#insurancebase").val()))); } var fundbase = 0; if(fundbasetype == 0) { fundbase = parseint(salary,10) < parseint(insurancemax,10) ? parseint(salary,10) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parseint(salary,10)); if(fundbase < minwage) { fundbase = minwage; } $("#fundbase").val(fundbase); } else { fundbase = jquery.trim($("#fundbase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#fundbase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#fundbase").val()))); } // var fundbase = insurancebase; //个人部分 var salaryfloat = parsefloat(salary); var pension = jquery.trim($("#pension").val()) != "" ? parsefloat(jquery.trim($("#pension").val())) : 0; var medicare = jquery.trim($("#medicare").val()) != "" ? parsefloat(jquery.trim($("#medicare").val())) : 0; var unemploymentinsurance = jquery.trim($("#unemploymentinsurance").val()) != "" ? parsefloat(jquery.trim($("#unemploymentinsurance").val())) : 0; var fund = jquery.trim($("#fund").val()) != "" ? parsefloat(jquery.trim($("#fund").val())) : 0; var threshold = jquery.trim($("#threshold").val()) != "" ? parsefloat(jquery.trim($("#threshold").val())) : 0; $("#pensionspan").html((insurancebase * pension / 100).tofixed(2)); var medicarebase = insurancebase < medicaremin ? medicaremin : insurancebase; $("#medicarespan").html((medicarebase * medicare / 100 + medicareplan).tofixed(2)); $("#unemploymentinsurancespan").html( (insurancebase * unemploymentinsurance / 100).tofixed(2) ); $("#fundspan").html( (fundbase * fund / 100).tofixed(2) ); $("#personaltotal").html( (parsefloat(jquery.trim($("#pensionspan").html())) + parsefloat(jquery.trim($("#medicarespan").html())) + parsefloat(jquery.trim($("#unemploymentinsurancespan").html())) + parsefloat(jquery.trim($("#fundspan").html()))).tofixed(2) ); var taxsalary = parsefloat(salaryfloat-parsefloat($("#personaltotal").html()).tofixed(2)).tofixed(0); $("#taxsalary").val(taxsalary > 0?taxsalary:0); $("#pretaxtotal").html( ((salaryfloat - parsefloat(jquery.trim($("#personaltotal").html())) - threshold) < 0 ? 0 : salaryfloat - parsefloat(jquery.trim($("#personaltotal").html())) - threshold).tofixed(2) ); var taxspan = getshuiji((salaryfloat - parsefloat(jquery.trim($("#personaltotal").html()))).tofixed(2),threshold); $("#tax").val( "" ); $("#aftertax").val(""); $("#oldaftertax").val(""); $("#oldtax").val(""); $("#taxdiffer").val(""); } } function aftertaxkeydown(event) { if(event.keycode==13) { savedb = 1; calculateaftertax1(); } else { payrolltype = 0; chkfloatkeyup($("#aftertax")[0]); var aftertax = jquery.trim($("#aftertax").val()) == "" ? "0" : jquery.trim($("#aftertax").val());//税后收入 var aftertaxfloat = parsefloat(aftertax); var insurancemax = jquery.trim($("#insurancemax").val()) != "" ? jquery.trim($("#insurancemax").val()) : "0"; var fundmax = insurancemax; //个人部分 var pension = jquery.trim($("#pension").val()) != "" ? parsefloat(jquery.trim($("#pension").val())) : 0; var medicare = jquery.trim($("#medicare").val()) != "" ? parsefloat(jquery.trim($("#medicare").val())) : 0; var unemploymentinsurance = jquery.trim($("#unemploymentinsurance").val()) != "" ? parsefloat(jquery.trim($("#unemploymentinsurance").val())) : 0; var fund = jquery.trim($("#fund").val()) != "" ? parsefloat(jquery.trim($("#fund").val())) : 0; var threshold = jquery.trim($("#threshold").val()) != "" ? parsefloat(jquery.trim($("#threshold").val())) : 0; var salaryfloat = getsalary(aftertaxfloat,threshold,(pension + medicare + unemploymentinsurance )/100, fund/100,insurancemax,fundmax); //$("#salary")[0].value = parsefloat(salaryfloat).tofixed(0); var insurancebase = 0; if(insurancebasetype == 0) { insurancebase = parseint(salaryfloat,10) < parseint(insurancemax,10) ? parseint(salaryfloat,10) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parseint(salaryfloat,10)); if(insurancebase < insurancemin) { insurancebase = insurancemin; } $("#insurancebase").val(insurancebase); } else { insurancebase = jquery.trim($("#insurancebase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#insurancebase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#insurancebase").val()))); } var fundbase = 0; if(fundbasetype == 0) { fundbase = parseint(salaryfloat,10) < parseint(insurancemax,10) ? parseint(salaryfloat,10) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parseint(salaryfloat,10)); if(fundbase < minwage) { fundbase = minwage; } $("#fundbase").val(fundbase); } else { fundbase = jquery.trim($("#fundbase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#fundbase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#fundbase").val()))); } // var fundbase = insurancebase; //个人部分 $("#pensionspan").html( (insurancebase * pension / 100).tofixed(2) ); var medicarebase = insurancebase < medicaremin ? medicaremin : insurancebase; $("#medicarespan").html((medicarebase * medicare / 100 + medicareplan).tofixed(2)); $("#unemploymentinsurancespan").html( (insurancebase * unemploymentinsurance / 100).tofixed(2) ); $("#fundspan").html( (fundbase * fund / 100).tofixed(2) ); $("#personaltotal").html( (parsefloat(jquery.trim($("#pensionspan").html())) + parsefloat(jquery.trim($("#medicarespan").html())) + parsefloat(jquery.trim($("#unemploymentinsurancespan").html())) + parsefloat(jquery.trim($("#fundspan").html()))).tofixed(2) ); $("#pretaxtotal").html( ((salaryfloat - parsefloat(jquery.trim($("#personaltotal").html())) - threshold) < 0 ? 0 : salaryfloat - parsefloat(jquery.trim($("#personaltotal").html())) - threshold).tofixed(2) ); var taxspan = getshuiji((salaryfloat - parsefloat(jquery.trim($("#personaltotal").html()))).tofixed(2),threshold); $("#tax").val("");//taxspan; $("#salary").val("");//parsefloat(salaryfloat).tofixed(0); $("#taxsalary").val(""); $("#oldaftertax").val(""); $("#oldtax").val(""); $("#taxdiffer").val(""); } } function insurancebasekeyup(obj) { insurancebasetype = 1; salarydetailkeyup(obj) } function fundbasekeyup(obj) { fundbasetype = 1; salarydetailkeyup(obj) } function salarydetailkeyup(obj) { chkfloatkeyup(obj); if(payrolltype != -1) //税前推税后 { chkfloat($("#salary")[0]); var salary = jquery.trim($("#salary").val()) != "" ? jquery.trim($("#salary").val()) : "0";//税前收入 var insurancemax = jquery.trim($("#insurancemax").val()) != "" ? jquery.trim($("#insurancemax").val()) : "0"; var insurancebase = 0; if(insurancebasetype == 0) { insurancebase = parseint(salary,10) < parseint(insurancemax,10) ? parseint(salary,10) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parseint(salary,10)); if(insurancebase < insurancemin) { insurancebase = insurancemin; } $("#insurancebase").val( insurancebase ); } else { insurancebase = jquery.trim($("#insurancebase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#insurancebase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#insurancebase").val()))); } var fundbase = 0; if(fundbasetype == 0) { fundbase = parseint(salary,10) < parseint(insurancemax,10) ? parseint(salary,10) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parseint(salary,10)); if(fundbase < minwage) { fundbase = minwage; } $("#fundbase").val( fundbase ); } else { fundbase = jquery.trim($("#fundbase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#fundbase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#fundbase").val()))); } // var fundbase = insurancebase; //个人部分 var salaryfloat = parsefloat(salary); var pension = jquery.trim($("#pension").val()) != "" ? parsefloat(jquery.trim($("#pension").val())) : 0; var medicare = jquery.trim($("#medicare").val()) != "" ? parsefloat(jquery.trim($("#medicare").val())) : 0; var unemploymentinsurance = jquery.trim($("#unemploymentinsurance").val()) != "" ? parsefloat(jquery.trim($("#unemploymentinsurance").val())) : 0; var fund = jquery.trim($("#fund").val()) != "" ? parsefloat(jquery.trim($("#fund").val())) : 0; var threshold = jquery.trim($("#threshold").val()) != "" ? parsefloat(jquery.trim($("#threshold").val())) : 0; $("#pensionspan").html( (insurancebase * pension / 100).tofixed(2) ); var medicarebase = insurancebase < medicaremin ? medicaremin : insurancebase; $("#medicarespan").html((medicarebase * medicare / 100 + medicareplan).tofixed(2)); $("#unemploymentinsurancespan").html( (insurancebase * unemploymentinsurance / 100).tofixed(2) ); $("#fundspan").html( (fundbase * fund / 100).tofixed(2) ); $("#personaltotal").html( (parsefloat(jquery.trim($("#pensionspan").html())) + parsefloat(jquery.trim($("#medicarespan").html())) + parsefloat(jquery.trim($("#unemploymentinsurancespan").html())) + parsefloat(jquery.trim($("#fundspan").html()))).tofixed(2) ); var taxsalary = parsefloat(salaryfloat-parsefloat($("#personaltotal").html()).tofixed(2)).tofixed(0); $("#taxsalary").val(taxsalary > 0?taxsalary:0); if(salaryfloat < parsefloat(jquery.trim($("#personaltotal").html())) ) { var m_sb = new stringbuilder(); m_sb.append("
"); m_sb.append("
"); m_sb.append("系统提示"); m_sb.append("关闭"); m_sb.append("
"); m_sb.append("
工资真的这么少吗?
"); m_sb.append("
"); m_sb.append("
"); $("#mbcontent").html(m_sb.tostring()); showmengban(); $("#btnok").focus(); savedb = 0; $("#aftertax").val(""); $("#tax").val(""); return; } else { $("#pretaxtotal").html( ((salaryfloat - parsefloat(jquery.trim($("#personaltotal").html())) - threshold) < 0 ? 0 : salaryfloat - parsefloat(jquery.trim($("#personaltotal").html())) - threshold).tofixed(2) ); var taxspan = getshuiji((salaryfloat - parsefloat(jquery.trim($("#personaltotal").html()))).tofixed(2),threshold); if(payrolltype == 1) { $("#tax").val( taxspan ); $("#aftertax").val( (salaryfloat - parsefloat(jquery.trim($("#personaltotal").html())) - taxspan).tofixed(0) ); //新增 var taxspanold = getshuijiold((salaryfloat - parsefloat(jquery.trim($("#personaltotal").html()))).tofixed(2), 2000); var aftertaxold =(salaryfloat - parsefloat(jquery.trim($("#personaltotal").html())) - taxspanold).tofixed(0); $("#oldtax").val(taxspanold); $("#oldaftertax").val(aftertaxold); $("#taxdiffer").val((taxspanold-taxspan).tofixed(2)); } else { $("#tax").val(""); $("#aftertax").val(""); } } } else if( payrolltype == -1 ) //税后推税前 { chkfloat($("#aftertax")[0]); var aftertax = jquery.trim($("#aftertax").val()) == "" ? "0" : jquery.trim($("#aftertax").val());//税后收入 var aftertaxfloat = parsefloat(aftertax); var insurancemax = jquery.trim($("#insurancemax").val()) != "" ? jquery.trim($("#insurancemax").val()) : "0"; var fundmax = insurancemax; //个人部分 var pension = jquery.trim($("#pension").val()) != "" ? parsefloat(jquery.trim($("#pension").val())) : 0; var medicare = jquery.trim($("#medicare").val()) != "" ? parsefloat(jquery.trim($("#medicare").val())) : 0; var unemploymentinsurance = jquery.trim($("#unemploymentinsurance").val()) != "" ? parsefloat(jquery.trim($("#unemploymentinsurance").val())) : 0; var fund = jquery.trim($("#fund").val()) != "" ? parsefloat(jquery.trim($("#fund").val())) : 0; var threshold = jquery.trim($("#threshold").val()) != "" ? parsefloat(jquery.trim($("#threshold").val())) : 0; var salaryfloat = getsalary(aftertaxfloat,threshold,(pension + medicare + unemploymentinsurance )/100, fund/100,parseint(insurancemax,10),fundmax); $("#salary").val( parsefloat(salaryfloat).tofixed(0) ); if(parsefloat(salaryfloat) < minwage) { var m_sb = new stringbuilder(); m_sb.append("
"); m_sb.append("
"); m_sb.append("系统提示"); m_sb.append("关闭"); m_sb.append("
"); m_sb.append("
还不到当地最低工资哦!
"); m_sb.append("
"); m_sb.append("
"); $("#mbcontent").html(m_sb.tostring()); showmengban(); $("#btnok").focus(); } var insurancebase = 0; if(insurancebasetype == 0) { insurancebase = parseint(salaryfloat,10) < parseint(insurancemax,10) ? parseint(salaryfloat,10) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parseint(salaryfloat,10)); if(insurancebase < insurancemin) { insurancebase < insurancemin; } $("#insurancebase").val( insurancebase ); } else { insurancebase = jquery.trim($("#insurancebase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#insurancebase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#insurancebase").val()))); } var fundbase = 0; if(fundbasetype == 0) { fundbase = parseint(salaryfloat,10) < parseint(insurancemax,10) ? parseint(salaryfloat,10) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parseint(salaryfloat,10)); if(fundbase < minwage) { fundbase = minwage; } $("#fundbase").val( fundbase ); } else { fundbase = jquery.trim($("#fundbase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#fundbase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#fundbase").val()))); } // var fundbase = insurancebase; //个人部分 $("#pensionspan").html( (insurancebase * pension / 100).tofixed(2) ); var medicarebase = insurancebase < medicaremin ? medicaremin : insurancebase; $("#medicarespan").html((medicarebase * medicare / 100 + medicareplan).tofixed(2)); $("#unemploymentinsurancespan").html( (insurancebase * unemploymentinsurance / 100).tofixed(2) ); $("#fundspan").html( (fundbase * fund / 100).tofixed(2) ); $("#personaltotal").html( (parsefloat(jquery.trim($("#pensionspan").html())) + parsefloat(jquery.trim($("#medicarespan").html())) + parsefloat(jquery.trim($("#unemploymentinsurancespan").html())) + parsefloat(jquery.trim($("#fundspan").html()))).tofixed(2) ); $("#pretaxtotal").html( ((salaryfloat - parsefloat(jquery.trim($("#personaltotal").html())) - threshold) < 0 ? 0 : salaryfloat - parsefloat(jquery.trim($("#personaltotal").html())) - threshold).tofixed(2) ); var taxspan = getshuiji((salaryfloat - parsefloat(jquery.trim($("#personaltotal").html()))).tofixed(2),threshold); $("#tax").val( taxspan ); $("#salary").val( parsefloat(salaryfloat).tofixed(0) ); $("#oldtax").val(""); $("#oldaftertax").val(""); $("#taxdiffer").val(""); var taxsalary = parsefloat(salaryfloat-parsefloat(jquery.trim($("#personaltotal").html())).tofixed(2)).tofixed(0); $("#taxsalary").val(taxsalary > 0?taxsalary:0); } } function funddetailkeyup(obj) { $("#fundfirm").val( jquery.trim($("#fund").val()) ); salarydetailkeyup(obj); } function fundfirmdetailkeyup(obj) { $("#fund").val( jquery.trim($("#fundfirm").val()) ); salarydetailkeyup(obj); } function calculatetaxes()//税前推税后 { if(jquery.trim($("#city").val()) == "" || jquery.trim($("#city").val()) == "请选择城市") { showcitydivbox(); return; } var salary = jquery.trim($("#salary").val());//税前收入 if(salary == "") { var m_sb = new stringbuilder(); m_sb.append("
"); m_sb.append("
"); m_sb.append("系统提示"); m_sb.append("关闭"); m_sb.append("
"); m_sb.append("
请输入税前月收入!
"); m_sb.append("
"); m_sb.append("
"); $("#mbcontent").html( m_sb.tostring() ); showmengban(); $("#btnok").focus(); } else if(parsefloat(salary) < minwage && minwage > 0) { var m_sb = new stringbuilder(); m_sb.append("
"); m_sb.append("
"); m_sb.append("系统提示"); m_sb.append("关闭"); m_sb.append("
"); m_sb.append("
还不到当地最低工资哦!
"); m_sb.append("
"); m_sb.append("
"); $("#mbcontent").html( m_sb.tostring() ); showmengban(); $("#btnok").focus(); } else { iscalculate = 0; var insurancebase = 0; var insurancemax = jquery.trim($("#insurancemax").val()) != "" ? jquery.trim($("#insurancemax").val()) : "0"; if(insurancebasetype == 0) { insurancebase = parseint(salary,10) < parseint(insurancemax,10) ? parseint(salary,10) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parseint(salary,10)); if( insurancebase < insurancemin ) { insurancebase = insurancemin; } $("#insurancebase").val( insurancebase ); } else { insurancebase = jquery.trim($("#insurancebase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#insurancebase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#insurancebase").val()))); } var fundbase = 0; if(fundbasetype == 0) { fundbase = parseint(salary,10) < parseint(insurancemax,10) ? parseint(salary,10) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parseint(salary,10)); if(fundbase < minwage) { fundbase = minwage; } $("#fundbase").val( fundbase ); } else { fundbase = jquery.trim($("#fundbase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#fundbase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#fundbase").val()))); } // var fundbase = insurancebase; //个人部分 var salaryfloat = parsefloat(salary); var pension = jquery.trim($("#pension").val()) != "" ? parsefloat(jquery.trim($("#pension").val())) : 0; var medicare = jquery.trim($("#medicare").val()) != "" ? parsefloat(jquery.trim($("#medicare").val())) : 0; var unemploymentinsurance = jquery.trim($("#unemploymentinsurance").val()) != "" ? parsefloat(jquery.trim($("#unemploymentinsurance").val())) : 0; var fund = jquery.trim($("#fund").val()) != "" ? parsefloat(jquery.trim($("#fund").val())) : 0; var threshold = jquery.trim($("#threshold").val()) != "" ? parsefloat(jquery.trim($("#threshold").val())) : 0; $("#pensionspan").html( (insurancebase * pension / 100).tofixed(2) ); var medicarebase = insurancebase < medicaremin ? medicaremin : insurancebase; $("#medicarespan").html((medicarebase * medicare / 100 + medicareplan).tofixed(2)); $("#unemploymentinsurancespan").html( (insurancebase * unemploymentinsurance / 100).tofixed(2) ); $("#fundspan").html( (fundbase * fund / 100).tofixed(2) ); $("#personaltotal").html( (parsefloat(jquery.trim($("#pensionspan").html())) + parsefloat(jquery.trim($("#medicarespan").html())) + parsefloat(jquery.trim($("#unemploymentinsurancespan").html())) + parsefloat(jquery.trim($("#fundspan").html()))).tofixed(2) ); var taxsalary = parsefloat(salaryfloat-parsefloat($("#personaltotal").html()).tofixed(2)).tofixed(0); $("#taxsalary").val(taxsalary > 0?taxsalary:0); if( salaryfloat <= parsefloat($("#personaltotal").html()) ) { var m_sb = new stringbuilder(); m_sb.append("
"); m_sb.append("
"); m_sb.append("系统提示"); m_sb.append("关闭"); m_sb.append("
"); m_sb.append("
工资真的这么少吗?
"); m_sb.append("
"); m_sb.append("
"); $("#mbcontent").html(m_sb.tostring()); showmengban(); $("#btnok").focus(); savedb = 0; $("#aftertax").val(""); $("#tax").val(""); return; } $("#pretaxtotal").html( ((salaryfloat - parsefloat(jquery.trim($("#personaltotal").html())) - threshold) < 0 ? 0 : salaryfloat - parsefloat(jquery.trim($("#personaltotal").html())) - threshold).tofixed(2) ); var taxspan = getshuiji((salaryfloat - parsefloat(jquery.trim($("#personaltotal").html()))).tofixed(2),threshold); $("#tax").val( taxspan ); $("#aftertax").val( (salaryfloat - parsefloat(jquery.trim($("#personaltotal").html())) - taxspan).tofixed(0) ); //新增 var taxspanold = getshuijiold((salaryfloat - parsefloat(jquery.trim($("#personaltotal").html()))).tofixed(2), 2000); var aftertaxold =(salaryfloat - parsefloat(jquery.trim($("#personaltotal").html())) - taxspanold).tofixed(0); $("#oldtax").val(taxspanold); $("#oldaftertax").val(aftertaxold); $("#taxdiffer").val((taxspanold-taxspan).tofixed(2)); } } function calculateaftertax1() { savedb = 1; payrolltype = -1; if( jquery.trim($("#city").val()) == "" || jquery.trim($("#city").val()) == "请选择城市") { initialvalue(arraynull); showcitydivbox(); } else { if(jquery.trim($("#aftertax").val()) != "") { calculateaftertax();//税后推税前 } else { var m_sb = new stringbuilder(); m_sb.append("
"); m_sb.append("
"); m_sb.append("系统提示"); m_sb.append("关闭"); m_sb.append("
"); m_sb.append("
请输入税后月收入!
"); m_sb.append("
"); m_sb.append("
"); $("#mbcontent").html( m_sb.tostring() ); showmengban(); $("#btnok").focus(); } } } function calculateaftertax()//税后推税前 { if(jquery.trim($("#city").val()) == "" || jquery.trim($("#city").val()) == "请选择城市") { showcitydivbox(); return; } var aftertax = jquery.trim($("#aftertax").val());//税后收入 if(aftertax == "") { var m_sb = new stringbuilder(); m_sb.append("
"); m_sb.append("
"); m_sb.append("系统提示"); m_sb.append("关闭"); m_sb.append("
"); m_sb.append("
请输入税后月收入!
"); m_sb.append("
"); m_sb.append("
"); $("#mbcontent").html( m_sb.tostring() ); showmengban(); $("#btnok").focus(); } else { var aftertaxfloat = parsefloat(aftertax); var insurancemax = jquery.trim($("#insurancemax").val()) != "" ? jquery.trim($("#insurancemax").val()) : "0"; var fundmax = insurancemax; //个人部分 var pension = jquery.trim($("#pension").val()) != "" ? parsefloat(jquery.trim($("#pension").val())) : 0; var medicare = jquery.trim($("#medicare").val()) != "" ? parsefloat(jquery.trim($("#medicare").val())) : 0; var unemploymentinsurance = jquery.trim($("#unemploymentinsurance").val()) != "" ? parsefloat(jquery.trim($("#unemploymentinsurance").val())) : 0; var fund = jquery.trim($("#fund").val()) != "" ? parsefloat(jquery.trim($("#fund").val())) : 0; var threshold = jquery.trim($("#threshold").val()) != "" ? parsefloat(jquery.trim($("#threshold").val())) : 0; var salaryfloat = getsalary(aftertaxfloat,threshold,(pension + medicare + unemploymentinsurance )/100, fund/100,parseint(insurancemax,10),fundmax); if(parsefloat(salaryfloat) < minwage) { var m_sb = new stringbuilder(); m_sb.append("
"); m_sb.append("
"); m_sb.append("系统提示"); m_sb.append("关闭"); m_sb.append("
"); m_sb.append("
还不到当地最低工资哦!
"); m_sb.append("
"); m_sb.append("
"); $("#mbcontent").html(m_sb.tostring()); showmengban(); $("#btnok").focus(); } var insurancebase = 0; if(insurancebasetype == 0) { insurancebase = parsefloat(salaryfloat).tofixed(0) < parseint(insurancemax,10) ? parsefloat(salaryfloat).tofixed(0) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parsefloat(salaryfloat).tofixed(0)); if(insurancebase < insurancemin) { insurancebase = insurancemin } $("#insurancebase").val( insurancebase ); } else { insurancebase = jquery.trim($("#insurancebase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#insurancebase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#insurancebase").val()))); } var fundbase = 0; if(fundbasetype == 0) { fundbase = parsefloat(salaryfloat).tofixed(0) < parseint(insurancemax,10) ? parsefloat(salaryfloat).tofixed(0) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parsefloat(salaryfloat).tofixed(0)); if(fundbase < minwage) { fundbase = minwage; } $("#fundbase").val( fundbase ); } else { fundbase = jquery.trim($("#fundbase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#fundbase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#fundbase").val()))); } // var fundbase = insurancebase; //个人部分 $("#pensionspan").html( (insurancebase * pension / 100).tofixed(2) ); var medicarebase = insurancebase < medicaremin ? medicaremin : insurancebase; $("#medicarespan").html((medicarebase * medicare / 100 + medicareplan).tofixed(2)); $("#unemploymentinsurancespan").html( (insurancebase * unemploymentinsurance / 100).tofixed(2) ); $("#fundspan").html( (fundbase * fund / 100).tofixed(2) ); $("#personaltotal").html( (parsefloat(jquery.trim($("#pensionspan").html())) + parsefloat(jquery.trim($("#medicarespan").html())) + parsefloat(jquery.trim($("#unemploymentinsurancespan").html())) + parsefloat(jquery.trim($("#fundspan").html()))).tofixed(2) ); $("#pretaxtotal").html( ((salaryfloat - parsefloat(jquery.trim($("#personaltotal").html())) - threshold) < 0 ? 0 : salaryfloat - parsefloat(jquery.trim($("#personaltotal").html())) - threshold).tofixed(2) ); var taxspan = getshuiji((salaryfloat - parsefloat(jquery.trim($("#personaltotal").html()))).tofixed(2),threshold); $("#tax").val( taxspan ); $("#salary").val( parsefloat(salaryfloat).tofixed(0) ); var taxsalary = parsefloat(salaryfloat-parsefloat($("#personaltotal").html()).tofixed(2)).tofixed(0); $("#taxsalary").val(taxsalary > 0?taxsalary:0); } } function salaryreset() { payrolltype = 0;// 0 默认 、 1 税前推税后 、 -1 税后推税前 insurancebasetype = 0; fundbasetype = 0; payrollcalculatereset(); $("#city").val( "请选择城市" ); initialvalue(arraynull); } function salarydetailclick() { if($("#domestic").attr("checked")) { $("#threshold").val( _threshold ); } else { $("#threshold").val( "4800" ); } salarydetailkeyup($("#threshold")[0]); } function payrollcalculatereset() { $("#tax").val(""); $("#personaltotal").html(""); $("#taxsalary").val(""); $("#pretaxtotal").html(""); $("#pension").val(""); $("#pensionspan").html(""); $("#medicare").val(""); $("#medicarespan").html(""); $("#unemploymentinsurance").val(""); $("#unemploymentinsurancespan").html(""); $("#fund").val(""); $("#fundspan").html(""); $("#insurancebase").val(""); $("#fundbase").val(""); $("#insurancemax").val(""); $("#threshold").val(_threshold); $("#aftertax").val("");//税后 $("#salary").val("");// $("#domestic").attr("checked",true); $("#overseas").attr("checked",false); } function otherrapidreset() { $("#otherbeforetax").val(""); $("#otheraftertax").val(""); $("#othertax").val(""); } //----------------------------------- 工资、薪金、社保 — 年薪制 --------------------------------------- //----------------------- 简化版 开始 function simplifiedsalarykeydown(event) { if(event.keycode == 13) { simplifiedcalculatesalary(); } else { chkfloatkeyup($("#simplifiedsalary")[0]); $("#simplifiedaftertax").val(""); $("#simplifiedtax").val(""); } } function simplifiedcalculatesalary() { chkfloat($("#simplifiedsalary")[0]); var simplifiedsalary = jquery.trim($("#simplifiedsalary").val()); if(simplifiedsalary == "") { var m_sb = new stringbuilder(); m_sb.append("
"); m_sb.append("
"); m_sb.append("系统提示"); m_sb.append("关闭"); m_sb.append("
"); m_sb.append("
请输入税前月收入!
"); m_sb.append("
"); m_sb.append("
"); $("#mbcontent").html( m_sb.tostring() ); showmengban(); $("#btnok")[0].focus(); } else { simplifiedsalary = parsefloat(simplifiedsalary); var simplifiedinsurance = jquery.trim($("#simplifiedinsurance").val()) == "" ? 0 : parsefloat(jquery.trim($("#simplifiedinsurance").val())); var simplifiedthreshold = jquery.trim($("#simplifiedthreshold").val()) == "" ? 0 : parsefloat(jquery.trim($("#simplifiedthreshold").val())); var taxvalue = getshuiji(simplifiedsalary - simplifiedinsurance , simplifiedthreshold); $("#simplifiedaftertax").val(simplifiedsalary - simplifiedinsurance - taxvalue); $("#simplifiedtax").val(taxvalue); //app.dbappendother(simplifiedsalary, 0, 14); } } function simplifiedaftertaxkeydown(event) { if(event.keycode == 13) { simplifiedcalculateaftertax(); } else { chkfloatkeyup($("#simplifiedaftertax")[0]); $("#simplifiedsalary").val(""); $("#simplifiedtax").val(""); } } function simplifiedcalculateaftertax() { chkfloat($("#simplifiedaftertax")[0]); var simplifiedaftertax = jquery.trim($("#simplifiedaftertax").val()); if(simplifiedaftertax == "") { var m_sb = new stringbuilder(); m_sb.append("
"); m_sb.append("
"); m_sb.append("系统提示"); m_sb.append("关闭"); m_sb.append("
"); m_sb.append("
请输入税后月收入!
"); m_sb.append("
"); m_sb.append("
"); $("#mbcontent").html( m_sb.tostring() ); showmengban(); $("#btnok").focus(); } else { simplifiedaftertax = parsefloat(simplifiedaftertax); var simplifiedinsurance = jquery.trim($("#simplifiedinsurance").val()) == "" ? 0 : parsefloat(jquery.trim($("#simplifiedinsurance").val())); var simplifiedthreshold = jquery.trim($("#simplifiedthreshold").val()) == "" ? 0 : parsefloat(jquery.trim($("#simplifiedthreshold").val())); var simplifiedsalary = getsimplifiedsalary(simplifiedaftertax,simplifiedthreshold,simplifiedinsurance); var taxvalue = getshuiji(simplifiedsalary - simplifiedinsurance , simplifiedthreshold); $("#simplifiedsalary").val(simplifiedsalary); $("#simplifiedtax").val(taxvalue); //app.dbappendother(simplifiedaftertax, 1, 14); } } function simplifiedtaxkeydown(event) { if(event.keycode == 13) { simplifiedcalculatetax(); } else { chkfloatkeyup($("#simplifiedtax")[0]); $("#simplifiedsalary").val(""); $("#simplifiedaftertax").val(""); } } function simplifiedcalculatetax() { chkfloat($("#simplifiedtax")[0]); var simplifiedtax = jquery.trim($("#simplifiedtax").val()); if(simplifiedtax == "") { var m_sb = new stringbuilder(); m_sb.append("
"); m_sb.append("
"); m_sb.append("系统提示"); m_sb.append("关闭"); m_sb.append("
"); m_sb.append("
请输入缴纳个税!
"); m_sb.append("
"); m_sb.append("
"); $("#mbcontent").html( m_sb.tostring() ); showmengban(); $("#btnok").focus(); } else { simplifiedtax = parsefloat(simplifiedtax); var simplifiedinsurance = jquery.trim($("#simplifiedinsurance").val()) == "" ? 0 : parsefloat(jquery.trim($("#simplifiedinsurance").val())); var simplifiedthreshold = jquery.trim($("#simplifiedthreshold").val()) == "" ? 0 : parsefloat(jquery.trim($("#simplifiedthreshold").val())); var simplifiedsalary = getsimplifiedsalarybytax(simplifiedtax,simplifiedthreshold,simplifiedinsurance); $("#simplifiedsalary").val(simplifiedsalary); $("#simplifiedaftertax").val((simplifiedsalary - simplifiedinsurance - simplifiedtax).tofixed(2)); //app.dbappendother(simplifiedtax, 2, 14); } } //----------------------- 简化版 结束 function getshuiji(salario,threshold) { if(salario < threshold) { return 0; } else { var salariov = salario - threshold; if(salariov <= 1500) { return (salariov * 0.03).tofixed(2); } else if(salariov > 1500 && salariov <= 4500) { return (salariov * 0.1 - 105).tofixed(2); } else if(salariov > 4500 && salariov <= 9000) { return (salariov * 0.2 - 555).tofixed(2); } else if(salariov > 9000 && salariov <= 35000) { return (salariov * 0.25 - 1005).tofixed(2); } else if(salariov > 35000 && salariov <= 55000) { return (salariov * 0.3 - 2755).tofixed(2); } else if(salariov > 55000 && salariov <= 80000) { return (salariov * 0.35 - 5505).tofixed(2); } else if(salariov > 80000) { return (salariov * 0.45 - 13505).tofixed(2); } } } function getshuijiold(salario,threshold) { if(salario < threshold) { return 0; } else { var salariov = salario - threshold; if(salariov <= 500) { return (salariov * 0.05).tofixed(2); } else if(salariov > 500 && salariov <= 2000) { return (salariov * 0.1 - 25).tofixed(2); } else if(salariov > 2000 && salariov <= 5000) { return (salariov * 0.15 - 125).tofixed(2); } else if(salariov > 5000 && salariov <= 20000) { return (salariov * 0.20 - 375).tofixed(2); } else if(salariov > 20000 && salariov <= 40000) { return (salariov * 0.25 - 1375).tofixed(2); } else if(salariov > 40000 && salariov <= 60000) { return (salariov * 0.30 - 3375).tofixed(2); } else if(salariov > 60000 && salariov <= 80000) { return (salariov * 0.35 - 6375).tofixed(2); } else if(salariov > 80000 && salariov <= 100000) { return (salariov * 0.40 - 10375).tofixed(2); } else if(salariov > 100000) { return (salariov * 0.45 - 15375).tofixed(2); } } } function getsalary(aftertaxfloat,threshold,percentageinsurance,percentagefund,insurancemax,fundmax) { var fundbase = 0.0, insurancebase = 0.0, thisinsurance = 0.0, thisfund = 0.0, salaryfloat = 0.0; if(aftertaxfloat < threshold) { insurancebase = (aftertaxfloat + medicareplan) / (1 - (percentageinsurance + percentagefund)); fundbase = insurancebase; if(insurancebasetype == 0) { if(insurancebase < insurancemin) { insurancebase = insurancemin; } } else { insurancebase = jquery.trim($("#insurancebase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#insurancebase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#insurancebase").val()))); } if(fundbasetype == 0) { if(fundbase < minwage) { fundbase = minwage; } } else { fundbase = jquery.trim($("#fundbase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#fundbase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#fundbase").val()))); } thisinsurance = insurancebase * percentageinsurance + medicareplan; thisfund = fundbase * percentagefund; salaryfloat = (aftertaxfloat + thisinsurance + thisfund) if(salaryfloat > insurancebase) { insurancebase = salaryfloat; } if(salaryfloat > fundbase) { fundbase = salaryfloat; } thisinsurance = insurancebase * percentageinsurance + medicareplan; thisfund = fundbase * percentagefund; return (aftertaxfloat + thisinsurance + thisfund); //return (aftertaxfloat + medicareplan) / (1 - (percentageinsurance + percentagefund)); } else { var percentage = percentageinsurance + percentagefund; /////// --------- 3% --------- salaryfloat = ( aftertaxfloat - (threshold * 0.03) + (1-0.03) * medicareplan) / ( 1 - percentage - 0.03 + percentage * 0.03); if(insurancebasetype == 0) { insurancebase = parsefloat(salaryfloat).tofixed(0) < parseint(insurancemax,10) ? parsefloat(salaryfloat).tofixed(0) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parsefloat(salaryfloat).tofixed(0)); if(insurancebase < insurancemin) { insurancebase = insurancemin; } } else { insurancebase = jquery.trim($("#insurancebase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#insurancebase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#insurancebase").val()))); } if(fundbasetype == 0) { fundbase = parsefloat(salaryfloat).tofixed(0) < parseint(insurancemax,10) ? parsefloat(salaryfloat).tofixed(0) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parsefloat(salaryfloat).tofixed(0)); if(fundbase < minwage) { fundbase = minwage; } } else { fundbase = jquery.trim($("#fundbase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#fundbase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#fundbase").val()))); } // fundbase = insurancebase; thisinsurance = insurancebase * percentageinsurance + medicareplan; thisfund = fundbase * percentagefund; if(parseint(insurancebase ,10) != parseint(salaryfloat ,10) || parseint(fundbase ,10) != parseint(salaryfloat ,10)) { salaryfloat = ( aftertaxfloat - (threshold * 0.03) + (thisinsurance + thisfund) * ( 1 - 0.03 ) ) / ( 1 - 0.03 ) } var thisaftertaxfloat = salaryfloat - (thisinsurance + thisfund) - ( salaryfloat - (thisinsurance + thisfund) - threshold ) * 0.03; if(parsefloat(aftertaxfloat).tofixed(0) == parsefloat(thisaftertaxfloat).tofixed(0) && ( salaryfloat - (thisinsurance + thisfund) - threshold ) <= 1500) { return (salaryfloat).tofixed(2); } else {/////////-------------------------- 10% ----------------- salaryfloat = ( aftertaxfloat - 105 - (threshold * 0.10) + (1-0.10) * medicareplan) / ( 1 - percentage - 0.10 + percentage * 0.10); if(insurancebasetype == 0) { insurancebase = parsefloat(salaryfloat).tofixed(0) < parseint(insurancemax,10) ? parsefloat(salaryfloat).tofixed(0) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parsefloat(salaryfloat).tofixed(0)); if(insurancebase < insurancemin) { insurancebase = insurancemin; } } else { insurancebase = jquery.trim($("#insurancebase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#insurancebase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#insurancebase").val()))); } if(fundbasetype == 0) { fundbase = parsefloat(salaryfloat).tofixed(0) < parseint(insurancemax,10) ? parsefloat(salaryfloat).tofixed(0) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parsefloat(salaryfloat).tofixed(0)); if(fundbase < minwage) { fundbase = minwage; } } else { fundbase = jquery.trim($("#fundbase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#fundbase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#fundbase").val()))); } // fundbase = insurancebase; thisinsurance = insurancebase * percentageinsurance + medicareplan; thisfund = fundbase * percentagefund; if(parseint(insurancebase ,10) != parseint(salaryfloat ,10) || parseint(fundbase ,10) != parseint(salaryfloat ,10)) { salaryfloat = ( aftertaxfloat - 105 - (threshold * 0.10) + (thisinsurance + thisfund) * ( 1 - 0.10 ) ) / ( 1 - 0.10 ) } thisaftertaxfloat = salaryfloat - (thisinsurance + thisfund) - ( ( salaryfloat - (thisinsurance + thisfund) - threshold ) * 0.10 - 105 ); if(parsefloat(aftertaxfloat).tofixed(0) == parsefloat(thisaftertaxfloat).tofixed(0) && ( salaryfloat - (thisinsurance + thisfund) - threshold ) > 1500 && ( salaryfloat - (thisinsurance + thisfund) - threshold ) <= 4500) { return (salaryfloat).tofixed(2); } else {////----------------------------- 20% ------------------------ salaryfloat = ( aftertaxfloat - 555 - (threshold * 0.20) + (1-0.20) * medicareplan) / ( 1 - percentage - 0.20 + percentage * 0.20); if(insurancebasetype == 0) { insurancebase = parsefloat(salaryfloat).tofixed(0) < parseint(insurancemax,10) ? parsefloat(salaryfloat).tofixed(0) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parsefloat(salaryfloat).tofixed(0)); if(insurancebase < insurancemin) { insurancebase = insurancemin; } } else { insurancebase = jquery.trim($("#insurancebase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#insurancebase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#insurancebase").val()))); } if(fundbasetype == 0) { fundbase = parsefloat(salaryfloat).tofixed(0) < parseint(insurancemax,10) ? parsefloat(salaryfloat).tofixed(0) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parsefloat(salaryfloat).tofixed(0)); if(fundbase < minwage) { fundbase = minwage; } } else { fundbase = jquery.trim($("#fundbase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#fundbase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#fundbase").val()))); } // fundbase = insurancebase; thisinsurance = insurancebase * percentageinsurance + medicareplan; thisfund = fundbase * percentagefund; if(parseint(insurancebase ,10) != parseint(salaryfloat ,10) || parseint(fundbase ,10) != parseint(salaryfloat ,10)) { salaryfloat = ( aftertaxfloat - 555 - (threshold * 0.20) + (thisinsurance + thisfund) * ( 1 - 0.20 ) ) / ( 1 - 0.20 ) } thisaftertaxfloat = salaryfloat - (thisinsurance + thisfund) - ( ( salaryfloat - (thisinsurance + thisfund) - threshold ) * 0.20 - 555 ); if(parsefloat(aftertaxfloat).tofixed(0) == parsefloat(thisaftertaxfloat).tofixed(0) && ( salaryfloat - (thisinsurance + thisfund) - threshold ) > 4500 && ( salaryfloat - (thisinsurance + thisfund) - threshold ) <= 9000) { return (salaryfloat).tofixed(2); } else {///////////---------------------- 25% ---------------------- salaryfloat = ( aftertaxfloat - 1005 - (threshold * 0.25) + (1-0.25) * medicareplan) / ( 1 - percentage - 0.25 + percentage * 0.25); if(insurancebasetype == 0) { insurancebase = parsefloat(salaryfloat).tofixed(0) < parseint(insurancemax,10) ? parsefloat(salaryfloat).tofixed(0) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parsefloat(salaryfloat).tofixed(0)); if(insurancebase < insurancemin) { insurancebase = insurancemin; } } else { insurancebase = jquery.trim($("#insurancebase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#insurancebase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#insurancebase").val()))); } if(fundbasetype == 0) { fundbase = parsefloat(salaryfloat).tofixed(0) < parseint(insurancemax,10) ? parsefloat(salaryfloat).tofixed(0) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parsefloat(salaryfloat).tofixed(0)); if(fundbase < minwage) { fundbase = minwage; } } else { fundbase = jquery.trim($("#fundbase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#fundbase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#fundbase").val()))); } // fundbase = insurancebase; thisinsurance = insurancebase * percentageinsurance + medicareplan; thisfund = fundbase * percentagefund; if(parseint(insurancebase ,10) != parseint(salaryfloat ,10) || parseint(fundbase ,10) != parseint(salaryfloat ,10)) { salaryfloat = ( aftertaxfloat - 1005 - (threshold * 0.25) + (thisinsurance + thisfund) * ( 1 - 0.25 ) ) / ( 1 - 0.25 ) } thisaftertaxfloat = salaryfloat - (thisinsurance + thisfund) - ( ( salaryfloat - (thisinsurance + thisfund) - threshold ) * 0.25 - 1005 ); if(parsefloat(aftertaxfloat).tofixed(0) == parsefloat(thisaftertaxfloat).tofixed(0) && ( salaryfloat - (thisinsurance + thisfund) - threshold ) > 9000 && ( salaryfloat - (thisinsurance + thisfund) - threshold ) <= 35000) { return (salaryfloat).tofixed(2); } else {///////--------------------------- 30% ---------------------- salaryfloat = ( aftertaxfloat - 2755 - (threshold * 0.30) + (1-0.30) * medicareplan) / ( 1 - percentage - 0.30 + percentage * 0.30); if(insurancebasetype == 0) { insurancebase = parsefloat(salaryfloat).tofixed(0) < parseint(insurancemax,10) ? parsefloat(salaryfloat).tofixed(0) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parsefloat(salaryfloat).tofixed(0)); if(insurancebase < insurancemin) { insurancebase = insurancemin; } } else { insurancebase = jquery.trim($("#insurancebase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#insurancebase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#insurancebase").val()))); } if(fundbasetype == 0) { fundbase = parsefloat(salaryfloat).tofixed(0) < parseint(insurancemax,10) ? parsefloat(salaryfloat).tofixed(0) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parsefloat(salaryfloat).tofixed(0)); if(fundbase < minwage) { fundbase = minwage; } } else { fundbase = jquery.trim($("#fundbase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#fundbase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#fundbase").val()))); } // fundbase = insurancebase; thisinsurance = insurancebase * percentageinsurance + medicareplan; thisfund = fundbase * percentagefund; if(parseint(insurancebase ,10) != parseint(salaryfloat ,10) || parseint(fundbase ,10) != parseint(salaryfloat ,10)) { salaryfloat = ( aftertaxfloat - 2755 - (threshold * 0.30) + (thisinsurance + thisfund) * ( 1 - 0.30 ) ) / ( 1 - 0.30 ) } thisaftertaxfloat = salaryfloat - (thisinsurance + thisfund) - ( ( salaryfloat - (thisinsurance + thisfund) - threshold ) * 0.30 - 2755 ); if(parsefloat(aftertaxfloat).tofixed(0) == parsefloat(thisaftertaxfloat).tofixed(0) && ( salaryfloat - (thisinsurance + thisfund) - threshold ) > 35000 && ( salaryfloat - (thisinsurance + thisfund) - threshold ) <= 55000) { return (salaryfloat).tofixed(2); } else {/////////---------------------- 35% ------------------ salaryfloat = ( aftertaxfloat - 5505 - (threshold * 0.35) + (1-0.35) * medicareplan) / ( 1 - percentage - 0.35 + percentage * 0.35); if(insurancebasetype == 0) { insurancebase = parsefloat(salaryfloat).tofixed(0) < parseint(insurancemax,10) ? parsefloat(salaryfloat).tofixed(0) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parsefloat(salaryfloat).tofixed(0)); if(insurancebase < insurancemin) { insurancebase = insurancemin; } } else { insurancebase = jquery.trim($("#insurancebase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#insurancebase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#insurancebase").val()))); } if(fundbasetype == 0) { fundbase = parsefloat(salaryfloat).tofixed(0) < parseint(insurancemax,10) ? parsefloat(salaryfloat).tofixed(0) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parsefloat(salaryfloat).tofixed(0)); if(fundbase < minwage) { fundbase = minwage; } } else { fundbase = jquery.trim($("#fundbase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#fundbase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#fundbase").val()))); } // fundbase = insurancebase; thisinsurance = insurancebase * percentageinsurance + medicareplan; thisfund = fundbase * percentagefund; if(parseint(insurancebase ,10) != parseint(salaryfloat ,10) || parseint(fundbase ,10) != parseint(salaryfloat ,10)) { salaryfloat = ( aftertaxfloat - 5505 - (threshold * 0.35) + (thisinsurance + thisfund) * ( 1 - 0.35 ) ) / ( 1 - 0.35 ) } thisaftertaxfloat = salaryfloat - (thisinsurance + thisfund) - ( ( salaryfloat - (thisinsurance + thisfund) - threshold ) * 0.35 - 5505 ); if(parsefloat(aftertaxfloat).tofixed(0) == parsefloat(thisaftertaxfloat).tofixed(0) && ( salaryfloat - (thisinsurance + thisfund) - threshold ) > 55000 && ( salaryfloat - (thisinsurance + thisfund) - threshold ) <= 80000) { return (salaryfloat).tofixed(2); } else {///////////----------------- 45% ---------------- salaryfloat = ( aftertaxfloat - 13505 - (threshold * 0.45) + (1-0.45) * medicareplan) / ( 1 - percentage - 0.45 + percentage * 0.45); if(insurancebasetype == 0) { insurancebase = parsefloat(salaryfloat).tofixed(0) < parseint(insurancemax,10) ? parsefloat(salaryfloat).tofixed(0) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parsefloat(salaryfloat).tofixed(0)); if(insurancebase < insurancemin) { insurancebase = insurancemin; } } else { insurancebase = jquery.trim($("#insurancebase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#insurancebase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#insurancebase").val()))); } if(fundbasetype == 0) { fundbase = parsefloat(salaryfloat).tofixed(0) < parseint(insurancemax,10) ? parsefloat(salaryfloat).tofixed(0) : (parseint(insurancemax,10) > 0 ? parseint(insurancemax,10) : parsefloat(salaryfloat).tofixed(0)); if(fundbase < minwage) { fundbase = minwage; } } else { fundbase = jquery.trim($("#fundbase").val()) == "" ? 0 : (parsefloat(jquery.trim($("#fundbase").val())) > parsefloat(insurancemax) ? parsefloat(insurancemax) : parsefloat(jquery.trim($("#fundbase").val()))); } // fundbase = insurancebase; thisinsurance = insurancebase * percentageinsurance + medicareplan; thisfund = fundbase * percentagefund; if(parseint(insurancebase ,10) != parseint(salaryfloat ,10) || parseint(fundbase ,10) != parseint(salaryfloat ,10)) { salaryfloat = ( aftertaxfloat - 13505 - (threshold * 0.45) + (thisinsurance + thisfund) * ( 1 - 0.45 ) ) / ( 1 - 0.45 ) } thisaftertaxfloat = salaryfloat - (thisinsurance + thisfund) - ( ( salaryfloat - (thisinsurance + thisfund) - threshold ) * 0.45 - 13505 ); return (salaryfloat).tofixed(2); } } } } } } } } function getshuijinian(salario) { var salariov = salario/12; if(salariov <= 1500) { return (salario * 0.03).tofixed(2); } else if(salariov > 1500 && salariov <= 4500) { return (salario * 0.1 - 105).tofixed(2); } else if(salariov > 4500 && salariov <= 9000) { return (salario * 0.20 - 555).tofixed(2); } else if(salariov > 9000 && salariov <= 35000) { return (salario * 0.25 - 1005).tofixed(2); } else if(salariov > 35000 && salariov <= 55000) { return (salario * 0.30 - 2755).tofixed(2); } else if(salariov > 55000 && salariov <= 80000) { return (salario * 0.35 - 5505).tofixed(2); } else if(salariov > 80000) { return (salario * 0.45 - 13505).tofixed(2); } } function getsimplifiedsalary(aftertaxfloat,threshold,insurance) { if(aftertaxfloat < threshold) { return aftertaxfloat; } else { /////// --------- 3% --------- var salaryfloat = ( aftertaxfloat - (threshold * 0.03) + insurance * ( 1 - 0.03 ) ) / ( 1 - 0.03 ); var thisaftertaxfloat = salaryfloat - insurance - (salaryfloat - insurance - threshold) * 0.03; if(parsefloat(aftertaxfloat).tofixed(0) == parsefloat(thisaftertaxfloat).tofixed(0) && ( salaryfloat - insurance - threshold ) <= 1500) { return (salaryfloat).tofixed(2); } else {/////////-------------------------- 10% ----------------- salaryfloat = ( aftertaxfloat - 105 - (threshold * 0.10) + insurance * ( 1 - 0.10 ) ) / ( 1 - 0.10 ); thisaftertaxfloat = salaryfloat - insurance - (salaryfloat - insurance - threshold) * 0.10 + 105; if(parsefloat(aftertaxfloat).tofixed(0) == parsefloat(thisaftertaxfloat).tofixed(0) && ( salaryfloat - insurance - threshold ) > 1500 && ( salaryfloat - insurance - threshold ) <= 4500) { return (salaryfloat).tofixed(2); } {///////////---------------------- 20% ---------------------- salaryfloat = ( aftertaxfloat - 555 - (threshold * 0.20) + insurance * ( 1 - 0.20 ) ) / ( 1 - 0.20 ); thisaftertaxfloat = salaryfloat - insurance - ( ( salaryfloat - insurance - threshold ) * 0.20 - 555 ); if(parsefloat(aftertaxfloat).tofixed(0) == parsefloat(thisaftertaxfloat).tofixed(0) && ( salaryfloat - insurance - threshold ) > 4500 && ( salaryfloat - insurance - threshold ) <= 9000) { return (salaryfloat).tofixed(2); } else {///////--------------------------- 25% ---------------------- salaryfloat = ( aftertaxfloat - 1005 - (threshold * 0.25) + insurance * ( 1 - 0.25 ) ) / ( 1 - 0.25 ); thisaftertaxfloat = salaryfloat - insurance - ( ( salaryfloat - insurance - threshold ) * 0.25 - 1005 ); if(parsefloat(aftertaxfloat).tofixed(0) == parsefloat(thisaftertaxfloat).tofixed(0) && ( salaryfloat - insurance - threshold ) > 9000 && ( salaryfloat - insurance - threshold ) <= 35000) { return (salaryfloat).tofixed(2); } else {/////////---------------------- 30% ------------------ salaryfloat = ( aftertaxfloat - 2725 - (threshold * 0.30) + insurance * ( 1 - 0.30 ) ) / ( 1 - 0.30 ); thisaftertaxfloat = salaryfloat - insurance - ( ( salaryfloat - insurance - threshold ) * 0.30 - 2725 ); if(parsefloat(aftertaxfloat).tofixed(0) == parsefloat(thisaftertaxfloat).tofixed(0) && ( salaryfloat - insurance - threshold ) > 35000 && ( salaryfloat - insurance - threshold ) <= 55000) { return (salaryfloat).tofixed(2); } else {/////////////-------------------- 35% ------------------ salaryfloat = ( aftertaxfloat - 5505 - (threshold * 0.35) + insurance * ( 1 - 0.35 ) ) / ( 1 - 0.35 ); thisaftertaxfloat = salaryfloat - insurance - ( ( salaryfloat - insurance - threshold ) * 0.35 - 5505 ); if(parsefloat(aftertaxfloat).tofixed(0) == parsefloat(thisaftertaxfloat).tofixed(0) && ( salaryfloat - insurance - threshold ) > 55000 && ( salaryfloat - insurance - threshold ) <= 80000) { return (salaryfloat).tofixed(2); } else {///////////----------------- 45% ---------------- salaryfloat = ( aftertaxfloat - 13505 - (threshold * 0.45) + insurance * ( 1 - 0.45 ) ) / ( 1 - 0.45 ); return (salaryfloat).tofixed(2); } } } } } } } } function getsimplifiedsalarybytax(tax,threshold,insurance) { if(tax <= 45) { return ( tax / 0.03 + threshold + insurance).tofixed(2); } else if(tax > 45 && tax <= 450) { return (( tax + 105 ) / 0.1 + threshold + insurance).tofixed(2); } else if(tax > 450 && tax <= 1800) { return (( tax + 555 ) / 0.20 + threshold + insurance).tofixed(2); } else if(tax > 1800 && tax <= 8750) { return (( tax + 1005) / 0.25 + threshold + insurance).tofixed(2); } else if(tax > 8750 && tax <= 16500) { return (( tax + 2725 ) / 0.30 + threshold + insurance).tofixed(2); } else if(tax > 16500 && tax <= 28000) { return (( tax + 5505 ) / 0.35 + threshold + insurance).tofixed(2); } else if(tax > 28000) { return (( tax + 13505 ) / 0.45 + threshold + insurance).tofixed(2); } }