Event.observe(window, 'load', function() {

	if ($('searchfield') && $('quick-search')) {
		$('searchfield').value = ($('searchfield').defaultValue = "Zoeken...");

		$('quick-search').observe('submit', function(event) {
			if ($F('searchfield').empty() || $F('searchfield') == $('searchfield').defaultValue) {
				$('searchfield').value = '';
				Event.stop(event);
			}
		});

		$('searchfield').observe('focus', function(event) {
			if (Event.element(event).value == Event.element(event).defaultValue) {
				Event.element(event).value = '';
			}
		});

		$('searchfield').observe ('blur', function(event) {
			if (Event.element(event).value.empty()) {
				Event.element(event).value = Event.element(event).defaultValue;
			}
		});
	}

	if ($('backToTopLink')) {

		$('backToTopLink').observe('click', function(e) {
			backToTop();
			Event.stop(e);
		});
		Event.observe(window, "resize", function(e) {
			hideTopLink();
		});

		function backToTop() {
			new Effect.ScrollTo('container', {
				offset: 0,
				duration: 0.7
			});
		}
		function hideTopLink() {
			var bodyHeight = document.viewport.getHeight();
			var pageHeight = $('footer').cumulativeOffset().top + 30;

			if (pageHeight > bodyHeight) {
				$('backToTopLink').show();
			}
			if (pageHeight == bodyHeight) {
				$('backToTopLink').hide();
			}
		}
		hideTopLink();
	}

	if ($('anchorlinks')) {

		function clickClick() {
			$$('#anchorlinks li a').each(function(elem) {
				elem.observe('click', function(e){

					var elemIdData = elem.readAttribute('href');
					var elemId = elemIdData.substring(1,elemIdData.length);
					var bodyHeight = document.viewport.getHeight();
					var pageHeight = $('footer').cumulativeOffset().top + 30;

					if($(elemId) && pageHeight > bodyHeight) {
						anchorHighlightingDelay(elemId);
						moveToAnchor(elemId);
					}
					if($(elemId) && pageHeight == bodyHeight) {
						anchorHighlighting(elemId);
					}
				Event.stop(e);
				});
			});
		}

		function anchorHighlighting(elemId) {
			if($(elemId)) {
				new Effect.Morph(elemId, {
					'style': 'background-color: #D0F4D0; color: #fff;',
					'duration': '0.5'
				});
				new Effect.Morph(elemId, {
					'style': 'background-color: #fff; color: #000;',
					'duration': '0.5',
					'delay': '1',
					'afterFinish': function() {$(elemId).writeAttribute('style', false); }
				});
			}
		}

		function anchorHighlightingDelay(elemId) {
			if($(elemId)) {
				new Effect.Morph(elemId, {
					'style': 'background-color: #D0F4D0; color: #fff;',
					'duration': '0.5',
					'delay': '0.6'
				});
				new Effect.Morph(elemId, {
					'style': 'background-color: #fff; color: #000;',
					'duration': '0.5',
					'delay': '1.2',
					'afterFinish': function() {$(elemId).writeAttribute('style', false); }
				});
			}
		}

		function moveToAnchor(elemId) {
			if($(elemId)) {
				new Effect.ScrollTo(elemId, {
					offset: -50,
					duration: 0.7
				});
			}
		}
		clickClick.delay(0.5);
	}
});
