// Parameter für Reorganisation der Navigation
var nav_start	= 1;
var nav_slim	= false;
var nav_last	= 0;

var footerspace	= false;

function init(mode,variant) {
	window.scrollTo(0, 0);

	if(window.innerWidth) {
		document.getElementById("body").style.overflow	= "visible";
	}
	else {
		document.getElementById("body").scroll = "no";
	}
	
	// Ermittlung des Anzeigebereichs
	breit	= document.getElementById("theend").offsetLeft;
	hoch	= document.getElementById("theend").offsetTop;
	
	if(window.innerWidth) {
		document.getElementById("body").style.overflow			= "hidden";
	}
	
	if (footerspace == false && document.getElementById("footerspace")) {
		footerspace = document.getElementById("footerspace").offsetHeight;
	}
	
	// Ausrichtung der Anzeige
	if (document.getElementById) {
		// Ausrichtung der maximalen Breite
		if (breit >= 976) {
			document.getElementById("container").style.width	= 976 + "px";
			document.getElementById("middle").style.width		= 952 + "px";
			document.getElementById("footer").style.width		= 952 + "px";
			
			if (document.getElementById("header")) {
				document.getElementById("header").style.width	= 952 + "px";
			}
		}
		else if (breit <= 790) {
		
			if(window.innerWidth) {
				document.getElementById("body").style.overflow = "visible";
			}
			document.getElementById("container").style.width	= 780 + "px";
			document.getElementById("middle").style.width		= 756 + "px";
			document.getElementById("footer").style.width		= 756 + "px";
			
			if (document.getElementById("header")) {
				document.getElementById("header").style.width	= 756 + "px";
			}
		}
		else if ((breit < 976) && (breit > 780)) {
			document.getElementById("container").style.width	= breit + "px";
			document.getElementById("middle").style.width		= (breit-24) + "px";
			document.getElementById("footer").style.width		= (breit-24) + "px";
			
			if (document.getElementById("header")) {
				document.getElementById("header").style.width	= (breit-24) + "px";
			}
		}
		
		
		if (document.getElementById("productheader")) {
			hoch												= hoch - 36;
		}
	
		document.getElementById("container").style.height		= (hoch-40) + "px";
		
		if (document.getElementById("header")) {
			document.getElementById("header").style.height		= "34px";
		}
		
		if (mode == true) {
			document.getElementById("middle").style.height			= 353 + "px";
			rest	= (hoch-52) - (parseInt(document.getElementById("middle").style.height) + parseInt(document.getElementById("header").style.height));
		}
		else if (parseInt(mode,10) == mode) {
			document.getElementById("middle").style.height			= mode + "px";
			document.getElementById("middletab").style.height		= document.getElementById("middle").style.height;
			
			if (document.getElementById("footerspace") && variant == "headless") {
				if(window.innerWidth) {
					rest	= (hoch-52) - (parseInt(document.getElementById("middle").style.height));
				}
				else {
					rest	= (hoch-29) - (parseInt(document.getElementById("middle").style.height) + footerspace);
				}
			}
			else {
				rest	= (hoch-52) - (parseInt(document.getElementById("middle").style.height) + parseInt(document.getElementById("header").style.height));
			}
			
		}
		else {
			document.getElementById("middle").style.height			= (hoch-52) - 150 + parseInt(document.getElementById("header").style.height) + "px";
			document.getElementById("middletab").style.height		= parseInt(document.getElementById("middle").style.height);
			rest	= 80;
			mode	= 80;
			
			if (document.getElementById("block")) {
				if (window.innerWidth && -1 == navigator.userAgent.indexOf("Safari")) {

					temp = parseInt(document.getElementById("middle").style.height) - 360;
				}
				else {
					temp = parseInt(document.getElementById("middle").style.height) - 376;
				}
				if (temp > 0) {
					document.getElementById("block").style.height		= temp + "px";
					
				}
			}
		}	
		
		// Ausrichtung der maximalen Höhe
		
		min_space = 80;
		
		if (document.getElementById("footerspace")) {
			if(window.innerWidth) {
				min_space = (footerspace+30);
			}
		}
		
		if (rest <= min_space) {

			if(window.innerWidth) {

				document.getElementById("body").style.overflow	= "visible";
				/////////////////alert("do it! 1");
			}

			if(window.innerWidth && document.getElementById("footerspace")) {
				document.getElementById("footer").style.height		= footerspace + 30 + "px";
				document.getElementById("footerspace").style.height	= footerspace + 15 + "px";
				document.getElementById("middle").style.overflow	= "auto";
			}
			else {
				document.getElementById("footer").style.height		= "80px";
				/////////////////alert("do it! 3");
				
				if(document.getElementById("footerspace")) {
					document.getElementById("footertab").style.height	= "80px";
				}
				else {
					document.getElementById("footertab").style.height	= "51px";
				}
				document.getElementById("middle").style.overflow	= "auto";
			}
			
			if (document.getElementById("footerspace")) {
				if(window.innerWidth) {
					temp = parseInt(document.getElementById("container").style.height) - footerspace - 10;
				}
				else {
					temp = parseInt(document.getElementById("container").style.height) - footerspace - 40;
				}
			}
			else {
				/////////////////alert("do it! 4");
				temp = parseInt(document.getElementById("container").style.height) - 128;
			}

			if (temp < 0) {
				temp = 0;
				/////////////////alert("do it! 5");
			}
			
			if(!window.innerWidth && document.getElementById("footerspace")) {
				document.getElementById("middle").style.height		= (temp-29) + "px";
			}
			else if (window.innerWidth && document.getElementById("footerspace")) {
				document.getElementById("middle").style.height		= (temp-30) + "px";
			}
			else {
				/////////////////alert("do it! 6");
				document.getElementById("middle").style.height		= (temp) + "px";
			}
			
			if (parseInt(document.getElementById("middletab").offsetHeight) > parseInt(document.getElementById("middle").style.height) && !document.getElementById("iframe")) { 
				/////////////////alert("do it! 7");	
				document.getElementById("middletab").style.width	= parseInt(document.getElementById("middle").style.width) - 19 + "px";
			}
			else {
				document.getElementById("middletab").style.width	= document.getElementById("middle").style.width;
				if(window.innerWidth) {
					document.getElementById("middle").style.overflow = "hidden";
				}
			}
			
			if (navigator.userAgent.indexOf("MSIE") != -1 && mode == true) {
				document.getElementById("footer").style.borderWidth = 6;
			}
		}
		else {
			// Soll der Footer den freien Platz ausfüllen?			
			document.getElementById("footer").style.height		= rest + "px";
			
			if(window.innerWidth && document.getElementById("footerspace")) {
				document.getElementById("footertab").style.height	= (rest - footerspace + 29) + "px";
			}
			else if (document.getElementById("footerspace")) {
				document.getElementById("footertab").style.height	= (rest) + "px";
			}
			else {
				document.getElementById("footertab").style.height	= (rest - 29) + "px";
			}
			
			document.getElementById("middletab").style.width	= document.getElementById("middle").style.width;
			
			if (parseInt(mode,10) == mode) {
				document.getElementById("middle").style.overflow		= "auto";
				if (parseInt(document.getElementById("middletab").offsetHeight) > parseInt(document.getElementById("middle").style.height) && !document.getElementById("iframe")) { 
					document.getElementById("middletab").style.width	= parseInt(document.getElementById("middle").style.width) - 19 + "px";
				}
			}
			else {
				document.getElementById("middle").style.overflow = "visible";
			}
			
			if (navigator.userAgent.indexOf("MSIE") != -1 && mode == true) {
				document.getElementById("footer").style.borderWidth = 0;
			}
		}
		
		if (document.getElementById("iframe")) {
			document.getElementById("iframe").style.height = document.getElementById("middletab").style.height;
			document.getElementById("iframe").style.width = document.getElementById("middletab").style.width;
		}
		
		// IE-Fixing, da bei zu geringer Breite durch scroll = no keine Scrollbalken entstehen würden
		
		if(!window.innerWidth) {
			if(breit <= 780) {
				document.getElementById("body").scroll = "yes";
				
			}
			else if(breit > 780 && rest <= 80) {
				document.getElementById("body").scroll = "no";
			}
			else if(breit > 780 && rest > 80 && parseInt(mode,10) != mode) {
				document.getElementById("middle").style.overflow	= "visible";
				document.getElementById("body").scroll 				= "no";
			}
			else if(breit > 780 && rest > 80 && parseInt(mode,10) == mode) {
				document.getElementById("middle").style.overflow	= "auto";
				document.getElementById("body").scroll 				= "no";
				
				if (parseInt(document.getElementById("middletab").offsetHeight) > parseInt(document.getElementById("middle").style.height) && !document.getElementById("iframe")) { 
					document.getElementById("middletab").style.width	= parseInt(document.getElementById("middle").style.width) - 19 + "px";
				}

			}
		}
		
	}
	
	// Übergabe an die Reorganisation der Navigation
	if (document.getElementById("header")) {
		nav_header	= document.getElementById("header").offsetWidth;
		nav_reload	= false;
		navigation();
	}
}

