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.js-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.js-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 = 0;
	var menudelay_id;
	var menudelayed;
	$$('div#navigatie ul li').each( function(el) {
		Event.observe( el, 'mouseover', function() {
			if(menudelay_id > 0) {
				window.clearTimeout(menudelay_id);
				menudelayed.removeClassName( 'over' );
			}
			
			el.addClassName('over');
		});
		Event.observe( el, 'mouseout', function() {
			menudelay_id = Element.removeClassName.delay( menudelay, el, 'over' );
			menudelayed = el;
		});
	});
	
	// Tekstvelden vullen
	setValue( $('js-zoeken-q'), 'zoeken...' );
	
	// Print-optie toevoegen
	if (printbaar) {
		var lijst = $$('ul#sub-navigatie').first();
		if (lijst) {
			// var url = getStrippedUrl() + '/print';
			var url = getStrippedUrl() + '?print=true';
			var item = new Element('li', {
				'id': 'print'
			});
			
			var link = new Element('a', {
				// 'id': 'print',
				'class': 'none',
				'href': url
			}).update('print deze pagina').observe ( 'click' , function( event ) {
				event.stop();
				printPage(url);			
			});
			item.appendChild(link);
			lijst.appendChild(item);
		}
	}
	
	// Pagina terug link toevoegen
	var lijst = $$('ul#sub-navigatie').first();
	if (lijst) {
		var item = new Element('li', {
			'id': 'go_back'
		});
		
		var link = new Element('a', {
			'class': 'none',
			'href': '#'
		}).update('pagina terug').observe ( 'click' , function( event ) {
			event.stop();
			history.go(-1);			
		});
		item.appendChild(link);
		lijst.appendChild(item);
	}
	
	// Alle items met class 'inklapbaar' nagaan en die een extra
	// class 'ingeklapt' geven
	$$('.js-inklapbaar').each( function(el) {
		el.addClassName('js-ingeklapt');
		
		var heading2 = null;
		if( heading2 = el.select('h2')[0]) {
			Event.observe( heading2, 'click', function(event) {
				el.toggleClassName('js-uitgeklapt');
			});
		}
	});
});

function getStrippedUrl() {
	var url = location.href;
	
	// We gaan alles vanaf #dit-is-een-anchor er uitslopen
	var index = url.lastIndexOf('#');
	if( index !== -1 ) {
		url = url.substr( 0, index );
	}
	
	// Als de url eindit op een '/' dan halen we die weg
	if( url.charAt( url.length-1 ) == '/' ) {
		url = url.substr(0, url.length-1);
	}
	
	return url;
}

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.js-target');
		if( anchorElement ) {
			if( anchorElement.hasClassName('js-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);
			});

		}
	});
}



$$('a.js-close-div').each( function(el) {
	
	Event.observe( el, 'click', function() {
		div = el.up('div', 1);
		div.toggle();
	});
});
