function UnterhaltBerechnen()
{
/* zu befüllende Felder prüfen */

var i;
var j;

if (document.Unterhalt.TagS.value == "" || document.Unterhalt.MonatS.value == "" || document.Unterhalt.JahrS.value == "") {
    alert ("Geben Sie den Stichtag ein!");
    document.Unterhalt.TagS.focus();
    return; }

if (StichtagCheck() == false) {
    document.Unterhalt.TagS.focus();
    return; }

var Komma = document.Unterhalt.Einkommen.value.indexOf(",");
if(Komma != -1) {
   alert("Geben Sie bitte Kommas als Punkte ein!");
   document.Unterhalt.Einkommen.focus();
   return; }

if (document.Unterhalt.Einkommen.value == "") {
    alert ("Geben Sie die Unterhaltsbemessungsgrundlage ein!");
    document.Unterhalt.Einkommen.focus();
    return; }

if (document.Unterhalt.Tag1.value == "" && document.Unterhalt.Tag2.value == "" && document.Unterhalt.Tag3.value == "" && document.Unterhalt.Tag4.value == "" && document.Unterhalt.Tag5.value == "" && document.Unterhalt.Monat1.value == "" && document.Unterhalt.Monat2.value == "" && document.Unterhalt.Monat3.value == "" && document.Unterhalt.Monat4.value == "" && document.Unterhalt.Monat5.value == "" && document.Unterhalt.Jahr1.value == "" && document.Unterhalt.Jahr2.value == "" && document.Unterhalt.Jahr3.value == "" && document.Unterhalt.Jahr4.value == "" && document.Unterhalt.Jahr5.value == "") {
    alert ("Geben Sie das Geburtsdatum des Kindes/der Kinder ein!");
    document.Unterhalt.Tag1.focus();
    return; }

/* Felder des Familienbeihilfenanrechnungsrechners leeren */
document.Unterhalt.BEinkommen.value = "";
document.Unterhalt.NEUm1.value = "";
document.Unterhalt.NEUm2.value = "";
document.Unterhalt.NEUm3.value = "";
document.Unterhalt.NEUm4.value = "";
document.Unterhalt.NEUm5.value = "";


/* Fix-Werte */
var AbzugF = 0.04; /* Abzug pro Kind vom Anspruch am Familieneinkommen */
var AnspruchProz = 0.4; /* Anspruch der Frau am Familieneinkommen */
var AnspruchProz33 = 0.33; /* Anspruch der Frau am Familieneinkommen, wenn Gehalt = 0 */

var AbzugP3 = 0.03;
var AbzugP2 = 0.02;
var AbzugP1 = 0.01;

/* Jahresveränderliche Werte */

var Ausgleichszulage; /* Ausgleichszulage im Jahrsdurchschnitt */
switch (document.Unterhalt.JahrS.value) {
  case "2002":
    Ausgleichszulage = 708.47;
    break;
  case "2003":
    Ausgleichszulage = 722.64;
    break;
  case "2004":
    Ausgleichszulage = 728.91;
    break;
  case "2005":
    Ausgleichszulage = 735.20;
    break;
  case "2006":
    Ausgleichszulage = 765.15;
    break;
  case "2007":
    Ausgleichszulage = 805.07;
    break;
  case "2008":
    Ausgleichszulage = 827.05;
    break;
  case "2009":
    Ausgleichszulage = 855.18;
    break;
  case "2010":
    Ausgleichszulage = 868.01;
    break;
  case "2011":
    Ausgleichszulage = 878.43;
    break;
  case "2012":
    Ausgleichszulage = 902,14;
    break;
}

/* Array für Exmin erstellen und initialisieren */
var Exmin = new Array(2);
var ExminAnz;
/* Exmin [i = Spalte] [j = Zeile] */

switch (document.Unterhalt.JahrS.value) {
  case "2002":
       ExminAnz = 104;
       for (i = 0; i < Exmin.length; ++i)
            Exmin[i] = new Array(ExminAnz);
       Exmin[0][0] = 0;
       Exmin[1][0] = 472.5;
       Exmin[0][1] = 480;
       Exmin[1][1] = 472.5;
       for (j = 2; j < ExminAnz; ++j)
          Exmin[0][j] = Exmin[0][j-1] + 20;
       for (j = 2; j < 9; ++j)
           Exmin[1][j] = 472.5;
       Exmin[1][9] = 474.75;
       for (j = 10; j < ExminAnz; ++j)
           Exmin[1][j] = Exmin[1][j-1] + 4.5;
    break;
  case "2003":
       ExminAnz = 105;
       for (i = 0; i < Exmin.length; ++i)
            Exmin[i] = new Array(ExminAnz);
       Exmin[0][0] = 0;
       Exmin[1][0] = 482.25;
       Exmin[0][1] = 500;
       Exmin[1][1] = 482.25;
       for (j = 2; j < ExminAnz; ++j)
          Exmin[0][j] = Exmin[0][j-1] + 20;
       for (j = 2; j < 9; ++j)
           Exmin[1][j] = 482.25;
       Exmin[1][9] = 486.08;
       for (j = 10; j < ExminAnz; ++j)
           Exmin[1][j] = Exmin[1][j-1] + 4.5;
    break;
  case "2004":
       ExminAnz = 107;
       for (i = 0; i < Exmin.length; ++i)
            Exmin[i] = new Array(ExminAnz);
       Exmin[0][0] = 0;
       Exmin[1][0] = 489.75;
       Exmin[0][1] = 500;
       Exmin[1][1] = 489.75;
       for (j = 2; j < ExminAnz; ++j)
          Exmin[0][j] = Exmin[0][j-1] + 20;
       for (j = 2; j < 9; ++j)
           Exmin[1][j] = 489.75;
       Exmin[1][9] = 491.33;
       for (j = 10; j < ExminAnz; ++j)
           Exmin[1][j] = Exmin[1][j-1] + 4.5;
    break;
  case "2005":
       ExminAnz = 109;
       for (i = 0; i < Exmin.length; ++i)
            Exmin[i] = new Array(ExminAnz);
       Exmin[0][0] = 0;
       Exmin[1][0] = 496.5;
       Exmin[0][1] = 500;
       Exmin[1][1] = 496.5;
       for (j = 2; j < ExminAnz; ++j)
          Exmin[0][j] = Exmin[0][j-1] + 20;
       for (j = 2; j < 10; ++j)
           Exmin[1][j] = 496.5;
       Exmin[1][10] = 500.55;
       for (j = 11; j < ExminAnz; ++j)
           Exmin[1][j] = Exmin[1][j-1] + 4.5;
    break;
  case "2006":
       ExminAnz = 114;
       for (i = 0; i < Exmin.length; ++i)
            Exmin[i] = new Array(ExminAnz);
       Exmin[0][0] = 0;
       Exmin[1][0] = 517.5;
       Exmin[0][1] = 520;
       Exmin[1][1] = 517.5;
       for (j = 2; j < ExminAnz; ++j)
          Exmin[0][j] = Exmin[0][j-1] + 20;
       for (j = 2; j < 10; ++j)
           Exmin[1][j] = 517.5;
       Exmin[1][10] = 519.75;
       for (j = 11; j < ExminAnz; ++j)
           Exmin[1][j] = Exmin[1][j-1] + 4.5;
    break;
  case "2007":
       ExminAnz = 114;
       for (i = 0; i < Exmin.length; ++i)
            Exmin[i] = new Array(ExminAnz);
       Exmin[0][0] = 0;
       Exmin[1][0] = 517.5;
       Exmin[0][1] = 520;
       Exmin[1][1] = 517.5;
       for (j = 2; j < ExminAnz; ++j)
          Exmin[0][j] = Exmin[0][j-1] + 20;
       for (j = 2; j < 10; ++j)
           Exmin[1][j] = 517.5;
       Exmin[1][10] = 519.75;
       for (j = 11; j < ExminAnz; ++j)
           Exmin[1][j] = Exmin[1][j-1] + 4.5;
    break;
  case "2008":
       ExminAnz = 114;
       for (i = 0; i < Exmin.length; ++i)
            Exmin[i] = new Array(ExminAnz);
       Exmin[0][0] = 0;
       Exmin[1][0] = 517.5;
       Exmin[0][1] = 520;
       Exmin[1][1] = 517.5;
       for (j = 2; j < ExminAnz; ++j)
          Exmin[0][j] = Exmin[0][j-1] + 20;
       for (j = 2; j < 10; ++j)
           Exmin[1][j] = 517.5;
       Exmin[1][10] = 519.75;
       for (j = 11; j < ExminAnz; ++j)
           Exmin[1][j] = Exmin[1][j-1] + 4.5;
    break;
  case "2009":
       ExminAnz = 114;
       for (i = 0; i < Exmin.length; ++i)
            Exmin[i] = new Array(ExminAnz);
       Exmin[0][0] = 0;
       Exmin[1][0] = 517.5;
       Exmin[0][1] = 520;
       Exmin[1][1] = 517.5;
       for (j = 2; j < ExminAnz; ++j)
          Exmin[0][j] = Exmin[0][j-1] + 20;
       for (j = 2; j < 10; ++j)
           Exmin[1][j] = 517.5;
       Exmin[1][10] = 519.75;
       for (j = 11; j < ExminAnz; ++j)
           Exmin[1][j] = Exmin[1][j-1] + 4.5;
    break;
  case "2010":
       ExminAnz = 114;
       for (i = 0; i < Exmin.length; ++i)
            Exmin[i] = new Array(ExminAnz);
       Exmin[0][0] = 0;
       Exmin[1][0] = 517.5;
       Exmin[0][1] = 520;
       Exmin[1][1] = 517.5;
       for (j = 2; j < ExminAnz; ++j)
          Exmin[0][j] = Exmin[0][j-1] + 20;
       for (j = 2; j < 10; ++j)
           Exmin[1][j] = 517.5;
       Exmin[1][10] = 519.75;
       for (j = 11; j < ExminAnz; ++j)
           Exmin[1][j] = Exmin[1][j-1] + 4.5;
    break;
  case "2011":
       ExminAnz = 114;
       for (i = 0; i < Exmin.length; ++i)
            Exmin[i] = new Array(ExminAnz);
       Exmin[0][0] = 0;
       Exmin[1][0] = 517.5;
       Exmin[0][1] = 520;
       Exmin[1][1] = 517.5;
       for (j = 2; j < ExminAnz; ++j)
          Exmin[0][j] = Exmin[0][j-1] + 20;
       for (j = 2; j < 10; ++j)
           Exmin[1][j] = 517.5;
       Exmin[1][10] = 519.75;
       for (j = 11; j < ExminAnz; ++j)
           Exmin[1][j] = Exmin[1][j-1] + 4.5;
    break;
  case "2012":
       ExminAnz = 114;
       for (i = 0; i < Exmin.length; ++i)
            Exmin[i] = new Array(ExminAnz);
       Exmin[0][0] = 0;
       Exmin[1][0] = 517.5;
       Exmin[0][1] = 520;
       Exmin[1][1] = 517.5;
       for (j = 2; j < ExminAnz; ++j)
          Exmin[0][j] = Exmin[0][j-1] + 20;
       for (j = 2; j < 10; ++j)
           Exmin[1][j] = 517.5;
       Exmin[1][10] = 519.75;
       for (j = 11; j < ExminAnz; ++j)
           Exmin[1][j] = Exmin[1][j-1] + 4.5;
    break;

}

/*
for (j = 0; j < ExminAnz; ++j)
   document.write(Exmin[0][j] + " / " + Exmin[1][j] + "<br>");
*/


var AnzahlKinder = 0;

//var Einkommen12 = parseInt(document.Unterhalt.Einkommen.value) / 14 * 12;
var Einkommen12 = parseInt(document.Unterhalt.Einkommen.value);
document.Unterhalt.Einkommen12.value = Einkommen12;

/* Array für Abzugsprozente für jedes Kind erstellen und initialisieren */
var AbzugP = new Array(5);
for (i = 0; i < AbzugP.length; ++i)
  AbzugP[i] = new Array(5);
for (i = 0; i < 5; ++i)
  for (j = 0; j < 5; ++j)
      AbzugP[i][j] = 0;

var AlterK1;

/* 1. Kind */
if (document.Unterhalt.Tag1.value == "" || document.Unterhalt.Monat1.value == "" || document.Unterhalt.Jahr1.value == "") {
  alert ("Befüllen Sie bitte die Felder von oben nach unten!");
  document.Unterhalt.Tag1.focus();
  return; }
else {
  if (Kindesalter(document.Unterhalt.Tag1.value,document.Unterhalt.Monat1.value,document.Unterhalt.Jahr1.value) == "0J") AlterK1 = 0;
  else if (Kindesalter(document.Unterhalt.Tag1.value,document.Unterhalt.Monat1.value,document.Unterhalt.Jahr1.value) == "x") return;
  else AlterK1 = Kindesalter(document.Unterhalt.Tag1.value,document.Unterhalt.Monat1.value,document.Unterhalt.Jahr1.value);
  document.Unterhalt.Alter1.value = AlterK1;
  var ProzK1 = Prozentsatz(AlterK1);
  document.Unterhalt.Proz1.value = ProzK1;
  AnzahlKinder++;
  for (i = 0; i < 5; ++i)
    AbzugP[i][0] = AbzugProz(AlterK1);
  AbzugP[0][0] = 0;
  }

/* 2. - 5. Kind */
var NTag;
var NMonat;
var NJahr;
var NAlter;
var NProz;
var NVTag;
var NVMonat;
var NVJahr;

for (j = 2; j < 6; ++j) {
     NTag = "Tag" + j;
     NMonat = "Monat" + j;
     NJahr = "Jahr" + j;
     NVTag = "Tag" + (j - 1);
     NVMonat = "Monat" + (j - 1);
     NVJahr = "Jahr" + (j - 1);
     NAlter = "Alter" + j;
     NProz = "Proz" + j;
     if (document.Unterhalt.elements[NTag].value != "" && document.Unterhalt.elements[NMonat].value != "" && document.Unterhalt.elements[NJahr].value != "") {
       if (document.Unterhalt.elements[NVTag].value == "" || document.Unterhalt.elements[NVMonat].value == "" || document.Unterhalt.elements[NVJahr].value == "") {
           alert ("Befüllen Sie bitte die Felder von oben nach unten!");
           return; }
       else {
           if (Kindesalter(document.Unterhalt.elements[NTag].value,document.Unterhalt.elements[NMonat].value,document.Unterhalt.elements[NJahr].value) == "0J")
               document.Unterhalt.elements[NAlter].value = 0;
           else if (Kindesalter(document.Unterhalt.elements[NTag].value,document.Unterhalt.elements[NMonat].value,document.Unterhalt.elements[NJahr].value) == "x") return;
           else document.Unterhalt.elements[NAlter].value = Kindesalter(document.Unterhalt.elements[NTag].value,document.Unterhalt.elements[NMonat].value,document.Unterhalt.elements[NJahr].value);
           document.Unterhalt.elements[NProz].value = Prozentsatz(document.Unterhalt.elements[NAlter].value);
           AnzahlKinder++;
           for (i = 0; i < 5; ++i)
               AbzugP[i][j-1] = AbzugProz(document.Unterhalt.elements[NAlter].value);
           AbzugP[j-1][j-1] = 0;
           }
     }
}

/* Frauen */

/* Anspruch am Familieneinkommen */
AnspruchProz = AnspruchProz - (AbzugF * AnzahlKinder);
AnspruchProz33 = AnspruchProz33 - (AbzugF * AnzahlKinder);

/* Einkommen der Frau, bei dem der Unterhalt 0 ist */
var EinkommenNull;
EinkommenNull = (parseInt(document.Unterhalt.Einkommen.value) * AnspruchProz) / (1 - AnspruchProz);
EinkommenNull = EinkommenNull / 3;

/* Ehefrau vorhanden */
if (document.Unterhalt.Ehefrau.value != "") {
    /* Unterhalt der Ehefrau */
    var UEhefrau;
    var UEhefrau33;

    if (document.Unterhalt.Ehefrau.value == 0)
        UEhefrau = ((parseInt(document.Unterhalt.Einkommen.value) + parseInt(document.Unterhalt.Ehefrau.value)) * AnspruchProz33) - parseInt(document.Unterhalt.Ehefrau.value);
    else
        UEhefrau = ((parseInt(document.Unterhalt.Einkommen.value) + parseInt(document.Unterhalt.Ehefrau.value)) * AnspruchProz) - parseInt(document.Unterhalt.Ehefrau.value);
        UEhefrau33 = ((parseInt(document.Unterhalt.Einkommen.value) + 0) * AnspruchProz33) - 0;
        if (UEhefrau > UEhefrau33) UEhefrau = UEhefrau33;

    if (UEhefrau < 0) UEhefrau = 0;
    document.Unterhalt.UEhefrau.value = parseInt(UEhefrau);

    /* Abzug für die Ehefrau */
    var AbzugFK;
    if (document.Unterhalt.Ehefrau.value <= EinkommenNull) AbzugFK = AbzugP3;
    else if (document.Unterhalt.Ehefrau.value <= (EinkommenNull * 2)) AbzugFK = AbzugP2;
    else if (document.Unterhalt.Ehefrau.value <= (EinkommenNull * 3)) AbzugFK = AbzugP1;
    else AbzugFK = 0;
}
/* keine Ehefrau vorhanden */
else {
AbzugFK = 0;
document.Unterhalt.UEhefrau.value = 0;
}

if (document.Unterhalt.Exfrau.value != "" && document.Unterhalt.Exfrau.value != 0) {
    /* Einkommen der Exfrau */
    var EExfrau;
    EExfrau = ((parseInt(document.Unterhalt.Einkommen.value) * AnspruchProz) - parseInt(document.Unterhalt.Exfrau.value)) / (1 - AnspruchProz);

    /* Abzug für die Exfrau */
    var AbzugEFK;
    if (EExfrau <= EinkommenNull) AbzugEFK = AbzugP3;
    else if (EExfrau <= (EinkommenNull * 2)) AbzugEFK = AbzugP2;
    else if (EExfrau <= (EinkommenNull * 3)) AbzugEFK = AbzugP1;
    else AbzugEFK = 0;
}
else {
AbzugEFK = 0;
document.Unterhalt.Exfrau.value = 0;
}


/* anzeigen */

var ProzGesamt = 0;
var UnterhGesamt = 0;
var NAbzug;
var NAbzugF;
var NProzNeu;
var NUnterhalt;

/* Felder für Abzugswerte im Dokument mit 0 befüllen */
for (i = 1; i < 6; ++i) {
     NAbzug = "Abzug" + i;
     document.Unterhalt.elements[NAbzug].value = 0;
}

/* Abzugswerte aus Array summieren und in den Feldern anzeigen */

for (j = 0; j < 5; ++j) {
    NAbzug = "Abzug" + (j + 1);
    for (i = 0; i < AnzahlKinder; ++i) {
         document.Unterhalt.elements[NAbzug].value = parseInt(document.Unterhalt.elements[NAbzug].value) + parseInt(AbzugP[j][i]);
    }
    NAbzugF = "AbzugF" + (j + 1);
    NProz = "Proz" + (j + 1);
    NProzNeu = "Proz" + (j + 1) + "neu";
    NUnterhalt = "Unterhalt" + (j + 1);
    var UBetrag;
    var UBetrag1;
    NAlter = "Alter" + (j + 1);
    NEinkommenK = "EinkommenK" + (j + 1);
    if (document.Unterhalt.elements[NProz].value != "") {
        document.Unterhalt.elements[NAbzugF].value = (AbzugFK + AbzugEFK) * 100;
        document.Unterhalt.elements[NProzNeu].value = document.Unterhalt.elements[NProz].value - document.Unterhalt.elements[NAbzug].value - (AbzugFK * 100) - (AbzugEFK * 100);

        UBetrag = document.Unterhalt.Einkommen.value * document.Unterhalt.elements[NProzNeu].value / 100;

        /* Eigeneinkommen des Kindes? */
        if (document.Unterhalt.elements[NEinkommenK].value != "" && document.Unterhalt.elements[NEinkommenK].value != 0) {
            if (UBetrag <= Regelbedarf(document.Unterhalt.elements[NAlter].value)) {
                UBetrag1 = parseInt((Ausgleichszulage - parseInt(document.Unterhalt.elements[NEinkommenK].value)) * Regelbedarf(document.Unterhalt.elements[NAlter].value) / Ausgleichszulage);
                if (UBetrag1 > UBetrag) document.Unterhalt.elements[NUnterhalt].value = parseInt(UBetrag);
                else document.Unterhalt.elements[NUnterhalt].value = parseInt(UBetrag1);
            }
            else
            {
/* Test
            alert (UBetrag);
            alert (document.Unterhalt.elements[NEinkommenK].value);
            alert (Ausgleichszulage);
            alert (Regelbedarf(document.Unterhalt.elements[NAlter].value));
*/
            document.Unterhalt.elements[NUnterhalt].value = parseInt(UBetrag - ((document.Unterhalt.elements[NEinkommenK].value * UBetrag) / (UBetrag + Ausgleichszulage - Regelbedarf(document.Unterhalt.elements[NAlter].value))));
            }
        }
        else document.Unterhalt.elements[NUnterhalt].value = parseInt(UBetrag);

        ProzGesamt = ProzGesamt + parseInt(document.Unterhalt.elements[NProzNeu].value);
        UnterhGesamt = UnterhGesamt + parseInt(document.Unterhalt.elements[NUnterhalt].value);
    }
    else document.Unterhalt.elements[NAbzug].value = "";
}

document.Unterhalt.ProzentGesamt.value = ProzGesamt;
document.Unterhalt.UnterhaltGesamt.value = UnterhGesamt + parseInt(document.Unterhalt.UEhefrau.value) + parseInt(document.Unterhalt.Exfrau.value);



/* Existenzminimum */

// var Einkommen12 = parseInt(document.Unterhalt.Einkommen.value) / 14 * 12;
var Einkommen12 = parseInt(document.Unterhalt.Einkommen.value);
var Unpfaendbar;

/*
j = 0;
if (Einkommen12 >= Exmin[0][ExminAnz - 1]) Unpfaendbar = Exmin[1][ExminAnz - 1];
else {
      while (Exmin[0][j] < Einkommen12 && j < ExminAnz) j++;
      Unpfaendbar = Exmin[1][j];
     }
*/

/* neu Anfang */

switch (document.Unterhalt.JahrS.value) {
  case "2004":
    if (document.Unterhalt.Einkommen.value > 571,50) Unpfaendbar = 571,50;
    else Unpfaendbar = 0;
    break;
  case "2005":
    if (document.Unterhalt.Einkommen.value > 579,75) Unpfaendbar = 579,75;
    else Unpfaendbar = 0;
    break;
  case "2006":
    if (document.Unterhalt.Einkommen.value > 603,75) Unpfaendbar = 603,75;
    else Unpfaendbar = 0;
    break;
  case "2007":
    if (document.Unterhalt.Einkommen.value > 635,25) Unpfaendbar = 635,25;
    else Unpfaendbar = 0;
    break;
  case "2008":
    if (document.Unterhalt.MonatS.value < 11)
        if (document.Unterhalt.Einkommen.value > 653,25) Unpfaendbar = 653,25;
        else Unpfaendbar = 0;
    else
        if (document.Unterhalt.Einkommen.value > 675,75) Unpfaendbar = 675,75;
        else Unpfaendbar = 0;
    break;
  case "2009":
    if (document.Unterhalt.Einkommen.value > 675,75) Unpfaendbar = 675,75;
    else Unpfaendbar = 0;
    break;
  case "2010":
    if (document.Unterhalt.Einkommen.value > 685,50) Unpfaendbar = 685,50;
    else Unpfaendbar = 0;
    break;
  case "2011":
    if (document.Unterhalt.Einkommen.value > 693,75) Unpfaendbar = 693,75;
    else Unpfaendbar = 0;
    break;
  case "2012":
    if (document.Unterhalt.Einkommen.value > 712,50) Unpfaendbar = 712,50;
    else Unpfaendbar = 0;
    break;

}

/* if (document.Unterhalt.Einkommen.value > 600) Unpfaendbar = 600;
else Unpfaendbar = 0; */

/* neu Ende */

document.Unterhalt.Unpfaendbar.value = Unpfaendbar;

document.Unterhalt.Pfaendbar.value = document.Unterhalt.Einkommen12.value - Unpfaendbar;
var UnterhaltNeu;
var UnterhaltAlt;

for (i = 1; i < 6; ++i) {
    UnterhaltNeu = "Unterhalt" + i + "Neu";
    document.Unterhalt.elements[UnterhaltNeu].value = "";
}
document.Unterhalt.UEhefrauNeu.value = "";
document.Unterhalt.ExfrauNeu.value = "";

if (parseInt(document.Unterhalt.UnterhaltGesamt.value) > parseInt(document.Unterhalt.Pfaendbar.value)) {
    var Anteil = document.Unterhalt.Pfaendbar.value / document.Unterhalt.UnterhaltGesamt.value;
    for (i = 1; i < 6; ++i) {
         UnterhaltNeu = "Unterhalt" + i + "Neu";
         UnterhaltAlt = "Unterhalt" + i;
         Km = "Km" + i;
         document.Unterhalt.elements[UnterhaltNeu].style.display ="inline";
         document.Unterhalt.elements[UnterhaltNeu].value = parseInt((document.Unterhalt.elements[UnterhaltAlt].value * Anteil) + 0.5);

         /* in Fam.beihilfenanrechnungsrechner übertragen */
         document.Unterhalt.elements[Km].value = document.Unterhalt.elements[UnterhaltNeu].value;
    }
    document.Unterhalt.UEhefrauNeu.style.display = "inline";
    document.Unterhalt.ExfrauNeu.style.display = "inline";
    document.Unterhalt.Pfaendbar.style.display = "inline";
    document.all.Unterhalt_gekuerzt.innerHTML = "gekürzt";

    document.Unterhalt.UEhefrauNeu.value = parseInt((document.Unterhalt.UEhefrau.value * Anteil) + 0.5);
    document.Unterhalt.ExfrauNeu.value = parseInt((document.Unterhalt.Exfrau.value * Anteil) + 0.5);
    //document.Unterhalt.Pfaendbar.value = parseInt(document.Unterhalt.Pfaendbar.value + 0.5);
}
else {
      for (i = 1; i < 6; ++i) {
           UnterhaltAlt = "Unterhalt" + i;
           UnterhaltNeu = "Unterhalt" + i + "Neu";
           Km = "Km" + i;
           document.Unterhalt.elements[UnterhaltNeu].style.display ="none";

           /* in Fam.beihilfenanrechnungsrechner übertragen */
           document.Unterhalt.elements[Km].value = document.Unterhalt.elements[UnterhaltAlt].value;
      }
      document.Unterhalt.UEhefrauNeu.style.display = "none";
      document.Unterhalt.ExfrauNeu.style.display = "none";
      document.Unterhalt.Pfaendbar.style.display = "none";
      document.all.Unterhalt_gekuerzt.innerHTML = "";
}

}




