obj_subnav = null;
mainnav_out = false;
fontsizes_default = new Object();
cookie_pairs = new Object();
cookie_expiration = new Date(2099,1,1,1,1,1,1);
window_loaded = false;
dimensions = new Object();
dimensions.head_left = new Object();
dimensions.head_left.width = 413;
dimensions.container_navigation = new Object();
dimensions.container_navigation.left = 418;
dimensions.nav_difference = 200;
states = new Object();
states.nav_width_normal = true;
states.nav_height_normal = true;

judf_init();
window.onload = judf_window_load;
window.onresize = judf_resize;

function judf_window_load(){
	window_loaded = true;
	judf_resize();
}

function judf_init () {
	judf_fontsizes_init();
	if (judf_cookie_check()) {
		judf_cookie_init();
		if (cookie_pairs.fontsizefactor!=0){
			judf_fontsize_change(cookie_pairs.fontsizefactor);
		}
	}
}



function judf_cookie_check () {
	return navigator.cookieEnabled;
}

function judf_cookie_init () {
	if (!document.cookie){
		document.cookie = "fontsizefactor=0; path=/; expires=" + cookie_expiration.toGMTString();
	}
	cookie_pairs_arr = document.cookie.split(";");
	for (pair in cookie_pairs_arr){
		pair_arr = cookie_pairs_arr[pair].split("=");
		cookie_pairs[pair_arr[0]] = pair_arr[1];
	}
	if (cookie_pairs.fontsizefactor){
		parseInt(cookie_pairs.fontsizefactor);
		if (isNaN(cookie_pairs.fontsizefactor)){
			document.cookie = "fontsizefactor=0; path=/; expires=" + cookie_expiration.toGMTString();
			cookie_pairs.fontsizefactor = 0;
		}
	}
	else {
		document.cookie = "fontsizefactor=0; path=/; expires=" + cookie_expiration.toGMTString();
		cookie_pairs.fontsizefactor = 0;
	}
	
}

function judf_fontsize_save(factor){
	if (judf_cookie_check()) {
		if (!cookie_pairs.fontsizefactor) {
			cookie_pairs.fontsizefactor = factor;
		}
		cookie_pairs.fontsizefactor = parseInt(cookie_pairs.fontsizefactor) + parseInt(factor);
		document.cookie = 'fontsizefactor=' + cookie_pairs.fontsizefactor + '; path=/; expires=' + cookie_expiration.toGMTString();
	}
}

function judf_fontsizes_init() {
	obj_stylesheet = document.styleSheets[1];
	
	if (obj_stylesheet.rules){
		arr_css_rules = obj_stylesheet.rules;
	}
	else {
		arr_css_rules = obj_stylesheet.cssRules;
	}
	
	css_rules = new Object();

	for (i=0;i<arr_css_rules.length;i++){
		rule_name = arr_css_rules[i].selectorText.toLowerCase();
		if (rule_name=='#navigation1 .subnav td'.toLowerCase()){
			css_rules[rule_name] = arr_css_rules[i];			
		}

		if (arr_css_rules[i].style.fontSize && arr_css_rules[i].style.fontSize.length > 0){
			css_rules[rule_name] = arr_css_rules[i];
			size = parseInt(css_rules[rule_name].style.fontSize);
			if (size>1){
			fontsizes_default[rule_name] = size;
			}
		}
	}
	
}

function judf_fontsize_change_click(factor){
	judf_fontsize_change(factor);
	judf_fontsize_save(factor);
}

function judf_fontsize_change(factor) {
	for (rule in css_rules){
		if (css_rules[rule].style){
			if (css_rules[rule].style.fontSize && css_rules[rule].style.fontSize.length > 0){
				size = parseInt(css_rules[rule].style.fontSize);
				if (size>1){
					doit = true;
					if (rule=='#font_handler span'.toLowerCase()){
						doit=false;
					}
					if (doit){
						size_new = size + parseInt(factor);
						css_rules[rule].style.fontSize = size_new + 'px';
					}
				}
			}
		}
	}
	if (window_loaded){
		judf_content_rerender();
	}
	judf_resize();
}

function judf_fontsize_reset() {
	for (rule in fontsizes_default){
		css_rules[rule].style.fontSize = fontsizes_default[rule] + 'px';
	}
	if (judf_cookie_check()) {
		if (!cookie_pairs.fontsizefactor) {
			cookie_pairs.fontsizefactor = 0;
		}
		cookie_pairs.fontsizefactor = 0;
		document.cookie = 'fontsizefactor=' + cookie_pairs.fontsizefactor + '; path=/; expires=' + cookie_expiration.toGMTString();
	}
	if (window_loaded){
		judf_content_rerender();
	}
	judf_resize();
}

