function maakEventListener(element,evt,functie) {
	if(typeof(functie) == 'function') {
		var useCapture = false;
		if (element.addEventListener) {
			if (evt == 'mousewheel') element.addEventListener('DOMMouseScroll', functie, useCapture);
			element.addEventListener(evt, functie, useCapture);
		}
		else if(element.attachEvent) element.attachEvent("on"+evt, functie);
	}
}
function wisEventListener(element,evt,functie) {
	if(typeof(functie) == 'function') {
		var useCapture = false;
		if (element.removeEventListener) {
			if (evt == 'mousewheel') element.removeEventListener('DOMMouseScroll', functie, useCapture);
			element.removeEventListener(evt, functie);
		}
		else if(element.detachEvent) element.detachEvent("on"+evt, functie);
	}
}
function wisElement(el) {
	var element = null;
	if(typeof(el) == 'string') element = document.getElementById(el);
	else element = el;
	if (element) element.parentNode.removeChild(element);
}
function zoekXY(element) {
	if(typeof(element) == 'string') element = document.getElementById(element);
	var xpos = 0;
	var ypos = 0;
	if (element.offsetParent) {
		do {
			xpos += element.offsetLeft;
			ypos += element.offsetTop;
		} while (element == element.offsetParent);
	}
	return [xpos,ypos];
}

