function pruefeDatum(Datum,Startjahr,Endjahr) {
  var Datum, Tag, Monat, Jahr, Laenge, tageMonat;
  Laenge=Datum.length;

  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);
  }
  else {
    return false;
  }

  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) {
    return true;
  }
  else {
    return false;
  }
}


function formatDatum(mydate){

  var myland="de";

  var objDatum = new Date();
  var tt,mm,jjjj,checkdate;

  if (!pruefeDatum(mydate,1900,2200)) {

    tt=mydate.substring(0,2);
    mm=mydate.substring(2,4);
    jjjj=mydate.substring(4,8);

    if (mm==0) {
      mm=objDatum.getMonth()+1;
      if (mm<10) mm="0"+mm;
    }
    if (jjjj==0) jjjj=objDatum.getYear();
    else if(jjjj<1000)jjjj="20"+jjjj;

    checkdate = tt + "." + mm + "." + jjjj;

    if (!pruefeDatum(checkdate,1900,2200)) {
      tt=mydate.substring(0,2);
      mm=mydate.substring(3,5);
      jjjj=mydate.substring(6,10);

      if (mm==0) {
        mm=objDatum.getMonth()+1;
        if (mm<10) mm="0"+mm;
      }
      if (jjjj==0) jjjj=objDatum.getYear();
      else if(jjjj<1000)jjjj="20"+jjjj;

      checkdate = tt + "." + mm + "." + jjjj;

      if (!pruefeDatum(checkdate,1900,2200)) return(error(myland));
      else return(korrekt(checkdate,myland,jjjj,mm,tt));
    }
    else return(korrekt(checkdate,myland,jjjj,mm,tt));
  }
  else {
    tt=mydate.substring(0,2);
    mm=mydate.substring(3,5);
    jjjj=mydate.substring(6,10);
    return(korrekt(mydate,myland,jjjj,mm,tt));
  }
}

function reformatDatum(mydate) {
    tt=mydate.substring(0,4);
    mm=mydate.substring(5,7);
    jjjj=mydate.substring(8,10);
    mydate = tt + "." + mm + "." + jjjj;
    return(mydate);
}

function error(myland) {
  switch (myland) {
    case "de": return("00.00.0000");
    case "am": return("0000-00-00");
  }
}

function korrekt(mydate,myland,jjjj,mm,tt) {
  switch(myland) {
    case "de": return(mydate);
    case "am": return(jjjj + "-" + mm + "-" + tt);
  }
}

function pruefeZeit(zeit) {

  var HH,MM,laenge;
  laenge=zeit.length;

  if (laenge==5 && zeit.substring(2,3)==":") {
    HH=parseInt(zeit.substring(0,2),10);
    MM=parseInt(zeit.substring(3,5),10);

    if (HH>=0 && HH<25 && MM>=0 && MM<60) return true;
    else return false;

  }
  else return false;


}

function formatTime(mytime) {

  var HH,MM;

  if (!pruefeZeit(mytime)) {

    HH=mytime.substring(0,2);
    MM=mytime.substring(2,4);
    if (MM=="") MM="00";

    checktime=HH+":"+MM;

    if (!pruefeZeit(checktime)) return "00:00";
    else return(checktime);

  }
  else return(mytime);

}

function DateDTL(mydate) {
  // Datum umformatieren Display-Format --> Datenbank-Format
  tt=mydate.substring(0,2);
  mm=mydate.substring(3,5);
  jjjj=mydate.substring(6,10);
  mydate = jjjj+"-"+mm+"-"+tt;

  return (mydate);

}