<!-- Script für die Steuerberechnung Kanton Nidwalden

function SteuerberechnungNP_KGSTordentlich(stbek,priek,ekws,stbvm,privm,kath,ref,andere,zivilstand,gemeinde,tarif,steuerjahr)
{
	var personensteuer=50;
	var vmsatz=0;
	var vmprisatz=0;
	var familiendivisor=1;
	var satzbekfamilie=0;
	var eksteuersatz=0;
	var stbekor=stbek-priek-ekws;
	var einfsteu=0;
	var einfverm=0;
	var einfvmor=0;
	var einfvmpr=0;
	if (tarif<2008)
		{
			vmsatz=0.00035;
			vmprisatz=0.00020;
		}
	else
		{
			vmsatz=0.00025;
			vmprisatz=0.00020;
		}
		
	if (zivilstand==2) //Tarif mit Kinder etc.
	{
		if (steuerjahr==2001)
			{
				familiendivisor=1.8;
			}
		
		if (steuerjahr==2006)
			{
				familiendivisor=1.8;
			}
			
		if (steuerjahr==2007)
			{
				familiendivisor=1.85;
			}	
		if (steuerjahr==2008)
			{
				familiendivisor=1.85;
			}
	    if (steuerjahr==2009)
			{
				familiendivisor=1.85;
			}
		if (steuerjahr==2010)
			{
				familiendivisor=1.85;
			}				
	}
	else //Tarif alleinstehend etc.
	{
			familiendivisor=1;		
	}

	if (stbek<=0)
		satzbekfamilie=0;
	else
		satzbekfamilie=Math.floor(stbek/familiendivisor/100)*100;
	
	//Berechnung des Steuersatzes auf Einkommen
	eksteuersatz=Steuersatzberechnung_KGSTOrdentlich(tarif,satzbekfamilie);
	
	//Berechnung der einzelnen einfach Steuern Einkommen
	if (steuerjahr>=2008)
		{
			stbekor=stbekor*eksteuersatz; //Berechnung einfache Steuer ordentliches Einkommen
			priek=priek*eksteuersatz*0.5; //Berechnung einfache Steuer private Beteiligungen
			ekws=ekws*eksteuersatz*0.8; //Berechnung einfache Steuer übrige Erträge
		}
	else
		{
			stbekor=stbekor*eksteuersatz; //Berechnung einfache Steuer Ordentliches Einkommen
			priek=priek*eksteuersatz*0.5; //Berechnung einfache Steuer private Beteiligungen
			ekws=ekws*eksteuersatz; //Berechnung einfache Steuer übrige Erträge
		}
		
	//Berechnung der einzelnen einfachen Steuern Vermögen
	einfvmor=(stbvm-privm)*vmsatz;
	einfvmpr=privm*vmprisatz;
	
	//Berechnung totalen einfachen Steuer Einkommen
	einfsteu=Math.round((stbekor+priek+ekws)*20)/20;
	
	//Berechnung einfache Steuer Vermögen
	einfverm=Math.round((einfvmor+einfvmpr)*100)/100;
	
	//Einfüllen & Berechnen der ResultatOrdentliche in Textfelder
	window.document.ResultatOrdentlich.EinfSteuerEKordentlich.value=einfsteu;
	window.document.ResultatOrdentlich.EinfSteuerVMordentlich.value=einfverm;
	window.document.ResultatOrdentlich.PersonensteuerOrdentlich.value=personensteuer;
	window.document.ResultatOrdentlich.TotalEinfSteuerOrdentlich.value=Math.round((einfsteu+einfverm)*100)/100;
	window.document.ResultatOrdentlich.TotalOrdentlich.value=Math.round((SteuerTotalNP_KGSTordentlich(steuerjahr,gemeinde,kath,ref,andere,window.document.ResultatOrdentlich.TotalEinfSteuerOrdentlich.value)+personensteuer)*100)/100;
}

//Berechnung des Steuersatzes
function Steuersatzberechnung_KGSTOrdentlich(jahr,EKsatzb)
{
	var eksteuer=0;
	var eksatz=0;
	eksteuer=EinfacheEKSteuerTarifNPordentlich(jahr,EKsatzb);
	if (EKsatzb <= 0)
		eksatz=0;
	else
		eksatz=eksteuer/EKsatzb;
		
		return eksatz; //Rückgabe in Prozent
}