function inputselectie(veld,start,stop) {
	if(typeof(veld) == 'string') veld = document.getElementById(veld);
	if (veld) {
		if (window.getSelection) {
			veld.setSelectionRange(start,stop);
		}
		else {
			var r = veld.createTextRange();
			r.moveStart('character', start);
			r.collapse();
			r.moveEnd('character', (stop-start));
			r.select();
		}
	}
}
function inputcursorpos(veld) {
	if(typeof(veld) == 'string') veld = document.getElementById(veld);
	var start = 0;
	var einde = 0;
	var selectie;
	if (veld) {
		if (window.getSelection) {
			selectie = window.getSelection();
			start = veld.selectionStart;
			einde = veld.selectionEnd;
		}
		else if (document.selection) {
			selectie = document.selection.createRange();
			var startPos = window.document.selection.createRange().duplicate();
			startPos.collapse(true);
			startPos.moveStart("textedit",-1);
			start = startPos.text.length;
			var eindPos = window.document.selection.createRange().duplicate();
			eindPos.collapse(false);
			eindPos.moveStart("textedit",-1);
			einde = eindPos.text.length;
		}
	}
	return [start,einde];
}
function wordwrap(tekstblok,maxhoogte,plusteken) {
	if (arguments.length > 1) {
		if (tekstblok.offsetHeight > maxhoogte) {
			if(typeof(tekstblok) == 'string') tekstblok = document.getElementById(tekstblok);
			if (!plusteken) plusteken = ' ...';
			var tekst = tekstblok.innerHTML.split(' ');
			var aantalwoorden = 0;
			tekstblok.innerHTML = '';
			for (var t=0; t < tekst.length; t++) {
				var temptekst = tekstblok.innerHTML;
				tekstblok.innerHTML += tekst[t];
				if (t<tekst.length-1) tekstblok.innerHTML += plusteken;
				if (tekstblok.offsetHeight > maxhoogte) {
					aantalwoorden = t-1;
					t = tekst.length;
				}
				else {
					tekstblok.innerHTML = temptekst+' '+tekst[t];
					aantalwoorden = t-1;
				}
			}
			tekstblok.innerHTML = '';
			for (var w=0; w < aantalwoorden; w++) tekstblok.innerHTML += tekst[w]+' ';
			if (aantalwoorden < tekst.length) tekstblok.innerHTML += plusteken;
		}
	}
}
function email(adres) {
	emailadres = adres.replace(/#/,"@");
	window.open("mailto:"+emailadres, "_self");
}function http103() {
	var ajax103 = null;
	try { ajax103 = new XMLHttpRequest(); }
	catch (e) {
		try { ajax103 = new ActiveXObject("Msxml2.XMLHTTP"); }
		catch (e) {
			try { ajax103 = new ActiveXObject("Microsoft.XMLHTTP"); }
			catch (e) { alert("Your browser does not support AJAX!"); }
		}
	}
	return ajax103;
}
var onthoudlocatie = '';
function inhoudladen(url,variabelen,variabelen2) {
	if (lt) {
		if (url == 'inhoud/start.php') window.location.hash = '';
		else {
			onthoudlocatie = url.replace(/inhoud\/|\.php/g,'');
			if (variabelen.length > 0)  onthoudlocatie += "/" + variabelen.replace(/[&\/=]/g,'/');
			window.location.hash = "#/" + encodeURI(onthoudlocatie);
		}
		if (variabelen2) variabelen += "&"+variabelen2;
	}
	else setTimeout(doorsturen,103);
	
	var ajax103 = new http103();
	ajax103.open("POST", url, true);
	ajax103.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
	ajax103.setRequestHeader("Content-length", variabelen.length);
	//ajax103.onreadystatechange = inhoudverwerken;
	
	ajax103.onreadystatechange = function() {
		if (ajax103.readyState == 4) {
			if(ajax103.status == 200) {
				scrollTo(0,0);
				var printplaats;
				for (var p=0;p<ajax103.responseXML.getElementsByTagName("printplaats").length;p++) {
					printplaats = ajax103.responseXML.getElementsByTagName("printplaats")[p].attributes.getNamedItem("divid").value;
					if (document.getElementById(printplaats)) document.getElementById(printplaats).innerHTML = ajax103.responseXML.getElementsByTagName("printplaats")[p].childNodes[0].nodeValue;
				}
				for (var j=0;j<ajax103.responseXML.getElementsByTagName("javascript").length;j++) {
					eval(ajax103.responseXML.getElementsByTagName("javascript")[j].childNodes[0].nodeValue);
				}
				if (typeof(nainhoudladen) == 'function') nainhoudladen();
				document.getElementById("overlay").style.display = "none";
			}
			else {
				document.getElementById("overlay").style.display = "none";
			}
		}
		else {
			//laden
			document.getElementById("overlay").style.display = "block";
		}
	}
	ajax103.send(variabelen);
}
var lt = false;
function doorsturen() {
	var url = window.location;
	if (lt == false) {
		//if (url.hash.length == 0) inhoudladen(startpagina,startvar);
	}
	else clearTimeout(lt);
	var url = window.location;
	if(url.hash.length > 0 && onthoudlocatie != url.hash.substring(2)) {
		url = url.hash.substring(2);
		var parameters = url.split('/');
		var variabelen = '';
		if (parameters[0] == 'tekst') {
			var pagina = parameters[0]+'/'+parameters[1];
			var start = 2;
		}
		else {
			var pagina = parameters[0];
			var start = 1;
		}
		for (var p=start; p < parameters.length-1; p++) {
			variabelen += parameters[p]+"=";
			p++;
			variabelen += parameters[p]+"&";
		}
		inhoudladen('inhoud/'+pagina+'.php',variabelen.substring(0,variabelen.length-1));
	}
	lt = setTimeout(doorsturen,103);
}
function startveld(veld) {
	if (veld) {
		if(veld.value == veld.defaultValue || veld.value == veld.defaultValue+' (Verplicht veld)' || veld.value == veld.defaultValue+' (Onjuist)') {
			if(veld.className.indexOf('datum')>-1) veld.value = 'DD/MM/YYYY';
			inputselectie(veld,0,veld.value.length);
		}
		if (veld.className.indexOf('groen') == -1 && veld.className.indexOf('rood') == -1) veld.className = veld.className.replace('invulveld','invulveld groen');
	}
}
function controleerinput(event) {
/*	event.cancelBubble = true;
	if (event.stopPropagation) event.stopPropagation();
	if (!event) var event = window.event;
	if (event.target) veld = event.target;
	else if (event.srcElement) veld = event.srcElement;
	if (veld.nodeType == 3) veld = veld.parentNode;

	if(veld.className.indexOf('datum')>-1) {
		event.preventDefault();
	}*/
}
function controleer(veld) {
	if (veld) {
		if (testveld(veld) == true) veld.className = veld.className.replace('rood','groen');
		else {
			if (veld.className.indexOf('rood') == -1) veld.className = veld.className.replace('groen','rood');
		}
		if (veld.value != veld.defaultValue && veld.value != veld.defaultValue+' (Verplicht veld)' && veld.value != veld.defaultValue+' (Onjuist)') {
			veld.value = veld.value.replace(veld.defaultValue,'');
			veld.value = veld.value.replace(' (Verplicht veld)','');
			veld.value = veld.value.replace(' (Onjuist)','');
		}
	}
}
function stopveld(veld) {
	if (veld) {
		if(veld.value == '' || veld.value == 'DD/MM/YYYY') veld.value = veld.defaultValue;
		else controleer(veld)
		veld.className = veld.className.replace(' groen','');
	}
}
function testveld(veld) {
	if (veld) {
		veldok = true;
		if(veld.className.indexOf('mail')>-1) {
			var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})$/;
			if (!filter.test(veld.value)) veldok = false;
		}
		else if(veld.className.indexOf('datum')>-1) {
		}
	}
	else veldok = false;
	return veldok;
}
function formulierposten(formulier,pagina) {
	var formulierok = true;
	var variabelen = '';
	var velden = document.getElementById(formulier).getElementsByTagName('input');
	for (var i=0; i < velden.length; i++) {
		if (velden[i].className.indexOf('verplicht') > -1) {
			if (velden[i].value == velden[i].defaultValue || velden[i].value == velden[i].defaultValue+' (Verplicht veld)') {
				velden[i].focus();
				velden[i].value = velden[i].defaultValue+' (Verplicht veld)';
				inputselectie(velden[i],0,velden[i].value.length);
				velden[i].className = velden[i].className.replace('groen','rood');
				formulierok = false;
				break;
			}
		}
		if (testveld(velden[i]) == false) {
			velden[i].focus();
			velden[i].value = velden[i].value+' (Onjuist)';
			inputselectie(velden[i],velden[i].value.length-9,velden[i].value.length);
			velden[i].className = velden[i].className.replace('groen','rood');
			formulierok = false;
			break;
		}
		variabelen += velden[i].id.replace(' ','_')+"="+escape(velden[i].value)+"&";
	}
	if (formulierok) {
		inhoudladen('inhoud/'+pagina,'','formulier=ok&'+variabelen);
	}
}function startsite() {
	inhoudladen('inhoud/navigatie.php','');
	if (window.location.hash.length == 0) {
		inhoudladen('inhoud/nieuws.php','');
	}
}
function startpagina() {
	inhoudladen('inhoud/nieuws.php','');
}
function navigatie(knop) {
	var hoofdknop = '';
	var knoppen = knop.parentNode.parentNode.getElementsByTagName('a');
	for (var i=0; i < knoppen.length; i++) {
		if (knoppen[i].className.indexOf('sub') == -1) {
			hoofdknop = knoppen[i];
			if (document.getElementById(hoofdknop.id+'_sub')) {
				if (hoofdknop == knop) document.getElementById(hoofdknop.id+'_sub').className = 'open';
				else document.getElementById(hoofdknop.id+'_sub').className = 'dicht';
			}
		}
		if (knoppen[i] == knop) knop.className = knop.className.replace('hand','aan');
		else knoppen[i].className = knoppen[i].className.replace('aan','hand');
	}
}
function paginaopmaken() {
	if (document.getElementById('nieuwsbericht')) {
		if(document.getElementById('nieuwsbericht').innerHTML.length > 0) {
			document.getElementById('nieuws').style.display = 'block';
			document.getElementById('nieuwsbericht').style.display = 'block';
			document.getElementById('hoofding').style.left = '450px';
			document.getElementById('content').style.left = '450px';
		}
		else {
			document.getElementById('nieuws').style.display = 'none';
			document.getElementById('nieuwsbericht').style.display = 'none';
			document.getElementById('hoofding').style.left = '200px';
			document.getElementById('content').style.left = '200px';
		}
	}
	if (document.getElementById('datumbalk')) {
		var ruimte = document.body.clientWidth-zoekXY(document.getElementById('hoofding'))[0];
		var data = document.getElementById('datumbalk').getElementsByTagName('div');
		var eerstedag = false;
		var laatstedag = 0;
		for (var d=0; d < data.length; d++) {
			if (data[d].className == "dag") {
				if (eerstedag == false) eerstedag = data[d].innerHTML.match(/\d{1,2}/);
				laatstedag = data[d].innerHTML.match(/\d{1,2}/);
			}
		}
		var dagruimte = Math.floor((ruimte-270)/(laatstedag-eerstedag));
		if (dagruimte < 14) dagruimte = 14;
		for (var d=0; d < data.length; d++) {
			if (data[d].className == "dag") {
				var margelinks = (data[d].innerHTML.match(/\d{1,2}/)-eerstedag)*dagruimte;
				data[d].style.left = margelinks+'px';
				var lijn = document.getElementById(data[d].id.replace('dag','lijn'));
				lijn.style.left = margelinks+'px';
				lijn.style.top = '11px';
				var concertdivids = data[d].id.split('_');
				for (var i=1; i < concertdivids.length; i++) {
					var concertdivid = 'concert_'+concertdivids[i];
					document.getElementById(concertdivid).style.marginLeft = margelinks+'px';
					var titeldiv = document.getElementById(concertdivid).getElementsByTagName('div')[0];
					wordwrap(titeldiv,40);
					var praktischdiv = document.getElementById(concertdivid).getElementsByTagName('div')[1];
					wordwrap(praktischdiv,15);
					if (i==1) lijn.style.height = document.getElementById(concertdivid).offsetTop+6+'px';
				}
			}
		}
	}
	maandverderpijl();
}

function maandverderpijl() {
	if (document.getElementById('maandverder')) document.getElementById('maandverder').style.left = document.getElementById('jaar').offsetWidth+6+'px';
}

function nainhoudladen() {
	paginaopmaken();
}
if (typeof(startsite) == 'function') {
	window.onload = startsite;
}
window.onresize = paginaopmaken;
