function checkFields()
{
    var message;
    var gmSubmit;
    var re1;
    var re2;
    var betrag;
    var amountError;
    
    // verwendung regul%E4rer ausdr%FCcke (regular expressions)
    re1 = /[^0-9]{1,}/;
    re2 = /\d{1,}(\.\d{1,})?(,\d{1,})?/;
    
    message = "";
    gmSubmit = 0;
    if((document.myform.Tabelle1_A3.options[0].selected == true) ||
       (document.myform.Tabelle1_C4.options[0].selected == true))
    {
        message = "Bitte aus folgenden Feldern ausw%E4hlen: \n";
    }
    if(document.myform.Tabelle1_A3.options[0].selected == true)
    {
        message = message + "- Arbeitsverh%E4ltnis \n";
    }
    if(document.myform.Tabelle1_C4.options[0].selected == true)
    {
        message = message + "- Alleinverdienerabsatzbetrag \n";
    }
    if(checkDate(document.myform.geburtsdatum.value,"") == false)
    {
        message = message + "\nBitte folgendes Feld ausf%FCllen: \n- Geburtsdatum \n";
    }
    
    // Anzahl Kinder
    betrag = document.myform.Tabelle1_C5.value;
    if (betrag.search(re1) > -1) // wenn nicht nur ziffern im feld...
    {
        message = message + "\n- Anzahl der Kinder: Nur ganze Zahlen m%F6glich! \n";
    }
    
    amountError = 0;
    // Brutto
    betrag = document.myform.Tabelle1_B8.value;
    if (betrag.search(re1) > -1) // wenn nicht nur ziffern im feld...
    {
        if (betrag.search(re2) > -1) // wenn muster2 enthalten im feld...
        {
            ;
        }
        else
        {
            amountError = 1;
        }
    }
    // Sachbezug
    betrag = document.myform.Tabelle1_B9.value;
    if (betrag.search(re1) > -1) // wenn nicht nur ziffern im feld...
    {
        if (betrag.search(re2) > -1) // wenn muster2 enthalten im feld...
        {
        ;
        }
        else
        {
            amountError = 1;
        }
    }
    // Freibetrag
    betrag = document.myform.Tabelle1_B12.value;
    if (betrag.search(re1) > -1) // wenn nicht nur ziffern im feld...
    {
        if (betrag.search(re2) > -1) // wenn muster2 enthalten im feld...
        {
            ;
        }
        else
        {
            amountError = 1;
        }
    }
    
    // Brutto
    if(document.myform.Tabelle1_B8.value == "")
    {
        message = message + "\nBitte folgendes Feld ausf%FCllen: \n";
        message = message + "- Brutto \n";
        amountError = 0;
    }
    
    if(amountError == 1)
    {
        message = message + "\nBitte f%FCr Geldbetr%E4ge nur Ziffern eingeben und den Punkt als Kommatrennzeichen verwenden! \n";
    }
    
    if(message != "")
    {
        alert(unescape(message));
    }
    else
    {
        // Avab und Anzahl der Kinder
        if((document.myform.Tabelle1_C4.options[1].selected == true) && (document.myform.Tabelle1_C5.value > 0))
        {
            alert(unescape("\nDie Anzahl der Kinder wirkt sich nur aus, wenn auch der Alleinverdienerabsatzbetrag in Anspruch genommen werden kann. \n"));
        }
        document.myform.submit();
    }
}

function getNum(str) {
    if (str.length == 0) return (0);
    var checkOK = "0123456789-,.";
    var checkStr = str;
    var allValid = true;
    var decPoints = 0;
    var allNum = "";
    for (i = 0;  i < checkStr.length;  i++)
    {
        ch = checkStr.charAt(i);
        for (j = 0;  j < checkOK.length;  j++)
            if (ch == checkOK.charAt(j))
                break;
        
        if (j == checkOK.length)
        {
            allValid = false;
            break;
        }
        if (ch == ",")
        {
            allNum += ".";
            decPoints++;
        }
        else if (ch != ".")
            allNum += ch;
    }
    if (!allValid)
        return (0);
    if (decPoints > 1)
        return (0);
    var chkVal = allNum;

    return (parseFloat(allNum));
}

function convert(num) {
    var neustr = "";
    var str = String(num); //95
    if (str.indexOf(".") != -1) {
      euros = str.split(".")[0];
      cents = str.split(".")[1];
    }
    else {
      euros = str;
      cents = "00";
    }
    if (cents.length > 2) {
      cents = String(Math.round (parseFloat("0."+cents) * 100)).substring(0,2);
    }
    else if (cents.length == 1)
      cents = cents * 10;

    if (cents.length == 0)
      cents = "00";
    else if (cents.length == 1)
      cents = "0" + cents;

    i = euros.length
    i -= 3
    while (i > 0) {
      euros = euros.substring(0, i) + "." + euros.substring(i);
      i -= 3;
    }
    return euros + "," + cents;
}


function checkDate(Datum,Feld)
{
  var Datum, Tag, Monat, Jahr, Laenge, tageMonat;
  var Startjahr, Endjahr, rv, check;
  Startjahr=1850;
  Endjahr=2050;
  rv=false;
  check=0;
  Laenge=Datum.length;
  //alert("prüfe datum:"+Datum);
  if(Laenge==10 && Datum.substring(2,3)=="." && Datum.substring(5,6)==".")
  {
    Tag=parseInt(Datum.substring(0,2),10);
    Monat=parseInt(Datum.substring(3,5),10);
    Jahr=parseInt(Datum.substring(6,10),10);
    check=1;
  }
  else
  {
    if (Feld!="")
    {  alert("Feld <"+Feld+">\nKein gueltiges Format!\nBitte das Datum in der Form TT.MM.JJJJ eingeben!");
	}
    rv=false;
  }
  if(check>0)
  {
    if(Monat==4 || Monat==6 || Monat==9 || Monat==11) tageMonat=30;
    else if(Monat==1 || Monat==3 || Monat==5 || Monat==7 || Monat==8 || Monat==10 || Monat==12) tageMonat=31;
    else if(Monat==2 && Jahr%4==0 && Jahr%100!=0 || Jahr%400==0) tageMonat=29;
    else if(Monat==2 && Jahr%4!=0 || Jahr%100==0 && Jahr%400!=0) tageMonat=28;
    if(Tag>=1 && Tag<=tageMonat && Monat>=1 && Monat<=12 && Jahr>=Startjahr && Jahr<=Endjahr) rv=true;
    else
    {
      if (Feld!="")
      {  alert("Feld <"+Feld+">\nKein gueltiges Datum!\n");
      }
      rv=false;
    }
  } return rv;
}

// eof

