////////////////////////////////////////////////////////////////
//
// wScript.js
// erstellt durch Scholl Communications AG, 77694 Kehl, www.scholl.de
// erstellt mit Weblication� Content Management Server, www.weblication.de
//
////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////
//
// Anzupassende Variablen:
//
// Rahmen, in den die Seiten zu laden sind, falls kein Ziel angegeben wurde ("top" fuer Noneframe).
var frameContent = "top";
//
// Falls Cookies zur Weitergabe von NavId verwendet werden sollen (0 = aus, 1 = ein).
var useCookiesNavId = 0;
//
// Falls Cookies zur Weitergabe von PageId verwendet werden sollen (0 = aus, 1 = ein).
var useCookiesPageId = 0;
//
// Aktiviert den Debugmodus zur Fehlersuche (0 = aus, 1 = ein).
var debugMode = 0;
//
// Optionen des standard Popupfensters.
var optionsPopup = "scrollbars=yes,resizable=yes,menubar=yes,location=no,width=850,height=638";
//
// Optionen des ersten Popupfensters.
var optionsPopup1 = "scrollbars=yes,resizable=yes,menubar=no,location=no,width=240,height=360";
//
// Optionen des zweiten Popupfensters.
var optionsPopup2 = "scrollbars=yes,resizable=yes,menubar=no,location=no,width=160,height=160";
//
////////////////////////////////////////////////////////////////

var submenueQuickLeftCur = 1;
var submenueIdOpenMain;
var submenueIdOpenQuick;

var nameItemsMain  = 'submenueMain_';
var nameItemsQuick = 'submenueQuick_';

////////////////////////////////////////////////////////////////
//
// Beschreibung: Browsererkennung
//
////////////////////////////////////////////////////////////////

var ns  = (document.layers) ? 1 : 0;
var ie  = (document.all) ? 1 : 0;
var dom = (document.getElementById) ? 1 : 0;
var mac = (navigator.platform.indexOf("Mac") != -1) ? 1 : 0;

////////////////////////////////////////////////////////////////
//
// Beschreibung: Leitet zur sprachspeziefischen Startseite um
//
////////////////////////////////////////////////////////////////

