// E-Mail verschlüsseln
function email(name, domain, show) {
if(show) var link = "<a href='&#109;&#97;&#105;&#108;&#116;&#111;&#58;" +name+ "&#64;" +domain+ "' title='&Ouml;ffnet Standard Mail-Client'>" +show+ "</a>";
else var link = "<a href='&#109;&#97;&#105;&#108;&#116;&#111;&#58;" +name+ "&#64;" +domain+ "' title='&Ouml;ffnet Standard Mail-Client'>" +name+ "&#64;" +domain+ "</a>";
document.write(link);
}

// JavaScript Document
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

//Check Mailadresse
  function isDigit( ch )
  {
    if ( (ch >= '0') && (ch <= '9') )
      return true;
    else
      return false;
  }


  function isAlpha( ch )
  {
    if ( ((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z')) )
      return true;
    else
      return false;
  }


  function isAlnum( ch )
  {
    if ( isAlpha( ch ) || isDigit( ch ) )
      return true;
    else
      return false;
  }


  function notIn( str1, str2 )
  {
    var i = 0;
    var j = str2.length;
    for( ; i<j; i++ )
    {
      var str3 =  str2.charAt(i);
      if( str1.indexOf( str3 ) != -1 )
        return false;
    }
    return true;
  }


  function checkUsername( username, mustBeQuoted )
  {
    var i = 0;
    var j = username.length;
    if ( username.charAt(0) != '"' )
    {
      if ( (username.charAt(0) <  ' ') || (username.charAt(0) >  '~')
            || !notIn( mustBeQuoted, username.charAt(0) ) )
        return false;
      for( i=1; i<j; i++ )
      {
        if ( ( (username.charAt(i) < ' ') || (username.charAt(i) >  '~')
              || !notIn ( mustBeQuoted, username.charAt(i) ) )
             && ( username.charAt(i-1) != '\\' ) )
          return false;
      }
    }
    else
    {
      if ( username.charAt( j-1 ) != '"' )
        return false;
      for( i=1; i<j-1; i++ )
      {
        if ( ( (username.charAt(i) == '\n') || (username.charAt(i) == '\r')
              || (username.charAt(i) == '\"') )
            && (username.charAt(i-1) != '\\') )
          return false;
      }

    }
    return true;
  }


  function checkNr ( nr )
  {
    var i=0;
    var j=nr.length;

    if( j < 1 )
      return false;

    for( ; i<j; i++ )
      if( ( nr.charAt(i) < '0' ) || ( nr.charAt(i) > '9' ) )
        return false;

    return true;
  }


  function checkIpnr( ipnr )
  {
    var iL=0;
    var iC=0;
    var i=0;
    var sNr = "";

    for( ; i< ipnr.length; i++ )
    {
      if ( ipnr.charAt(i) == '.A' )
      {
        if ( !iL || (iL> 3) || parseInt( sNr,10 ) > 255 )
          return false;
        iC++;
        iL = 0;
        sNr = "";
        continue;
      }
      if ( isDigit ( ipnr.charAt(i) ) )
      {
        iL++;
        sNr = sNr + ipnr.charAt(i);
        continue;
      }
      return false;
    }

    if ( parseInt( sNr,10 ) > 255 )
      return false;
    if ( ( (iC==3) && (iL>=1) && (iL<=3) ) || ( (iC==4) && (!iL) )  )
      return true;
    else
      return false;
  }


  function checkFqdn( fqdn )
  {
    var iL=0;
    var iC=0;
    var i=fqdn.length-1;

    if ( (fqdn.charAt(0) == '.') || (fqdn.charAt(0) == '-') )
      return false;
    if ( fqdn.charAt(i) == '.' )
      i=i-1;

    for( ; i>=0; i-- )
    {
      if ( fqdn.charAt(i) == '.' )
      {
        if ( iL < 2 && iC < 2 )
          return false;
        if ( fqdn.charAt(i-1) == '-' )
          return false;
        iC++;
        iL = 0;
        continue;
      }
      if ( isAlnum ( fqdn.charAt(i) ) )
      {
        iL++;
        continue;
      }
      if ( fqdn.charAt(i) == '-' )
      {
        if ( !iL )
          return false;
        iL++;
        continue;
      }
      return false;
    }

    if ( !iC || ( iL == 1 && iC < 2 ) || ( !iL && iC==1) ) {
      return false;
    }

    return true;

  }


  function checkHostname( hostname )
  {
    if ( hostname.charAt(0) == '[' )
    {
      if ( hostname.charAt(hostname.length-1) != ']' )
        return false;
      var ipnr = hostname.substring( 1, hostname.length -1 );
        return checkIpnr( ipnr );
    }

    if ( hostname.charAt(0) == '#' )
    {
      var nr = hostname.substring( 1, hostname.length );
        return checkNr( nr );
    }

    return checkFqdn( hostname );
  }

function checkEmailAdr( address )
  {
    var status = true;
    var username = "";
    var hostname = "";

    if ( address.length < 8 )
      return false;

    var seperate = address.lastIndexOf("@");
    if ( seperate == -1 )
      return false;

    username = address.substring(0, seperate );
    if ( ! checkUsername( username, "<>()[],;:@\" " ) )
      return false;

    hostname = address.substring(seperate+1, address.length );
    if ( ! checkHostname( hostname ) )
      return false;

    return true;
  }


// Überprüfen, ob alle Felder ausgefüllt sind
function checkBeitrittVar() {
 var error = false;
 var error_message = "Eingabe-Fehler:\n";
 var first_error = 15;
 var focus_on;

// Obligatorisch Felder auf Schwarz setzten
    for(var i = 0; i < document.getElementsByTagName("p").length; i++){
    document.getElementsByTagName("p")[i].style.color = '#000000';
    }
    /*for(var i = 0; i < document.getElementsByTagName("span").length; i++){
    document.getElementsByTagName("span")[i].style.color = '#000000';
    }*/

 /* Ueberpruefen des Name-Feldes auf Inhalt*/
 if (document.formular.name.value == '') {
  error = true;
  error_message += "- Bitte Name angeben!\n";
  document.getElementById("name").style.color = '#FF0000';
  if(2 < first_error) {first_error = 2; focus_on = document.formular.name;}
 }
 //Überprüfen ob Vorname angegeben
  if (document.formular.vorname.value == '') {
  error = true;
  error_message += "- Bitte Vorname eingeben!\n";
  document.getElementById("vorname").style.color = '#FF0000';
  if(3 < first_error) {first_error = 3; focus_on = document.formular.vorname;}
 }

 //Überprüfen ob Strasse angegeben
  if (document.formular.strasse.value == '') {
  error = true;
  error_message += "- Bitte Strasse / Nr. eingeben!\n";
  document.getElementById("strasse").style.color = '#FF0000';
  if(5 < first_error) {first_error = 5; focus_on = document.formular.strasse;}
 }
//PlZ überprüfen
   if (document.formular.plz.value == '') {
  error = true;
  error_message += "- Bitte PLZ eingeben!\n";
  document.getElementById("plzort").style.color = '#FF0000';
  if(6 < first_error) {first_error = 6; focus_on = document.formular.plz;}
 }
//Ort überprüfen
   if (document.formular.ort.value == '') {
  error = true;
  error_message += "- Bitte Ort eingeben!\n";
  document.getElementById("plzort").style.color = '#FF0000';
  if(7 < first_error) {first_error = 7; focus_on = document.formular.ort;}
 }
//telefon überprüfen
   if (document.formular.telefon.value == '') {
  error = true;
  error_message += "- Bitte Telefon eingeben!\n";
  document.getElementById("telefon").style.color = '#FF0000';
  if(8 < first_error) {first_error = 8; focus_on = document.formular.telefon;}
 }
// Ueberpruefen Mailadress auf Inhalt
   if (document.formular.email.value == '') {
   error = true;
   error_message += "- Bitte eine Mailadresse eingeben!\n";
   document.getElementById("email").style.color = '#FF0000';
   if(9 < first_error) {first_error = 9; focus_on = document.formular.email;}
   }  
   // Ueberpruefen Mailadress auf Korrektheit
   if (document.formular.email.value !== '') {
   if (!checkEmailAdr( document.formular.email.value )){
   error = true;
   error_message += "- Bitte eine korrekte Mailadresse eingeben!\n";
   document.getElementById("email").style.color = '#FF0000';
   if(10 < first_error) {first_error = 10; focus_on = document.formular.email;}
   }}
//name_best überprüfen
   if (document.formular.name_best.value == '') {
  error = true;
  error_message += "- Bitte Name als Bestätigung eingeben!\n";
  document.getElementById("name_best").style.color = '#FF0000';
  if(11 < first_error) {first_error = 11; focus_on = document.formular.name_best;}
 }


 /* Ist irgendwo ein Fehler aufgetreten ? */
 if (error) {
  error_message += "\nEs müssen alle * Felder ausgefüllt werden.";
  alert(error_message);
  focus_on.focus();
  return false; //Formular wird nicht abgeschickt.
 } else {
  return true;  //Formular wird abgeschickt.
 }
}


// Überprüfen, ob alle Felder ausgefüllt sind
function checkSpendeVar() {
 var error = false;
 var error_message = "Eingabe-Fehler:\n";
 var first_error = 15;
 var focus_on;

// Obligatorisch Felder auf Schwarz setzten
    for(var i = 0; i < document.getElementsByTagName("p").length; i++){
    document.getElementsByTagName("p")[i].style.color = '#000000';
    }
    /*for(var i = 0; i < document.getElementsByTagName("span").length; i++){
    document.getElementsByTagName("span")[i].style.color = '#000000';
    }*/

 /* Ueberpruefen des Name-Feldes auf Inhalt*/
 if (document.formular.name.value == '') {
  error = true;
  error_message += "- Bitte Name angeben!\n";
  document.getElementById("name").style.color = '#FF0000';
  if(2 < first_error) {first_error = 2; focus_on = document.formular.name;}
 }
 //Überprüfen ob Vorname angegeben
  if (document.formular.vorname.value == '') {
  error = true;
  error_message += "- Bitte Vorname eingeben!\n";
  document.getElementById("vorname").style.color = '#FF0000';
  if(3 < first_error) {first_error = 3; focus_on = document.formular.vorname;}
 }

 //Überprüfen ob Strasse angegeben
  if (document.formular.strasse.value == '') {
  error = true;
  error_message += "- Bitte Strasse / Nr. eingeben!\n";
  document.getElementById("strasse").style.color = '#FF0000';
  if(5 < first_error) {first_error = 5; focus_on = document.formular.strasse;}
 }
//PlZ überprüfen
   if (document.formular.plz.value == '') {
  error = true;
  error_message += "- Bitte PLZ eingeben!\n";
  document.getElementById("plzort").style.color = '#FF0000';
  if(6 < first_error) {first_error = 6; focus_on = document.formular.plz;}
 }
//Ort überprüfen
   if (document.formular.ort.value == '') {
  error = true;
  error_message += "- Bitte Ort eingeben!\n";
  document.getElementById("plzort").style.color = '#FF0000';
  if(7 < first_error) {first_error = 7; focus_on = document.formular.ort;}
 }
//telefon überprüfen
   if (document.formular.telefon.value == '') {
  error = true;
  error_message += "- Bitte Telefon eingeben!\n";
  document.getElementById("telefon").style.color = '#FF0000';
  if(8 < first_error) {first_error = 8; focus_on = document.formular.telefon;}
 }
// Ueberpruefen Mailadress auf Inhalt
   if (document.formular.email.value == '') {
   error = true;
   error_message += "- Bitte eine Mailadresse eingeben!\n";
   document.getElementById("email").style.color = '#FF0000';
   if(9 < first_error) {first_error = 9; focus_on = document.formular.email;}
   }  
   // Ueberpruefen Mailadress auf Korrektheit
   if (document.formular.email.value !== '') {
   if (!checkEmailAdr( document.formular.email.value )){
   error = true;
   error_message += "- Bitte eine korrekte Mailadresse eingeben!\n";
   document.getElementById("email").style.color = '#FF0000';
   if(10 < first_error) {first_error = 10; focus_on = document.formular.email;}
   }}



 /* Ist irgendwo ein Fehler aufgetreten ? */
 if (error) {
  error_message += "\nEs müssen alle * Felder ausgefüllt werden.";
  alert(error_message);
  focus_on.focus();
  return false; //Formular wird nicht abgeschickt.
 } else {
  return true;  //Formular wird abgeschickt.
 }
}