//Berechung des Tarifes
function EinfacheEKSteuerTarifNPordentlich(jahr,EK) 
// Hier werden die Tarifstufen für das gewuenschte Jahr definiert
// Bemerkung: Solange keine Tarifanpassung, keine Aenderung noetig
{
	var eksteuer=0;
	var i=0;
	var Tarif = new Array(20);
	var Prozent = new Array(20);
	if (jahr==2001)
	{
		Tarif[0]=10000;Prozent[0]=0.0;
		Tarif[1]=12000;Prozent[1]=0.5;
		Tarif[2]=13000;Prozent[2]=1.0;
		Tarif[3]=14000;Prozent[3]=1.2;
		Tarif[4]=15000;Prozent[4]=1.4;
		Tarif[5]=16000;Prozent[5]=1.6;
		Tarif[6]=17000;Prozent[6]=1.8;
		Tarif[7]=18000;Prozent[7]=2.0;
		Tarif[8]=19000;Prozent[8]=2.2;
		Tarif[9]=20000;Prozent[9]=2.4;
		Tarif[10]=21000;Prozent[10]=2.6;
		Tarif[11]=22000;Prozent[11]=2.8;
		Tarif[12]=25000;Prozent[12]=2.9;
		Tarif[13]=29000;Prozent[13]=3.0;
		Tarif[14]=33000;Prozent[14]=3.1;
		Tarif[15]=50000;Prozent[15]=3.2;
		Tarif[16]=100000;Prozent[16]=3.3;
		Tarif[17]=175000;Prozent[17]=3.2;
		Tarif[18]=300000;Prozent[18]=3.1;
		Tarif[19]=999999999;Prozent[19]=3.0;
	}

		if (jahr==2009)
	{
		Tarif[0]=10000;Prozent[0]=0.0;
		Tarif[1]=12000;Prozent[1]=0.5;
		Tarif[2]=13000;Prozent[2]=1.0;
		Tarif[3]=14000;Prozent[3]=1.2;
		Tarif[4]=15000;Prozent[4]=1.4;
		Tarif[5]=16000;Prozent[5]=1.6;
		Tarif[6]=17000;Prozent[6]=1.8;
		Tarif[7]=18000;Prozent[7]=2.0;
		Tarif[8]=19000;Prozent[8]=2.2;
		Tarif[9]=20000;Prozent[9]=2.4;
		Tarif[10]=21000;Prozent[10]=2.6;
		Tarif[11]=28000;Prozent[11]=2.8;
		Tarif[12]=43000;Prozent[12]=2.9;
		Tarif[13]=70000;Prozent[13]=3.0;
		Tarif[14]=100000;Prozent[14]=3.1;
		Tarif[15]=130000;Prozent[15]=3.2;
		Tarif[16]=240000;Prozent[16]=3.3;
		Tarif[17]=247000;Prozent[17]=3.2;
		Tarif[18]=300000;Prozent[18]=3.1;
		Tarif[19]=999999999;Prozent[19]=3.0;
	}	
	
	while (EK>Tarif[i])
	{
		
		if (i==0)
			eksteuer=eksteuer + (Tarif[i]*Prozent[i]/100);
		else
			eksteuer=eksteuer + ((Tarif[i]-Tarif[i-1])*Prozent[i]/100);
		i=i+1;	
	}

	if (i==0)
		eksteuer=eval(eksteuer + (EK*Prozent[i]/100));
	else
		eksteuer=eval(eksteuer + ((EK-Tarif[i-1])*Prozent[i]/100));

	return eksteuer; //Rückgabe von Wert
}

