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("
");
if ( cityname == "" || cityname == "其它" || area == 0)
{
area = 0;
sb.append("- 全部
");
}
else
{
sb.append("- 全部
");
}
if (area == 1 || firstchar == 'a' || firstchar == 'b' || firstchar == 'c' || firstchar == 'd')
{
area = 1;
sb.append("- a-d
");
}
else
{
sb.append("- a-d
");
}
if (area == 2 || firstchar == 'e' || firstchar == 'f' || firstchar == 'g' || firstchar == 'h' || firstchar == 'i' || firstchar == 'j')
{
area = 2;
sb.append("- e-j
");
}
else
{
sb.append("- e-j
");
}
if (area == 3 || firstchar == 'k' || firstchar == 'l' || firstchar == 'm' || firstchar == 'n')
{
area = 3;
sb.append("- k-n
");
}
else
{
sb.append("- k-n
");
}
if (area == 4 || firstchar == 'o' || firstchar == 'p' || firstchar == 'q' || firstchar == 'r' || firstchar == 's' || firstchar == 't' || firstchar == 'u' || firstchar == 'v' || firstchar == 'w')
{
area = 4;
sb.append("- o-w
");
}
else
{
sb.append("- o-w
");
}
if (area == 5 || firstchar == 'x' || firstchar == 'y' || firstchar == 'z')
{
area = 5;
sb.append("- x-z
");
}
else
{
sb.append("- x-z
");
}
sb.append("");
sb.append("
");
// #endregion 分栏行
//$("#area").val(area);
if (cityname == "-1")
{
cityname = "";
}
sb.append("
");
// #region 城市部分
sb.append("
");
var count = 0;
//alert(groups);
if(groups.length > area)
{
for(var j = 0; j < groups[area].length; j++)
{
// alert(groups[i][j]);//城市 city id,name,tax
if(groups[area][j].name != "其它")
{
var style = "";
if(groups[area][j].name == "乌鲁木齐" || groups[area][j].name == "呼和浩特"){
var style = "style='width:52px'";
}
sb.append("- "+groups[area][j].name+"
");
count++;
}
}
}
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);
}
}