function isDatum(myDat){
myval = myDat;
myval = myval.replace('\,','.'); //* auch Beistriche sollen als Punkte erkannt werden
myval = myval.replace(' ',''); //* leerzeichen raus
datArr = myval.split('.');
	if(datArr.length==1){ //* Eingabe des Datums im Format DDMMJJ oder DDMMJJJJ
		wert = datArr[0];
		if(isInteger(wert)){
			if(wert.length==6){
				da=wert.substr(0,2);
				mo=wert.substr(2,2);
				yr='19'+wert.substr(4,2);}

			else if(wert.length==8){
				da=wert.substr(0,2);
				mo=wert.substr(2,2);
				yr=wert.substr(4,4);}

			else{return('Fehler: nur ein Wert mit Laenge: '+wert.length+' Zeichen.');}
		}
		else{
			if(wert=='heute'){
			datum = new Date();
			da=datum.getDate();
			mo=datum.getMonth();
			mo++;
			yr=datum.getFullYear();
			}
			else{return('Fehler: nicht numerisch');}
		}
	}

	else if(datArr.length==2){ //* Eingabe des Datums im Format D.M oder DD.MM
		da=datArr[0];
		mo=datArr[1];
		datum = new Date();
		yr=datum.getFullYear();
		}

	else if(datArr.length==3){ //* Eingabe des Datums im Format D.M.JJ oder DD.MM.JJ
		datum = new Date();
		da=datArr[0];
		mo=datArr[1];
		if(datArr[2]!='' && isInteger(datArr[2])){
			yr=datArr[2];
			if(yr.length==1){yr='200'+yr}
			if(yr.length==2){yr='19'+yr}
			if(yr.length>4){return('Fehler: Jahr '+ yr + ' zu groß')}
			}
		else{yr=datum.getFullYear();}
		}
	else{return('Fehler: mehr als 3 getrennte Werte für Datum, DD.MM.JJ.??');}

	if(!isInteger(da)){return('Fehler: Tag '+ da + ' nicht numerisch');}
	if(!isInteger(mo)){return('Fehler: Monat '+ mo + ' nicht numerisch');}
	if(!isInteger(yr)){return('Fehler: Jahr '+ yr + ' nicht numerisch');}

	if(mo<1 || mo > 12){return('Fehler: Monat '+mo+' nicht 1 bis 12');}
	if(da<1 || da > 31){return('Fehler: Tag '+da+' nicht 1 bis 31');}
	if((mo==4 || mo==6 || mo==9 || mo==11) && (da>30)){return('Fehler: Tag '+da+' im Monat '+mo+'nicht 1 bis 30');}
	if((mo==1 || mo==3 || mo==5 || mo==7 || mo==8 || mo == 10 || mo==12) && (da>31)){return('Fehler: Tag '+da+' im Monat '+mo+'nicht 1 bis 31');}
	if(schaltjahr(yr)){
		if(da>29 && mo==2){return('Fehler: Im Jahr '+yr+' (Schaltjahr) maximal 29 Tage im Februar.');}}
	else{
		if(da>28 && mo==2){return('Fehler: Im Jahr '+yr+' (kein Schaltjahr!) maximal 28 Tage im Februar.');}}

return(da+'.'+mo+'.'+yr)
}

function isInteger (myint){
refstr = '1234567890';
if(myint.length==0){return(false);}
	for(j=0;j<myint.length;j++){
		TempChar = myint.substring(j,j+1);
	      if(refstr.indexOf(TempChar,0) == -1)
	      	{return(false);}
	   TempChar = '';
		}
return(true);
}

function schaltjahr(yr){
if (((yr % 4 == 0) && yr % 100 != 0) || yr % 400 == 0)
   return true;
else
   return false;
}

function chkDatum(mdtm){
rdat = isDatum(mdtm.value);
if(rdat.substring(0,6)=='Fehler'){alert('Bitte geben Sie ein gültiges Datum ein\n\('+rdat+'\)');}
else{mdtm.value=rdat}
}

function isEMail(s)
{
 var a = false;
 var res = false;
 if(typeof(RegExp) == 'function')
 {
  var b = new RegExp('abc');
  if(b.test('abc') == true){a = true;}
  }

 if(a == true)
 {
  reg = new RegExp('([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,5})');
  res = (reg.test(s));
 }
 else
 {
  res = (s.search('@') >= 1 &&
         s.lastIndexOf('.') > s.search('@') &&
         s.lastIndexOf('.') >= s.length-5)
 }
 return(res);
}

function ow(page,pname){
var opener = window.open(page, pname , "menubar=yes,locationbar=yes,scrollbars=yes,status=yes,personalbar=no,width=400,height=300,screenx=0,screeny=0,resizable=yes,copyhistory=0")
}
