function addLoadEvent(func) {   
	var oldonload = window.onload;   
	if (typeof window.onload != 'function') {   
		window.onload = func;   
	}	else {   
			window.onload = function() {   
				oldonload();   
				func();   
			}   
		}   
}   

addLoadEvent(initcontrolpanel);

// init variables  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 

var fontSizerId1 = "fs_normal"
var fontSizerId2 = "fs_medium"
var fontSizerId3 = "fs_large"

// control panel - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

function initcontrolpanel() {
	var target = document.getElementById("ctrlPanel");
	
	var newFontSizers = document.createElement('span');
	newFontSizers.setAttribute('id','ctrlPanelFontSize');
	var newFontSizer1 = createFontSizer(fontSizerId1);
		newFontSizer1.setAttribute('title',"lettergrootte: normaal");
	var newFontSizer2 = createFontSizer(fontSizerId2);
		newFontSizer2.setAttribute('title',"lettergrootte: middel-groot");
	var newFontSizer3 = createFontSizer(fontSizerId3);
		newFontSizer3.setAttribute('title',"lettergrootte: extra-groot");
	
	newFontSizers.appendChild(document.createTextNode("lettergrootte "));
	newFontSizers.appendChild(newFontSizer1);
	newFontSizers.appendChild(newFontSizer2);
	newFontSizers.appendChild(newFontSizer3);
	
	target.appendChild(newFontSizers);

	cookiefontsize = readCookie('fontsize')
	
	if (cookiefontsize!=null){
		changeFontSize(document.getElementById(cookiefontsize));
	} else {
		changeFontSize(document.getElementById('fs_medium'));
	}
}

function createFontSizer(indentifier) {
	var newFontSizer = document.createElement('a');
	newFontSizer.setAttribute('href','javascript:void(0)');
	newFontSizer.setAttribute('class',"fontsizer");
	newFontSizer.setAttribute('id',indentifier);
	newFontSizer.appendChild(document.createTextNode("A"));
	registerFontEvents(newFontSizer);
	return newFontSizer;
}

function registerFontEvents(fontSizer) {
	if (document.addEventListener) { // DOM Level 2 Event Registration
			fontSizer.addEventListener("click",mouseClick,false);
		} 
		else { // Microsoft Event Registration
			fontSizer.attachEvent('onclick',mouseClick);
		}
	function mouseClick() {changeFontSize(fontSizer);}
}

function changeFontSize(fontSizer) {
	if (fontSizer) {
		if (fontSizer.id == fontSizerId1)
		{document.body.style.fontSize='62.5%';}
		if (fontSizer.id == fontSizerId2)
		{document.body.style.fontSize='75%';}
		if (fontSizer.id == fontSizerId3)
		{document.body.style.fontSize='90%';}
		
		createCookie('fontsize',fontSizer.id, 1);
	}	
}

// create cookie to remember font-size preference  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

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;
}