function SteuerTotalNP_KGSTordentlich(jahr,gemeinde,kath,ref,andere,einfsteuertotal)
// Berechnet auf Grund der Einfachen Steuer, der Gemeinde und Jahresinfo
// die total geschuldete Steuer
// Pro Jahr sind die Einheiten der Koerperschaften aufsteigend nach Gemeindenr
// zu erfassen. Arrayposition 0 wird nicht verwendet, daher mit 0 initialisiert.
{
	var einheiten;

	if (jahr==2001)
	{
		var ekanton=2.4;
		var egemeinde = new Array(0,1.17,0.85,1.05,1.05,0.8,0.8,0.8,1.25,0.75,0.75,0.92,0.92,0.92,0.92,0.6,0.6);
		var eschule = new Array(0,2.08,2.3,1.9,2.15,1.95,1.95,2.2,0.8,2.3,2.3,1.73,1.33,1.33,1.33,2.55,2.55);
		var ekath = new Array(0,0.45,0.45,0.5,0.6,0.45,0.5,0.6,0.3,0.3,0.5,0.3,0.5,0.5,0.5,0.6,0.6);
		var eref = new Array(0,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3);
	}

	if (jahr==2002)
	{
		var ekanton=2.4;
		var egemeinde = new Array(0,1.17,0.8,1.05,1.05,0.75,0.75,0.8,1.25,0.75,0.75,0.92,0.92,0.92,0.92,0.6,0.6);
		var eschule = new Array(0,2.08,2.35,1.9,2.15,1.95,1.95,2.1,0.8,2.2,2.2,1.73,1.33,1.33,1.33,2.55,2.55);
		var ekath = new Array(0,0.45,0.45,0.45,0.6,0.45,0.5,0.55,0.3,0.3,0.5,0.3,0.5,0.5,0.5,0.6,0.6);
		var eref = new Array(0,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3);
	}

	if (jahr==2003)
	{
		var ekanton=2.4;
		var egemeinde = new Array(0,1.17,0.8,1.05,1.05,0.7,0.7,0.7,1.15,0.75,0.75,0.85,1.01,1.01,1.01,0.8,0.8);
		var eschule = new Array(0,2.08,2.15,1.7,2.15,1.8,1.8,1.9,0.75,2.2,2.2,1.73,1.24,1.24,1.24,2.35,2.35);
		var ekath = new Array(0,0.45,0.45,0.45,0.6,0.4,0.5,0.45,0.25,0.3,0.5,0.3,0.5,0.5,0.5,0.6,0.6);
		var eref = new Array(0,0.28,0.28,0.28,0.28,0.28,0.28,0.28,0.28,0.28,0.28,0.28,0.28,0.28,0.28,0.28,0.28);
	}

	if (jahr==2004)
	{
		var ekanton=2.4;
		var egemeinde = new Array(0,1.1,0.8,0.95,1.3,0.7,0.7,0.7,1.15,0.6,0.6,0.85,0.96,0.96,0.96,0.8,0.8);
		var eschule = new Array(0,2.0,1.95,1.7,1.9,1.65,1.65,1.9,0.75,2.0,2.0,1.73,1.14,1.14,1.14,2.35,2.35);
		var ekath = new Array(0,0.4,0.45,0.45,0.6,0.4,0.5,0.45,0.25,0.3,0.4,0.3,0.45,0.5,0.5,0.6,0.6);
		var eref = new Array(0,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27);
	}

	if (jahr==2005)
	{
		var ekanton=2.4;
		var egemeinde = new Array(0,1.1,0.75,0.95,1.3,0.6,0.6,0.7,1.15,0.6,0.6,0.85,0.96,0.96,0.96,1.0,1.0);
		var eschule = new Array(0,2.0,1.85,1.7,1.9,1.55,1.55,1.9,0.7,2.0,2.0,1.73,1.14,1.14,1.14,2.15,2.15);
		var ekath = new Array(0,0.4,0.45,0.45,0.6,0.4,0.5,0.45,0.22,0.3,0.4,0.3,0.45,0.5,0.5,0.6,0.6);
		var eref = new Array(0,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27);
	}
	
	if (jahr==2006)
	{
		var ekanton=2.4;
		var egemeinde = new Array(0,1.1,0.75,0.90,1.3,0.6,0.6,0.7,1.15,0.6,0.6,0.85,0.96,0.96,0.96,1.2,1.2);
		var eschule = new Array(0,2.0,1.85,1.85,1.9,1.55,1.55,1.9,0.7,2.2,2.2,1.83,1.14,1.14,1.14,1.95,1.95);
		var ekath = new Array(0,0.4,0.45,0.45,0.6,0.4,0.5,0.45,0.22,0.35,0.4,0.35,0.45,0.5,0.5,0.6,0.5);
		var eref = new Array(0,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27);
	}

	if (jahr==2007)
	{
		var ekanton=2.4;
		var egemeinde = new Array(0,1.05,0.75,0.90,1.3,0.65,0.65,0.7,1.15,0.5,0.5,0.85,0.96,0.96,0.96,1.2,1.2);
		var eschule = new Array(0,1.8,1.85,1.85,1.9,1.5,1.5,1.9,0.7,2.2,2.2,1.83,1.14,1.14,1.14,1.95,1.95);
		var ekath = new Array(0,0.4,0.42,0.5,0.6,0.38,0.5,0.45,0.21,0.35,0.4,0.35,0.4,0.5,0.5,0.6,0.5);
		var eref = new Array(0,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27);
	}
	
	if (jahr==2008)
	{
		var ekanton=2.63;
		var egemeinde = new Array(0,0.85,0.58,0.65,1.05,0.52,0.52,0.55,0.97,0.25,0.25,0.62,0.74,0.74,0.74,0.67,0.67)
		var eschule = new Array(0,1.77,1.79,1.85,1.42,1.40,1.40,1.80,0.65,2.10,2.10,1.83,1.06,1.06,1.06,2.15,2.15)
		var ekath = new Array(0,0.40,0.40,0.50,0.55,0.38,0.30,0.45,0.21,0.35,0.40,0.35,0.40,0.50,0.30,0.60,0.50)
		var eref = new Array(0,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26)
	}
	if (jahr==2009)
	{
		var ekanton=2.58;
		var egemeinde = new Array(0,0.75,0.53,0.65,1.05,0.52,0.52,0.49,1.00,0.25,0.25,0.62,0.74,0.74,0.74,0.67,0.67)
		var eschule = new Array(0,1.67,1.74,1.85,1.42,1.30,1.30,1.71,0.62,1.95,1.95,1.83,0.99,0.99,0.99,2.15,2.15)
		var ekath = new Array(0,0.39,0.38,0.50,0.55,0.38,0.40,0.50,0.21,0.35,0.40,0.35,0.40,0.50,0.40,0.55,0.50)
		var eref = new Array(0,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26)
	}
	if (jahr==2010)
	{
		var ekanton=2.63;
		var egemeinde = new Array(0,0.75,0.53,0.65,1.05,0.52,0.52,0.55,1.00,0.25,0.25,0.62,0.74,0.74,0.74,0.67,0.67)
		var eschule = new Array(0,1.67,1.74,1.85,1.12,1.40,1.40,1.80,0.62,1.95,1.95,1.83,1.06,1.06,1.06,2.15,2.15)
		var ekath = new Array(0,0.39,0.38,0.50,0.55,0.38,0.40,0.50,0.21,0.35,0.40,0.35,0.40,0.50,0.40,0.50,0.50)
		var eref = new Array(0,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26)
	}
	if (kath+ref>0)
		einheiten=ekanton+egemeinde[gemeinde]+eschule[gemeinde]+(ekath[gemeinde]*kath/(eval(kath)+eval(ref)+eval(andere)))+(eref[gemeinde]*ref/(eval(kath)+eval(ref)+eval(andere)));
	else
		einheiten=ekanton+egemeinde[gemeinde]+eschule[gemeinde];

	return Math.floor((einheiten*einfsteuertotal)*20+0.5)/20;
}



