/* *****************************************************************************************************
   *******   Javascript Funktionen für Rechnerboxen Version 1.1 vom September 2009         ************
   *******   Kaindl Communications GmbH     http://www.kaindl.info                          ************
   *****************************************************************************************************
*/

function elternkalender_weiter () {
  var errorText = "Folgende Fehler traten auf:\n\n";
  var isError = false;
  if ((!document.frmElternkalender.betrieb_beschaeftigte[0].checked &&
       !document.frmElternkalender.betrieb_beschaeftigte[1].checked)) {
    isError = true;
    alert(unescape("Bitte w%E4hlen Sie wie viele Besch%E4ftigte der Betrieb, in dem Sie arbeiten, hat."));
  }
  if ((!document.frmElternkalender.jahre_beschaeftigt[0].checked &&
       !document.frmElternkalender.jahre_beschaeftigt[1].checked)) {
    isError = true;
    alert(unescape("Bitte w%E4hlen Sie wie lange Sie im Betrieb besch%E4ftigt sind."));
  }
  if(isError) {
    return false;
  }
  if (document.frmElternkalender.betrieb_beschaeftigte[0].checked &&
      document.frmElternkalender.jahre_beschaeftigt[0].checked)
    window.open("http://akweb.akwien.at/elternkalender/EK_-9-GA.html","Elternkalender");
  else
    window.open("http://akweb.akwien.at/elternkalender/EK_-9-KA.html","Elternkalender");
    return false;
  }

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 validateBruttoNetto() {
  re1 = /[^0-9.,]{1,}/;
  message = "";
  if(document.bruttonetto.Tabelle1_A3.options[0].selected == true ||
     document.bruttonetto.Tabelle1_C4.options[0].selected == true)
  {
    message = "Bitte folgende Felder ausw%E4hlen: \n";
  }
  if(document.bruttonetto.Tabelle1_A3.options[0].selected == true)
  {
    message = message + "- Arbeitsverh%E4ltnis \n";
  }
  if(document.bruttonetto.Tabelle1_C4.options[0].selected)
  {
    message = message + "- Alleinverdienerabsatz \n";
  }
  // Geburtsdatum
  geburtsdatum = document.bruttonetto.geburtsdatum.value;
  geburtsdatum=geburtsdatum.replace(/Geburtsdatum: TT.MM.JJJJ/,""); 
  geburtsdatum=geburtsdatum.replace(/Geburtsdatum:/g,"");
  geburtsdatum=geburtsdatum.replace(/ /g,""); 
  if(checkDate(geburtsdatum,"") == false)
  {
    message = message + "\nBitte folgendes Feld ausf%FCllen: \n- Geburtsdatum \n";
  }
  // Brutto
  betrag = document.bruttonetto.Tabelle1_B8.value;
  betrag=betrag.replace(/Brutto:/g,""); 
  betrag=betrag.replace(/Brutto/g,"");
  betrag=betrag.replace(/ /g,""); 
  if (betrag.search(re1) > -1) // wenn nicht nur ziffern im feld...
  {
      message = message + "\n" + "Bitte nur Zahlen f%FCr folgendes Feld ausf%FCllen: \n";
      message = message + "- Brutto \n";
  }
    // Kinder
  kinder = document.bruttonetto.Tabelle1_C5.value;
  kinder=kinder.replace(/Anzahl der Kinder:/g,""); 
  kinder=kinder.replace(/Anzahl der Kinder/g,"");
  kinder=kinder.replace(/ /g,""); 
  if (kinder.search(re1) > -1) // wenn nicht nur ziffern im feld...
  {
      if (betrag.search(re1) <= -1) message = message + "\n" + "Bitte nur Zahlen f%FCr folgendes Feld ausf%FCllen: \n";
      message = message + "- Anzahl der Kinder \n";
  }
  if(betrag == "" || getNum(betrag) == 0)
  {
      message = message + "\n" + "Bitte folgendes Feld ausf%FCllen: \n";
      message = message + "- Brutto \n";
  }

  if(message != "")
  {
      alert(unescape(message));
      return false;
  }
  else
  {
      document.bruttonetto.Tabelle1_B8.value = betrag;
      document.bruttonetto.Tabelle1_C5.value = kinder;
      document.bruttonetto.geburtsdatum.value = geburtsdatum;
      return true;
  }
}

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;
}

function enterfield(in_str) {
	in_str=in_str.replace(/Brutto:/g,""); 
	in_str=in_str.replace(/Brutto/g,"");
	in_str=in_str.replace(/ /g,""); 
    in_num=getNum(in_str);
	if (in_num==0) {
	   return "";
	}
    else { return convert(in_num); }
}

function enterfield(in_str) {
	in_str=in_str.replace(/Brutto:/,""); 
	in_str=in_str.replace(/Brutto/g,"");
	in_str=in_str.replace(/ /g,""); 
    in_num=getNum(in_str);
	if (in_num==0) {
	   return "";
	}
    else { return convert(in_num); }
}

function leavefield(in_str) {
	in_str=in_str.replace(/Brutto:/,""); 
	in_str=in_str.replace(/Brutto/g,"");
	in_str=in_str.replace(/ /g,""); 
    in_num=getNum(in_str);
	return "Brutto: " + convert(in_num); 
}

function enterfieldKinder(in_str) {
	in_str=in_str.replace(/Anzahl der Kinder:/,""); 
	in_str=in_str.replace(/Anzahl der Kinder/g,"");
	in_str=in_str.replace(/ /g,""); 
    in_num=getNum(in_str);
	if (in_num==0) {
	   return "";
	}
    else { return in_num; }
}

function leavefieldKinder(in_str) {
	in_str=in_str.replace(/Anzahl der Kinder:/,""); 
	in_str=in_str.replace(/Anzahl der Kinder/g,"");
	in_str=in_str.replace(/ /g,""); 
    in_num=getNum(in_str);
	return "Anzahl der Kinder: " + in_num; 
}

function enterfieldGeburtsdatum(in_str) {
	in_str=in_str.replace(/Geburtsdatum: TT.MM.JJJJ/,""); 
	in_str=in_str.replace(/Geburtsdatum:/g,"");
	in_str=in_str.replace(/ /g,""); 
    in_num=getNum(in_str);
	if (checkDate(in_str,"")) {
	   return in_str;
	}
    else { return ""; }
}

function leavefieldGeburtsdatum(in_str) {
	in_str=in_str.replace(/Geburtsdatum: TT.MM.JJJJ/,""); 
	in_str=in_str.replace(/Geburtsdatum:/g,"");
	in_str=in_str.replace(/ /g,""); 
    if (checkDate(in_str,"Geburtsdatum"))
    {
		return "Geburtsdatum: " + in_str;
    }
    else { return "Geburtsdatum: TT.MM.JJJJ" }
}

/* *****************************************************************************************************
   *******   Javascript Funktionen für Rechnerboxen	ENDE							        ************
   *****************************************************************************************************
*/
