var cErmKinder = new Array(0, 15, 34, 60, 86, 112, 138, 164, 190, 216, 242, 268, 294, 320); var cBeitragssatz = 0.011; var cAbsetzbetrag = 49.00; var cMinKB_EKSt = 84.00; var cMinKB_LSt = 15.00; var cErmAlleinverdiener = 33.00; inputs=new Array('grundlage_A','grundlage_B'); aux=new Array('cbAlleinverdiener','AnzKinder'); outputs=new Array('beitrag_A','beitrag_B','absetzbetrag_A','absetzbetrag_B', 'TeilKB_A','TeilKB_B','beitragZusammenBtto','ermAlleinverdiener','ermKinder', 'summeErmaessigung','summeKB'); for(i in inputs) eval('var '+inputs[i]+'=0;'); for(i in aux) eval('var '+aux[i]+'=0;'); for(i in outputs) eval('var '+outputs[i]+'=0;'); function update(form) { for(i in outputs) eval('form.'+outputs[i]+'.value='+outputs[i]+'.toFixed(2);'); } function convert(form) { for(i in aux) { field=eval('form.'+aux[i]) eval(aux[i]+'=Number(field.value);'); } ArtSteuerpflicht_A=form.ArtSteuerpflicht_A[0].checked*2+form.ArtSteuerpflicht_A[1].checked; ArtSteuerpflicht_B=form.ArtSteuerpflicht_B[0].checked*2+form.ArtSteuerpflicht_B[1].checked; cbAlleinverdiener=form.cbAlleinverdiener.checked; for(i in inputs) { field=eval('form.'+inputs[i]) field.value=field.value.replace(/[\ \-]/gi,''); eval(inputs[i]+'=Number(field.value);'); if(isNaN(eval(inputs[i]))) { alert('Ungültiger Betrag "'+field.value+'" eingegeben! Bitte keine Kommastellen oder Tausendertrennzeichen eingeben (z.B. 25000.00).'); field.focus(); field.select(); return true; } field.value=eval(inputs[i]).toFixed(2); } return false; } function apply(form) { with(eval(form)) { for(i in inputs) eval(inputs[i]+'.onchange=new Function("calcBeitrag('+form+');");'); for(i in aux) { eval(aux[i]+'.onclick=new Function("calcBeitrag('+form+');");'); eval(aux[i]+'.onblur=new Function("calcBeitrag('+form+');");'); eval(aux[i]+'.onchange=new Function("calcBeitrag('+form+');");'); eval(aux[i]+'.onfocus=new Function("calcBeitrag('+form+');");'); }}} function calcBeitrag(form) { if(convert(form)) return false; vMinKBKonto=0.; beitrag_A = grundlage_A*cBeitragssatz; beitrag_B = grundlage_B*cBeitragssatz; if(beitrag_A) absetzbetrag_A=cAbsetzbetrag; else absetzbetrag_A=0.; if(beitrag_B) absetzbetrag_B=cAbsetzbetrag; else absetzbetrag_B=0.; if(ArtSteuerpflicht_A==1) { TeilKB_A=Math.max(cMinKB_EKSt,beitrag_A-absetzbetrag_A,0); vMinKBKonto=vMinKBKonto+cMinKB_EKSt; } else if(ArtSteuerpflicht_A==2) { TeilKB_A=Math.max(cMinKB_LSt,beitrag_A-absetzbetrag_A,0); vMinKBKonto=vMinKBKonto+cMinKB_LSt; } else TeilKB_A=0.; if(ArtSteuerpflicht_B==1) { TeilKB_B=Math.max(cMinKB_EKSt,beitrag_B-absetzbetrag_B,0); vMinKBKonto=vMinKBKonto+cMinKB_EKSt; } else if(ArtSteuerpflicht_B==2) { TeilKB_B=Math.max(cMinKB_LSt,beitrag_B-absetzbetrag_B,0); vMinKBKonto=vMinKBKonto+cMinKB_LSt; } else TeilKB_B=0.; beitragZusammenBtto=TeilKB_A+TeilKB_B; if(cbAlleinverdiener>0.) ermAlleinverdiener=cErmAlleinverdiener; else ermAlleinverdiener=0.; ermKinder = cErmKinder[AnzKinder]; summeErmaessigung = ermKinder + ermAlleinverdiener; summeKB=beitragZusammenBtto-summeErmaessigung; if(summeKB