function judf_content_rerender(){
	if (navigator.appVersion.toLowerCase().indexOf("msie") == -1){
	document.body.innerHTML = document.body.innerHTML;
	}
	else {
		obj_container_top = document.getElementById('container_top');
		obj_container_top.innerHTML = obj_container_top.innerHTML;
		
		for (id in col_nav){
			obj_subnav_container = document.getElementById('subnav_' + id);
			if (obj_subnav_container){
				col_divs = obj_subnav_container.getElementsByTagName('DIV');
				for (div in col_divs){
					if (col_divs[div].className && col_divs[div].className=='subnav'){
						col_divs[div].innerHTML = col_divs[div].innerHTML;
					}
				}
			}
		}
	}
}

function judf_resize () {
	if (window_loaded){
		obj_container_contactinfo = document.getElementById('container_contactinfo');
		obj_content = document.getElementById('content');
		obj_content.style.bottom = obj_container_contactinfo.offsetHeight + 5;
		
		obj_head_left = document.getElementById('head_left');
		obj_container_navigation = document.getElementById('container_navigation');
		obj_navigation1 = document.getElementById('navigation1');
		obj_navigation2 = document.getElementById('navigation2');
		
		judf_mainnav_check();
		
		if(obj_navigation1.offsetLeft + obj_navigation1.offsetWidth>=obj_container_navigation.offsetWidth || obj_navigation2.offsetLeft<=0 || (obj_navigation1.offsetHeight+obj_navigation1.offsetTop>obj_navigation2.offsetTop && obj_navigation1.offsetLeft+obj_navigation1.offsetWidth>obj_navigation2.offsetLeft)){
			if (states.nav_width_normal){
			obj_head_left.style.width = dimensions.head_left.width - dimensions.nav_difference + 'px';
			obj_container_navigation.style.left = dimensions.container_navigation.left - dimensions.nav_difference + 'px';
			states.nav_width_normal = false;
			}
		}
		else{
			if (obj_container_navigation.offsetWidth-dimensions.nav_difference>obj_navigation1.offsetLeft+obj_navigation1.offsetWidth && obj_navigation2.offsetLeft>dimensions.nav_difference){
				if (obj_navigation1.offsetHeight+obj_navigation1.offsetTop<obj_navigation2.offsetTop || obj_navigation1.offsetLeft+obj_navigation1.offsetWidth+dimensions.nav_difference<obj_navigation2.offsetLeft){
					obj_head_left.style.width = dimensions.head_left.width + 'px';
					obj_container_navigation.style.left = dimensions.container_navigation.left + 'px';
					states.nav_width_normal = true;
				}
			}
		}
		
	}
}

function judf_mainnav_check(){
	obj_container_navigation = document.getElementById('container_navigation');
	obj_navigation1 = document.getElementById('navigation1');
	obj_navigation2 = document.getElementById('navigation2');
	if (obj_navigation1.offsetHeight+obj_navigation1.offsetTop > obj_container_navigation.offsetHeight || obj_navigation2.offsetTop <= 0){
		current_size = parseInt(css_rules['#navigation1 .mainnav_item a'].style.fontSize);
		css_rules['#navigation1 .mainnav_item a'].style.fontSize = (current_size-1) + 'px';
		current_size = parseInt(css_rules['#navigation2 .mainnav_item a'].style.fontSize);
		css_rules['#navigation2 .mainnav_item a'].style.fontSize = (current_size-1) + 'px';
		judf_mainnav_check();
	}
}