function Steuerberechnung_KGSTkapitalleistung(stbkapl,kath,ref,andere,zivilstand,gemeinde,tarif,steuerjahr)
{
	var familiendivisor=1;
	var satzbekfamilie=0;
	var eksteuersatz=0;
	var einfsteu=0;
	
		
	if (zivilstand==2) //Tarif mit Kinder etc.
	{
		if (steuerjahr==2001)
			{
				familiendivisor=1.8;
			}
		
		if (steuerjahr==2006)
			{
				familiendivisor=1.8;
			}
			
		if (steuerjahr==2007)
			{
				familiendivisor=1.85;
			}			
		if (steuerjahr==2008)
			{
				familiendivisor=1.85;
			}		
		if (steuerjahr==2009)
			{
				familiendivisor=1.85;
			}		
		if (steuerjahr==2010)
			{
				familiendivisor=1.85;
			}		
	}
	else //Tarif alleinstehend etc.
	{
			familiendivisor=1;		
	}

	if (stbkapl<=0)
		satzbekfamilie=0;
	else
		satzbekfamilie=Math.floor(stbkapl/familiendivisor/100)*100;

		
	//Berechnung des Steuersatzes auf Einkommen
	eksteuersatz=Steuersatzberechnung_KGSTkapitalleistung(tarif,satzbekfamilie);
	if (eksteuersatz*2/5>=0.008)
		eksteuersatz=eksteuersatz*2/5;
	else
		eksteuersatz=0.008;

	stbkapl=Math.round((stbkapl*eksteuersatz)*20)/20;
	
	//Einfüllen & Berechnen der Resultate in Textfelder
	window.document.ResultatKapitalleistung.EinfSteuKapitalleistung.value=stbkapl;
	window.document.ResultatKapitalleistung.TotSteuKapitalleistung.value=Math.round(SteuerTotalNP_KGSTkapitalleistung(steuerjahr,gemeinde,kath,ref,andere,window.document.ResultatKapitalleistung.EinfSteuKapitalleistung.value)*100)/100;
}
//Berechnung des Steuersatzes
function Steuersatzberechnung_KGSTkapitalleistung(jahr,EKsatzb)
{
	var eksteuer=0;
	var eksatz=0;
	eksteuer=EinfacheEKSteuerTarifNP(jahr,EKsatzb);
	if (EKsatzb <= 0)
		eksatz=0;
	else
		eksatz=eksteuer/EKsatzb;
		
		return eksatz; //Rückgabe in Prozent
}

//Berechung des Tarifes
function EinfacheEKSteuerTarifNP(jahr,EK) 
// Hier werden die Tarifstufen für das gewuenschte Jahr definiert
// Bemerkung: Solange keine Tarifanpassung, keine Aenderung noetig
{
	var eksteuer=0;
	var i=0;
	var Tarif = new Array(20);
	var Prozent = new Array(20);
	if (jahr==2001)
	{
		Tarif[0]=10000;Prozent[0]=0.0;
		Tarif[1]=12000;Prozent[1]=0.5;
		Tarif[2]=13000;Prozent[2]=1.0;
		Tarif[3]=14000;Prozent[3]=1.2;
		Tarif[4]=15000;Prozent[4]=1.4;
		Tarif[5]=16000;Prozent[5]=1.6;
		Tarif[6]=17000;Prozent[6]=1.8;
		Tarif[7]=18000;Prozent[7]=2.0;
		Tarif[8]=19000;Prozent[8]=2.2;
		Tarif[9]=20000;Prozent[9]=2.4;
		Tarif[10]=21000;Prozent[10]=2.6;
		Tarif[11]=22000;Prozent[11]=2.8;
		Tarif[12]=25000;Prozent[12]=2.9;
		Tarif[13]=29000;Prozent[13]=3.0;
		Tarif[14]=33000;Prozent[14]=3.1;
		Tarif[15]=50000;Prozent[15]=3.2;
		Tarif[16]=100000;Prozent[16]=3.3;
		Tarif[17]=175000;Prozent[17]=3.2;
		Tarif[18]=300000;Prozent[18]=3.1;
		Tarif[19]=999999999;Prozent[19]=3.0;
	}
		if (jahr==2009)
	{
		Tarif[0]=10000;Prozent[0]=0.0;
		Tarif[1]=12000;Prozent[1]=0.5;
		Tarif[2]=13000;Prozent[2]=1.0;
		Tarif[3]=14000;Prozent[3]=1.2;
		Tarif[4]=15000;Prozent[4]=1.4;
		Tarif[5]=16000;Prozent[5]=1.6;
		Tarif[6]=17000;Prozent[6]=1.8;
		Tarif[7]=18000;Prozent[7]=2.0;
		Tarif[8]=19000;Prozent[8]=2.2;
		Tarif[9]=20000;Prozent[9]=2.4;
		Tarif[10]=21000;Prozent[10]=2.6;
		Tarif[11]=28000;Prozent[11]=2.8;
		Tarif[12]=43000;Prozent[12]=2.9;
		Tarif[13]=70000;Prozent[13]=3.0;
		Tarif[14]=100000;Prozent[14]=3.1;
		Tarif[15]=130000;Prozent[15]=3.2;
		Tarif[16]=240000;Prozent[16]=3.3;
		Tarif[17]=247000;Prozent[17]=3.2;
		Tarif[18]=300000;Prozent[18]=3.1;
		Tarif[19]=999999999;Prozent[19]=3.0;
	}
	
	while (EK>Tarif[i])
	{
		
		if (i==0)
			eksteuer=eksteuer + (Tarif[i]*Prozent[i]/100);
		else
			eksteuer=eksteuer + ((Tarif[i]-Tarif[i-1])*Prozent[i]/100);
		i=i+1;	
	}

	if (i==0)
		eksteuer=eval(eksteuer + (EK*Prozent[i]/100));
	else
		eksteuer=eval(eksteuer + ((EK-Tarif[i-1])*Prozent[i]/100));

	return eksteuer; //Rückgabe von Wert
}

