
function SetLanguage(p_sLanguage, p_sPage){
/************************************************************************
'wird beim Klick auf eines der Sprachen-Icons in secnav aufgerufen und schaltet die Sprache um
'In: (string) p_sLanguage : Nr der gewählten Sprache (DE=1/EN=2/FR=3)
'Task: erstellt 23.07.2002 JK, MMA
***********************************************************************/

  document.frmLanguage.txtLanguage.value = p_sLanguage;
  
  switch (p_sLanguage) {
    case "1":
        lang = "d_";
        break;
    case "2":
        lang = "gb_";
        break;
    case "4":
        lang = "fr_";
        break;
    case "5":
        lang = "es_";
        break;
    case "6":
        lang = "it_";
        break;
  }
  
  document.location.href = lang + p_sPage + ".htm";
}

  
function OpenDialog(p_sURL, p_sWindowname, p_nWidth, p_nHeight, p_bCenter, p_bScrolling, p_bMenubar){ 
/************************************************************************
'Öffnet ein Dialogfenster mit den gewünschten Eigenschaften
'In: (string)  p_sURL: URL der Seite die im Fenster angezeigt werden soll
'    (string)  p_sWindowname: interner Name des Fensters
'    (integer) p_nWidth: Breite des Fensters
'    (integer) p_nHeight: Höhe des Fensters
'    (boolean) p_bCenter: Wenn der Parameter bCenter mit true angegeben wird, wird der Dialog zentriert geöffnet, sonst wie ein Kontextmenü am Button
'    (boolean) p_bScrolling: Über bScrolling=true kann optional das Fenster mit Scrollbars angezeigt werden
'    (boolean) p_bMenubar: über bMenubar=true kann optional das Fenster mit Menüleiste angezeigt werden
'Task: erstellt 13.06.2002 JK,MMA
'      erweitert um Menubar 17.12.2002
***********************************************************************/
	var nXPos,nYPos;
	var sScrolling = "";
	var sMenubar = "";
	if (p_bScrolling==true){
	  	sScrolling=",scrollbars=yes"
	  }	
	if (p_bMenubar==true){
		sMenubar=",menubar=yes,toolbar=yes"
	}
	if (((navigator.platform.indexOf('Win')) != -1) && (navigator.appName == 'Netscape') && (parseInt(navigator.appVersion) < 5)){
    //Netscape4 Syntax
      if (p_bCenter) {
	  	nXPos = (screen.width - p_nWidth) / 2
	  	nYPos = (screen.height - p_nHeight) / 2
	  }
	  else{
	  	nXPos = event.screenX;
	  	nYPos = event.screenY - p_nHeight /2;
	  }
	  var f1 = window.open (p_sURL, p_sWindowname, "outerWidth=" + p_nWidth + ", outerHeight=" + p_nHeight + ", dependent=yes" + sScrolling + sMenubar + ", screenX=" + nXPos + ", screenY=" + nYPos);
  }
  else{
    //IE, etc. Syntax  
	  if (p_bCenter) {
	  	nXPos = (screen.availWidth - p_nWidth) / 2
	  	nYPos = (screen.availHeight - p_nHeight) / 2
	  }
	  else{
	  	nXPos = event.clientX;
	  	nYPos = event.clientY - p_nHeight /2;
	  }
    var f1 = window.open (p_sURL, p_sWindowname, "width=" + p_nWidth + ", height=" + p_nHeight + ", dependent=yes" + sScrolling + sMenubar + ", left=" + nXPos + ", top=" + nYPos);
	}
	f1.focus();
}



