function js_checkLogin()
{
   if(document.forms[0].login.value=="")
   {
      alert(js_alert['errLoginname']);
      return false;
   }
   if(document.forms[0].password.value=="")
   {
      alert(js_alert['errPassword']);
      return false;
   }
   return true;
}
function js_unternav(item)
{
   if(document.getElementById("sub_"+item).className=="sichtbar")
   {
         document.getElementById(item).className="link_sub";
         document.getElementById("sub_"+item).className="unsichtbar";
   }
   else
   {
         document.getElementById(item).className="current_sub";
         document.getElementById("sub_"+item).className="sichtbar";
   }
}
function js_submenu(item)
{
   alert("Test: "+item);
}
function js_NewWindow(datei,fenster,groesse)
{
    F1 = window.open(datei,fenster,groesse);
}
function js_checkEmail(emailStr)
{
      // Test country oder TLD.
      //  1 f¸r testen, 0 nicht testen
      var checkTLD=1;
      // TLDs Liste
      var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
      // user@domain format
      var emailPat=/^(.+)@(.+)$/;
      // Liste zeichen ( ) < > @ , ; : \ " . [ ]
      var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
      var validChars="\[^\\s" + specialChars + "\]";
      // in Anf¸hrungszeichen? (dann sind special charakters erlaubt)
      var quotedUser="(\"[^\"]*\")";
      // domains mit IP addressen
      var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
      var atom=validChars + '+';
      var word="(" + atom + "|" + quotedUser + ")";
      var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
      var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
      var matchArray=emailStr.match(emailPat);

      if (matchArray==null) {
      // test Anzahl der @
      alert(js_alert['errStructure']);
      return false;
      }
      var user=matchArray[1];
      var domain=matchArray[2];
      // test g¸ltige ASCII characters (0-127).
      for (i=0; i<user.length; i++) {
      if (user.charCodeAt(i)>127) {
      alert(js_alert['errZeichenUser']);
      return false;
         }
      }
      for (i=0; i<domain.length; i++) {
      if (domain.charCodeAt(i)>127) {
      alert(js_alert['errZeichenDomain']);
      return false;
         }
      }
      if (user.match(userPat)==null) {
      // user nicht OK
      alert(js_alert['errUser']);
      return false;
      }
      // IP addresse OK ?
      var IPArray=domain.match(ipDomainPat);
      if (IPArray!=null) {
      // es handelt sich um eine IP-Adresse
      for (var i=1;i<=4;i++) {
      if (IPArray[i]>255) {
      alert(js_alert['errIP']);
      return false;
         }
      }
      return true;
      }
      // Domain ist ein "symbolic name",  g¸ltig ?
      var atomPat=new RegExp("^" + atom + "$");
      var domArr=domain.split(".");
      var len=domArr.length;
      for (i=0;i<len;i++) {
      if (domArr[i].search(atomPat)==-1) {
      alert(js_alert['errNameDomain']);
      return false;
         }
      }
      /*
      domain name valid, testen bekannte top-level domain
      hostname vorangestellt ?
      */
      if (checkTLD && domArr[domArr.length-1].length!=2 &&
      domArr[domArr.length-1].search(knownDomsPat)==-1) {
      alert(js_alert['errDomain']);
      return false;
      }
      // hostname vorangestellt ?
      if (len<2) {
      alert(js_alert['errNameHost']);
      return false;
      }
      // hier angekommen ist alles OK
      return true;
      //  End -->
}