function SteuerTotalNP_KGSTkapitalleistung(jahr,gemeinde,kath,ref,andere,einfsteuertotal)
// Berechnet auf Grund der Einfachen Steuer, der Gemeinde und Jahresinfo
// die total geschuldete Steuer
// Pro Jahr sind die Einheiten der Koerperschaften aufsteigend nach Gemeindenr
// zu erfassen. Arrayposition 0 wird nicht verwendet, daher mit 0 initialisiert.
{
	var einheiten;

	if (jahr==2001)
	{
		var ekanton=2.4;
		var egemeinde = new Array(0,1.17,0.85,1.05,1.05,0.8,0.8,0.8,1.25,0.75,0.75,0.92,0.92,0.92,0.92,0.6,0.6);
		var eschule = new Array(0,2.08,2.3,1.9,2.15,1.95,1.95,2.2,0.8,2.3,2.3,1.73,1.33,1.33,1.33,2.55,2.55);
		var ekath = new Array(0,0.45,0.45,0.5,0.6,0.45,0.5,0.6,0.3,0.3,0.5,0.3,0.5,0.5,0.5,0.6,0.6);
		var eref = new Array(0,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3);
	}

	if (jahr==2002)
	{
		var ekanton=2.4;
		var egemeinde = new Array(0,1.17,0.8,1.05,1.05,0.75,0.75,0.8,1.25,0.75,0.75,0.92,0.92,0.92,0.92,0.6,0.6);
		var eschule = new Array(0,2.08,2.35,1.9,2.15,1.95,1.95,2.1,0.8,2.2,2.2,1.73,1.33,1.33,1.33,2.55,2.55);
		var ekath = new Array(0,0.45,0.45,0.45,0.6,0.45,0.5,0.55,0.3,0.3,0.5,0.3,0.5,0.5,0.5,0.6,0.6);
		var eref = new Array(0,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3);
	}

	if (jahr==2003)
	{
		var ekanton=2.4;
		var egemeinde = new Array(0,1.17,0.8,1.05,1.05,0.7,0.7,0.7,1.15,0.75,0.75,0.85,1.01,1.01,1.01,0.8,0.8);
		var eschule = new Array(0,2.08,2.15,1.7,2.15,1.8,1.8,1.9,0.75,2.2,2.2,1.73,1.24,1.24,1.24,2.35,2.35);
		var ekath = new Array(0,0.45,0.45,0.45,0.6,0.4,0.5,0.45,0.25,0.3,0.5,0.3,0.5,0.5,0.5,0.6,0.6);
		var eref = new Array(0,0.28,0.28,0.28,0.28,0.28,0.28,0.28,0.28,0.28,0.28,0.28,0.28,0.28,0.28,0.28,0.28);
	}

	if (jahr==2004)
	{
		var ekanton=2.4;
		var egemeinde = new Array(0,1.1,0.8,0.95,1.3,0.7,0.7,0.7,1.15,0.6,0.6,0.85,0.96,0.96,0.96,0.8,0.8);
		var eschule = new Array(0,2.0,1.95,1.7,1.9,1.65,1.65,1.9,0.75,2.0,2.0,1.73,1.14,1.14,1.14,2.35,2.35);
		var ekath = new Array(0,0.4,0.45,0.45,0.6,0.4,0.5,0.45,0.25,0.3,0.4,0.3,0.45,0.5,0.5,0.6,0.6);
		var eref = new Array(0,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27);
	}

	if (jahr==2005)
	{
		var ekanton=2.4;
		var egemeinde = new Array(0,1.1,0.75,0.95,1.3,0.6,0.6,0.7,1.15,0.6,0.6,0.85,0.96,0.96,0.96,1.0,1.0);
		var eschule = new Array(0,2.0,1.85,1.7,1.9,1.55,1.55,1.9,0.7,2.0,2.0,1.73,1.14,1.14,1.14,2.15,2.15);
		var ekath = new Array(0,0.4,0.45,0.45,0.6,0.4,0.5,0.45,0.22,0.3,0.4,0.3,0.45,0.5,0.5,0.6,0.6);
		var eref = new Array(0,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27);
	}
	
	if (jahr==2006)
	{
		var ekanton=2.4;
		var egemeinde = new Array(0,1.1,0.75,0.90,1.3,0.6,0.6,0.7,1.15,0.6,0.6,0.85,0.96,0.96,0.96,1.2,1.2);
		var eschule = new Array(0,2.0,1.85,1.85,1.9,1.55,1.55,1.9,0.7,2.2,2.2,1.83,1.14,1.14,1.14,1.95,1.95);
		var ekath = new Array(0,0.4,0.45,0.45,0.6,0.4,0.5,0.45,0.22,0.35,0.4,0.35,0.45,0.5,0.5,0.6,0.5);
		var eref = new Array(0,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27);
	}

	if (jahr==2007)
	{
		var ekanton=2.4;
		var egemeinde = new Array(0,1.05,0.75,0.90,1.3,0.65,0.65,0.7,1.15,0.5,0.5,0.85,0.96,0.96,0.96,1.2,1.2);
		var eschule = new Array(0,1.8,1.85,1.85,1.9,1.5,1.5,1.9,0.7,2.2,2.2,1.83,1.14,1.14,1.14,1.95,1.95);
		var ekath = new Array(0,0.4,0.42,0.5,0.6,0.38,0.5,0.45,0.21,0.35,0.4,0.35,0.4,0.5,0.5,0.6,0.5);
		var eref = new Array(0,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27,0.27);
	}
	
	if (jahr==2008)
	{
		var ekanton=2.63;
		var egemeinde = new Array(0,0.85,0.58,0.65,1.05,0.52,0.52,0.55,0.97,0.25,0.25,0.62,0.74,0.74,0.74,0.67,0.67)
		var eschule = new Array(0,1.77,1.79,1.85,1.42,1.40,1.40,1.80,0.65,2.10,2.10,1.83,1.06,1.06,1.06,2.15,2.15)
		var ekath = new Array(0,0.40,0.40,0.50,0.55,0.38,0.30,0.45,0.21,0.35,0.40,0.35,0.40,0.50,0.30,0.60,0.50)
		var eref = new Array(0,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26)
	}
	if (jahr==2009)
	{
		var ekanton=2.58;
		var egemeinde = new Array(0,0.75,0.53,0.65,1.05,0.52,0.52,0.49,1.00,0.25,0.25,0.62,0.74,0.74,0.74,0.67,0.67)
		var eschule = new Array(0,1.67,1.74,1.85,1.42,1.30,1.30,1.71,0.62,1.95,1.95,1.83,0.99,0.99,0.99,2.15,2.15)
		var ekath = new Array(0,0.39,0.38,0.50,0.55,0.38,0.40,0.50,0.21,0.35,0.40,0.35,0.40,0.50,0.40,0.55,0.50)
		var eref = new Array(0,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26)
	}
		if (jahr==2010)
	{
		var ekanton=2.63;
		var egemeinde = new Array(0,0.75,0.53,0.65,1.05,0.52,0.52,0.55,1.00,0.25,0.25,0.62,0.74,0.74,0.74,0.67,0.67)
		var eschule = new Array(0,1.67,1.74,1.85,1.12,1.40,1.40,1.80,0.62,1.95,1.95,1.83,1.06,1.06,1.06,2.15,2.15)
		var ekath = new Array(0,0.39,0.38,0.50,0.55,0.38,0.40,0.50,0.21,0.35,0.40,0.35,0.40,0.50,0.40,0.50,0.50)
		var eref = new Array(0,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26,0.26)
	}


	if (kath+ref>0)
		einheiten=ekanton+egemeinde[gemeinde]+eschule[gemeinde]+(ekath[gemeinde]*kath/(eval(kath)+eval(ref)+eval(andere)))+(eref[gemeinde]*ref/(eval(kath)+eval(ref)+eval(andere)));
	else
		einheiten=ekanton+egemeinde[gemeinde]+eschule[gemeinde];

	return Math.floor((einheiten*einfsteuertotal)*20+0.5)/20;
}

