addLoadEvent(function(){
	addHoverClass('navigation','li');
	addHoverClass('navigation','span');
	loadCufon();
});
addLoadEvent(startGallery);
addLoadEvent(loadGoogleMaps);

function loadGoogleMaps() {
  if (GBrowserIsCompatible()) {
		// start up map
		var map = new GMap2(document.getElementById("map"));
		// add maptype
		map.addControl(new GMapTypeControl(),
           new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10, 10)));
		// add small map
		map.addControl(new GSmallMapControl(),
           new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(10, 10)));						
		// set location (max zoom is 17, 0 for planet view)
		map.setCenter(new GLatLng(51.9275, 4.4401), 14);
		// map.setMapType(G_HYBRID_TYPE);
		// Create "hqIcon" marker icon
		var hqIcon = new GIcon();
		hqIcon.image = "http://www.roveron.nl/gfx/marker_roveron.png";
		hqIcon.iconSize = new GSize(90, 142);
		hqIcon.iconAnchor = new GPoint(100, 122);
		// icon.infoWindowAnchor = new GPoint(5, 1);
		// place marker points
		var point = new GLatLng(51.9255, 4.4301); 
		map.addOverlay(new GMarker(point, hqIcon)); 

		GEvent.addListener(map, "moveend", function() {
			var center = map.getCenter();
		});			
  }
}

function extractPageName(hrefString) {
	var arr = hrefString.split('/');
	if (arr.length < 2) {
		return hrefString;
	} else if(arr.length == 6) {
		return arr[arr.length-3].toLowerCase() + arr[arr.length-2].toLowerCase();
	} else {
		return arr[arr.length-2].toLowerCase() + arr[arr.length-1].toLowerCase();
	} 
}

function setActiveMenu(arr, crtPage) {
	for (var i=0; i<arr.length; i++) {		
		if(extractPageName(arr[i].href) == crtPage) {			
			if (arr[i].parentNode.tagName != "DIV") {
				arr[i].className = " current";
				arr[i].parentNode.className = " current";
			}
		}
	}
}

function setPage() {
	hrefString = document.location.href ? document.location.href : document.location;
	
	if (document.getElementById("navigation")!=null)
		setActiveMenu(document.getElementById("navigation").getElementsByTagName("a"), extractPageName(hrefString));
	if (document.getElementById("metanavigation")!=null) {
		setActiveMenu(document.getElementById("metanavigation").getElementsByTagName("a"), extractPageName(hrefString));
	}
}

function addHoverClass(element, child_node_name) {
	if(!document.getElementById) return false;
	if(!document.getElementsByTagName) return false;
	if(!document.getElementById(element)) return false;
	var root = document.getElementById(element);
	var children = root.getElementsByTagName(child_node_name);	
	for (var i = 0; i < children.length; i++){
		var child = children[i];
		child.onmouseover = function(){
			this.className += " hover"; }
		child.onmouseout = function(){
			this.className = this.className.replace(" hover", ""); }
	}
}

function startGallery() {
	var myGallery = new gallery($('myGallery'), {
		timed: true,
		showCarousel: false,
		showInfopane: false
	});
}

function loadCufon(){
	Cufon.now();
	Cufon.replace('#metanavigation a', { hover: true });
	Cufon.replace('#navigation a span', { hover: true, hoverables: { span: true } });	
	Cufon.replace('#footer h4', { hover: true });
	Cufon.replace('h1', { hover: true });
	Cufon.replace('#sidebar .content h4', { hover: true });
	Cufon.replace('#sidebar .content a.button', { hover: true });
	Cufon.replace('#content h3', { hover: true });
	Cufon.replace('.content h2', { hover: true });
	Cufon.replace('.faq h2', { hover: true });
	Cufon.replace('.faqOverzicht h4', { hover: true });
}

function addLoadEvent(func){
	var oldonload = window.onload;
	if(typeof window.onload != 'function'){
		window.onload = func;
	} else {
		window.onload = function(){
			oldonload();
			func();
		}
	}
}