// Mouse overs with automagic event attachment.

// Set up the mouse overs when the HTML has loaded.
window.addEvent('load', function() {
	// Attach mouse events to images in top-, left- and subnav.
	$$('#topnav', '#leftnav', '#subnav').getElements('img').flatten().each(function(i) {
		if (!i.getProperty('src').contains('MO')) {
			i.addEvents({
				'mouseenter': function() {
					this.set('src', this.get('src').replace(/(MO)?\.jpg$/, 'MO.jpg'));
				},
				'mouseleave': function() {
					this.set('src', this.get('src').replace('MO.jpg', '.jpg'));
				}
			});
		}
	});

	// Image animation in header.
	new bbAnimate();

	// Story animation in header.
	var verhaalElement = $('verhaal').getElement('.verhaal');
	var verhaal = new Scroller(verhaalElement, {
		'area': 60,
		'velocity': 0.05
	});
	verhaal.start();

	// Ticker on homepage.
	var tickerElement = $('ticker');
	if (tickerElement) {
		var ticker = new bbAnimate({
			'container': tickerElement,
			'objects': '.ticker',
			'animation': 'scroll',
			'direction': 'left',
			'transition': 'sine:out'
		});
		tickerElement.addEvents({
			'mouseenter': function() {
				ticker.pause();
			},
			'mouseleave': function() {
				ticker.play();
			}
		});
	}

	// Fancy fonts.
	new sIFR({
		'elements': '#verhaal .sifr, #ticker .ticker'
	});

	// Tooltips.
	new Tips($$('.tip'), {
		'className': 'tooltip'
	});
});

/**
addEvent(window, 'load', init, false);

// Set up mouse overs.
function init() {
	// Attach mouse events to images in topnav.
	var elm = document.getElementById('topnav');
	var list = elm.getElementsByTagName('img');
	for (var img in list) {
		var tag = new String(list[img].tagName);
		if (tag.match(/img/i) && !list[img].src.match(/MO/)) {
			addEvent(list[img], 'mouseover', swapImage, false);
			addEvent(list[img], 'mouseout', swapImage, false);
		}
	}
	// attach mouse events to images in leftnav
	var elm = document.getElementById('leftnav');
	var list = elm.getElementsByTagName('img');
	for (var img in list) {
		var tag = new String(list[img].tagName);
		if (tag.match(/img/i) && !list[img].src.match(/MO/)) {
			addEvent(list[img], 'mouseover', swapImage, false);
			addEvent(list[img], 'mouseout', swapImage, false);
		}
	}
	// attach mouse events to images in subnav
	var elm = document.getElementById('subnav');
	if (elm) { // isn't always present on the page
		var list = elm.getElementsByTagName('img');
		for (var img in list) {
			var tag = new String(list[img].tagName);
			if (tag.match(/img/i) && !list[img].src.match(/MO/)) {
				addEvent(list[img], 'mouseover', swapImage, false);
				addEvent(list[img], 'mouseout', swapImage, false);
			}
		}
	}
}

// swap image on mouse over/out
function swapImage(e) {
	var event;
	var img;
	if (window.event) { // IE
		event = window.event.type;
		img = window.event.srcElement;
	}
	else { // real browsers
		event = e.type;
		img = e.target;
	}
	if (event == 'mouseout') {
		img.src = img.src.replace('MO.jpg', '.jpg');
	}
	else {
		if (!img.src.match(/MO/))
			img.src = img.src.replace('.jpg', 'MO.jpg');
	}
}

// platform independent event utility functions
// http://www.scottandrew.com/weblog/articles/cbs-events
function addEvent(obj, evType, fn, useCapture) {
	if (obj.addEventListener) {
		obj.addEventListener(evType, fn, useCapture);
		return true;
	} 
	else if (obj.attachEvent) {
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	} 
	else {
		alert("Handler could not be attached");
	}
}

function removeEvent(obj, evType, fn, useCapture) {
	if (obj.removeEventListener) {
		obj.removeEventListener(evType, fn, useCapture);
		return true;
	} 
	else if (obj.detachEvent) {
		var r = obj.detachEvent("on"+evType, fn);
		return r;
	} 
	else {
		alert("Handler could not be removed");
	}
}
**/