function SteuerberechnungNP_DBSTordentlich(stbek,zivilstand,tarif,steuerjahr)
{
	var familiendivisor=1;
	var satzbekfamilie=0;
	
	if (stbek<=0)
		satzbekfamilie=0;
	else
		satzbekfamilie=Math.floor(stbek/familiendivisor/100)*100;
		
	window.document.DBST_ResultatOrdentlich.TotalOrdentlich.value=DbstEKSatzTarifNPordentlich(tarif,zivilstand,stbek,satzbekfamilie);
}

function DbstEKSatzTarifNPordentlich(jahr,DbstTarif,EKsteuerb,EKsatzb)
// Betraege unter Fr. 25 werden nicht in Rechnung gestellt
{
	var eksteuer;

	eksteuer=DbstTarifNPordentlich(jahr,DbstTarif,EKsatzb);
	if (eksteuer<25)
		eksteuer=0;
		
	if (EKsteuerb==0)
		return 0;
	else
		return Math.floor((eksteuer/EKsatzb*EKsteuerb)*20+0.5)/20;
}

function DbstTarifNPordentlich(jahr,DbstTarif,EK)
// Hier werden die Tarifstufen für das gewuenschte Jahr definiert
// Bemerkung: Solange keine Tarifanpassung auftritt, ist keine Aenderung noetig 
{
	var eksteuer=0;
	var i=0;
	var Tarif = new Array(20);
	var Prozent = new Array(20);
	var KumBetrag = new Array(20);
	
	if (DbstTarif==1) //Tarif alleinstehend
	{
		if (jahr==2001)
			{
				Tarif[0]=0;Prozent[0]=0.00;KumBetrag[0]=0;
				Tarif[1]=12800;Prozent[1]=0.00;KumBetrag[1]=-0.02;
				Tarif[2]=27900;Prozent[2]=0.77;KumBetrag[2]=116.25;
				Tarif[3]=36500;Prozent[3]=0.88;KumBetrag[3]=191.90;
				Tarif[4]=48600;Prozent[4]=2.64;KumBetrag[4]=511.30;
				Tarif[5]=63800;Prozent[5]=2.97;KumBetrag[5]=962.70;
				Tarif[6]=68800;Prozent[6]=5.94;KumBetrag[6]=1259.70;
				Tarif[7]=91100;Prozent[7]=6.60;KumBetrag[7]=2731.50;
				Tarif[8]=118400;Prozent[8]=8.80;KumBetrag[8]=5133.90;
				Tarif[9]=154700;Prozent[9]=11.00;KumBetrag[9]=9126.90;
				Tarif[10]=664400;Prozent[10]=13.20;KumBetrag[10]=76406.00;
				Tarif[11]=999999999;Prozent[11]=11.50;KumBetrag[11]=76406.00;
			}
		
		if (jahr==2006)
			{
				Tarif[0]=0;Prozent[0]=0.00;KumBetrag[0]=0;
				Tarif[1]=13600;Prozent[1]=0.00;KumBetrag[1]=-0.02;
				Tarif[2]=29800;Prozent[2]=0.77;KumBetrag[2]=124.70;
				Tarif[3]=39000;Prozent[3]=0.88;KumBetrag[3]=205.65;
				Tarif[4]=52000;Prozent[4]=2.64;KumBetrag[4]=548.85;
				Tarif[5]=68300;Prozent[5]=2.97;KumBetrag[5]=1032.95;
				Tarif[6]=73600;Prozent[6]=5.94;KumBetrag[6]=1347.75;
				Tarif[7]=97700;Prozent[7]=6.6;KumBetrag[7]=2938.35;
				Tarif[8]=127100;Prozent[8]=8.8;KumBetrag[8]=5525.55;
				Tarif[9]=166200;Prozent[9]=11.0;KumBetrag[9]=9826.55;
				Tarif[10]=712400;Prozent[10]=13.2;KumBetrag[10]=81924.95;
				Tarif[11]=712500;Prozent[11]=12.55;KumBetrag[11]=81937.5;
				Tarif[12]=999999999;Prozent[12]=11.50;KumBetrag[12]=81937.5;
			}	
					
			
	}
	else //Tarif verheiratet
	{
		if (jahr==2001)
			{
				Tarif[0]=0;Prozent[0]=0.00;KumBetrag[0]=0;
				Tarif[1]=24900;Prozent[1]=0.00;KumBetrag[1]=-0.02;
				Tarif[2]=44700;Prozent[2]=1.00;KumBetrag[2]=198.00;
				Tarif[3]=51300;Prozent[3]=2.00;KumBetrag[3]=328.00;
				Tarif[4]=66200;Prozent[4]=3.00;KumBetrag[4]=777.00;
				Tarif[5]=79400;Prozent[5]=4.00;KumBetrag[5]=1305.00;
				Tarif[6]=91000;Prozent[6]=5.00;KumBetrag[6]=1885.00;
				Tarif[7]=101000;Prozent[7]=6.00;KumBetrag[7]=2485.00;
				Tarif[8]=109300;Prozent[8]=7.00;KumBetrag[8]=3066.00;
				Tarif[9]=115900;Prozent[9]=8.00;KumBetrag[9]=3594.00;
				Tarif[10]=120900;Prozent[10]=9.00;KumBetrag[10]=4044.00;
				Tarif[11]=124300;Prozent[11]=10.00;KumBetrag[11]=4384.00;
				Tarif[12]=126000;Prozent[12]=11.00;KumBetrag[12]=4571.00;
				Tarif[13]=127700;Prozent[13]=12.00;KumBetrag[13]=4775.00;
				Tarif[14]=788400;Prozent[14]=13.00;KumBetrag[14]=90653.00;
				Tarif[15]=999999999;Prozent[15]=11.50;KumBetrag[15]=90653.00;
			}
			
			if (jahr==2006)
			{
				Tarif[0]=0;Prozent[0]=0.00;KumBetrag[0]=0;
				Tarif[1]=26700;Prozent[1]=0.00;KumBetrag[1]=0;
				Tarif[2]=47900;Prozent[2]=1.00;KumBetrag[2]=212;
				Tarif[3]=54900;Prozent[3]=2.00;KumBetrag[3]=352;
				Tarif[4]=70900;Prozent[4]=3.00;KumBetrag[4]=832;
				Tarif[5]=85100;Prozent[5]=4.00;KumBetrag[5]=1400;
				Tarif[6]=97400;Prozent[6]=5.00;KumBetrag[6]=2015;
				Tarif[7]=108100;Prozent[7]=6.00;KumBetrag[7]=2657;
				Tarif[8]=117000;Prozent[8]=7.00;KumBetrag[8]=3280;
				Tarif[9]=124000;Prozent[9]=8.00;KumBetrag[9]=3840;
				Tarif[10]=129300;Prozent[10]=9.00;KumBetrag[10]=4317;
				Tarif[11]=132900;Prozent[11]=10.00;KumBetrag[11]=4677;
				Tarif[12]=134700;Prozent[12]=11.00;KumBetrag[12]=4875;
				Tarif[13]=136500;Prozent[13]=12.00;KumBetrag[13]=5091;
				Tarif[14]=843600;Prozent[14]=13.00;KumBetrag[14]=97014;
				Tarif[15]=999999999;Prozent[15]=11.50;KumBetrag[15]=97014;
			}		
		
	}
	
	
	while (EK>=Tarif[i])
	{
		i=i+1;	
	}
	i=i-1;
	
	eksteuer=KumBetrag[i] + ((EK-Tarif[i])*Prozent[i+1]/100);
	//alert(Tarif[i]+":"+eksteuer+":"+KumBetrag[i]);
	//alert(i+":"+KumBetrag[i]+":"+EK+":"+Tarif[i]+":"+eval(EK-Tarif[i])+":"+eval(((EK-Tarif[i])*Prozent[i+1]/100)));

	return eksteuer;
	
}

