// Datei: commonScripte.js var browserVersion = navigator.userAgent; var systemVersion = navigator.appVersion; var fontSize = 0; var iconSize = 16; var iconSizeTemp = 0; var fs = 0; fs = getFontSizeFromCookie(); initFontSize(fs); /* ----------------------------------------- Wiederherstellung der im Cookie gespeicherten fontSize ----------------------------------------- */ function initFontSize(fs){ if (fs != 0){ var fontSizeTemp = fs; if (fontSizeTemp > 0){ for (i=1; i<=fontSizeTemp; i++) { makeBoost(); } } if (fontSizeTemp < 0){ for (var i=1; i<=Math.abs(fontSizeTemp); i++){ makeReduce(); } } document.cookie = "fontSize="+fontSizeTemp+";path=/"; } else { document.cookie = "fontSize=0; expires=Thu, 01-Jan-70 00:00:01 GMT"; } } /* ----------------------------------------- Schriftgröße vergrößern ----------------------------------------- */ function boostFontSize(){ if (fontSize < 2){ makeBoost(); } checkLensIcon(fontSize); } function makeBoost(){ fontSize++; document.cookie = "fontSize="+fontSize+";path=/"; changeFontSize(1.15); changeIconSize(fontSize); } /* ----------------------------------------- Schriftgröße verkleinern ----------------------------------------- */ function reduceFontSize(){ if (fontSize > -2){ makeReduce(); } checkLensIcon(fontSize); } function makeReduce(){ fontSize--; changeFontSize(0.87); document.cookie = "fontSize="+fontSize+";path=/"; changeIconSize(fontSize); } function getFontSizeFromCookie(){ var fsTemp = 0; if (document.cookie.indexOf("fontSize=") != -1){ var cookieString = document.cookie; var cookieEntrys = cookieString.split(";"); for (i=0; i -2){ document.getElementById("lens_dec").style.cursor = 'pointer'; document.getElementById("lens_dec").src = 'images/a-'+imageSuffix; } else { document.getElementById("lens_dec").style.cursor = 'default'; document.getElementById("lens_dec").src = 'images/a-'+imageSuffix; } } /* ----------------------------------------- Schriftgröße reseten ----------------------------------------- */ function resetFontSize(){ fs = getFontSizeFromCookie(); var fsTemp = Math.abs(fs); if (fsTemp > 0){ for (i=1; i<= fsTemp; i++){ if (fs < 0){ boostFontSize(); } else { reduceFontSize(); } } } document.cookie = "fontSize=0;path=/"; } function changeFontSize(factor) { var i, anzSheets, sheet; if (!document.styleSheets) { return; } var anzSheets = document.styleSheets.length; for (i=0; i < anzSheets; i++) { sheet = document.styleSheets[i]; changeSheetFontSize(sheet, factor, false); } } function changeSheetFontSize(sheet, factor, contentOnly) { var anzRules, browserType, j, alreadyProcessed, rule, newSize, anzImports; // cssRules vorhanden? (FF, Mozilla) // Imports sind 0, da FF das ganze über die Rules abhandelt if (sheet.cssRules) { //Das Sheet wird ausgelesen wenn contentOnly nicht gesetzt ist, oder es kein href hat //also kein externes Sheet ist if (!contentOnly || sheet.href == none) { anzRules = sheet.cssRules.length; anzImports = 0; browserType = 1; } } // rules vorhanden? (IE) // Imports werden bei IE extra abgehandelt else if (sheet.rules) { if (!contentOnly || sheet.href == none) { anzRules = sheet.rules.length; anzImports = sheet.imports.length; browserType = 2; } } //nicht vorhanden (inkompatibler Browser) else { return; } for (j=0; j < anzRules; j++) { alreadyProcessed = false; //Firefox und Co. if (browserType == 1) { rule = sheet.cssRules[j]; // Wenn die Rule ein Import ist, wird die Funktion mit dem Importstylesheet rekursiv aufgerufen if(rule.type == 3) { changeSheetFontSize(rule.styleSheet, factor, contentOnly); alreadyProcessed = true; } } else if (browserType == 2) { rule = sheet.rules[j]; } else return; /* --------------------------------------------------------------------------------------------------- Änderung der fontSize --------------------------------------------------------------------------------------------------- */ if (!alreadyProcessed && (size = rule.style.fontSize) != "") { var einheit; if (size.indexOf("%") != -1) { einheit = "%"; add = (factor-1)*100; newSize = Math.round(parseInt(size)+add); } else { einheit = "px"; newSize = Math.round(parseInt(size)*factor); } rule.style.fontSize = newSize+einheit; } /* --------------------------------------------------------------------------------------------------- Änderung der lineHeight --------------------------------------------------------------------------------------------------- */ if (!alreadyProcessed && (size = rule.style.lineHeight) != "") { var einheit; if (size.indexOf("%") != -1) { einheit = "%"; add = (factor-1)*100; newSize = Math.round(parseInt(size)+add); } else { einheit = "px"; newSize = Math.round(parseInt(size)*factor); } rule.style.lineHeight = newSize+einheit; } } // Extra Abhandlung der Imports für IE for (j=0; j < anzImports; j++) { changeSheetFontSize(sheet.imports[j], factor, contentOnly); } return; } /* -------------------------------------------------------- globale init-Methode -------------------------------------------------------- */ initMethods = new Array(); function init(){ if (fontSize != 0){ changeIconSize(fontSize); checkLensIcon(fontSize); } for(i=0; i