// ===================================================================
// Author: Frank Stroebel
// WWW: http://www.chessgamble.de/
// ===================================================================

//
// Funktionen für die Spieler-Registrierung.
//

//
// Hängt die EventHandler an die User-Registrierungs-Seiten und befüllt das auto complete array.
//
function InitUserRegistrierung()
{
  // Tab für User-Registrier-Übersicht initialisieren
  $("#RegistrierUebersicht-tabs").tabs({ selected: 0 });
  
  // Auto complete array aus dem Doc befüllen
  ReadSpielernamenFromDoc();
  
  // Add auto complete to Namens-Eingabe-Box
  $(function() {
		$("#IdUserRegNameEingabe").autocomplete({
			source: availableTags
		});
	});
}

//
// Prüft das Formular (Echt-/Spielgeld-Registrierung und Umregistrierung) vor dem Absenden.
// Wir orientieren uns hier an den Prüfungen in "CUserRegistrierenEingabePruefung.php"!
//
// Das Formular heisst "AnmeldeFormular".
//
// Von folgenden Formularen wird die Funktion aufgerufen:
// A) Registrierung als Echtgeld-Spieler
// B) Registrierung als Spielgeld-Spieler
// C) Umregistrierung von Echtgeld-Spieler nach Spielgeld-Spieler
// D) Umregistrierung von Spielgeld-Spieler nach Echtgeld-Spieler
// Parameter dafür:
// - calledFrom
//   "A", "B", "C", "D"
//
// Vorhandene Eingabefelder:
// - spielername         (A, B)
// - passwortreg         (A, B)
// - email               (A, B)
// - geschlecht          (A, D)
// - vorname             (A, D)
// - name                (A, D)
// - strasse             (A, D)
// - hausnr              (A, D)
// - ort                 (A, D)
// - plz                 (A, D)
// - land                (A, D)
// - volljaehrig         (A, D) (Checkbox)
// - akzeptiert          (A, B) (Checkbox)
// - sicherheitscode     (A, B) (Captcha)
//
function checkRegistrierFormular (calledFrom) {
  //
  // spielername
  //
  if ((calledFrom == 'A') || (calledFrom == 'B')) {
    if (document.AnmeldeFormular.spielername.value.length < 3) {
      alert(T_Reg_NameMinDrei);
      document.AnmeldeFormular.spielername.focus();
      return false;
    }
    if (document.AnmeldeFormular.spielername.value.length > 12) {
      alert(T_Reg_NameMaxZw);
      document.AnmeldeFormular.spielername.focus();
      return false;
    }
  }

  //
  // passwort
  //
  if ((calledFrom == 'A') || (calledFrom == 'B')) {
    if (document.AnmeldeFormular.passwortreg.value.length < 6) {
      alert(T_Reg_PWMinSechs);
      document.AnmeldeFormular.passwortreg.focus();
      return false;
    }
  }
  
  //
  // passwort und spielername
  //
  if ((calledFrom == 'A') || (calledFrom == 'B')) {
    if (document.AnmeldeFormular.spielername.value == document.AnmeldeFormular.passwortreg.value) {
      alert(T_Reg_NamePWNichtGleich);
      document.AnmeldeFormular.passwortreg.focus();
      return false;
    }
  }
  
  //
  // email
  //
  if ((calledFrom == 'A') || (calledFrom == 'B')) {
    if (document.AnmeldeFormular.email.value.length < 6) {
      alert(T_Reg_Mail);
      document.AnmeldeFormular.email.focus();
      return false;
    }
    if (document.AnmeldeFormular.email.value.length > 128) {
      alert(T_Reg_MailMax);
      document.AnmeldeFormular.email.focus();
      return false;
    }
    if (document.AnmeldeFormular.email.value.indexOf("@") == -1) {
      alert(T_Reg_MailInkorr);
      document.AnmeldeFormular.email.focus();
      return false;
    }
  }
  
  //
  // geschlecht
  //
  
  //
  // vorname
  //
  if ((calledFrom == 'A') || (calledFrom == 'D')) {
    if (document.AnmeldeFormular.vorname.value.length < 1) {
      alert(T_Reg_Vorname);
      document.AnmeldeFormular.vorname.focus();
      return false;
    }
    if (document.AnmeldeFormular.vorname.value.length > 50) {
      alert(T_Reg_VornameMax);
      document.AnmeldeFormular.vorname.focus();
      return false;
    }
  }
  
  //
  // name
  //
  if ((calledFrom == 'A') || (calledFrom == 'D')) {
    if (document.AnmeldeFormular.name.value.length < 1) {
      alert(T_Reg_Nachname);
      document.AnmeldeFormular.name.focus();
      return false;
    }
    if (document.AnmeldeFormular.name.value.length > 50) {
      alert(T_Reg_NachnameMax);
      document.AnmeldeFormular.name.focus();
      return false;
    }
  }
  
  //
  // strasse
  //
  if ((calledFrom == 'A') || (calledFrom == 'D')) {
    if (document.AnmeldeFormular.strasse.value.length < 1) {
      alert(T_Reg_Strasse);
      document.AnmeldeFormular.strasse.focus();
      return false;
    }
    if (document.AnmeldeFormular.strasse.value.length > 50) {
      alert(T_Reg_StrasseMax);
      document.AnmeldeFormular.strasse.focus();
      return false;
    }
  }
  
  //
  // hausnr
  //
  if ((calledFrom == 'A') || (calledFrom == 'D')) {
    if (document.AnmeldeFormular.hausnr.value.length < 1) {
      alert(T_Reg_Hausnr);
      document.AnmeldeFormular.hausnr.focus();
      return false;
    }
    if (document.AnmeldeFormular.hausnr.value.length > 6) {
      alert(T_Reg_HausnrMax);
      document.AnmeldeFormular.hausnr.focus();
      return false;
    }
  }
  
  //
  // ort
  //
  if ((calledFrom == 'A') || (calledFrom == 'D')) {
    if (document.AnmeldeFormular.ort.value.length < 1) {
      alert(T_Reg_Ort);
      document.AnmeldeFormular.ort.focus();
      return false;
    }
    if (document.AnmeldeFormular.ort.value.length > 50) {
      alert(T_Reg_OrtMax);
      document.AnmeldeFormular.ort.focus();
      return false;
    }
  }
  
  //
  // plz
  //
  if ((calledFrom == 'A') || (calledFrom == 'D')) {
    var plzLenSollMin = 4;
    var plzLenSollMax = 7;
    if (document.AnmeldeFormular.plz.value.length < plzLenSollMin) {
      alert(T_Reg_Plz);
      document.AnmeldeFormular.plz.focus();
      return false;
    }
    if (document.AnmeldeFormular.plz.value.length > plzLenSollMax) {
      alert(T_Reg_Plz);
      document.AnmeldeFormular.plz.focus();
      return false;
    }
  }
  
  //
  // land
  //
  if ((calledFrom == 'A') || (calledFrom == 'D')) {
    if (document.AnmeldeFormular.land.value.length < 2) {
      alert(T_Reg_Land);
      document.AnmeldeFormular.land.focus();
      return false;
    }
  }
  
  //
  // volljaehrig
  //
  if ((calledFrom == 'A') || (calledFrom == 'D')) {
    if (!document.AnmeldeFormular.volljaehrig.checked) {
      alert(T_Reg_Volljaehrig);
      //document.AnmeldeFormular.volljaehrig.focus();
      return false;
    }
  }
  
  //
  // akzeptiert
  //
  if ((calledFrom == 'A') || (calledFrom == 'B')) {
    if (!document.AnmeldeFormular.akzeptiert.checked) {
      alert(T_Reg_AGB);
      //document.AnmeldeFormular.akzeptiert.focus();
      return false;
    }
  }
  
  //
  // sicherheitscode
  //
  if ((calledFrom == 'A') || (calledFrom == 'B')) {
    if (document.AnmeldeFormular.sicherheitscode.value.length < 1) {
      alert(T_Reg_Captcha);
      document.AnmeldeFormular.sicherheitscode.focus();
      return false;
    }
  }
  

  // Alle Checks OK  
  return true;
}


