/*******************************************************************************************
********************************************************************************************
check_input(value,name) validiert die formulareingabe mit hilfe von regularen AusdrÃ¼cken je nach typ
********************************************************************************************
*******************************************************************************************/

function check_input(e)
{
  var targ;
  if (!e) {e = window.event;}
  if (e.target) {targ = e.target;}
  else if (e.srcElement) {targ = e.srcElement;}
  if (targ.nodewert == 3) // defeat Safari bug
  {targ = targ.parentNode;}
  
  wert=targ.value;
  type=targ.getAttribute("name");
  id=type+"_error";
 	
  var check_form=1;
  
  switch(type)
  {
	case 'Nachname': //\w beinhaltet alle Ziffern Buchstaben und den Unterstich
					var reFloat = /^([A-Z,a-z,ä,Ä,Ü,ü,ö,Ö,ß,\s]{3,50})$/;	  
					if(!reFloat.test(wert)){check_form=0; document.getElementById(id).innerHTML="* Falscher Nachname"; }
					else{check_form=1; document.getElementById(id).innerHTML="";}
					break;
					
	case 'Vorname': //\w beinhaltet alle Ziffern Buchstaben und den Unterstich
					var reFloat = /^([A-Z,a-z,ä,Ä,Ü,ü,ö,Ö,ß,\s]{3,50})$/;	  
					if(!reFloat.test(wert)){check_form=0; document.getElementById(id).innerHTML="* Falscher Vorname";}
					else{check_form=1; document.getElementById(id).innerHTML="";}
					break;
					
	case 'Benutzer'://\w beinhaltet alle Ziffern Buchstaben und den Unterstich
					var reFloat = /^([A-Z,a-z,ä,Ä,Ü,ü,ö,Ö,ß,\s,0-9]{3,50})$/;	  
					if(!reFloat.test(wert)){check_form=0; document.getElementById(id).innerHTML="* Ungültiger User(mind. 3 Zeichen)";}
					else{check_form=1; document.getElementById(id).innerHTML="";}
					break; Passwort_wiederholen
					
	case 'Passwort_wiederholen'://\w beinhaltet alle Ziffern Buchstaben und den Unterstich
					if(wert!=document.getElementsByName("Passwort")[0].value){check_form=0; document.getElementById(id).innerHTML="* Keine Übereinstimmung";}
					else{check_form=1; document.getElementById(id).innerHTML="";}
					break; 
					
	case 'Strase': //\w beinhaltet alle Ziffern Buchstaben und den Unterstich
					var reFloat = /^([A-Z,a-z,ä,Ä,Ü,ü,ö,Ö,ß,\s]{3,50})([0-9,.,/,\s]{0,20})$/;	  
					if(!reFloat.test(wert)){check_form=0; document.getElementById(id).innerHTML="* Falsche Straßenbezeichnung";}
					else{check_form=1; document.getElementById(id).innerHTML="";}
					break;
					
	case 'Ort': //\w beinhaltet alle Ziffern Buchstaben und den Unterstich
					var reFloat = /^([A-Z,a-z,ä,Ä,Ü,ü,ö,Ö,ß,\s]{3,50})$/;	  
					if(!reFloat.test(wert)){check_form=0; document.getElementById(id).innerHTML="* Falsche Ortsbezeichnung";}
					else{check_form=1; document.getElementById(id).innerHTML="";}
					break;
					
	/*case 'Tel': //\w beinhaltet alle Ziffern Buchstaben und den Unterstich
		var reFloat = /^([0-9,\+,\-,\(,\),\/,\s]{4,30})$/;	  
		if(!reFloat.test(wert)){check_form=0; document.getElementById(id).innerHTML="* Falsche Telefonnummer";}
		else{check_form=1; document.getElementById(id).innerHTML="";}
		break;*/
					
	case 'PLZ': //Wenn value keine Zahl(float) ist ==> keine gültige eingabe
					var reFloat = /^([0-9]{3,5})$/;	  
					if(!reFloat.test(wert)){check_form=0; document.getElementById(id).innerHTML="* Falsche PLZ";}
					else{check_form=1; document.getElementById(id).innerHTML="";}
					break;
					
	case 'Email': //Wenn value keine Zahl(float) ist ==> keine gültige eingabe
		var reFloat = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		if(!reFloat.test(wert) && wert!=""){check_form=0; document.getElementById(id).innerHTML="* Falsche Email";}
		else{check_form=1; document.getElementById(id).innerHTML="";}
		break;	*/
						
	default:check_form=1;break;
  }
  
  for(i=0;i<document.getElementsByTagName("input").length-3;i++)
  {	  
	//Wenn alle Elemente ausgefüllt werden
	if(check_form && document.getElementsByTagName("input")[i].value!="")
	{
		try
		{
			document.getElementById("send").disabled=false;
		}
		catch(error){}
	}
	else
	{   document.getElementById("send").disabled=true;	
		break;
	}
	checkUser();
  }
  
  if(!check_form){targ.value="";}
}

function addEvents()
{
  //Validierung nur bei mehr als 7 Eingabefeldern
  if(document.getElementsByTagName("input").length>8)
  {
    for(i=0;i<document.getElementsByTagName("input").length;i++)
    {
	  document.getElementsByTagName("input")[i].onchange=check_input;
    }
  }
  
}
