function init() {
	writeFontsizeElements(size);
	//activateTargetgroupnav();
}
/*
function activateTargetgroupnav() {
	if (document.getElementById && document.getElementsByTagName) {
		if (document.getElementById('targetgroupnav')) {
			var targetgroupnav = document.getElementById('targetgroupnav');
			var links = targetgroupnav.getElementsByTagName('a');
			for (var i=0; i < links.length; i++) {
				if (links[i].parentNode.parentNode.id == 'targetgroupnav') {
					links[i].onclick = function() {
						toggleElement(this);
						return false;
					}
				}
			}
		}
	}
}
*/
function toggleElement(element) {
	if (element.parentNode.childNodes[1].style.display == 'block') {
		// close current element
		element.parentNode.childNodes[1].style.display = "none";
		element.parentNode.firstChild.style.backgroundImage = "url(" + oKJM.relpath + "gfx/i_plus.gif)";
	}
	else {
		// close all open elements
		subnav_items = document.getElementById('targetgroupnav').getElementsByTagName('ul');
		for (i = 0; i < subnav_items.length; i++) {
			subnav_items[i].style.display = "none";
			subnav_items[i].parentNode.firstChild.style.backgroundImage = "url(" + oKJM.relpath + "gfx/i_plus.gif)";
		}
		// open current element
		if (element.parentNode.className != 'active') {
			element.parentNode.childNodes[1].style.display = "block";
			element.parentNode.firstChild.style.backgroundImage = "url(" + oKJM.relpath + "gfx/i_minus.gif)";
		}
		else {
			element.parentNode.className = '';
		}
	}
}

function toggleFormDisplay(mode) {
	if (document.getElementById) {
		complaintSection = document.getElementById('complaint');
		if (mode == 'hide') {
			complaintSection.style.display = 'none';
		}
		else if (mode == 'show') {
			complaintSection.style.display = 'block';
		}
	}
}


/* COOKIES */
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}


function writeFontsizeElements(size) {
	if (size >= 4) {
		document.getElementById('font_plus').innerHTML = '<img src="' + oKJM.relpath + 'gfx/i_fontsize_plus_dim.gif" width="16" height="11" alt="" />';
		document.getElementById('font_minus').innerHTML = '<a onclick="adjustFontsize(\'minus\'); return false;" class="fontsizer"><img src="' + oKJM.relpath + 'gfx/i_fontsize_minus.gif" width="16" height="11" alt="Schrift verkleinern" /></a>';
	}
	else if (size <= 1) {
		document.getElementById('font_plus').innerHTML = '<a onclick="adjustFontsize(\'plus\'); return false;" class="fontsizer"><img src="' + oKJM.relpath + 'gfx/i_fontsize_plus.gif" width="16" height="11" alt="Schrift vergr&ouml;&szlig;ern" /></a>';
		document.getElementById('font_minus').innerHTML = '<img src="' + oKJM.relpath + 'gfx/i_fontsize_minus_dim.gif" width="16" height="11" alt="" />';
	}
	else {
		document.getElementById('font_plus').innerHTML = '<a onclick="adjustFontsize(\'plus\'); return false;" class="fontsizer"><img src="' + oKJM.relpath + 'gfx/i_fontsize_plus.gif" width="16" height="11" alt="Schrift vergr&ouml;&szlig;ern" /></a>';
		document.getElementById('font_minus').innerHTML = '<a onclick="adjustFontsize(\'minus\'); return false;" class="fontsizer"><img src="' + oKJM.relpath + 'gfx/i_fontsize_minus.gif" width="16" height="11" alt="Schrift verkleinern" /></a>';
	}
}

function insertStylesheet(size) {
	if (size == 1) {
		document.getElementById('fontsize').href = oKJM.relpath + 'css/regular.css';
	}
	else if (size == 2) {
		document.getElementById('fontsize').href = oKJM.relpath + 'css/big.css';
	}
	else if (size == 3) {
		document.getElementById('fontsize').href = oKJM.relpath + 'css/bigger.css';
	}
	else if (size == 4) {
		document.getElementById('fontsize').href = oKJM.relpath + 'css/biggest.css';
	}
}

function adjustFontsize(direction) {
	if (direction == 'plus') {
		if (size == 0) {
			size += 2;
		}
		else {
			size += 1;
		}
	}
	else if (direction == 'minus') {
		size -= 1;
	}
	createCookie("fontsize",size);
	insertStylesheet(size);
	writeFontsizeElements(size);
}

oH ={
	def:function(s){
		return !!s;
	},
	get:function(s){
		var o;
		if(typeof s == 'object'){
			o = s;
		}else if(!!document.getElementById(s))
			o = document.getElementById(s);
		else
			return false;
		o.getTags = function(tag){
			return this.getElementsByTagName(tag);
		};
		
		o.addEvent = function(type, fn){
			if (this.attachEvent) {
				this['e' + type + fn] = fn;
				this[type + fn] = function(){
					this['e' + type + fn](window.event);
				};
				this.attachEvent('on' + type, this[type + fn]);
			}else{
				this.addEventListener(type, fn, false);
			}
			return this;
		};
		o.hide = function(){
			this.style.display = 'none';
			return this;
		};
		o.show = function(){
			this.style.display = 'block';
			return this;
		};
		o.toggle = function(){
			if(this.style.display == 'block'){
				this.hide();
			}else{
				this.show();
			}
			return this;
		};
		o.txt = function(){
			return this.innerHTML;
		};
	
		return o;
	},
	addEvent:function(s, type, fn, useCapture){
		
		obj = this.get(s);
		if(obj){
			if (obj.addEventListener){
			    obj.addEventListener(type, fn, useCapture);
			    return true;
			  } else if (obj.attachEvent){
			    var r = obj.attachEvent("on"+type, fn);
			    return r;
			  } else {
			    alert("Handler could not be attached");
			}
		}
	},
	removeEvent:function(s, type, fn){
		obj = this.get(s);
		if(obj){
			if (obj.detachEvent) {
				obj.detachEvent("on" + type, obj[type + fn]);
				obj[type + fn] = null;
			}else{
				obj.removeEventListener(type, fn, false);
			}
		}
	},
	stopEvent:function(e){
		if (e.stopPropagation) e.stopPropagation();
		else e.cancelBubble = e;
		if (e.preventDefault) e.preventDefault();
		else e.returnValue = e;
		return e
	}
};

clTargetGroupNavi = function(){
	var images = new Object();
	var elImage = null;
	var sAnchorPrefix = 'zgnav_btt_';
	var originalImg = new Image();
	
	return {
		init: function(sImg){
			elImage = oH.get(sImg);
			originalImg.src = elImage.src;
		},
		addImage: function(codename,src){
			images[codename] = new Image();
			images[codename].src = src;
		},
		change: function(codename){
			toggleElement(oH.get('zgnav_btt_'+codename));
			if(oH.def(images[codename])){
				elImage.src = images[codename].src;
			}else{
				elImage.src = originalImg.src;
			}
		}
	};
};
oTargetGroupNavi = clTargetGroupNavi();
oH.get(window).addEvent('load',function(){
	oTargetGroupNavi.init('visual');
});