function isEmailRestricted(inputStr){ //Parameter ist der Eingabestring aus dem E-Mail Feld eines Formulars
	/*	Überprüfen einer E-Mail Adresse. 30.03.2000 Joachim Kathmann
			Diese Routine arbeitet nicht RFC konform, sondern schränkt den Standard stärker ein
			Nachdem die RFC Konformität überprüft wurde, wird auf hier definierte Einschränkungen geprüft
			Zudem ist diese Routine unabhängig vom RegExp Objekt und wird als Fallback verwendet, falls der Browser nicht mit Regular Expressions klarkommt.
	*/
	// Listen lassen sich bei Bedarf um weitere gültige Zeichen erweitern
	var validchars1 = "0123456789"
	var validchars2 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
	var validuserchars = ".-_+~" // in Usernamen gültige Sondereichen
	var validdomainchars = ".-" // in Domainnamen gültige Sonderzeichen
	var valididndomainchars ="äöüßÄÖÜ" //In IDN Domainnamen gültige Zeichen (Internationale Domains)
	var c = "";
	var mailusername = "";
	var mailservername = "";
	var i=0;
	var toplevelindex = 0;
	var toplevel= "";

	if (inputStr == "") return false; // Prüfen, ob etwas eingegeben wurde
	if (inputStr.indexOf("@")==-1) return false; // Prüfen, ob mindestens ein @ vorkommt
	adresscomponent = inputStr.split("@"); // Adresse an allen @ in Teile zerlegen
	if (adresscomponent.length > 2) return false; // Prüfen, ob höchstens ein @ vorkommt, also Adresse in zwei Teile zerlegt wurde

	mailusername = adresscomponent[0];
	mailservername = adresscomponent[1];
	if (mailusername == "") return false;//Adresse enthält keinen Usernamen
	if (mailservername == "") return false;//Adresse enthält keinen Servernamen

	c = mailusername.charAt(0);
	if ((validchars1.indexOf(c) < 0) && (validchars2.indexOf(c) < 0) ) return false; //1.Zeichen des Mailusernamens muß Buchstabe oder Zahl sein

	for(i=1; i<= mailusername.length -1 ;i++){ //Prüfen ob weitere Zeichen des Mailusernamens gültige Zeichen sind
		c= inputStr.charAt(i);
		if ((validchars1.indexOf(c) < 0) && (validchars2.indexOf(c) < 0) && (validuserchars.indexOf(c) < 0)) return false;
	}
	c = mailusername.charAt(mailusername.length -1);
	if ((validchars1.indexOf(c) < 0) && (validchars2.indexOf(c) < 0)) return false; // Letztes Zeichen des Usernamens muß Buchstabe oder Zahl sein

	//Domainname der Mailadresse prüfen, IP Adressen statt Domainnamen sind zwar erlaubt, aber nach RFC 2822/2821/822 "strongly discouraged" und werden deshalb hier nicht zugelassen
	for(i=0; i<= mailservername.length -1 ;i++){ //Prüfen ob alle Zeichen des Domainnamens gültige Zeichen sind
		c= mailservername.charAt(i);
		if ((validchars1.indexOf(c) < 0) && (validchars2.indexOf(c) < 0) && (validdomainchars.indexOf(c) < 0) && (valididndomainchars.indexOf(c) < 0) ) return false;
	}
	c = mailservername.charAt(0);
	if ((validchars1.indexOf(c) < 0) && (validchars2.indexOf(c) < 0) && (valididndomainchars.indexOf(c) < 0) ) return false; //1.Zeichen des Mailservernamens muß Buchstabe oder Zahl oder erlaubtes IDN Zeichen sein

	if (mailservername.indexOf(".") == -1) return false; // Prüfen ob mindestens ein . vorkommt
	domaincomponent = mailservername.split("."); //Domainangabe an allen . in Teile zerlegen
	for(i = 0; i<= domaincomponent.length -1; i++){ // Prüfen, ob keine Komponente leer ist (also zwei Punkte aufeinander folgen)
		if (domaincomponent[i].length < 1) return false;
	}
	toplevelindex = domaincomponent.length -1;
	toplevel = domaincomponent[toplevelindex];
	if (toplevel.length < 2) return false; // ||( toplevel.length > 3) ) // Prüfen, ob Toplevel-Domain mindestens 2 Zeichen hat. Obergrenze hinfällig da neue TLDs länger als 3 Zeichen sein können z.B. info, name, museum
	for (var i = 0; i <= toplevel.length -1; i++){ // Prüfen, ob Toplevel-Domain nur Buchstaben enthält
		c = toplevel.charAt(i);
		if (validchars2.indexOf(c) < 0) return false;
	}
	return true;
}

