function Ltrim(s)
{
  var i=0;
  if (s.length>0)
  {  
    while ((i<s.length) && (s.charAt(i)==" ")) i=i+1;
    //alert("Schleifenende. s.length="+s.length+"  i="+i+" s.charAt(i)="+s.charAt(i));	  
    if (i==s.length) s=""; else if (i>0) s=s.slice(i);
  }
  return s;	
}

var msg="\nBitte geben Sie eine korrekte Email-Adresse ein!"
function Unique(c)
{
  var i=0;
//  alert ("Unique gestartet!");
  i=document.Formular.email.value.indexOf(c);
  if (i!=-1) 
    { 
	  i=i+1;
      i=document.Formular.email.value.indexOf(c,i);
	  if (i==-1) return true; 
	  else 
	    {
		alert("Das Zeichen \""+c+"\" darf nur 1 x vorkommen!"+msg);
		return false; 
		}
  	}	
  alert("Es fehlt das \""+c+"\"-Zeichen!"+msg);	
  return false; 
}

function CorrectAddress()
{
  var normalchars="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
  var specialchars= "-.@_";
  var validchars= normalchars+specialchars;
  var i=0;
  var j=0;
//  alert ("CorrectAddress gestartet!");
  document.Formular.email.value=Ltrim(document.Formular.email.value);
  if (document.Formular.email.value.length<8)
    {
	  alert("Eine Email-Adresse muss mindestens 8 Zeichen lang sein!"+msg);
      return false;
	}
  if ((normalchars.indexOf(document.Formular.email.value.charAt(0))==-1) ||
      (normalchars.indexOf(document.Formular.email.value.charAt(document.Formular.email.value.length-1))==-1))
    {
	  alert("Das 1. und das letzte Zeichen dürfen keine Sonderzeichen sein!"+msg);
      return false;
	}
  if (!(Unique("@"))) // behandelt Fehlerausgaben selber
    {
	return false;
	}
  //alert("Prüfe auf Punkt...");
  if (document.Formular.email.value.indexOf('.') == -1)
    {
	  alert("Es fehlt der Punkt!"+msg);
      return false;
	}
  else 
    {	
 //   alert("Prüfe Punkt nach @");
    i=document.Formular.email.value.lastIndexOf('.');
	j=document.Formular.email.value.lastIndexOf('@');
    if ((i) < (j))
      {
	    alert("Nach dem Zeichen \"@\" kommt kein Punkt mehr!"+msg);
        return false;
	  }
	else if ((i-j)<4)
	  {
	    alert("Zuwenig Abstand zwischen dem Zeichen \"@\" und dem letzten Punkt!"+msg);
        return false;
	  }  
	}
  for(i=0;i<document.Formular.email.value.length;i++)
    {
	 if (validchars.indexOf(document.Formular.email.value.charAt(i))==-1)
       {
	     alert("Ungültiges Zeichen an Position "+(i+1)+"!"+msg);	 
		 return false;
	   }	 
	 else if ((i<document.Formular.email.value.length-1) &&
        	  (specialchars.indexOf(document.Formular.email.value.charAt(i))!=-1) &&
			  (specialchars.indexOf(document.Formular.email.value.charAt(i+1))!=-1))
       {
	     alert("Zwei Sonderzeichen hintereinander an Position "+(i+1)+"!"+msg);	 
		 return false;
	   }	 
    }
  return true;
}  
	 
function chkFormular()
{
  if (!(CorrectAddress()))
  {
    document.Formular.email.select();
    document.Formular.email.focus();
	return false;
  }
  document.Formular.nachricht.value=Ltrim(document.Formular.nachricht.value);
  if (document.Formular.nachricht.value == "") 
  {
    alert("Bitte geben Sie eine Nachricht ein!");
    document.Formular.nachricht.select();
    document.Formular.nachricht.focus();
	return false;
  }
  document.location.href="danke.htm"; 
  return true;
}

