function BerechnungNEU(ThisOne,zahl)
{

 with(ThisOne)
  {


	//alert("THIS ONE "+ThisOne);
    // Name der Form anzeigen
    // alert(name);
    // Auf gültige Zahl prüfen
    if(isNaN(eDV_lfd.value) == true ||eDV_lfd.value == 0)
    {
         // Fehler melden und Aus
	if(zahl==1){
	//alert('zahl '+zahl);
	return false;
	}
	else{
      alert('Bitte eine gültige Zahl eingeben !');
      return false;
	}
    }
    else
    {
			var jahr;
	 		var ASVG_DGA=0;
     		 	var eDV_MAVK=0;
      			var ASVG_DGA_1314 = 0;
     		 	var ASVG_DNA 	= 0;
      			var ASVG_DNA_1314 = 0;
      			var ASVG_min 	=0;
      			var ASVG_max  	=0;
      			var ASVG_GSZ  	=0;
      			var ASVG_A13	=0;
      			var SAP_DV 	=0;

     
            		var ASVG_UV                = 0;
      			var ASVG_DGA_fDV                = 0;
     			var ASVG_DNA_fDV                =0;
      			var KommSt                =     0;
     			var DGB                        = 0;
     			var DGB_Zusch                =   0;
      			var GSVG_min                = 0;
      			var GSVG_max                =0;
      			var GSVG_KV_PV                =0;
      			var GSVG_UV                =   0;

      			var Bezug_13_14                = 0;
      			var LSt_Pflicht                =  0;
      			var ESt_Pflicht                = 0;


		for(i=0;i<ThisOne.length;++i)
    			{


		if (ThisOne.elements[i].name == 'combo'){

		field=ThisOne.elements[i];
		
		for(j=0;j<field.length;++j){

		
		if(field.options[j].selected == true){


		
		
		val = field.options[j].text;
		//alert('val |'+val+'|');
		jahr=val;
	
		if(val.indexOf('2004')> -1){

		 	 ASVG_DGA  	= 0.2185;
     		 	 eDV_MAVK  	= 0.0153;
      			 ASVG_DGA_1314 = 0.2135;
     		 	 ASVG_DNA 	= 0.1795;
      			 ASVG_DNA_1314 = 0.1695;
      			// ASVG_min 	=   301.54;
      			 ASVG_min 	=   316.19;
      			// ASVG_max 	=  3270;
      			 ASVG_max  	=  3450;
      			 ASVG_GSZ  	=  310;
      			 ASVG_A13	=  310;
      			 SAP_DV 	=  	60;

     
            		 ASVG_UV                =     0.0140;
      			 ASVG_DGA_fDV                =     0.1740;
     			 ASVG_DNA_fDV                =     0.1380;
      			 KommSt                =     0.0300;
     			 DGB                        =     0.0450;
     			 DGB_Zusch                =     0.0040;
      			 GSVG_min                =  1045.63;
      			 GSVG_max                = 48300;
      			 GSVG_KV_PV                =     0.2400;
      			 GSVG_UV                =    83.16;

      			 Bezug_13_14                =     0.0600;
      			 LSt_Pflicht                =  8720;
      			 ESt_Pflicht                =  7049;


		}
		if(val.indexOf('2005')> -1){
			
			 ASVG_DGA                =     0.2190;
      			 ASVG_DGA_1314                =     0.2140;
      			 ASVG_DNA                =     0.1800;
      			 ASVG_DNA_1314                =     0.1700;

			 ASVG_min                =   323.46;
      			 ASVG_max                =  3630;
      			 
      			
			 ASVG_UV                =     0.0140;
			 eDV_MAVK                =     0.0153;
      			 KommSt                =     0.0300;
      			 DGB                        =     0.0450;
      			 DGB_Zusch                =     0.0040;

			 ASVG_DGA_fDV                =     0.1745;
      			 ASVG_DNA_fDV                =     0.1385;

			 GSVG_UV                =    85.08;			
			 GSVG_max                = 50820.00;
			//kv + pv addieren?
			 GSVG_KV_PV                =     0.2410;

			//welches min????
      			 GSVG_min                =  20382,12;
      			

      			 Bezug_13_14                =     0.0600;
      			 LSt_Pflicht                =  0;
      			 ESt_Pflicht                =  7049;

			 ASVG_GSZ                =  310;
      			 ASVG_A13                =  310;
      			// SAP_DV                =  60;
		}
		

		if(val.indexOf('2006')> -1){
			ASVG_DGA                =     0.2190;
      			 ASVG_DGA_1314                =     0.2140;
      			 ASVG_DNA                =     0.1800;
      			 ASVG_DNA_1314                =     0.1700;

      			ASVG_min                =   333.16;
      			 ASVG_max                =  3750;


      			
			 ASVG_UV                =     0.0140;
			 eDV_MAVK                =     0.0153;
      			 KommSt                =     0.0300;
      			 DGB                        =     0.0450;
      			 DGB_Zusch                =     0.0040;

			 ASVG_DGA_fDV                =     0.1745;
      			 ASVG_DNA_fDV                =     0.1385;

			 GSVG_UV                =    87.60;			
			 GSVG_max                = 52500;
			//kv + pv addieren?
			 GSVG_KV_PV                =     0.2435;

			//welches min addieren
      			 GSVG_min                =  20007,12;
      			

      			 Bezug_13_14                =     0.0600;
      			 LSt_Pflicht                =  0;
      			 ESt_Pflicht                =  7049;

			//aufteilung des freibetrages des 13+14 monatsgehaltes
			 ASVG_GSZ                =  310;
      			 ASVG_A13                =  310;
      			// SAP_DV                =  60;

		}

		if(val.indexOf('2008')> -1){
				
			//alert("In Berechne 2008 DDD!!!");
			 
			 ASVG_DGA                =     0.2183;
      			 ASVG_DGA_1314                =     0.2133;
      			 ASVG_DNA                =     0.1807;
      			 ASVG_DNA_1314                =     0.1707;

      			ASVG_min                =   349.01;
      			 ASVG_max                =  3930.00;

			 eDV_MAVK                =     0.0153; 
      			 KommSt                =     0.0300;
      			 DGB                        =     0.0450;
      			 DGB_Zusch                =     0.0040;
			
			 ASVG_UV                =     0.0140;
			GSVG_KV_min			= 7469.16;
			GSVG_PV_min 			= 11422.44
			
			 GSVG_UV                =    91.80;			
			 GSVG_max                = 55020.00;

			 ASVG_DGA_fDV                =     0.2128;
      			 ASVG_DNA_fDV                =     0.1762;

			
			//kv + pv addieren?
			 GSVG_KV_PV                =     0.2493;
		      	 GSVG_KV			= 0.0918;			
			 GSVG_PV			= 0.1575;

			//welches min addieren
      			 GSVG_min                =  18891,6;
      			

      			 Bezug_13_14                =     0.0600;
      			 LSt_Pflicht                =  8720;
      			 ESt_Pflicht                =  7049;

			//aufteilung des freibetrages des 13+14 monatsgehaltes
			 ASVG_GSZ                =  310;
      			 ASVG_A13                =  310;
			ASVG_frei 			= 2000;
      			// SAP_DV                =  60;

		}


		}

		}
		}
		}
		
	
	
	 eDV_13.value = eDV_lfd.value;
       eDV_14.value = eDV_lfd.value;
       eDV_Ges.value = eDV_lfd.value * 14;
	
	//Werte für die Zeile Brutto beim Dienstgeber	
	eDV_lfddg.value =Add1000(eDV_lfd.value);
	eDV_13dg.value =Add1000(eDV_13.value);
	eDV_14dg.value = Add1000(eDV_14.value);
	eDV_Gesdg.value =Add1000(eDV_Ges.value);


       // SV
      if(parseInt(eDV_Ges.value) <= (14 * ASVG_min))
      {
        DG_SVlfd.value                =       Math.round(parseInt(eDV_lfd.value) * ASVG_UV);
        DG_SV13.value                =       Math.round(parseInt(eDV_13.value) * ASVG_UV);
        DG_SV14.value                =       Math.round(parseInt(eDV_14.value) * ASVG_UV);
	DG_SVGes.value                = parseInt(DG_SVlfd.value) *12 +parseInt(DG_SV13.value) + parseInt(DG_SV14.value);
        eDV_SVlfd.value                = 0;
        eDV_SV13.value                = 0;
        eDV_SV14.value                = 0;
        eDV_SVGes.value                = 0;
      
      }
      else
      {
       
	eDV_SVlfd.value = 0 -	Math.round(Math.min((parseInt(eDV_lfd.value) ) *ASVG_DNA, ASVG_max * ASVG_DNA) );
	eDV_SV13.value = 0 -	Math.round(Math.min((parseInt(eDV_13.value) ) * ASVG_DNA_1314, ASVG_max * ASVG_DNA_1314) );
	eDV_SV14.value = 0 -	Math.round(Math.min((parseInt(eDV_14.value) ) * ASVG_DNA_1314, ASVG_max * ASVG_DNA_1314) );

	eDV_SVGes.value                = parseInt(eDV_SVlfd.value) *12 +parseInt(eDV_SV13.value) + parseInt(eDV_SV14.value);

        DG_SVlfd.value                =       Math.round(Math.min((parseInt(eDV_lfd.value) * ASVG_DGA), ASVG_max * ASVG_DGA) );
        DG_SV13.value                =       Math.round(Math.min(parseInt(eDV_13.value) * ASVG_DGA_1314 , ASVG_max * ASVG_DGA_1314) );
        DG_SV14.value                =       Math.round(Math.min(parseInt(eDV_14.value) * ASVG_DGA_1314, ASVG_max * ASVG_DGA_1314) );
	DG_SVGes.value                = parseInt(DG_SVlfd.value) *12 +parseInt(DG_SV13.value) + parseInt(DG_SV14.value);


        //DGA_A_eDV.value                = 0 - Math.round((parseInt(Brutto_eDV.value) ) / 14 * 12 * ASVG_DGA 
	//                                   + (parseInt(Brutto_eDV.value)) * ASVG_DGA_1314 / 14 * 2);
        //MAVK_eDV.value = 0 - Math.round(Brutto_eDV.value * eDV_MAVK );
      }

      //LST

	//alert(' '+(parseInt(eDV_Ges.value) + parseInt(eDV_SVGes.value * 1))+' <= '+LSt_Pflicht);
      if((parseInt(eDV_Ges.value) + parseInt(eDV_SVGes.value * 1)) <= LSt_Pflicht)
      {
        //ESt_eDV.value                = 0;

	eDV_LSlfd.value		     = 0;
        eDV_LS13.value                = 0;
        eDV_LS14.value                = 0;
        eDV_LSGes.value                = 0;
	//alert('A');
      }
      else
      {

	//alert('B');
	
	if(jahr.indexOf('2008')> -1)
	{
	eDV_LSlfd.value = 0 - Est2008((parseInt(eDV_lfd.value) + parseInt(eDV_SVlfd.value))) ;
	}
	else{
      
		if(jahr.indexOf('2004')> -1)
		{
        eDV_LSlfd.value = 0 - Est2004((parseInt(eDV_lfd.value) + parseInt(eDV_SVlfd.value))) ;
		}
	
	else
	{
	eDV_LSlfd.value = 0 - Est2005_2006((parseInt(eDV_lfd.value) + parseInt(eDV_SVlfd.value))) ;
	}
	}
	//alert('lfd '+eDV_LSlfd.value)

	if(((parseInt(eDV_13.value)) +parseInt(eDV_SV13.value)-ASVG_A13)> 0) 
	{
	eDV_LS13.value = Math.round(0 -
	((((parseInt(eDV_13.value))+parseInt(eDV_SV13.value)-ASVG_A13)  )
	* Bezug_13_14 ));
        }

	if(((parseInt(eDV_14.value)) +parseInt(eDV_SV14.value)-ASVG_GSZ)> 0) 
	{
	eDV_LS14.value = Math.round(0 -
	((((parseInt(eDV_14.value))+parseInt(eDV_SV14.value)-ASVG_GSZ)  )
	* Bezug_13_14 ));
        }

	if(eDV_lfd.value*2 <=2000){
	eDV_LS13.value=0;
	eDV_LS14.value=0;
	
	}



        eDV_LSGes.value = Math.round(parseInt(eDV_LSlfd.value) * 12  +parseInt(eDV_LS13.value) +parseInt(eDV_LS14.value));
                        
      }

      //NETTO

      eDV_Nlfd.value = parseInt(eDV_lfd.value) +
      parseInt(eDV_SVlfd.value) + parseInt(eDV_LSlfd.value);  

      eDV_N13.value = parseInt(eDV_13.value) +
      parseInt(eDV_SV13.value) + parseInt(eDV_LS13.value);  

      eDV_N14.value = parseInt(eDV_14.value) +
      parseInt(eDV_SV14.value) + parseInt(eDV_LS14.value);  

      eDV_NGes.value = Math.round(parseInt(eDV_Nlfd.value) * 12  +parseInt(eDV_N13.value) +parseInt(eDV_N14.value));

     
     //DB

           // Berechnung für den echten Dienstvertrag
      DG_DBlfd.value        =  Math.round(eDV_lfd.value * DGB);
      DG_DB13.value        =  Math.round(eDV_13.value * DGB);
      DG_DB14.value        =  Math.round(eDV_14.value * DGB);

      DG_DBGes.value = Math.round(parseInt(DG_DBlfd.value) * 12
      +parseInt(DG_DB13.value) +parseInt(DG_DB14.value));


      //DZ
      DG_DZlfd.value        =  Math.round(eDV_lfd.value * DGB_Zusch);
      DG_DZ13.value        =  Math.round(eDV_13.value * DGB_Zusch);
      DG_DZ14.value        = Math.round(eDV_14.value * DGB_Zusch);

      DG_DZGes.value = Math.round(parseFloat(DG_DZlfd.value) * 12  +parseFloat(DG_DZ13.value) +parseFloat(DG_DZ14.value));


      //Kost
      DG_KOlfd.value        =  Math.round(eDV_lfd.value * KommSt);
      DG_KO13.value        =  Math.round(eDV_13.value * KommSt);
      DG_KO14.value        =  Math.round(eDV_14.value * KommSt);

      DG_KOGes.value = Math.round(parseFloat(DG_KOlfd.value) * 12 +parseFloat(DG_KO13.value) +parseFloat(DG_KO14.value));

      //MVK
      DG_MVKlfd.value        =  Math.round(eDV_lfd.value * eDV_MAVK);
      DG_MVK13.value        =  Math.round(eDV_13.value * eDV_MAVK);
      DG_MVK14.value        =  Math.round(eDV_14.value * eDV_MAVK);

      DG_MVKGes.value = Math.round(parseFloat(DG_MVKlfd.value) * 12
      +parseFloat(DG_MVK13.value) +parseFloat(DG_MVK14.value));

		
	
	 


      DG_SUMlfd.value = Math.round(parseFloat(DG_DBlfd.value)   + parseFloat(DG_SVlfd.value)   +
      parseFloat(DG_DZlfd.value) +parseFloat(DG_KOlfd.value) + parseFloat(eDV_lfd.value) +
      parseFloat(DG_MVKlfd.value) );

      DG_SUM13.value = Math.round(parseFloat(DG_DB13.value)   + parseFloat(DG_SV13.value)   +
      parseFloat(DG_DZ13.value) +parseFloat(DG_KO13.value) + parseFloat(eDV_13.value)+
      parseFloat(DG_MVK13.value) );

      DG_SUM14.value = Math.round(parseFloat(DG_DB14.value)   + parseFloat(DG_SV14.value)   +
      parseFloat(DG_DZ14.value) +parseFloat(DG_KO14.value) + parseFloat(eDV_14.value)+
      parseFloat(DG_MVK14.value) );

      DG_SUMGes.value = Math.round(parseFloat(DG_SUMlfd.value) * 12 +parseFloat(DG_SUM13.value) +parseFloat(DG_SUM14.value));

      //DGB_eDV.value                = 0 - Math.round(Brutto_eDV.value * DGB);
      //KommSt_eDV.value                = 0 - Math.round(Brutto_eDV.value * KommSt);

       eDV_13.value                = Add1000(eDV_13.value);
       eDV_14.value                = Add1000(eDV_14.value);
       eDV_Ges.value                = Add1000(eDV_Ges.value);

       eDV_SVlfd.value                = Add1000(eDV_SVlfd.value);
       eDV_SV13.value                = Add1000(eDV_SV13.value);
       eDV_SV14.value                = Add1000(eDV_SV14.value);
       eDV_SVGes.value                = Add1000(eDV_SVGes.value);
       eDV_LSlfd.value                = Add1000(eDV_LSlfd.value);
       eDV_LS13.value                = Add1000(eDV_LS13.value);
       eDV_LS14.value                = Add1000(eDV_LS14.value);
       eDV_LSGes.value                = Add1000(eDV_LSGes.value);

       eDV_Nlfd.value                = Add1000(eDV_Nlfd.value);
       eDV_N13.value                = Add1000(eDV_N13.value);
       eDV_N14.value                = Add1000(eDV_N14.value);
       eDV_NGes.value                = Add1000(eDV_NGes.value);

       DG_SUMlfd.value                = Add1000(DG_SUMlfd.value);
       DG_SUM13.value                = Add1000(DG_SUM13.value);
       DG_SUM14.value                = Add1000(DG_SUM14.value);
       DG_SUMGes.value                = Add1000(DG_SUMGes.value);

       DG_SVlfd.value                = Add1000(DG_SVlfd.value);
       DG_SV13.value                = Add1000(DG_SV13.value);
       DG_SV14.value                = Add1000(DG_SV14.value);
       DG_SVGes.value                = Add1000(DG_SVGes.value);
       


       DG_DBlfd.value                = Add1000(DG_DBlfd.value);
       DG_DB13.value                = Add1000(DG_DB13.value);
       DG_DB14.value                = Add1000(DG_DB14.value);
       DG_DBGes.value                = Add1000(DG_DBGes.value);
       


       DG_DZlfd.value                = Add1000(DG_DZlfd.value);
       DG_DZ13.value                = Add1000(DG_DZ13.value);
       DG_DZ14.value                = Add1000(DG_DZ14.value);
       DG_DZGes.value                = Add1000(DG_DZGes.value);
       


       DG_KOlfd.value                = Add1000(DG_KOlfd.value);
       DG_KO13.value                = Add1000(DG_KO13.value);
       DG_KO14.value                = Add1000(DG_KO14.value);
       DG_KOGes.value                = Add1000(DG_KOGes.value);
       


       DG_MVKlfd.value                = Add1000(DG_MVKlfd.value);
       DG_MVK13.value                = Add1000(DG_MVK13.value);
       DG_MVK14.value                = Add1000(DG_MVK14.value);
       DG_MVKGes.value                = Add1000(DG_MVKGes.value);
       


       
     //  DG_SUMlfd.value                = Add1000(DG_SUMlfd.value);
     //  DG_SUM13.value                = Add1000(DG_SUM13.value);
     //  DG_SUM14.value                = Add1000(DG_SUM14.value);
     //  DG_SUMGes.value                = Add1000(DG_SUMGes.value);
         
    }
}
}
// Ermitteln der EST
function Est2008(Bemessung)
{

	//alert("EST 2008");
 

  var I1 = 0.00;      var J1 =  110.04 ; var K1 = 10805.04;
  var I2 = 0.3833;      var J2 = 4251.96  ; var K2 = 25191.96;
  var I3 = 0.436;      var J3 = 5577.72  ; var K3 = 51192.00;
  var I10 = 0.50;          var J10 = 8856.00  ;

 // Werbungskosten
  Bemessung = Bemessung * 12;
	
  Bemessung = Bemessung; // - 12*16;
	

  var Est = 0;

  if(Bemessung <= K1)
  {
	Est = 0
	  
 	return Math.round(Est);
  }


  if(Bemessung <= K2)
  {
   var P1 = (Bemessung * I2 );
   Est = P1- J2;
   return Math.round(Est/12);
  }

  if(Bemessung <= K3)
  {
   var P1 = (Bemessung * I3 );
   Est = P1- J3;
   return Math.round(Est/12);
  }

 
  if(Bemessung > K3)
  {
   var P1 = (Bemessung * I10 );
   Est = P1- J10;
   return Math.round(Est/12);
  }
    
  
  return Math.round(Est/12);
}