function tagesdatum()
{
/* Tagesdatum */
var jetzt = new Date();
var jetztJahr = jetzt.getFullYear();
var jetztMonat = jetzt.getMonth() + 1;  /* Jänner = 0! */
var jetztTag = jetzt.getDate();

document.Unterhalt.TagS.value = jetztTag;
document.Unterhalt.MonatS.value = jetztMonat;
document.Unterhalt.JahrS.value = jetztJahr;
}


function StichtagCheck()
{
/* Tagesdatum */
var jetzt = new Date();
var jetztJahr = jetzt.getFullYear();
var jetztMonat = jetzt.getMonth() + 1;  /* Jänner = 0! */
var jetztTag = jetzt.getDate();

var Monatstage1;

/* Monat und Tag prüfen */
if (document.Unterhalt.MonatS.value > 12) {
    alert ("Das Monat kann nicht größer als 12 sein!");
    return false; }
if (document.Unterhalt.TagS.value == 0 || document.Unterhalt.TagS.value == 0) {
    alert ("Der Tag/das Monat muss größer als 0 sein!");
    return false; }

if ((document.Unterhalt.MonatS.value <= 7 && document.Unterhalt.MonatS.value % 2 == 1) || (document.Unterhalt.MonatS.value >= 8 && document.Unterhalt.MonatS.value % 2 == 0)) Monatstage1 = 31;
else
 if (document.Unterhalt.MonatS.value == 2)
   if (document.Unterhalt.JahrS.value % 4 > 0) Monatstage1 = 28;
   else
   if (document.Unterhalt.JahrS.value % 100 == 0 && document.Unterhalt.JahrS.value % 400 > 0) Monatstage1 = 28;
   else Monatstage1 = 29;
 else Monatstage1 = 30;
if (document.Unterhalt.TagS.value > Monatstage1) {
    alert ("Der Tag des Stichtages kann nicht größer als " + Monatstage1 + " sein!");
    return false; }

/* höheres Jahr */
if (document.Unterhalt.JahrS.value > jetztJahr) {
    alert ("Der Stichtag kann nicht in der Zukunft liegen!");
    return false; }

/* gleiches Jahr */
if (document.Unterhalt.JahrS.value == jetztJahr)
   /* höheres Monat */
   if (document.Unterhalt.MonatS.value > jetztMonat)
   { alert ("Der Stichtag kann nicht in der Zukunft liegen!");
     return false; }
   else
   /* gleiches Monat */
   if (document.Unterhalt.MonatS.value == jetztMonat)
     if (document.Unterhalt.TagS.value > jetztTag)
        { alert ("Der Stichtag kann nicht in der Zukunft liegen!");
          return false; }

/* mehr als 3 Jahre zurück */
if (jetztJahr - document.Unterhalt.JahrS.value > 3)
   { alert ("Der Stichtag darf max. 3 Jahre zurückliegen!");
     return false; }

/* genau 3 Jahre zurück */
if (jetztJahr - document.Unterhalt.JahrS.value == 3)
   /* niedrigeres Monat */
   if (document.Unterhalt.MonatS.value < jetztMonat)
   { alert ("Der Stichtag darf max. 3 Jahre zurückliegen!");
     return false; }
   else
   /* gleiches Monat */
   if (document.Unterhalt.MonatS.value == jetztMonat)
      if (document.Unterhalt.TagS.value < jetztTag)
      { alert ("Der Stichtag darf max. 3 Jahre zurückliegen!");
        return false; }

return true;
}


