//====================== variabels bepalen - max, min en gemiddelde (100%) tekstgrootte
var mingrootte = 1;
var midgrootte = 3;
var maxgrootte = 5;
 
//====================== zoeken binnen document naar tekstgrootte controls 
function tekstGrootte()	{
	this.tekstControls = new Array();
	// bestaat tekstgrootte op deze pagina?
	var tc = document.getElementById('tekstgr');
	if (!tc) {
		return false;
	}
	else {
		this.plus = document.getElementById('tekstplu');
		this.tekstControls[this.tekstControls.length] = new controlObjs(this,plus);
		this.minus = document.getElementById('tekstmin');
		this.tekstControls[this.tekstControls.length] = new controlObjs(this,minus);
		// lees cookie en set tekstgrootte
		if(!(getCookieVal('MinFinFontSize') == '')){
			fontWissel(getCookieVal('MinFinFontSize'));
			var maat = getCookieVal('MinFinFontSize');
			this.grootte = maat.charAt(4);
			//check voor max of min tekstgrootte
			checkOnactief(this.plus,this.minus,this.grootte);
		}
		// als er geen cookie is, set tekstgrootte naar gemiddeld (3)
		else {
			this.grootte = midgrootte;
		}
		this.ss = 'maat' + this.grootte;
	}
}

//====================== object collectie en klik-functie
var controlObjs = function(tekstGrootte,control) {
	this.tekstGrootte = tekstGrootte;
	this.control = control;
	this.richting = this.control.id;
	this.richting.controlObjs = this;
	this.control.controlObjs = this;
	this.control.onclick = function () {
    this.controlObjs.tekstControl();
    return false;
  };
};

//====================== deze functie checkt dat de tekstgrootte is niet minder dan 1 en niet groter dan 5
controlObjs.prototype.checkControl = function () {
	//alert(this.tekstGrootte.grootte);
	if ((this.control.id == 'tekstmin') && (this.tekstGrootte.grootte < mingrootte)) {
		this.tekstGrootte.grootte ++;
		return false;
	}
	else if ((this.control.id == 'tekstplu') &&(this.tekstGrootte.grootte > maxgrootte)) {
		this.tekstGrootte.grootte --;
		return false;
	}
	else {
		return true;
	}
};

//====================== links wordt onactief als de grootste of de kleinste tekstgrootte is al in gebruik
var checkOnactief = function (plus,minus,grootte) {
	this.plus = plus;
	this.minus = minus;
	this.grootte = grootte;
	// reset styles
	this.plus.className = '';
	this.minus.className = '';
	if (this.grootte == mingrootte) {
		this.minus.className = 'onactief';
	}
	else if (this.grootte == maxgrootte) {
		this.plus.className = 'onactief';
	}
	return false;
};

//====================== fontWissel roepen als de font niet al te groot of te klein is
controlObjs.prototype.tekstControl = function () {
	if (this.richting == 'tekstplu') {
		this.tekstGrootte.grootte ++;
	}
	else {
		this.tekstGrootte.grootte --;
	}
	if (this.checkControl()) {
		checkOnactief(this.tekstGrootte.plus,this.tekstGrootte.minus,this.tekstGrootte.grootte);
		this.tekstGrootte.ss = 'maat' + this.tekstGrootte.grootte;
		fontWissel(this.tekstGrootte.ss);		
	}
};

//====================== zoeken naar stylesheet link elementen met een 'title' attribute 
//====================== wissel van stylesheet 
function fontWissel(titel) {
	var i, a, main;
	for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
		if(a.getAttribute("rel") && a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
			a.disabled = true;
			if(a.getAttribute("title") == titel) a.disabled = false;
		}
	}
	setCookie("MinFinFontSize", titel);
	if(document.getElementById('t1')) { adjustFontImages(titel); };
};

// -- COOKIE FUNCTIONS:

function getCookie (name) {  
	var arg = name + "=";  
	var alen = arg.length;  
	var clen = document.cookie.length;  
	var i = 0;  
	while (i < clen) {
		var j = i + alen;    
		if (document.cookie.substring(i, j) == arg)      
		return getCookieVal (j);
		i = document.cookie.indexOf(" ", i) + 1;    
		if (i == 0) break;   
	}  
	return null;
}

function setCookie (name, value) {  
	var argv = setCookie.arguments;  
	var argc = setCookie.arguments.length;  
	var expires = (argc > 2) ? argv[2] : null;  
	var path = (argc > 3) ? argv[3] : null;  
	var domain = (argc > 4) ? argv[4] : null;  
	var secure = (argc > 5) ? argv[5] : false;  
	document.cookie = name + "=" + escape (value) + 
	((expires == null) ? "" : ("; expires=" + expires.toGMTString())) + 
	((path == null) ? "" : ("; path=" + path)) +  
	((domain == null) ? "" : ("; domain=" + domain)) +    
	((secure == true) ? "; secure" : "");
}

function getCookieVal(offset) {
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
	endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset.length+1, endstr));
}

if(!(getCookieVal('MinFinFontSize') == '')){
	fontWissel(getCookieVal('MinFinFontSize'));
}

