//Folgende Funktionen werden in dieser Date definiert:
//isDate()
//isEmpty()
//isPLZ()
//isEmail()

/**
 * Schaut ob es sich bei einem Textfeld um ein Datum handelt
 */
function isDate( textfield ) {
  var errorFlag= false;
  var maxDays;
  var year, month, day;
  

  day= textfield.substring( 0, textfield.indexOf( "." ) );
  month= textfield.substring( textfield.indexOf( "." )+1, textfield.lastIndexOf( "." ) );
  year= textfield.substring( textfield.lastIndexOf( "." )+1 );
 
  if( isNaN( day )||isNaN( month )||isNaN( year ) ) {
    errorFlag= true;
  }
  else {
    day= parseInt( day );
    month= parseInt( month );
    year= parseInt( year );
  }
  
  switch( month ) {			//Aufgrund des Monats die maximale Anzahl Tage bestimmen
    case 1:               //Jan,Mrz,Mai,Jul,Aug,Okt,Dez= 31
	case 3:
	case 5:
	case 7:
	case 8:
	case 10:
	case 12:
	  maxDays= 31;
	  break;
	case 4:               //Apr,Jun,Sep,Nov= 30
	case 6:
	case 9:
	case 11:
	  maxDays= 30;
	  break;
	case 2:                       //FEBRUAR
	  if( (year%400)==0 ) {         //400er-Regel= 29
	    maxDays= 29;
	  }
	  else if( (year%100)==0 ) {    //100er-Regel= 28
	    maxDays= 28;
	  }
	  else if( (year%4)==0 ) {      //4er-Regel= 29
	    maxDays= 29;
	  }
	  else {						//"normal?!"= 28
	    maxDays= 28;
	  }
	  break;
	default:                        //Wenn Monat ungültig
	  maxDays= -1;					//machen, dass Tag immer ungültig!
	  break;
  }

  if( (day<1)||(day>maxDays) ) {		//Ist der Tag im "Range"?
    errorFlag= true;
  }
  
  if( year<1000 ) {						//Ist das Jahr vierstellig?
    errorFlag= true;
  }

  return !errorFlag;
}

/**
 * Schaut ob ein Select Field angewählt wurde
 */
function isSelected( selectfield ) {
  var selectFlag= false;
  
  for( var i= 0; (i<selectfield.length)&&(!selectFlag); i++ ) {
    selectFlag= selectfield[i].checked;
  }
  
  return selectFlag;
}

/**
 * Schaut ob es sich bei einem Textfeld um ein leeres handelt
 */
function isEmpty( textfield ) {
  var emptyFlag= false

//Würde was eingegeben
  if( textfield=="" ) {
    emptyFlag= true;
  }
  
  return emptyFlag;
}

/**
 * Schaut ob es sich bei einem Textfeld um eine Email Adresse handelt
 */
function isEmail( textfield ) {
  var emailFlag= true;
  
//Hat es ein "@" nach mind. einem Zeichen?  
  if( textfield.indexOf( "@" )<1 ) {
    emailFlag= false;
  }
//Hat es nur ein "@"?  
  else if( textfield.indexOf( "@" )!=textfield.lastIndexOf( "@" ) ) {
    emailFlag= false;
  }
//Hat es ein "." mind 3 Buchstaben nach dem "@"?  
  else if( textfield.indexOf( "." )<=(textfield.indexOf( "@" )+3) ) {
    emailFlag= false;
  }
//Hat es Text nach dem "."
  else if( (textfield.length-1)<(textfield.indexOf( "." )+2) ) {
    emailFlag= false;
  }
  
  return emailFlag;
}

/**
 * Schaut ob es sich bei einem Textfeld um eine Postleitzahl handelt
 */
function isPLZ( textfield ) {
  var plzFlag= true;
  
//Ist es überhaput eine Zahl?
  if( isNaN( textfield ) ) {
    plzFlag= false;
  }
//Wenn ja, ist es eine vierstellige Zahl?
  else if( (textfield<1000)||(textfield>9999) ) {
    plzFlag= false;
  }
  
  return plzFlag;
}


