

// 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<cookieEntrys.length; i++){
		
			var cookieEntryName = cookieEntrys[i].split("=");
			for (j=0; j<cookieEntryName.length; j++){
				var cookieName = trim(cookieEntryName[j]);
				if (cookieName == 'fontSize'){
					fsTemp = parseInt(cookieEntryName[j+1]);
				}
			}
		}
	}


	return fsTemp;
}


/* -----------------------------------------
	entfernt Leerzeichen am Anfang und am Ende
----------------------------------------- */
function trim(variable01){
	return (variable01.replace(/\s+$/,"").replace(/^\s+/,""));
}


/* -----------------------------------------
	Submit von Select-Boxen
----------------------------------------- */
function submitSelectBox(boxid){
	var valSelectBox = document.getElementById(boxid).value;
	if (valSelectBox != ""){
		jurl = valSelectBox+sidpat_js;
		window.location.href = jurl;
		
	}
}



/* -----------------------------------------
	Icongröße vergrößern
----------------------------------------- */
function changeIconSize(fns){
	iconSizeTemp = iconSize+fns;
	if (document.getElementById("lens_dec")){
		document.getElementById("lens_dec").style.width = iconSizeTemp+'px';
		document.getElementById("lens_dec").style.height = iconSizeTemp+'px';
	}

	if (document.getElementById("lens_reset")){
		document.getElementById("lens_reset").style.width = iconSizeTemp+'px';
		document.getElementById("lens_reset").style.height = iconSizeTemp+'px';
	}

	if (document.getElementById("lens_inc")){
		document.getElementById("lens_inc").style.width = iconSizeTemp+'px';
		document.getElementById("lens_inc").style.height = iconSizeTemp+'px';
	}

	
}






function checkLensIcon(fs){
	var imageSuffix = ".png";
	if (systemVersion.toLowerCase().indexOf("mac")!=-1 && browserVersion.toLowerCase().indexOf("msie")!=-1){
		var imageSuffix = ".gif";
	}
	if (fs < 2){
		document.getElementById("lens_inc").style.cursor = 'pointer';
		document.getElementById("lens_inc").src = '/basfcorp/img/layout/lens_inc'+imageSuffix;
	} else {
		document.getElementById("lens_inc").style.cursor = 'default';
		document.getElementById("lens_inc").src = '/basfcorp/img/layout/lens_inc_low'+imageSuffix;
	}

	if (fs > -2){
		document.getElementById("lens_dec").style.cursor = 'pointer';
		document.getElementById("lens_dec").src = '/basfcorp/img/layout/lens_dec'+imageSuffix;
	} else {
		document.getElementById("lens_dec").style.cursor = 'default';
		document.getElementById("lens_dec").src = '/basfcorp/img/layout/lens_dec_low'+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<initMethods.length; i++){
		strMethod = initMethods[i];

		/* ---------- BASF-Intranet-Ticker ---------- */
		if (strMethod == 'basfIntranetTicker'){
			populate();
		}

		/* -------------------- */
		if (strMethod == 'popupLayer'){
			openPopupLayer();
		}

		/* -------------------- */
		if (strMethod == 'popupLayerInvHomeDe'){
			openPopupLayerDe();
		}

		/* -------------------- */
		if (strMethod == 'popupLayerInvHomeEn'){
			openPopupLayerEn();
		}
	}
}





<!-- Cookie="" -->
