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( $('zoektalent-q'), 'spot talent...' );
	
	// 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');
			});
		}
	});
	
	// By clicking on parameter 1, the link in it will be opened
	makeClickable('.crosslinkBox', 'hover');
	makeClickable('dl#agenda li', 'hover');
	makeClickable('.uitgelicht', 'hover');
	makeClickable('.witblok', 'hover');
	makeClickable('div.lijstborder li', 'hover');
	makeClickable('div#headerSlider div.groot', 'hover');
	makeClickable('div.uitgelicht-breed', 'hover');
	makeClickable('div.quote-cot', 'hover');
	makeClickable('.talentenLijst li', 'hover');
	makeClickable('.bedrijvenLijst li', 'hover');
	makeClickable('.studentStockLijst li', 'hover');
	makeClickable('.clickable', 'hover');
	
	var startQuiz = $('startQuiz');
	if (startQuiz) {
		Event.observe(startQuiz, 'click', function(event) {
			document.location.href = startQuiz.readAttribute('href');
		});
	}
	
	// Used for home talent map
	checkHighlightLabel('li.vink', 'checked');
	
	// Animate the clock on English home page
        if($('groningenTime'))
            animateClock($('groningenTime'));
});

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);
		});
	});
}

function checkHighlightLabel(fieldWrapper, classnameChecked) {
	$$(fieldWrapper).each( function(el) {
		Event.observe(el, 'click', function(event) {
			if (el.hasClassName(classnameChecked)) {
				el.removeClassName(classnameChecked);
			} else {
				el.addClassName(classnameChecked);
			}
		});
	});
}