function Kindesalter(GebTag,GebMonat,GebJahr,AlterK,Prozent)
{
var Monatstage1;
var AlterKind;

/* Monat und Tag prüfen */
if (GebMonat > 12) {
    alert ("Das Monat kann nicht größer als 12 sein!");
    return "x"; }
if (GebTag == 0 ||GebMonat == 0) {
    alert ("Der Tag/das Monat muss größer als 0 sein!");
    return "x"; }

if ((GebMonat <= 7 && GebMonat % 2 == 1) || (GebMonat >= 8 && GebMonat % 2 == 0)) Monatstage1 = 31;
else
 if (GebMonat == 2)
   if (GebJahr % 4 > 0) Monatstage1 = 28;
   else
   if (GebJahr % 100 == 0 && GebJahr % 400 > 0) Monatstage1 = 28;
   else Monatstage1 = 29;
 else Monatstage1 = 30;
if (GebTag > Monatstage1) {
    alert ("Der Tag der Geburt kann nicht größer als " + Monatstage1 + " sein!");
    return "x"; }

/* höheres Jahr */
if (GebJahr > document.Unterhalt.JahrS.value) {
    alert ("Das Geburtsdatum des Kindes kann nicht nach dem Stichtag liegen!");
    return "x"; }

/* gleiches Jahr */
if (GebJahr == document.Unterhalt.JahrS.value)
   /* höheres Monat */
   if (GebMonat - document.Unterhalt.MonatS.value > 0)
   { alert ("Das Geburtsdatum des Kindes kann nicht nach dem Stichtag liegen!");
     return "x"; }
   else
   /* gleiches Monat */
   if (GebMonat == document.Unterhalt.MonatS.value)
     if (GebTag - document.Unterhalt.TagS.value > 0)
        { alert ("Das Geburtsdatum des Kindes kann nicht nach dem Stichtag liegen!");
          return "x"; }
     else return "0J";
   /* niedrigeres Monat */
   else return "0J";
/* niedrigeres Jahr */
else
    AlterKind = document.Unterhalt.JahrS.value - GebJahr;
    /* höheres Monat */
    if (GebMonat - document.Unterhalt.MonatS.value > 0) AlterKind--;
    else
    /* gleiches Monat */
    if (GebMonat == document.Unterhalt.MonatS.value)
      /* niedriger oder gleicher Tag */
      if (GebTag - document.Unterhalt.TagS.value > 0) AlterKind--;
return AlterKind;
}