function Steuerberechnung_DBSTkapitalleistung(stbek,zivilstand,tarif,steuerjahr)
{
	var familiendivisor=1;
	var satzbekfamilie=0;
	var steuersatz=0;
	var steuersatzkl=0;

	if (stbek<=0)
		satzbekfamilie=0;
	else
		satzbekfamilie=Math.floor(stbek/familiendivisor/100)*100;
		
	steuersatz=Steuersatzberechnung_DBSTkapitalleistung(tarif,zivilstand,stbek,satzbekfamilie)

	steuersatzkl=(Math.round(steuersatz*1000000)/1000000)*1/5;

	window.document.DBST_ResultatKapitalleistung.DBST_TotalSteuKapitalleistung.value=Math.floor(satzbekfamilie*steuersatzkl*20)/20;
}

function Steuersatzberechnung_DBSTkapitalleistung(jahr,DbstTarif,EKsteuerb,EKsatzb)
// Betraege unter Fr. 25 werden nicht in Rechnung gestellt
{
	var eksteuer=0;
	var eksatz=0;

	eksteuer=DbstTarifNPkapitalleistung(jahr,DbstTarif,EKsatzb);

	eksatz=eksteuer/EKsatzb;

	if (EKsteuerb==0)
		return 0;
	else
		return Math.min(eksatz,0.115);
}

