function roundup(n) { 

  ans = n * 1000
  ans = Math.round(ans /10) + "" 
  while (ans.length < 3) {ans = "0" + ans} 
  len = ans.length 
  ans = ans.substring(0,len-2) + "." + ans.substring(len-2,len)
  return ans 
} 

function short_roundup(n) { 

  short_ans = n + 0.5 
  short_ans = Math.round(short_ans)
  short_ans = short_ans + ".00"
  return short_ans 
} 

function long_roundup(n) { 

  long_ans = n * 10000000000 
  long_ans = Math.round(long_ans)
  long_ans = long_ans / 10000000000 
  long_ans = long_ans
  return long_ans 
} 

function empty_fields() {
	
	Id = new Array('spSickness','spNursing','spPensions','spUnemploy','spLevy2','spProfess','spInsolvenz','spDisablEqu','spPCost','spRecCost','spFacil','spCapCost','spAdvTravCost','spTravCost','spVent','spEarn');
	
	for (i = 0; i < Id.length; i++){
		document.getElementById(Id[i]).innerHTML = '';
	}
}

function GrossSalCal(salent) { 

	var Sal,spSick,spNurs, strZusatzleistungen; 
	var  iHidSumSalNetto = 0;
	
	strent = salent ;
	
	if (strent != null )
	{	
		Sal = strent ;
	}
	else
	{
		Sal = document.formcal.txtSal.value;
	}
	
	strSal = Sal;
	Sal=strSal.replace(",",".");
	
	Sal= parseFloat(Sal);
	Sal= roundup(Math.abs(eval(Sal)));
									
	
	document.formcal.hidtxtSal.value = Sal;
	hidSal = eval(Sal);
	
	// Für Zusatzleistungen ------Start
	if (Sal == null || (parseFloat(Sal) == 0.00))
	{
		document.formcal.txtZusatzleistungen.value = "0000,00";
		//document.formcal.txtZeitarbeitsfaktor.value = "1,98";
		document.getElementById('txtMAstundenlohn').innerHTML = "00,00";
		document.formcal.txtBruttolohn.value = "0000,00";
		if(document.getElementById('spSickness').innerHTML != ""){
			empty_fields();
		}
	}
	else						
	{	
		var Mitarbeiterstundenlohn;
		var sMitarbeiterstundenlohn;
		var Arbeitgeberanteil;
		var SummeTotal;
		var Zusatzleistungen = 30;
		
		var Zusatzleistungen_a = parseFloat(Zusatzleistungen);
		var Zusatzleistungen_b = parseFloat(Sal);
		var Zsl = eval(30 + Zusatzleistungen_b);
		var Zusatzleistungen_c = eval(Zusatzleistungen_a + Zusatzleistungen_b);
		sZusatzleistungen_c = roundup(Math.abs(Zusatzleistungen_c));
		sZusatzleistungen_c = sZusatzleistungen_c.replace(".",",");
		Arbeitgeberanteil = eval(Zusatzleistungen_c * 0.212);
		SummeTotal = eval(Zusatzleistungen_c + Arbeitgeberanteil);
		
		Mitarbeiterstundenlohn = eval(Zusatzleistungen_c / 173.33);
		Mitarbeiterstundenlohn = roundup(Math.abs(Mitarbeiterstundenlohn));
		sMitarbeiterstundenlohn = Mitarbeiterstundenlohn.replace(".",",");
		//Zusatzleistungen_c = Zusatzleistungen_c + ",00";
		
		document.formcal.txtZusatzleistungen.value = sZusatzleistungen_c;
		document.getElementById('txtMAstundenlohn').innerHTML = sMitarbeiterstundenlohn;
		var sZaf = '1,92';
		var iZaf = 1.92;
		//document.formcal.txtZeitarbeitsfaktor.value = sZaf;
		var hidSumSalNetto = eval(iZaf * Mitarbeiterstundenlohn);
		iHidSumSalNetto = hidSumSalNetto;
		hidSumSalNetto = Math.round(hidSumSalNetto*10)/10;
		hidSumSalNetto = roundup(Math.abs(hidSumSalNetto));
		hidSumSalNetto = hidSumSalNetto.replace(".",",");
		document.formcal.txtBruttolohn.value = hidSumSalNetto;
	
	// For 21,2% Arbeitgeberanteil ------Start Here

	sperSick = Math.abs(7.3/100);//7,3%
	sperNurs = Math.abs(0.98/100);//0.98%
	sperPensions = Math.abs(9.80/100);//9.80%
	sperUnemploy = Math.abs(1.50/100);//1.50%			
	sperLevy2 = Math.abs(0.25/100);//0.25%
	sperInsolvenz = Math.abs(0.04/100);//0,04%
	sperProfess = Math.abs(0.73/100);//0.73%
	sperDisablEqu = Math.abs(0.60/100);//0.60%
	
	// For 21,2% Arbeitgeberanteil ---
	
	strSick = roundup(Math.abs(Zsl * sperSick)); //7.3% 
	var hidSick = eval(strSick);
	var strSick=strSick.replace(".",",");
	document.getElementById('spSickness').innerHTML = strSick;
	
	strNurs = roundup(Math.abs(Zsl * sperNurs)); //0.98%
	hidNurs = eval(strNurs);
	strNurs=strNurs.replace(".",",");
	document.getElementById('spNursing').innerHTML = strNurs;
	
	strPensions = roundup(Math.abs(Zsl * sperPensions)); //9.80%
	hidPensions = eval(strPensions);
	strPensions=strPensions.replace(".",",");
	document.getElementById('spPensions').innerHTML = strPensions;
	
	
	strUnemploy = roundup(Math.abs(Zsl * sperUnemploy)); //1.50%	
	hidUnemploy = eval(strUnemploy);
	strUnemploy=strUnemploy.replace(".",",");
	document.getElementById('spUnemploy').innerHTML = strUnemploy;
	
	strLevy2 = roundup(Math.abs(Zsl * sperLevy2)); //0.25%	
	hidLevy2 = eval(strLevy2);
	strLevy2=strLevy2.replace(".",",");
	document.getElementById('spLevy2').innerHTML = strLevy2;
	
	strInsolvenz = roundup(Math.abs(Zsl * sperInsolvenz)); //0.04%
	hidInsolvenz = eval(strInsolvenz);
	strInsolvenz=strInsolvenz.replace(".",",");
	document.getElementById('spInsolvenz').innerHTML = strInsolvenz;
	
	strProfess = roundup(Math.abs(Zsl * sperProfess)); //0.73%
	hidProfess = eval(strProfess);
	strProfess=strProfess.replace(".",",");
	document.getElementById('spProfess').innerHTML = strProfess;
	
	strDisablEqu = roundup(Math.abs(Zsl * sperDisablEqu)); //0.60%
	hidDisablEqu = eval(strDisablEqu);
	strDisablEqu=strDisablEqu.replace(".",",");
	document.getElementById('spDisablEqu').innerHTML = strDisablEqu;
	
	
	hidSum=Math.abs(eval(hidSick + hidNurs + hidPensions + hidUnemploy + hidLevy2 + hidProfess + hidInsolvenz + hidDisablEqu)); 
	Zusatzleistungen_d = parseFloat(Zusatzleistungen_c);
	hidSalTot = eval(Zusatzleistungen_d + hidSum); 
	
	// For 21,2% Arbeitgeberanteil -----End Here
	
	// For 23 % Dienstleistungskosten ------Start Here (Erneuert 2010-07-12)
	var iDL_KostenGesamt = eval(roundup(Math.abs((((Zusatzleistungen_c *1.212)*100)/77) * 0.23)));
	var iUmsatz = iDL_KostenGesamt/23;
	
	hidSalTotCal = eval(roundup(Math.abs((hidSalTot*100)/77)))
	hidSalTotCal = roundup(eval(hidSalTotCal));
	
	sperPCost = Math.abs(5.00)
	sperRecCost = Math.abs(4.50)
	sperFacil = Math.abs(3.00)
	sperCapCost = Math.abs(1.50)
	sperAdvTravCost = Math.abs(1.00)
	sperTravCost = Math.abs(1.00)
	sperVent  = Math.abs(2.00)
	sperEarn_1 = Math.abs(2.00)
	sperEarn_2 = Math.abs(5.00)


	
	strPCost = roundup(Math.abs(iUmsatz*sperPCost)); //7% 
	hidPCost = eval(strPCost);	
	//while(strPCost.indexOf(".")!=-1)
	strPCost=strPCost.replace(".",",");
	document.getElementById('spPCost').innerHTML = strPCost;
		
	strRecCost = roundup(Math.abs(iUmsatz*sperRecCost)); //4.5% 
	hidRecCost = eval(strRecCost);
	//while(strRecCost.indexOf(".")!=-1)
		strRecCost=strRecCost.replace(".",",");
	document.getElementById('spRecCost').innerHTML = strRecCost;
	
	strFacil = roundup(Math.abs(iUmsatz*sperFacil)); //3.0%
	hidFacil = eval(strFacil);
	//while(strFacil.indexOf(".")!=-1)
		strFacil=strFacil.replace(".",",");
	document.getElementById('spFacil').innerHTML = strFacil;
	
	
	strCapCost = roundup(Math.abs(iUmsatz*sperCapCost)); //1.5%		
	hidCapCost = eval(strCapCost);
	//while(strCapCost.indexOf(".")!=-1)
		strCapCost=strCapCost.replace(".",",");
	document.getElementById('spCapCost').innerHTML = strCapCost;
	
	strAdvTravCost = roundup(Math.abs(iUmsatz * sperAdvTravCost)); //1.0%	
	hidAdvTravCost= eval(strAdvTravCost);
	//while(strAdvTravCost.indexOf(".")!=-1)
		strAdvTravCost=strAdvTravCost.replace(".",",");
	document.getElementById('spAdvTravCost').innerHTML = strAdvTravCost;
	
	strTravCost = roundup(Math.abs(iUmsatz * sperTravCost)); //1.0%	
	hidTravCost= eval(strTravCost);
	//while(strAdvTravCost.indexOf(".")!=-1)
		strTravCost=strTravCost.replace(".",",");
	document.getElementById('spTravCost').innerHTML = strTravCost;
	
	strVent = roundup(Math.abs(iUmsatz * sperVent));//2.0%
	hidVent  = eval(strVent );
	//while(strVent.indexOf(".")!=-1)
		strVent=strVent.replace(".",",");
	document.getElementById('spVent').innerHTML = strVent;
	
	strEarn_1 = roundup(Math.abs(iUmsatz * sperEarn_1)); //2.0%
	hidEarn_1 = eval(strEarn_1);
	//while(strEarn.indexOf(".")!=-1)
		strEarn_1=strEarn_1.replace(".",",");

	
	strEarn_2 = roundup(Math.abs(iUmsatz * sperEarn_2)); //5.0%
	hidEarn_2 = eval(strEarn_2);
	//while(strEarn.indexOf(".")!=-1)
		strEarn_2=strEarn_2.replace(".",",");
	document.getElementById('spEarn').innerHTML = String(strEarn_1)+" - "+String(strEarn_2);
	
//	hidSumDienst=roundup(Math.abs(eval(hidPCost+hidRecCost+hidFacil+hidCapCost+hidAdvTravCost+hidVent+hidEarn))); 
	
	// For 25 % Dienstleistungskosten ------End Here
	}
}