function navigation() {

	nav_left	= 0;
	nav_right	= 0;

	for (var i = 0; i < nav_hidden; i++) {
		if (document.getElementById("left_nav_" + i).style.display != "none") {
			nav_array[i]	= document.getElementById("left_nav_" + i).offsetWidth;
			nav_left		+= document.getElementById("left_nav_" + i).offsetWidth;
		}
	}
	
	if (nav_last > nav_left) {
		nav_left += document.getElementById("left_nav_slim").offsetWidth;
	}
	
	nav_last = nav_left;

	if (window.innerWidth) {
		if (document.getElementById("search")) {
			nav_right	+= document.getElementById("search").offsetWidth;
		}

		if (document.getElementById("sitemap")) {
			nav_right	+= document.getElementById("sitemap").offsetWidth;
		}

	}
	else {
		nav_right	= document.getElementById("right_nav").offsetWidth;
	}
	
	total			= nav_left + nav_right;
	
	nav_left = nav_right = 0;
	
	if (nav_header <= total && nav_reload != "max") {
		document.getElementById("left_nav_" + nav_start).style.display	= "none";
		
		if (!nav_slim) {
			document.getElementById("left_nav_slim").style.display		= "inline";
			nav_slim = true;
		}
		
		nav_start++;
		
		nav_reload = "min";
		navigation();
	}
	else if(nav_slim && nav_reload != "min") {
		temp = nav_array[(nav_start -1)];
		
		if (nav_start <= 2) {
			total -= document.getElementById("left_nav_slim").offsetWidth;
		}

		if (nav_header > (total + temp)) {
			
			if (nav_start > 2) {
				document.getElementById("left_nav_" + (nav_start - 1)).style.display	= "inline";
				nav_start--;
			}
			else {
				document.getElementById("left_nav_" + (nav_start - 1)).style.display	= "inline";
				document.getElementById("left_nav_slim").style.display					= "none";
				nav_start	= 1;
				nav_slim	= false;
			}
			
			nav_reload = "max";
			navigation();
		
		}
	}
}
