document.observe("dom:loaded", function(event) {
	
	// Class op body die aangeeft dat Javascript enabled is
	var bodyElement = $$('body').first();
	if( bodyElement ) {
		bodyElement.addClassName('js-on');
	}
	
	// Alle links met een class 'externe-link' openen in een nieuw venster
	$$('a.externe-link, a[rel*=external], a[href^="http:"]').each( function(el) {
		el.target =  '_blank';
	});
	
	// Inputvelden met class 'no-autocomplete' krijgen autocomplete="off". Handig voor
	// profielformulieren of zoekvelden die met Ajax werken
	$$('input.no-autocomplete').each( function( input ) {
		input.writeAttribute( 'autocomplete' , 'off' );
	});
	
	// Alle submit-knoppen krijgen een class on-hover. Dit is handig voor ie6
	$$('input[type=submit]').each( function(el) {
		el.observe( 'mouseover', function(event) {
			el.addClassName('button-hover');
		});
		el.observe( 'mouseout', function(event) {
			el.removeClassName('button-hover');
		});
	});

	
	// Items in hoofdmenu krijgen class zodat submenu werkt in ie6
	var menudelay = 1;
	var menudelay_id;
	var menudelayed;
	$$('ul#hoofdmenu li.level1').each( function(el) {
		Event.observe( el, 'mouseover', function() {
			if(menudelay_id > 0) {
				window.clearTimeout(menudelay_id);
				menudelayed.removeClassName( 'hover-ie' );
			}
			
			el.addClassName('hover-ie');
		});
		Event.observe( el, 'mouseout', function() {
			menudelay_id = Element.removeClassName.delay( menudelay, el, 'hover-ie' );
			menudelayed = el;
		});
	});
	
	// Tekstvelden vullen
	setValue( $('zoeken-q'), 'zoeken...' );
	
	// Print-optie toevoegen
	var lijst = $('opties');
	if (lijst) {
		var url = getStrippedUrl() + '?actie=print';
		var item = new Element('li');
		
		var link = new Element('a', {
			'id': 'print',
			'class': 'none',
			'href': url
		}).update('Print pagina').observe ( 'click' , function( event ) {
			event.stop();
			printPage(url);			
		});
		item.appendChild(link);
		lijst.appendChild(item);
	}
	
	// Alle items met class 'inklapbaar' nagaan en die een extra
	// class 'ingeklapt' geven
	$$('.inklapbaar').each( function(el) {
		el.addClassName('ingeklapt');
		
		var heading2 = null;
		if( heading2 = el.select('h2')[0]) {
			Event.observe( heading2, 'click', function(event) {
				el.toggleClassName('uitgeklapt');
			});
		}
	});
});

function getStrippedUrl() {
	var url = location.href;
	var index = url.lastIndexOf('#');
	return url.substr( 0, index );
}

function printPage( url ) {
  popup = window.open( url, "help", "width=720, height=700, top=100, left=100, toolbar=0, resizable=1, scrollbars=1, status=0.menubar=0, location=0, directories=0");
  popup.focus();
}

function setValue( el, nieuwevalue ) {
	if (el !== null && el.value == '') {
		el.setAttribute('value', nieuwevalue);
		
		Event.observe(el, 'focus', function(){
			if (el.value == nieuwevalue) 
				el.value = '';
		});
		Event.observe(el, 'blur', function(){
			if (el.value == '') 
				el.value = nieuwevalue;
		});
	}
}

//Zoekt naar elementen met class die wordt meegegeven met eerste parameter
//Haalt per element eerste <a> op en haalt link uit die <a> en zet 'm onclick
//op het element. Verder wordt onmouseover een class (tweede paramter) aan het
//element toegevoegd
function makeClickable( selector, classnameHover ) {
	$$(selector).each( function(el) {
		var anchorElement = el.down('a.target');
		if( anchorElement ) {
			if( anchorElement.hasClassName('externe-link') ) {
				Event.observe(el, 'click', function(event) {
					window.open( anchorElement );
				});
			} else {
				Event.observe(el, 'click', function(event) {
					location.href = anchorElement;
				});
			}
		}
		
		Event.observe(el, 'mouseover', function(event) {
			el.addClassName(classnameHover);
		});
		Event.observe(el, 'mouseout', function(event) {
			el.removeClassName(classnameHover);
		});
	});
}