function Prozentsatz(Alter)
{
/* Prozentsätze */
var Proz0_5 = 0.16;
var Proz6_9 = 0.18;
var Proz10_14 = 0.2;
var Proz15 = 0.22;

/* Prozentsatz ermitteln (ohne Abzug) */
if (Alter < 6) Prozent = Proz0_5 * 100;
else
    if (Alter < 10) Prozent = Proz6_9 * 100;
    else
        if (Alter < 15) Prozent = Proz10_14 * 100;
        else Prozent = Proz15 * 100;
return Prozent;
}


function Regelbedarf(Alter)
{
var Regelbedarf0_2;
var Regelbedarf3_5;
var Regelbedarf6_9;
var Regelbedarf10_14;
var Regelbedarf15_18;
var Regelbedarf19_28;

switch (document.Unterhalt.JahrS.value) {
  case "2002": /* kann eh nur mehr nach 30.6. sein */
    Regelbedarf0_2 = 155;
    Regelbedarf3_5 = 198;
    Regelbedarf6_9 = 255;
    Regelbedarf10_14 = 293;
    Regelbedarf15_18 = 344;
    Regelbedarf19_28 = 434;
    break;
  case "2003":
    if (document.Unterhalt.MonatS.value >= 1 && document.Unterhalt.MonatS.value <= 6) {
        Regelbedarf0_2 = 155;
        Regelbedarf3_5 = 198;
        Regelbedarf6_9 = 255;
        Regelbedarf10_14 = 293;
        Regelbedarf15_18 = 344;
        Regelbedarf19_28 = 434;
    }
    else {
        Regelbedarf0_2 = 157;
        Regelbedarf3_5 = 200;
        Regelbedarf6_9 = 258;
        Regelbedarf10_14 = 296;
        Regelbedarf15_18 = 348;
        Regelbedarf19_28 = 438;
    }
    break;
  case "2004":
    if (document.Unterhalt.MonatS.value >= 1 && document.Unterhalt.MonatS.value <= 6) {
        Regelbedarf0_2 = 157;
        Regelbedarf3_5 = 200;
        Regelbedarf6_9 = 258;
        Regelbedarf10_14 = 296;
        Regelbedarf15_18 = 348;
        Regelbedarf19_28 = 438;
    }
    else {
        Regelbedarf0_2 = 160;
        Regelbedarf3_5 = 204;
        Regelbedarf6_9 = 264;
        Regelbedarf10_14 = 302;
        Regelbedarf15_18 = 355;
        Regelbedarf19_28 = 447;
    }
    break;
  case "2005":
    if (document.Unterhalt.MonatS.value >= 1 && document.Unterhalt.MonatS.value <= 6) {
        Regelbedarf0_2 = 160;
        Regelbedarf3_5 = 204;
        Regelbedarf6_9 = 264;
        Regelbedarf10_14 = 302;
        Regelbedarf15_18 = 355;
        Regelbedarf19_28 = 447;
    }
    else {
        Regelbedarf0_2 = 164;
        Regelbedarf3_5 = 209;
        Regelbedarf6_9 = 270;
        Regelbedarf10_14 = 309;
        Regelbedarf15_18 = 363;
        Regelbedarf19_28 = 457;
    }
    break;
  case "2006":
    if (document.Unterhalt.MonatS.value >= 1 && document.Unterhalt.MonatS.value <= 6) {
        Regelbedarf0_2 = 164;
        Regelbedarf3_5 = 209;
        Regelbedarf6_9 = 270;
        Regelbedarf10_14 = 309;
        Regelbedarf15_18 = 363;
        Regelbedarf19_28 = 457;
    }
    else {
        Regelbedarf0_2 = 167;
        Regelbedarf3_5 = 213;
        Regelbedarf6_9 = 275;
        Regelbedarf10_14 = 315;
        Regelbedarf15_18 = 370;
        Regelbedarf19_28 = 465;
    }
    break;
  case "2007":
    if (document.Unterhalt.MonatS.value >= 1 && document.Unterhalt.MonatS.value <= 6) {
        Regelbedarf0_2 = 167;
        Regelbedarf3_5 = 213;
        Regelbedarf6_9 = 275;
        Regelbedarf10_14 = 315;
        Regelbedarf15_18 = 370;
        Regelbedarf19_28 = 465;
    }
    else {
        Regelbedarf0_2 = 171;
        Regelbedarf3_5 = 217;
        Regelbedarf6_9 = 281;
        Regelbedarf10_14 = 322;
        Regelbedarf15_18 = 378;
        Regelbedarf19_28 = 475;
    }
    break;
  case "2008":
    if (document.Unterhalt.MonatS.value >= 1 && document.Unterhalt.MonatS.value <= 6) {
        Regelbedarf0_2 = 171;
        Regelbedarf3_5 = 217;
        Regelbedarf6_9 = 281;
        Regelbedarf10_14 = 322;
        Regelbedarf15_18 = 378;
        Regelbedarf19_28 = 475;
    }
    else {
        Regelbedarf0_2 = 176;
        Regelbedarf3_5 = 225;
        Regelbedarf6_9 = 290;
        Regelbedarf10_14 = 333;
        Regelbedarf15_18 = 391;
        Regelbedarf19_28 = 491;
    }
    break;
  case "2009":
    if (document.Unterhalt.MonatS.value >= 1 && document.Unterhalt.MonatS.value <= 6) {
        Regelbedarf0_2 = 176;
        Regelbedarf3_5 = 225;
        Regelbedarf6_9 = 290;
        Regelbedarf10_14 = 333;
        Regelbedarf15_18 = 391;
        Regelbedarf19_28 = 491;
    }
    else {
        Regelbedarf0_2 = 177;
        Regelbedarf3_5 = 226;
        Regelbedarf6_9 = 291;
        Regelbedarf10_14 = 334;
        Regelbedarf15_18 = 392;
        Regelbedarf19_28 = 492;
    }
    break;
  case "2010":
    if (document.Unterhalt.MonatS.value >= 1 && document.Unterhalt.MonatS.value <= 6) {
        Regelbedarf0_2 = 177;
        Regelbedarf3_5 = 226;
        Regelbedarf6_9 = 291;
        Regelbedarf10_14 = 334;
        Regelbedarf15_18 = 392;
        Regelbedarf19_28 = 492;
    }
    else {
        Regelbedarf0_2 = 180;
        Regelbedarf3_5 = 230;
        Regelbedarf6_9 = 296;
        Regelbedarf10_14 = 340;
        Regelbedarf15_18 = 399;
        Regelbedarf19_28 = 501;
    }
    break;
  case "2011":
    if (document.Unterhalt.MonatS.value >= 1 && document.Unterhalt.MonatS.value <= 6) {
        Regelbedarf0_2 = 180;
        Regelbedarf3_5 = 230;
        Regelbedarf6_9 = 296;
        Regelbedarf10_14 = 340;
        Regelbedarf15_18 = 399;
        Regelbedarf19_28 = 501;
    }
    else {
        Regelbedarf0_2 = 186;
        Regelbedarf3_5 = 238;
        Regelbedarf6_9 = 306;
        Regelbedarf10_14 = 351;
        Regelbedarf15_18 = 412;
        Regelbedarf19_28 = 517;
    }
    break;
case "2012":
    if (document.Unterhalt.MonatS.value >= 1 && document.Unterhalt.MonatS.value <= 6) {
        Regelbedarf0_2 = 186;
        Regelbedarf3_5 = 238;
        Regelbedarf6_9 = 306;
        Regelbedarf10_14 = 351;
        Regelbedarf15_18 = 412;
        Regelbedarf19_28 = 517;
    }
    else {
        Regelbedarf0_2 = 186;
        Regelbedarf3_5 = 238;
        Regelbedarf6_9 = 306;
        Regelbedarf10_14 = 351;
        Regelbedarf15_18 = 412;
        Regelbedarf19_28 = 517;
    }
    break;

}

/* Prozentsatz ermitteln */
if (Alter < 3) RB = Regelbedarf0_2;
else
    if (Alter < 6) RB = Regelbedarf3_5;
    else
        if (Alter < 10) RB = Regelbedarf6_9;
        else
            if (Alter < 15) RB = Regelbedarf10_14;
            else
                if (Alter < 19) RB = Regelbedarf15_18;
                else RB = Regelbedarf19_28;
return RB;
}


function AbzugProz(Alter)
{
/* Prozentsätze */
var Proz0_9 = 0.01;
var Proz10 = 0.02;

/* Abzugsprozentpunkte für jedes Kind ermitteln */
if (Alter < 10) Prozent = Proz0_9 * 100;
else Prozent = Proz10 * 100;
return Prozent;
}