function DbstTarifNPkapitalleistung(jahr,DbstTarif,EK)
// Hier werden die Tarifstufen für das gewuenschte Jahr definiert
// Bemerkung: Solange keine Tarifanpassung auftritt, ist keine Aenderung noetig 
{
	var eksteuer=0;
	var i=0;
	var Tarif = new Array(20);
	var Prozent = new Array(20);
	var KumBetrag = new Array(20);
	
	if (DbstTarif==1) //Tarif alleinstehend
	{
		if (jahr==2006)
			{
				Tarif[0]=12600;Prozent[0]=0.00;KumBetrag[0]=0;
				Tarif[1]=27400;Prozent[1]=0.77;KumBetrag[1]=0;
				Tarif[2]=35900;Prozent[2]=0.88;KumBetrag[2]=124.70;
				Tarif[3]=47900;Prozent[3]=2.64;KumBetrag[3]=205.65;
				Tarif[4]=62900;Prozent[4]=2.97;KumBetrag[4]=548.85;
				Tarif[5]=67700;Prozent[5]=5.94;KumBetrag[5]=1032.95;
				Tarif[6]=89800;Prozent[6]=6.60;KumBetrag[6]=1347.75;
				Tarif[7]=116800;Prozent[7]=8.80;KumBetrag[7]=2938.35;
				Tarif[8]=152700;Prozent[8]=11.00;KumBetrag[8]=5525.55;
				Tarif[9]=655000;Prozent[9]=13.20;KumBetrag[9]=9826.55;
				Tarif[10]=655100;Prozent[10]=11.50;KumBetrag[10]=81924.95;
				Tarif[11]=999999999;Prozent[11]=11.50;KumBetrag[11]=81937.5;
			}
	 if (jahr==2007)
			{
				Tarif[0]=0;Prozent[0]=0.00;KumBetrag[0]=0;
				Tarif[1]=12600;Prozent[1]=0.00;KumBetrag[1]=0;
				Tarif[2]=27400;Prozent[2]=0.77;KumBetrag[2]=113.95;
				Tarif[3]=35900;Prozent[3]=0.88;KumBetrag[3]=118.75;
				Tarif[4]=47900;Prozent[4]=2.64;KumBetrag[4]=505.55;
				Tarif[5]=62900;Prozent[5]=2.97;KumBetrag[5]=951.05;
				Tarif[6]=67700;Prozent[6]=5.94;KumBetrag[6]=1236.15;
				Tarif[7]=89800;Prozent[7]=6.60;KumBetrag[7]=2694.75;
				Tarif[8]=116800;Prozent[8]=8.80;KumBetrag[8]=5070.75;
				Tarif[9]=152700;Prozent[9]=11.00;KumBetrag[9]=9019.75;
				Tarif[10]=665100;Prozent[10]=13.20;KumBetrag[10]=75323.35;
				Tarif[11]=999999999;Prozent[11]=11.50;KumBetrag[11]=75336.50;
			}	

	}
	else //Tarif verheiratet
	{
		if (jahr==2006)
			{
				Tarif[0]=0;Prozent[0]=0.00;KumBetrag[0]=0;
				Tarif[1]=26700;Prozent[1]=0.00;;KumBetrag[1]=0;
				Tarif[2]=47900;Prozent[2]=1.00;;KumBetrag[2]=212;
				Tarif[3]=54900;Prozent[3]=2.00;;KumBetrag[3]=352;
				Tarif[4]=70900;Prozent[4]=3.00;;KumBetrag[4]=832;
				Tarif[5]=85100;Prozent[5]=4.00;;KumBetrag[5]=1400;
				Tarif[6]=97400;Prozent[6]=5.00;;KumBetrag[6]=2015;
				Tarif[7]=108100;Prozent[7]=6.00;;KumBetrag[7]=2657;
				Tarif[8]=117000;Prozent[8]=7.00;;KumBetrag[8]=3280;
				Tarif[9]=124000;Prozent[9]=8.00;;KumBetrag[9]=3840;
				Tarif[10]=129300;Prozent[10]=9.00;;KumBetrag[10]=4317;
				Tarif[11]=132900;Prozent[11]=10.00;;KumBetrag[11]=4677;
				Tarif[12]=134700;Prozent[12]=11.00;;KumBetrag[12]=4875;
				Tarif[13]=136500;Prozent[13]=12.00;;KumBetrag[13]=5091;
				Tarif[14]=843600;Prozent[14]=13.00;;KumBetrag[14]=97001;
				Tarif[15]=999999999;Prozent[15]=11.50;;KumBetrag[15]=97014;
			}
		if (jahr==2007)
			{
				Tarif[0]=0;Prozent[0]=0.00;KumBetrag[0]=0;
				Tarif[1]=24600;Prozent[1]=0.00;KumBetrag[1]=1;
				Tarif[2]=44000;Prozent[2]=1.00;KumBetrag[2]=195;
				Tarif[3]=50500;Prozent[3]=2.00;KumBetrag[3]=325;
				Tarif[4]=65200;Prozent[4]=3.00;KumBetrag[4]=766;
				Tarif[5]=78200;Prozent[5]=4.00;KumBetrag[5]=1286;
				Tarif[6]=89600;Prozent[6]=5.00;KumBetrag[6]=1856;
				Tarif[7]=99400;Prozent[7]=6.00;KumBetrag[7]=2444;
				Tarif[8]=107600;Prozent[8]=7.00;KumBetrag[8]=3018;
				Tarif[9]=114100;Prozent[9]=8.00;KumBetrag[9]=3538;
				Tarif[10]=118900;Prozent[10]=9.00;KumBetrag[10]=3970;
				Tarif[11]=122200;Prozent[11]=10.00;KumBetrag[11]=4300;
				Tarif[12]=123900;Prozent[12]=11.00;KumBetrag[12]=4487;
				Tarif[13]=125600;Prozent[13]=12.00;KumBetrag[13]=4691;
				Tarif[14]=775800;Prozent[14]=13.00;KumBetrag[14]=89217;
				Tarif[15]=999999999;Prozent[15]=11.50;KumBetrag[15]=89228.50;
			}		
	}
	
	while (EK>=Tarif[i])
	{
		i=i+1;	
	}
	i=i-1;	

	eksteuer=KumBetrag[i] + ((EK-Tarif[i])*Prozent[i+1]/100);

	return eksteuer;
	
}