function redirectRootLanguage(subDir){

	if(subDir == "undefined" || subDir == null){
		subDir = "";
	}

	var userLanguage = getUserLanguage();
	if(userLanguage == "de"){
		document.location.href = "/wDeutsch/" + subDir;
	}
	else if(userLanguage == "en"){
		document.location.href = "/wEnglisch/" + subDir;
	}
	else{
		document.location.href = "/wEnglisch/" + subDir;
	}  
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Ermittelt die Sprache des Benutzers
//
// Return: Benutzersprache
//
////////////////////////////////////////////////////////////////
  
function getUserLanguage(){

	var userLanguage;
	if(navigator.language){
		userLanguage = navigator.language;
	}
	else if(navigator.userLanguage){
		userLanguage = navigator.userLanguage;
	}

	if(debugMode == 1){
		alert(userLanguage);
	}

	return userLanguage
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Oeffnet ein Popup-Fenster
//
////////////////////////////////////////////////////////////////

function openPopup(url){

	if(debugMode == 1){
		alert(url);
	}

	window.open(url, "popup", optionsPopup);
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Oeffnet ein Popup-Fenster vom Typ 1
//
////////////////////////////////////////////////////////////////

function openPopup1(url){

	if(debugMode == 1){
		alert(url);
	}

	window.open(url, "popup", optionsPopup2);
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Oeffnet ein Popup-Fenster vom Typ 2
//
////////////////////////////////////////////////////////////////

function openPopup2(url){

	if(debugMode == 1){
		alert(url);
	}

	window.open(url, "popup", optionsPopup2);
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Ruft eine neue Adresse auf
// 
// Parameter: url    = Adresse, die aufgerufen werden soll
//
// Parameter: target = Zielfenster, in dem die Seite angezeigt werden soll
//
// Parameter: navId  = ID des Navigationspunktes
//
////////////////////////////////////////////////////////////////

function changeLocation(url, target, navid){

  changeLocationUrl(url, target, navid);

}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Ruft eine neue Adresse auf
// 
// Parameter: url    = Adresse, die aufgerufen werden soll
//
// Parameter: target = Zielfenster, in dem die Seite angezeigt werden soll
//
// Parameter: navid  = ID des Navigationspunktes
//
////////////////////////////////////////////////////////////////

function changeLocationUrl(url, target, navid){

	if(url    == "undefined" || url    == null){url    = "";}
	if(target == "undefined" || target == null){target = "";}
	if(navid  == "undefined" || navid  == null){navid  = "";}

	if(debugMode == 1){
		alert("url = " + url + "\ntarget = " + target + "\nnavid = " + navid);
	}

	if(url != ""){
		if(useCookiesNavId == 1){
			if(navid != ""){
				document.cookie = "wNavid=" + navid + ";path=/;";
			}
		}

		if(useCookiesPageId == 1){
			var getPageId = /wPageId=(\d+)/;
			if(getPageId.test(url) == true){
				var wPageId = RegExp.$1;
				document.cookie = "wPageId=" + wPageId + ";path=/;";
			}
		}

		if(url == "#"){
			url = document.location.href;
			url = url.replace(/[\&|\?]navid=\d+/i, "");
		}

		if(navid != ""){
			var isNavigationStatic = /wNavStat_~_/;
			if(isNavigationStatic.test(url) == true){
				url = url.replace(/\.htm$/, navid + ".htm");
			} 
			else{
				var hasParameters = /\?/;
				if(hasParameters.test(url) == false){
					url = url + '?navid=' + navid;
				}
				else{
					url = url + '&navid=' + navid;        
				}
			}
		}

		if(target == "top" || target == "_top"){
			top.location.href = url;
		}
		else if(target == "blank" || target == "_blank"){
			window.open(url);
		}    
		else if(target == "popup" || target == "_popup"){
			window.open(url, "popup", optionsPopup);
		}    
		else if(target == "popup1" || target == "_popup1"){
			window.open(url, "popup1", optionsPopup1);
		}    
		else if(target == "popup2" || target == "_popup2"){
			window.open(url, "popup2", optionsPopup2);
		}    
		else{
			if(target == ""){
				target = frameContent;
			}
			if(frameContent != "top"){
				if(eval("parent.frames['" + target + "']")){
					eval("parent.frames['" + target + "'].location.href = url");
				}
            	else{
					window.location.href = url;
				}		
			}
           	else{
				window.location.href = url;
			}		
		}
	}
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Wechselt ein Bild aus
// 
// Parameter: picOldId  = ID des Bildes, das ersetzt werden soll
//
// Parameter: picNewObj = Neues Bildobjekt das eingesetzt werden soll
//
////////////////////////////////////////////////////////////////

function changePic(picOldId, picNewObj){

	if(debugMode == 1){
		alert("picOldId = " + picOldId + "\npicNewObj = " + picNewObj);
	}
	
	if(document.images[picOldId]){
		if(document.images[picOldId].src && picNewObj){
			document.images[picOldId].src = picNewObj.src;
		}
	}
} 

////////////////////////////////////////////////////////////////
//
// Beschreibung: Druckt das aktuelle Dokument
//
////////////////////////////////////////////////////////////////

function printDocument(){  

	if(ie){
		var browser = '<object id="webBrowser" width="0" height="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>';
		document.body.insertAdjacentHTML('beforeEnd', browser);
		webBrowser.ExecWB(6, 2);
	}
	else{
		window.print() ;  
	}
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Sendet das Formular
// 
// Parameter: form = Formular, das gesendet werden soll.
//
////////////////////////////////////////////////////////////////

function submitForm(form){

  //alert(form.elements);
  //alert(form.elements.length);

  var messageObligation = " ist ein Pflichtfeld!\n"; //erscheint wenn ein Pflichtfeld nicht ausgef&uuml;llt wurde
  var messageEmail      = " enth&auml;lt keine g&uuml;ltige Email Adresse!\n"; //erscheint wenn ein Pflichtfeld nicht ausgef&uuml;llt wurde

  var isObligation = /\|\w*o\w*$/i;  //Pflichtfeld, wenn Feldname am Schluss |o  enthaelt   (z.B.: "Strasse|o")
  var isCache      = /\|\w*c\w*$/i;  //Wird fuer weitere Formulare gespeichert am Schluss |c enthaelt       (z.B.: "eMail|c")
  var isEmail      = /\|\w*e\w*$/i;  //Emailfeld wenn Feldname am Schluss |e enthaelt       (z.B.: "eMail|e")
                                              //Pflicht- und Emailfeld, wenn am Schluss |oe oder |eo (z.B.: "eMail|eo") 

  var checkEmail   = /.*\@.*\.\w+/i;
  var formElement;
  var formElementNameOrig;
  var alertStr = "";

  var cookieStr = "";

  for(var i = 0; i <= form.elements.length - 1; i++){
    var formElement = form.elements[i];
    if(formElement){
      if(formElement.type == "text" || formElement.type == "textarea"){
        formElementNameOrig = formElement.name.replace(/\|\w+/, ''); 
        if(formElementNameOrig == "Email"){
          form.from.value = formElement.value;
        }
        if(isObligation.test(formElement.name) == true){  
          if(formElement.value == ""){
            alertStr += formElementNameOrig + messageObligation;                     
          }
        } 
        if(isEmail.test(formElement.name) == true){  
          if (checkEmail.test(formElement.value) == false){
            alertStr += formElementNameOrig + messageEmail;                     
          }
        }
      }
      if(isCache.test(formElement.name) == true){ 
        if(formElement.value != ""){
          cookieStr += "wFc_" + formElementNameOrig + "=" + formElement.value + ":";
        }
      }
    }
  }
  
  cookieStr += "; path=/";

  if(alertStr != ""){
    alert(alertStr);  
  }
  else{
    document.cookie = cookieStr;
    form.submit();
  }
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Initialisiert das Formular
// 
// Parameter: form = Formular, das initialisiert werden soll.
//
////////////////////////////////////////////////////////////////

function initForm(form){

  var isCache      = /\|\w*c\w*$/i;  //Wird fuer weitere Formulare gespeichert am Schluss |c enthaelt       (z.B.: "eMail|c")

  var formElement;
  var formElementNameOrig;

  var cookieStr    = document.cookie;
  var elementValue = "";

  if(form){
    for(var i = 0; i <= form.elements.length - 1; i++){
      var formElement = form.elements(i);
      if(formElement){
        if(isCache.test(formElement.name) == true){ 
          if(formElement.value == ""){
            formElementNameOrig = formElement.name.replace(/\|\w+/, ''); 
            var getElementValue = eval("/wFc_" + formElementNameOrig + "\=([^\:]+)\:/");
            if(getElementValue.test(cookieStr) == true){
              elementValue = RegExp.$1;
              formElement.value = elementValue;
            }
          }
        }
      }
    }
  }
  else{
    //alert("Formular wurde nicht gefunden!\n Wurde es schon geladen?");
  }
}
////////////////////////////////////////////////////////////////
//
// Beschreibung: Oeffnet ein Untermenue
// 
// Parameter: submenueId = ID des zu oeffnenden Untermenues
//
// Parameter: nameItems  = Name des zu oeffnenden Untermenues
//
////////////////////////////////////////////////////////////////
 	 
function openSubmenueMain(submenueId, nameItems){

	var layerId = nameItems + submenueId;

	if(isVisibleLayer(layerId) == 0){
		closeSubmenueMain(submenueIdOpenMain, nameItems);
		showLayer('submenueCloser');
		showLayer(layerId);
		submenueIdOpenMain = submenueId;
	}         
}
      
////////////////////////////////////////////////////////////////
//
// Beschreibung: Oeffnet ein Untermenue
// 
// Parameter: submenueId = ID des zu oeffnenden Untermenues
//
// Parameter: nameItems  = Name des zu oeffnenden Untermenues
//
////////////////////////////////////////////////////////////////
 	 
function openSubmenueQuick(submenueId, nameItems){

	var layerId = nameItems + submenueId;
	if (navigator.appName == "Microsoft Internet Explorer"){
	  if(isVisibleLayer(layerId) == 0){
		closeSubmenueQuick(submenueIdOpenQuick, nameItems);
		showLayer('submenueCloser');
		showLayer(layerId);
		submenueIdOpenQuick = submenueId;
		}
	}
	else if (navigator.appVersion == 5){
		if(isVisibleLayer(layerId) == 0){
		closeSubmenueQuick(submenueIdOpenQuick, nameItems);
		showLayer('submenueCloser');
		showLayer(layerId);
		submenueIdOpenQuick = submenueId;
		}
	}
}

	 
////////////////////////////////////////////////////////////////
//
// Beschreibung: Schliest ein Untermenue
// 
// Parameter: submenueId = ID des zu schiesenden Untermenues
//
// Parameter: nameItems  = Name des zu schiesenden Untermenues
//
////////////////////////////////////////////////////////////////

function closeSubmenueMain(submenueId, nameItems){

	if(submenueId == ''){
		submenueId = submenueIdOpenMain;
	}

	hideLayer('submenueCloser');
	hideLayer(nameItems + submenueId);
}
     
////////////////////////////////////////////////////////////////
//
// Beschreibung: Schliest ein Untermenue
// 
// Parameter: submenueId = ID des zu schiesenden Untermenues
//
// Parameter: nameItems  = Name des zu schiesenden Untermenues
//
////////////////////////////////////////////////////////////////

function closeSubmenueQuick(submenueId, nameItems){

	if(submenueId == ''){
		submenueId = submenueIdOpenQuick;
	}

	hideLayer('submenueCloser');
	hideLayer(nameItems + submenueId);
}

////////////////////////////////////////////////////////////////
//
// Beschreibung: Schliest alle Untermenues
//
////////////////////////////////////////////////////////////////

function closeSubmenues(){

    //alert(nameItemsMain + submenueIdOpenMain);
	hideLayer('submenueCloser');
	hideLayer(nameItemsMain + submenueIdOpenMain);
	hideLayer(nameItemsQuick + submenueIdOpenQuick);
}
     
////////////////////////////////////////////////////////////////
//
// Beschreibung: Zeigt einen Layer an
// 
// Parameter: layerId = ID des anzuzeigenden Layers
//
////////////////////////////////////////////////////////////////

function showLayer(layerId){

	if(ie){
		if(document.all[layerId]){
			document.all[layerId].style.visibility = 'visible';
		}  
	}
	else if(ns){
		if(document.layers[layerId]){
			document.layers[layerId].visibility = 'visible'; 
		} 
	}
	else if(dom){
		if(document.getElementById(layerId)){
			document.getElementById(layerId).style.visibility = 'visible';  
		}
	} 
}
     
////////////////////////////////////////////////////////////////
//
// Beschreibung: Schliest einen Layer
// 
// Parameter: layerId = ID des zu schliesenden Layers
//
////////////////////////////////////////////////////////////////

function hideLayer(layerId){

	if(ie){
		if(document.all[layerId]){
			document.all[layerId].style.visibility = 'hidden';
		}  
	}
	else if(ns){
		if(document.layers[layerId]){
			document.layers[layerId].visibility = 'hide'; 
		} 
	}
	else if(dom){
		if(document.getElementById(layerId)){
			document.getElementById(layerId).style.visibility = 'hidden';  
		}
	} 
}
     
////////////////////////////////////////////////////////////////
//
// Beschreibung: Prueft, ob ein Layer angezeigt wird
// 
// Parameter: layerId = ID des zu pruefenden Layers
//
// Return: 0 = unsichtbar, 1 = sichbar
//
////////////////////////////////////////////////////////////////

function isVisibleLayer(layerId){

	if(ie){
		if(document.all[layerId].style.visibility == 'visible'){
			return 1;
		}  
		else{
			return 0;
		}		
	}
	else if(ns){
		if(document.layers[layerId].visibility == 'visible'){        
			return 1;
		}  
		else{
			return 0;
		}	
	}
	else if(dom){
		if(document.getElementById(layerId).style.visibility == 'visible'){        
			return 1;
		}  
		else{
			return 0;
		}	                     
	}    
}


////////////////////////////////////////////////////////////////
//
// Beschreibung: Initialisiert das Formular
// 
// Parameter: form = Formular, das initialisiert werden soll.
//
////////////////////////////////////////////////////////////////

function initForm(form){

  var isCache      = /\|\w*c\w*$/i;  //Wird fuer weitere Formulare gespeichert am Schluss |c enthaelt       (z.B.: "eMail|c")

  var formElement;
  var formElementNameOrig;

  var cookieStr    = document.cookie;
  var elementValue = "";

  if(form){
    for(var i = 0; i <= form.elements.length - 1; i++){
      var formElement = form.elements(i);
      if(formElement){
        if(isCache.test(formElement.name) == true){ 
          if(formElement.value == ""){
            formElementNameOrig = formElement.name.replace(/\|\w+/, ''); 
            var getElementValue = eval("/wFc_" + formElementNameOrig + "\=([^\:]+)\:/");
            if(getElementValue.test(cookieStr) == true){
              elementValue = RegExp.$1;
              formElement.value = elementValue;
            }
          }
        }
      }
    }
  }
  else{
    //alert("Formular wurde nicht gefunden!\n Wurde es schon geladen?");
  }
}