//////////////////////////////////////////////////////////////// // // wScript.js 2.4.3 // 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 Nonframe). var frameContent = "content"; // // 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 cacheMode = 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=680,height=540"; // // 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"; // // Optionen des zweiten Popupfensters. var optionsPopup850 = "scrollbars=yes,resizable=yes,menubar=no,location=no,width=875,height=600"; // //erscheint wenn ein Pflichtfeld nicht ausgefüllt wurde var messageObligation = " ist ein Pflichtfeld!\n"; //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// // // 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 sprachspezifischen Startseite um // //////////////////////////////////////////////////////////////// function redirectLanguage(subDir){ if(subDir == "undefined" || subDir == null){ subDir = ""; } var userLanguage = getUserLanguage(); if(userLanguage == "de"){ document.location.href = "/de/" + subDir; } else if(userLanguage.indexOf("en") != -1){ document.location.href = "/wEnglisch/" + subDir; } else{ document.location.href = "/de/" + 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: Ermittelt den Weblication-Benutzernamen // // Return: Benutzername // //////////////////////////////////////////////////////////////// function getUserName(){ var cookieStr = document.cookie; var userName = ""; var checkIsLogedin = /wId=WSESSIONID/; if(checkIsLogedin.test(cookieStr) == true){ cookieStr = cookieStr.replace('%2D', ''); var checkUser = /WSESSIONID\%40([\w|\d|\-|_|;|,|.| ]+)\%40([\w|\d|\-|_]*)\%40/; var checkUserPublic = /WSESSIONID\%40public_([\w|\d|\-|_|;|,|.| ]+)\%40([\w|\d|\-|_]*)\%40/; var checkUserPublicAlt = /WSESSIONID\%40public_([\w|\d|\-|_|;|,|.| ]+\%2[0E][\w|\d|\-|_|;|,|.| ]+)\%40([\w|\d|\-|_]*)\%40/; if(checkUserPublic.test(cookieStr) == true){ userName = RegExp.$1; userLang = RegExp.$2; } else if(checkUserPublicAlt.test(cookieStr) == true){ userName = RegExp.$1; userName = userName.replace(/\%20/ ,' '); userName = userName.replace(/\%2E/ ,'.'); userLang = RegExp.$2; } else if(checkUser.test(cookieStr) == true){ userName = RegExp.$1; userLang = RegExp.$2; } } return userName; } //////////////////////////////////////////////////////////////// // // 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, "popup1", optionsPopup1); } //////////////////////////////////////////////////////////////// // // Beschreibung: Oeffnet ein Popup-Fenster vom Typ 2 // //////////////////////////////////////////////////////////////// function openPopup2(url){ if(debugMode == 1){ alert(url); } window.open(url, "popup2", optionsPopup2); } //////////////////////////////////////////////////////////////// // // Beschreibung: Oeffnet ein Popup-Fenster vom Typ 850 // //////////////////////////////////////////////////////////////// function openPopup850(url){ if(debugMode == 1){ alert(url); } window.open(url, "popup850", optionsPopup850); } //////////////////////////////////////////////////////////////// // // 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 == "#"){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 == ""){ return; } url = url.replace('NAVIDJS', 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(/(\.[\w|\d]+)$/, navId + "$1"); } else{ var hasNavid = /navid=\d+/; if(hasNavid.test(url) == false){ var hasParameters = /\?/; if(hasParameters.test(url) == false){ url = url + '?' + 'navid=' + navId; } else{ url = url + '&' + 'navid=' + navId; } } } } if(debugMode == 1){ alert("url = " + url + "\ntarget = " + target + "\nnavId = " + navId); } if(target == "top" || target == "_top"){ top.location.href = url; } else if(target == "parent" || target == "_parent"){ parent.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 == "popup850" || target == "_popup850"){ window.open(url, "popup850", optionsPopup850); } else{ if(target == ""){ target = frameContent; } if(frameContent != "top"){ if(eval("top.frames['" + target + "']")){ eval("top.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(document.all && navigator.appVersion.substring(22,23)==4) { self.focus(); var OLECMDID_PRINT = 6; var OLECMDEXECOPT_DONTPROMPTUSER = 2; var OLECMDEXECOPT_PROMPTUSER = 1; var WebBrowser = ''; document.body.insertAdjacentHTML('beforeEnd',WebBrowser); WebBrowser1.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER); WebBrowser1.outerHTML = ''; } else{ window.print(); } } //////////////////////////////////////////////////////////////// // // Beschreibung: Sendet das Formular // // Parameter: form = Formular, das gesendet werden soll. // //////////////////////////////////////////////////////////////// function submitForm(form, cacheMode){ var cookieStr = ""; if(checkForm(form) == false){ return; } else{ if(cacheMode == 1){ cookieStr += "; path=/"; document.cookie = cookieStr; } form.submit(); } } ////////////////////////////////////////////////////////////////////////////// // // Beschreibung: Prüft, ob die Plichtfelder im Formular ausgefüllt worden sind. // // Parameter: form = Formular, das geprüft werden soll. // ////////////////////////////////////////////////////////////////////////////// function checkForm(form){ var messageEmail = " enthält keine gültige Email Adresse!\n"; //erscheint wenn ein Pflichtfeld nicht ausgefüllt wurde var isObligation = /\|\w*o\w*$/i; //Pflichtfeld, wenn Feldname am Schluss |o enthaelt (z.B.: "Strasse|o") var isEmail = /\|\w*e\w*$/i; //Emailfeld wenn Feldname am Schluss |e enthaelt (z.B.: "eMail|e") var isCache = /\|\w*c\w*$/i; //Wird fuer weitere Formulare gespeichert am Schluss |c enthaelt (z.B.: "eMail|c") //Pflicht- und Emailfeld, wenn am Schluss |oe oder |eo (z.B.: "eMail|eo") var checkEmail = /.*\@.*\.\w+/i; var formElement; var formElementNameOrig; var elementStr; var alertStr = ""; var radioButtonName = ""; for(var i = 0; i <= form.elements.length - 1; i++){ var formElement = form.elements[i]; if(formElement){ formElementNameOrig = formElement.name.replace(/\|\w+/, ''); if(formElement.title == ""){ elementStr = formElementNameOrig; } else{ elementStr = formElement.title; } if(formElement.type == "text" || formElement.type == "textarea" || formElement.type == "select-one" || formElement.type == "password"){ if(isObligation.test(formElement.name) == true){ if(formElement.value == ""){ alertStr += elementStr + messageObligation; } } if(isEmail.test(formElement.name) == true){ if (checkEmail.test(formElement.value) == false){ alertStr += elementStr + messageEmail; } } if(cacheMode == "1"){ if(isCache.test(formElement.name) == true){ if(formElement.value != ""){ cookieStr += "wFc_" + formElementNameOrig + "=" + formElement.value + ":"; } } } } else if(formElement.type == "checkbox"){ formElementNameOrig = formElement.name.replace(/\|\w+/, ''); if(isObligation.test(formElement.name) == true){ if(formElement.checked == false){ alertStr += elementStr + messageObligation; } } } else if(formElement.type == "radio"){ if(radioButtonName != formElement.name){ radioButtonName = formElement.name; var radioButtons = document.getElementsByName(formElement.name); formElementNameOrig = formElement.name.replace(/\|\w+/, ''); if(isObligation.test(formElement.name) == true){ var isChecked = false; for(j = 0; j < radioButtons.length; j++){ if(radioButtons[j].checked == true){ isChecked = true } } if(isChecked == false){ alertStr += elementStr + messageObligation; } } } } } } if(alertStr != ""){ alert(alertStr); return false; } return true; } //////////////////////////////////////////////////////////////// // // 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(formElement.name){ 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: Startet die Suche in einem neuen Fenster // //////////////////////////////////////////////////////////////// function startSearch(formName){ if(formName){ var form = formName } else{ var form = document.frmSearch; } if(form.term.value == "" || form.term.value == " suchen"){ alert("Sie haben noch keinen Suchbegriff eingegeben!"); form.term.focus(); return false; } var win = window.open ("", "winSearch","height=440,width=540,status=no,menubar=no,scrollbars=yes"); var x = (screen.width-540)/2; win.moveTo(x,30); win.focus(); form.submit(); } var submenusIdOpen = new Array(0,0,0,0,0,0,0,0,0); //////////////////////////////////////////////////////////////// // // 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 schliessenden 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: Öffnet ein Untermenü // // Parameter: // //////////////////////////////////////////////////////////////// function openSubmenu(submenuId, submenuLevel){ closeSubmenu(submenuId, submenuLevel); submenusIdOpen[submenuLevel] = submenuId; showLayer(submenuId); showLayer('submenuCloserTop'); showLayer('submenuCloserLeft'); } //////////////////////////////////////////////////////////////// // // Beschreibung: Schliesst ein Untermenü // // Parameter: // //////////////////////////////////////////////////////////////// function closeSubmenu(submenuId, submenuLevel){ for(var i=(submenuLevel);i<=submenusIdOpen.length;i++){ if(submenusIdOpen[i] != 0 && submenusIdOpen[i] != submenuId){ hideLayer(submenusIdOpen[i]); } } //hideLayer('submenuCloserTop'); //hideLayer('submenuCloserLeft'); } //////////////////////////////////////////////////////////////// // // Beschreibung: Schliesst ein Untermenü // // Parameter: // //////////////////////////////////////////////////////////////// function closeSubmenuAll(){ closeSubmenu("", 1) hideLayer('submenuCloserTop'); hideLayer('submenuCloserLeft'); }