function judf_subnav_check(){
	obj_subnav_active = obj_subnav;
	obj_mainnav_active = obj_subnav.parentNode.parentNode;
	
	if (obj_subnav_active && obj_subnav_active.style.display!='none' ){
		obj_functions = document.getElementById('functions');
		obj_container_head = document.getElementById('container_head');
		obj_mainnav = obj_mainnav_active.parentNode.parentNode.parentNode;
		obj_navsection = obj_mainnav.parentNode;
		obj_subnav_div = obj_subnav_active.getElementsByTagName('DIV')[1];
		obj_subnav_table = obj_subnav_active.getElementsByTagName('TABLE')[0];
	

		css_rules['#navigation1 .subnav td'].style.whiteSpace = 'nowrap';
		obj_subnav_table.style.width = 'auto';
		obj_subnav_div.style.top = '0px';

		if (obj_navsection.id=='navigation1'){
			avail_subnav_width = obj_container_navigation.offsetLeft+obj_navsection.offsetLeft;
			if (obj_subnav_table.offsetWidth>avail_subnav_width){
				css_rules['#navigation1 .subnav td'].style.whiteSpace = 'normal';
				obj_subnav_table.style.width = avail_subnav_width + 'px';
			}
		}
		
		table_top = obj_navsection.offsetTop + obj_mainnav.offsetTop;
		navitem_top = obj_mainnav_active.offsetTop + table_top;
		difference = obj_container_navigation.offsetHeight-(navitem_top+obj_subnav_table.offsetHeight);
		if (difference<0){
			obj_subnav_div.style.top = difference + 'px';
		}
		
		avail_subnav_height = obj_container_head.offsetHeight + (obj_container_head.offsetTop-obj_functions.offsetHeight);
		
		if (obj_subnav_table.offsetHeight>avail_subnav_height){
			current_size = parseInt(css_rules['#navigation1 .subnav a'].style.fontSize);
			css_rules['#navigation1 .subnav a'].style.fontSize = (current_size-1) + 'px';
			judf_subnav_check();
		}
		
	}
}

function judf_subnav_close () {
if (obj_subnav) {
obj_subnav.style.display = 'none'
obj_subnav = null;
}
}

function judf_mainnav_over (id) {
	if (window_loaded){
		judf_subnav_close();
		obj_subnav = document.getElementById('subnav_' + id);
		if (obj_subnav) {
		obj_subnav.style.visibility = 'hidden';
		obj_subnav.style.display = 'block';
		judf_subnav_check();
		obj_subnav.style.visibility = 'visible';
		}
	}
}


function judf_changeImgButton(obj,over){
	file = obj.src;
	tmp_img= new Image();
	if (over){
		tmp_img.src = file.replace(/2*\.gif/,'2.gif');
	}else{
		tmp_img.src = file.replace(/2*\.gif/,'.gif');
	}
	obj.src = tmp_img.src;
}


function popup(url,typ,para1,width,height)
{
	attrib = "";
	Y = (screen.height - width) / 2;
	X = (screen.width - height) / 2;
	X = Math.round(X);
	Y = Math.round(Y);
	if (para1 == 'CENTER') {attrib += 'height=' + height + ',width=' + width + ',top=' + Y + ',left=' + X;}
	if (typ == 'TYP1') {attrib += ",scrollbars=no";}
	if (typ == 'TYP2') {attrib += ",scrollbars=yes";}
	if (typ == 'TYP3') {attrib += ",scrollbars=yes,menubar=yes";}
	x = Math.random();
	fenster = window.open(url, 'win', attrib);
	return false;
}

function getAdr(prefix, postfix, lnkparam, lnktxt) {
	lnktxt = lnktxt.replace(/TMPL_MAIL/, prefix + '@' + postfix);
	document.write('<a ' + lnkparam + ' href="mailto:' + prefix + '@' + postfix + '">' + lnktxt);
}

/*printjob*/
function printjob() {
	if (document.all && (navigator.appVersion.indexOf("Mac") != -1)) {
		self.focus();
		alert("Drucken-Funktion unter Macintosh nicht moeglich! \nBitte verwenden Sie Datei/Drucken");
	} else {
		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 = '<object id="WebBrowser1" width="0" height="0" classid="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></object>';
			document.body.insertAdjacentHTML('beforeEnd',WebBrowser);
			WebBrowser1.ExecWB(OLECMDID_PRINT,OLECMDEXECOPT_DONTPROMPTUSER);
			WebBrowser1.outerHTML = '';
		} else{
			self.focus();
			window.print();
		}
	}
}

var sel;
function HideSelects(x,y,w,h) {
	if(xIE4Up && !xMac) {
		var selx, sely, selw, selh, i
		if(!sel)
			sel = document.getElementsByTagName("SELECT");
		for(i = 0; i < sel.length; i++) {
			selx = xPageX(sel[i]);
			sely = xPageY(sel[i]);
			selw = sel[i].offsetWidth;
			selh = sel[i].offsetHeight;
			sel[i].style.visibility = (selx + selw > x && selx < x + w && sely + selh > y && sely < y + h) ? "hidden" : "visible";
		}
	}
}