function addOnloadEvent(func) {
	var oldonload = window.onload;
	if(typeof window.onload != "function") {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

// prevent IE background-flicker
try {
  document.execCommand('BackgroundImageCache', false, true);
} catch(e) {
}

/* =BuzzFunctions
======================================= */
function activateBuzzers() {
	BuzzElements = document.getElementsByTagName("a");
	for(i=0; i<BuzzElements.length; i++) {
		if(BuzzElements[i].className != null) {
			var cssClass = BuzzElements[i].className;
			if (cssClass.indexOf("buzzme")>=0) {
				// assign effect!
				cache(BuzzElements[i].getAttribute("id"));
				resetMe(BuzzElements[i].getAttribute("id"));
				BuzzElements[i].onmouseover = buzzMe;
			}
		}
	}
}

var buzz_elements = new Array();

function buzzMe() {
        var time = 20; // 0.02 seconds
        
        // 'this' refers to the element this function is attached to
        for (var i=0; i<10; i++) {
                window.setTimeout("moveMe('" + this.id + "')", i*time);
        }
        window.setTimeout("resetMe('" + this.id + "')", (i+1)*time);
}

function moveMe(element_id) {
        // verplaats element een stukje in een willekeurige richting
        var element = buzz_elements[element_id];
        var dx = buzzVars("x");
        var dy = buzzVars("y");
        
        element.style.left = parseInt(element.style.left) + dx + "px";
        element.style.top = parseInt(element.style.top) + dy + "px";
}

function cache(element_id) {
        buzz_elements[element_id] = document.getElementById(element_id);
}

function resetMe(element_id) {
        var element = buzz_elements[element_id];

        element.style.position = "relative";
        element.style.top = "0px";
        element.style.left = "0px";
        element.style.bottom = "";
        element.style.right = "";
}

function buzzVars(z) {
	var range = 5;
	if(z == 'y') {
	        range = 2;
        }

	randomC = -range + (Math.random()*range*2);
	return randomC;
}

/* MouseOver / MouseOut voor menu-elementen
======================================= */

function preloadMenuImages() {
        var menu = document.getElementById('menu');
        
        var links = menu.getElementsByTagName("a");
        
        var image = new Image();
        for (var i=0; i<links.length; i++) {
                var link = links[i];
                var id = link.getAttribute("id");
                
                image.src = "images/menu_" + id + ".gif";
                image.src = "images/menu_" + id + "_hover.gif";
        }
}

function menuMouseOver(image) {
        var parent = image.parentNode;
        var id = parent.getAttribute("id");
        
        image.src = "images/menu_" + id + ".gif";
}

function menuMouseOut(image) {
        var parent = image.parentNode;
        var id = parent.getAttribute("id");
        
        image.src = "images/menu_" + id + ".gif";
}

/* =BuzzPageSize
======================================= */
function getWindowWidth() {
	var windowWidth = 0;
	if (typeof(window.innerWidth) == 'number') {
		windowWidth = window.innerWidth;
	}
	else {
		if (document.documentElement && document.documentElement.clientWidth) {
			windowWidth = document.documentElement.clientWidth;
		}
		else {
			if (document.body && document.body.clientWidth) {
				windowWidth = document.body.clientWidth;
			}
		}
	}
	return windowWidth;
}
function setPage(sectionID) {
	// Init flashies
	if(sectionID != 0) {
		var swf = "flash/header_home.swf";
		if (sectionID == 2) { swf = "flash/header_lifestyle.swf"; }
		else if (sectionID == 3) { swf = "flash/header_action.swf"; }
		else if (sectionID == 4) { swf = "flash/header_ringtone.swf"; }
		else if (sectionID == 6) { swf = "flash/header_check.swf"; }
		var so = new SWFObject(swf, "mymovie", "811", "186", "8", "#fff");
		so.addParam("menu", "false");
		so.addParam("wmode", "transparent");
		so.write("header");	
		// logo Cordaid..
//		var co = new SWFObject("flash/cordaidlogo.swf", "cordaidlogo", "108", "39", "8", "#fff");
//		co.addParam("wmode", "transparent");
//		co.addParam("menu", "false");
//		co.write("cordaid");	
	}
	
	
	return;

	if (document.getElementById) {
		var windowWidth = getWindowWidth();
		var tableWidth = document.getElementById('main').offsetWidth;
		if ((windowWidth - tableWidth) < 0) {
			document.body.style.backgroundPosition = '0px 0px';
		} else {
			document.body.style.backgroundPosition = 'center top';
		}
	}

}

var resizeTimer = null;

function doResize()
{
	if (resizeTimer) clearTimeout(resizeTimer);
	resizeTimer = setTimeout("doResize2()",100);  // 0.1 sec
}

function doResize2()
{
	//alert('resize2');
	setPage();
}
window.onresize = doResize;



function controleerVerplichteOpdrachten(element, toon_alert) {
        // controleert of de docent niet meer opdrachten verplicht stelt dan 
        // het totaal aantal opdrachten dat een leerling moet maken
        
        // stap 1: achterhaal het aantal opdrachten dat leerlingen moeten maken
        var max_aantal_element = document.getElementById("aantal_opdrachten");
        max_aantal = parseInt(max_aantal_element.value);
        
        if (isNaN(max_aantal)) {
                max_aantal = 7;
        }
        
        max_aantal = Math.min(7, max_aantal);
        max_aantal_element.value = max_aantal;
        
        // stap 2: 
        var parent = element.parentNode;
        var checkboxes = element.parentNode.getElementsByTagName("input");
        
        var aantal_gevonden = 0;
        for (var i=0; i<checkboxes.length; i++) {
                var checkbox = checkboxes[i];
                
                if (checkbox.checked) {
                        aantal_gevonden++;
                }
        }
        
        if (aantal_gevonden>max_aantal) {
        
                if (toon_alert) {
                        var bericht = "U heeft teveel opdrachten als verplicht aangevinkt.\n\n";
                        bericht = bericht + "Het aantal verplichte opdrachten per leerroute kan niet hoger zijn dan ";
                        bericht = bericht + "het aantal opdrachten dat uw leerlingen in totaal moeten maken.";

                        alert(bericht);
                }

                element.checked = false;
                
                return true;
        }
        
        return false;
}

function aantalHardVerplicht() {
	return 2;
}

function controleerAlleVerplichteOpdrachten() {
        var inputs = document.getElementsByTagName("input");

	var hard_verplicht = aantalHardVerplicht();
	
        var max_aantal_element = document.getElementById("aantal_opdrachten");
        max_aantal = parseInt(max_aantal_element.value);
        max_aantal_element.value = Math.max(hard_verplicht, max_aantal);
        	
	
        var veranderd = false;
        for (var i=0; i<inputs.length; i++) {
                var input = inputs[i];
                
                if (input.getAttribute("type")=="checkbox") {
                        if (controleerVerplichteOpdrachten(input, false)) {
                                veranderd = true;
                        }
                }
        }
        
        if (veranderd) {
                var bericht = "U heeft zojuist het aantal verplichte opdrachten per leerroute aangepast.\n\n";
                bericht = bericht + "Door deze wijziging zijn er bij een aantal leerroutes teveel opdrachten aangevinkt. ";
                bericht = bericht + "Bij deze leerroutes hebben wij daarom een aantal opdrachten uitgevinkt.\n\n";
                bericht = bericht + "Controleer dus of de juiste opdrachten verplicht zijn gesteld.\n\n";
                
                alert(bericht);
        }
}
function resizeTextDiv() {
	var image = document.getElementById("ecard-image");
	var textdiv = document.getElementById("textdiv");
	textdiv.style.width=image.offsetWidth + "px";
	textdiv.style.height=image.offsetHeight + "px";
}