function BruttolohnCal(salent) 
{ 
	var Sal,spSick,spNurs, Brutto; 
	
	strent = salent ; 
	
	if (strent != null )
	{	
		Sal = strent ; 
		
	}
	else
	{
		Sal = document.formcal.txtBruttolohn.value;
	}
	
	strSal = Sal;
	Sal=strSal.replace(",",".");
	
	Sal = parseFloat(Sal);
	Sal = roundup(Math.abs(eval(Sal)));
									
	if (Sal == null || Sal == 0 || Sal == "0,00")
	{
		document.formcal.txtZusatzleistungen.value = "0,00";
		//document.formcal.txtZeitarbeitsfaktor.value = "1,98";
		document.getElementById('txtMAstundenlohn').innerHTML = "0,00";
		document.formcal.txtSal.value = "0,00";
		if(document.getElementById('spSickness').innerHTML != ""){
			empty_fields();
		}
	}	
	else
	{
		//var iKostenStunde = eval((Sal * 73) / 100);
		//var iKostenMonat = eval(iKostenStunde *142);
		//var iZusatzleistungen = eval(iKostenMonat/1.212);
		var sZaf = '1,92';
		var iZaf = 1.92;
		var iZusatzleistungen = eval(Math.abs((Sal * 173.33)/iZaf));

		sZusatzleistungen = roundup(Math.abs(iZusatzleistungen));
		sZusatzleistungen = sZusatzleistungen.replace(".",",");
		document.formcal.txtZusatzleistungen.value = sZusatzleistungen;
		
		//document.formcal.txtZeitarbeitsfaktor.value = sZaf;
		iHidSumSalNetto = eval(iZusatzleistungen - 30);
		sHidSumSalNetto = roundup(Math.abs(iHidSumSalNetto))
		sHidSumSalNetto = sHidSumSalNetto.replace(".",",");
		document.formcal.txtSal.value = sHidSumSalNetto;								
				
		Mitarbeiterstundenlohn = eval(iZusatzleistungen / 173.33);
		Mitarbeiterstundenlohn = roundup(Math.abs(Mitarbeiterstundenlohn));
		sMitarbeiterstundenlohn = Mitarbeiterstundenlohn.replace(".",",");
		//hidSick = eval(strSick);
		//while(strSick.indexOf(".")!=-1)
		//Zusatzleistungen_c = Zusatzleistungen_c + ",00";
		document.getElementById('txtMAstundenlohn').innerHTML = sMitarbeiterstundenlohn;
		
		//var iUmsatz = Sal * 142;
		var iDL_KostenGesamt = eval(roundup(Math.abs((((iZusatzleistungen * 1.212)*100)/77) * 0.23)));
		var iUmsatz = iDL_KostenGesamt/23;
	
	
	
	
	
	// For 21,5% Arbeitgeberanteil ------Start Here
	
	sperSick = Math.abs(7.3/100);//7,3%
	sperNurs = Math.abs(0.98/100);//0.98%
	sperPensions = Math.abs(9.80/100);//9.95%
	sperUnemploy = Math.abs(1.50/100);//1.50%			
	sperLevy2 = Math.abs(0.25/100);//0.25%
	sperInsolvenz = Math.abs(0.04/100);//0,04%
	sperProfess = Math.abs(0.73/100);//0.73%
	sperDisablEqu = Math.abs(0.60/100);//0.60%
	
	// For 21,5% Arbeitgeberanteil ---
	
	strSick = roundup(Math.abs(iZusatzleistungen * sperSick)); //7.3% 
	hidSick = eval(strSick);
	//while(strSick.indexOf(".")!=-1)
		strSick=strSick.replace(".",",");
	//spSickness.innerHTML =strSick;
	document.getElementById('spSickness').innerHTML = strSick;
	
	
	strNurs = roundup(Math.abs(iZusatzleistungen * sperNurs)); //0.98%
	hidNurs = eval(strNurs);
	//while(strNurs.indexOf(".")!=-1)
		strNurs=strNurs.replace(".",",");
	document.getElementById('spNursing').innerHTML = strNurs;
	
	strPensions = roundup(Math.abs(iZusatzleistungen * sperPensions)); //9.95%
	hidPensions = eval(strPensions);
	//while(strPensions.indexOf(".")!=-1)
		strPensions=strPensions.replace(".",",");
	document.getElementById('spPensions').innerHTML = strPensions;
	
	
	strUnemploy = roundup(Math.abs(iZusatzleistungen * sperUnemploy)); //1.40%	
	//strUnemploy = Math.abs(Sal * sperUnemploy);
	hidUnemploy = eval(strUnemploy);
	//while(strUnemploy.indexOf(".")!=-1)
		strUnemploy=strUnemploy.replace(".",",");
	document.getElementById('spUnemploy').innerHTML = strUnemploy;
	
	strLevy2 = roundup(Math.abs(iZusatzleistungen * sperLevy2)); //0.25%	
	hidLevy2 = eval(strLevy2);
	//while(strLevy2.indexOf(".")!=-1)
		strLevy2=strLevy2.replace(".",",");
	document.getElementById('spLevy2').innerHTML = strLevy2;
	
	strInsolvenz = roundup(Math.abs(iZusatzleistungen * sperInsolvenz)); //0.41%
	hidInsolvenz = eval(strInsolvenz);
	//while(strProfess.indexOf(".")!=-1)
		strInsolvenz=strInsolvenz.replace(".",",");
	document.getElementById('spInsolvenz').innerHTML = strInsolvenz;
	
	strProfess = roundup(Math.abs(iZusatzleistungen * sperProfess)); //0.63%
	hidProfess = eval(strProfess);
	//while(strProfess.indexOf(".")!=-1)
		strProfess=strProfess.replace(".",",");
	document.getElementById('spProfess').innerHTML = strProfess;
	
	strDisablEqu = roundup(Math.abs(iZusatzleistungen * sperDisablEqu)); //0.59%
	hidDisablEqu = eval(strDisablEqu);
	//while(strDisablEqu.indexOf(".")!=-1)
		strDisablEqu=strDisablEqu.replace(".",",");
	document.getElementById('spDisablEqu').innerHTML = strDisablEqu;
	
	
	//hidSum=Math.abs(eval(hidSick + hidNurs + hidPensions + hidUnemploy + hidLevy2 + hidInsolvenz + hidProfess + hidDisablEqu)); 
	//Zusatzleistungen_d = parseFloat(Zusatzleistungen_c);
	//hidSalTot = eval(Zusatzleistungen_d + hidSum); 
	
	
	// For 21,5% Arbeitgeberanteil -----End Here
	
	// For 25 % Dienstleistungskosten ------Start Here
	
	//hidSalTotCal=eval(roundup(Math.abs((hidSalTot*100)/72)))
	//hidSalTotCal = roundup(eval(hidSalTotCal));
		
	sperPCost = Math.abs(5.00)
	sperRecCost = Math.abs(4.50)
	sperFacil = Math.abs(3.00)
	sperCapCost = Math.abs(1.50)
	sperAdvTravCost = Math.abs(1.00)
	sperTravCost = Math.abs(1.00)
	sperVent  = Math.abs(2.00)
	sperEarn_1 = Math.abs(2.00)
	sperEarn_2 = Math.abs(5.00)
	
	strPCost = roundup(Math.abs(iUmsatz*sperPCost)); //7% 
	hidPCost = eval(strPCost);
	
	//while(strPCost.indexOf(".")!=-1)
		strPCost=strPCost.replace(".",",");
	document.getElementById('spPCost').innerHTML =strPCost ;
		
	strRecCost = roundup(Math.abs(iUmsatz*sperRecCost)); //4.5% 
	hidRecCost = eval(strRecCost);
	//while(strRecCost.indexOf(".")!=-1)
		strRecCost=strRecCost.replace(".",",");
	document.getElementById('spRecCost').innerHTML = strRecCost;
	
	strFacil = roundup(Math.abs(iUmsatz*sperFacil)); //3.0%
	hidFacil = eval(strFacil);
	//while(strFacil.indexOf(".")!=-1)
		strFacil=strFacil.replace(".",",");
	document.getElementById('spFacil').innerHTML = strFacil;
	
	
	strCapCost = roundup(Math.abs(iUmsatz*sperCapCost)); //1.5%	
	
	hidCapCost = eval(strCapCost);
	//while(strCapCost.indexOf(".")!=-1)
		strCapCost=strCapCost.replace(".",",");
	document.getElementById('spCapCost').innerHTML = strCapCost;
	
	strAdvTravCost = roundup(Math.abs(iUmsatz * sperAdvTravCost)); //2.0%	
	hidAdvTravCost= eval(strAdvTravCost);
	//while(strAdvTravCost.indexOf(".")!=-1)
		strAdvTravCost=strAdvTravCost.replace(".",",");
	document.getElementById('spAdvTravCost').innerHTML = strAdvTravCost;
	
	strTravCost = roundup(Math.abs(iUmsatz * sperTravCost)); //2.0%	
	hidTravCost= eval(strTravCost);
	//while(strAdvTravCost.indexOf(".")!=-1)
		strAdvTravCost=strTravCost.replace(".",",");
	document.getElementById('spTravCost').innerHTML = strTravCost;
	
	strVent = roundup(Math.abs(iUmsatz * sperVent));//2.0%
	hidVent  = eval(strVent );
	//while(strVent.indexOf(".")!=-1)
		strVent=strVent.replace(".",",");
	document.getElementById('spVent').innerHTML = strVent;
	
	//strEarn = roundup(Math.abs(iUmsatz * sperEarn)); //5.0%
	//hidEarn = eval(strEarn);
	////while(strEarn.indexOf(".")!=-1)
	//	strEarn=strEarn.replace(".",",");
	//document.getElementById('spEarn').innerHTML = strEarn;
	//hidSumDienst=roundup(Math.abs(eval(hidPCost+hidRecCost+hidFacil+hidCapCost+hidAdvTravCost+hidVent+hidEarn)));
	
	
	strEarn_1 = roundup(Math.abs(iUmsatz * sperEarn_1)); //2.0%
	hidEarn_1 = eval(strEarn_1);
	//while(strEarn.indexOf(".")!=-1)
		strEarn_1=strEarn_1.replace(".",",");

	
	strEarn_2 = roundup(Math.abs(iUmsatz * sperEarn_2)); //5.0%
	hidEarn_2 = eval(strEarn_2);
	//while(strEarn.indexOf(".")!=-1)
		strEarn_2=strEarn_2.replace(".",",");
	document.getElementById('spEarn').innerHTML = String(strEarn_1)+" - "+String(strEarn_2);

	
	hidSumDienst=roundup(Math.abs(eval(hidPCost+hidRecCost+hidFacil+hidCapCost+hidAdvTravCost+hidTravCost+hidVent+hidEarn))); 
		
	
	// For 25 % Dienstleistungskosten ------End Here
	}

}


function OnbodyLoad()
{	
	
	if (document.formcal.txtBruttolohn.value !="")
	{
		document.formcal.hidtxtBruttolohn.value = document.formcal.txtBruttolohn.value;
		salent = document.formcal.hidtxtBruttolohn.value;
	}
	else
	{
		document.formcal.txtBruttolohn.value = "0,00";	
		document.formcal.hidtxtBruttolohn.value = document.formcal.txtBruttolohn.value;
		salent = document.formcal.hidtxtBruttolohn.value;
	}
		
		//BruttolohnCal(salent);
	
}