// Ermitteln der EST
function Est2005_2006(Bemessung)
{

	
 

  var I1 = 0.00;      var J1 =  110.04 ; var K1 = 10805.04;
  var I2 = 0.3833;      var J2 = 4251.96  ; var K2 = 25191.96;
  var I3 = 0.436;      var J3 = 5577.72  ; var K3 = 51192.00;
  var I10 = 0.50;          var J10 = 8856.00  ;

 // Werbungskosten
  Bemessung = Bemessung * 12;
	
  Bemessung = Bemessung; // - 12*16;
	

  var Est = 0;

  if(Bemessung <= K1)
  {
	Est = Est - J1/12;
	  
 	return Math.round(Est);
  }


  if(Bemessung <= K2)
  {
   var P1 = (Bemessung * I2 );
   Est = P1- J2;
   return Math.round(Est/12);
  }

  if(Bemessung <= K3)
  {
   var P1 = (Bemessung * I3 );
   Est = P1- J3;
   return Math.round(Est/12);
  }

 
  if(Bemessung > K3)
  {
   var P1 = (Bemessung * I10 );
   Est = P1- J10;
   return Math.round(Est/12);
  }
    
  
  return Math.round(Est/12);
}


// Ermitteln der EST
function Est2004(Bemessung)
{
 

  var I1 = 0.00;      var J1 =      0.00 ; var K1 = 10193.16;
  var I2 = 0.385;      var J2 = 3924.324  ; var K2 = 15192;
  var I3 = 0.35;      var J3 = 3392.604  ; var K3 = 21992.04;
  var I4 = 0.455;      var J4 = 5701.764  ; var K4 = 35703;
  var I5 = 0.41;      var J5 = 4095.12  ; var K5 = 51062;
 

  //var I6 = 0.3293;      var J6 = 2524  ; var K6 = 21801;
  //var I7 = 0.4550;      var J7 = 5264 ; var K7 = 35420;
  //var I8 = 0.41;       var J8 = 3670  ; var K8 = 50871;
  //var I9 = 0.50;          var J9 =   ; var K9 = 50870;
  var I10 = 0.50;          var J10 = 8690.7  ;

  

 // Werbungskosten
  Bemessung = Bemessung * 12;
  Bemessung = Bemessung; // - 12*16;

  var Est = 0;

  if(Bemessung <= K1)
  {
 
   return Math.round(Est);
  }


  if(Bemessung <= K2)
  {
   var P1 = (Bemessung * I2 );
   Est = P1- J2;
   return Math.round(Est/12);
  }

  if(Bemessung <= K3)
  {
   var P1 = (Bemessung * I3 );
   Est = P1- J3;
   return Math.round(Est/12);
  }

  if(Bemessung <= K4)
  {
   var P1 = (Bemessung * I4 );
   Est = P1- J4;
   return Math.round(Est/12);
  }

  if(Bemessung <= K5)
  {
   var P1 = (Bemessung * I5 );
   Est = P1- J5;
   return Math.round(Est/12);
  }



  if(Bemessung > K5)
  {
   var P1 = (Bemessung * I10 );
   Est = P1- J10;
   return Math.round(Est/12);
  }
    
  
  return Math.round(Est/12);
}

// Ausgabe als Zahl formatieren
function Add1000(Zahl)
{
  var Text                                = ',--';
  var Tsnd                                = '.';
  while(Math.abs(Zahl) >= 1000)
  {
    if(Zahl >= 0)                        {var Vor                = Math.floor(Zahl / 1000);}
    else                                        {var Vor                = Math.ceil (Zahl / 1000);}

    var Nach                        = Math.abs(Zahl - Vor * 1000);
    Zahl                                = Vor;

    if(Nach < 10)                        {Nach                        = '00' + Nach;}
    else if(Nach < 100)        {Nach                        =  '0' + Nach;}

    Text                                = Tsnd + Nach + Text;
  }

  Text                                        = Zahl + Text;
  return Text;
}


