var FieldList = new Object();
FieldList['Login'] = "Vorname|Nachname|PWD";
FieldList['GetPWD'] = "Email";
FieldList['Register'] = "Vorname|Nachname|Firma|Land|PLZ|Ort|Strasse|Email";
FieldList['Edit'] = "Vorname|Nachname|Firma|Land|PLZ|Ort|Strasse|Email";

var FormName = new Object();
FormName['Login'] = "document.LogData";
FormName['GetPWD'] = "document.GetMail";
FormName['Register'] = "document.LogData";
FormName['Edit'] = "document.LogData";

var ModeField = "Modus";
var MailField = "Email";
var CheckField = "Datenschutz";
var MinLength = 2;

var Meldung_1 = new Object();
Meldung_1['de'] = "Bitte füllen Sie alle Felder vollständig und richtig aus.";
Meldung_1['en'] = "Please fill in all input fields correctly.";
var Meldung_2 = new Object();
Meldung_2['de'] = "Bitte bestätigen Sie die Hinweise zum Datenschutz.";
Meldung_2['en'] = "Please confirm the privacy information.";

function InitForm()
{ var Obj = eval(FormName['Login']);
  var i;
  for (i = 0; i < Obj.elements.length; i++)
  { if (Obj.elements[i].value.length == 0)
    { Obj.elements[i].focus();
      break;
    }
  }
}

function SendLoginData(Mode)
{ var CheckMode = (Mode == "Register");
  var Obj = eval(FormName[Mode] + "." + ModeField);
  Obj.value = Mode;
  if (CheckLoginData(Mode, CheckMode))
  { Obj = eval(FormName[Mode]);
    Obj.submit();
  }
}

function CheckLoginData(Mod, Chk)
{ var FldArr = FieldList[Mod].split("|");
  var i, Obj, Val;
  var OK = true;
  for (i = 0; i < FldArr.length; i++)
  { Obj = eval(FormName[Mod] + "." + FldArr[i]);
    Val = Trim(Obj.value);
    OK = (FldArr[i] == MailField) ? TestMail(Val) : (Val.length >= MinLength);
    if (!OK) break;
  }
  if (!OK)
  { alert(Meldung_1[Language]);
  }
  else if (Chk)
  { Obj = eval(FormName[Mod] + "." + CheckField);
    OK = Obj.checked;
    if (!OK) alert(Meldung_2[Language]);
  }
  return OK;
}

function TestMail(Inh)
{ var Mail_MinLength = 6;
  var Mail_Forbidden = " ,;:/!'" + '"';
  var OK = (Inh.length >= Mail_MinLength);
  var i, Sig, Pos1, Pos2, Pos3;
  if (OK)
  { for (i= 0; i < Inh.length; i++)
    { Sig = Inh.substr(i, 1);
      if (Mail_Forbidden.indexOf(Sig) >= 0)
      { OK = false;
        break;
      }
    }
  }
  if (OK)
  { Pos1 = Inh.indexOf("@");
    Pos2 = Inh.lastIndexOf("@");
    Pos3 = Inh.lastIndexOf(".");
    if (Pos1 <= 0) OK = false;
    if (Pos3 <= 0) OK = false;
    if (Pos1 != Pos2) OK = false;
    if (Pos1 > Pos3) OK = false;
    if (Inh.length - Pos3 < 3) OK = false;
  }
  return OK;
}

function Trim(cTst)
{ while ((cTst.charAt(0) == " ") && (cTst.length > 1))
  { cTst = cTst.slice(1);
  }
  while ((cTst.slice(-1) == " ") && (cTst.length > 1))
  { cTst = cTst.substr(0, cTst.length - 1);
  }
  if (cTst == " ")
  { cTst = "";
  }
  return cTst;
}