		function countLoadedFlashObjects(str){
			debug("SWF " + str  + " loaded");
			$("flashobjectscounter").value = parseInt($("flashobjectscounter").value) + 1;
			if(parseInt($("flashobjectscounter").value) == 12){
				debug("All SWF loaded!");
				window.setTimeout("setFlashElements();", 1000);
			}else if(parseInt($("flashobjectscounter").value) > 12){
				//resetKwies();
				//window.open('index.php', '_self');
			}//if
		}//countLoadedFlashObjects
		
		function debug(string){
			var date = new Date();
			$("debug").innerHTML = "<br />" + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds() + " - " + string + $("debug").innerHTML;
		}//debug
		
		function getFlashMovie(movieName){
			var movieName = 'swf' + movieName;
			
			if(window.document[movieName]){
				return window.document[movieName];
			}//if
			
			if(document[movieName]){
				return document[movieName];
			}//if

			if(navigator.appName.indexOf("Microsoft Internet")==-1){
				if(document.embeds && document.embeds[movieName]){
					return document.embeds[movieName]; 
				}else{
					return document.getElementById(movieName);
				}//if
			}//if
  
			if(document.getElementById(movieName)){
				return document.getElementById(movieName);
			}//if
  
			if(document.getElementsByName(movieName)[0]){
				return document.getElementsByName(movieName)[0];
			}//if
		}//getFlashMovie
		
		function changeIntroTxt(txt){
			 $('introtxt').innerHTML = txt;
		}//changeIntroTxt
		
		function introTxtContact(){
			changeIntroTxt("<center><b>CONTACT</b></center><br /><br />Contacteer Ryckevelde voor alle informatie over KiesKwies via <a href=\'mailto:info@ryckevelde.be\'>info@ryckevelde.be</a><br /><br />Contacteer Webdoos voor technische opmerkingen via <a href=\'mailto:team@webdoos.be\'>team@webdoos.be</a><br /><br />Contacteer de Informatiecentra Europe Direct van de Vlaamse Provincies voor meer informatie over Europa via de onderstaande logo\'s.");
		}//introTxtContact
		
		function introTxtMeerInfo(){
			var txt = "";
			txt += "<center><b>MEER INFO</b></center><br /><br />";
			txt += "1. <a href=\'#\' onclick=\'introTxtLesbrief(); return false;\'>Lesbrief over de Europese verkiezingen voor het secundair onderwijs</a><br /><br />";
			txt += "2. <a href=\'#\' onclick=\'introTxtLinksVerkiezingen(); return false;\'>Interessante links over de Europese verkiezingen</a><br /><br />";
			txt += "3. <a href=\'#\' onclick=\'introTxtLinksPartijen(); return false;\'>Links naar Europese programma's van Vlaamse partijen</a><br /><br />";
			
			changeIntroTxt(txt);
		}//introTxtMeerInfo
		
		function introTxtLesbrief(){
			var txt = "";
			txt += "<center><b>MEER INFO: LESBRIEF</b></center><br /><br />";
			txt += "In de lesbrief \'Europees gestemd?\' gaan we dieper in op de Europese Parlementsverkiezingen van 7 juni 2009. Eerst geven we algemene informatie over de Europese Unie, vervolgens bespreken we het Europees Parlement en de verkiezingen. Ten slotte geven we een overzicht van enkele specifieke verwezenlijkingen van de EU.<br /><br />";
			txt += "De lesbrief is opgesteld voor leerlingen van het laatste jaar secundair onderwijs. Aangezien het pakket modulair werd uitgewerkt, kunt u zelf de oefeningen selecteren die voor uw leerlingen nuttig zijn. Oplossingen van de opdrachten kunt u krijgen door een mailtje te sturen naar <a href=\'mailto:info@ryckevelde.be\'>info@ryckevelde.be</a>, met vermelding \'oplossingen lesbrief EP\'.<br /><br />";
			txt += "Deze lesbrief kan gebruikt worden als opwarming of als evaluatie voor het werken met KiesKwies.<br /><br />";
			txt += "<center><a href=\'http://www.kieskwies.eu/dat/lesbrief.pdf\' target=\'_blank\'><b>Download hier de lesbrief</b></a></center>";
			
			changeIntroTxt(txt);
		}//introTxtLesbrief
		
		function introTxtLinksVerkiezingen(){
			var txt = "";
			txt += "<center><b>MEER INFO: LINKS VERKIEZINGEN</b></center><br /><br />";
			txt += "Actuele Europese informatie:<br />";

			txt += "- <a href=\'http://europa.eu\' target=\'_blank\'>europa.eu</a> (website van de EU)<br />";
			txt += "- <a href=\'http://www.europarl.europa.eu/news/public/default_nl.htm\' target=\'_blank\'>www.europarl.europa.eu</a> (website van het Europees Parlement)<br />";
			txt += "- <a href=\'http://europa.eu/abc/index_nl.htm\' target=\'_blank\'>europa.eu</a> - \'De EU in het kort\'<br />";
			txt += "- <a href=\'http://euobserver.com\' target=\'_blank\'>euobserver.com</a><br />";
			txt += "- <a href=\'http://www.euractiv.com/en/HomePage\' target=\'_blank\'>www.euractiv.com</a><br />";
			txt += "- <a href=\'http://nl.youtube.com.eutube\' target=\'_blank\'>nl.youtube.com.eutube</a> - \'EU-tube\' (Op deze site vindt u allerlei filmpjes over de EU: ontstaan, geschiedenis, recente ontwikkelingen, ...)<br />";
			txt += "- <a href=\'http://www.ryckevelde.be\' target=\'_blank\'>www.ryckevelde.be</a> (Op onze site vindt u onder de rubriek \'Europese actualiteit\' enkele actuele infofiches, o.m. over de Europese verkiezingen)<br /><br />";

			txt += "Informatie over de Europese Parlementsverkiezingen:<br />";
			txt += "- <a href=\'http://www.europarl.europa.eu/elections2009/default.htm?language=nl\' target=\'_blank\'>www.europarl.europa.eu</a><br />";
			txt += "- <a href=\'http://www.knack.be/tag/EUROPESE+VERKIEZINGEN\' target=\'_blank\'>www.knack.be</a><br />";
			
			changeIntroTxt(txt);
		}//introTxtLinksVerkiezingen
		
		function introTxtLinksPartijen(){
			var txt = "";
			txt += "<center><b>MEER INFO: LINKS PARTIJEN</b></center><br /><br />";
			txt += "Op deze websites vindt u meer informatie over Europa en de Europese verkiezingen:<br /><br />";
			txt += "- <a href=\'http://www.cdenv.be/programma/europa\' target=\'_blank\'>www.cdenv.be</a><br />";
			txt += "- <a href=\'http://www.groen.be/nieuws/kandidaten-_257.aspx\' target=\'_blank\'>www.groen.be</a><br />";
			txt += "- <a href=\'http://www.s-p-a.be/nationaal/ideeen/standpunten/detail.asp?iThemaID=129\' target=\'_blank\'>www.s-p-a.be</a><br />";
			txt += "- <a href=\'http://www.vld.be/index.php?type=content&id=28\' target=\'_blank\'>www.vld.be</a><br />";
			txt += "- <a href=\'http://www.s-lp.be/index.php\' target=\'_blank\'>www.s-lp.be</a><br />";
			txt += "- <a href=\'http://www.n-va.be/\' target=\'_blank\'>www.n-va.be</a><br />";
			txt += "- <a href=\'http://www.lijstdedecker.com/nl/home-24.htm\' target=\'_blank\'>www.lijstdedecker.com</a><br />";
			txt += "- <a href=\'http://www.vlaamsbelang.org\' target=\'_blank\'>www.vlaamsbelang.org</a><br />";
			
			changeIntroTxt(txt);
		}//introTxtLinksPartijen
		
		function introTxtSpelInfo(){
			var txt = "";
			txt += "<center><b>SPELINFO</b></center><br /><br />";
			txt += "- Kies je eigen personage (man of vrouw) en geef het een naam.<br /><br />";
			txt += "- Kies twee tegenspelers uit een reeks van zes. Het intelligentieniveau van de tegenspelers bepaalt je eindscore. Hoe hoger de intelligentie van de tegenspelers, hoe meer punten je kan verdienen.<br /><br />";
			txt += "- Doorloop de vier levels. Per level komt een ander thema aan bod: de EU in het algemeen, het Europees Parlement, de Europese verkiezingen en de EU-verwezenlijkingen.<br /><br />";
			txt += "- Per thema/level krijg je telkens 5 vragen. Per vraag krijg je 20 seconden de tijd om te antwoorden.<br /><br />";
			txt += "Goed om weten<br />";
			txt += "- Je eindscore wordt berekend op basis van je snelheid en<br />de (gemiddelde) intelligentie van je tegenspelers.";
			
			changeIntroTxt(txt);
		}//introTxtSpelInfo
		
		function startKwies(){
			loadLevel("1");
			setAudioButton("");
			window.setTimeout("loadFlashElements();", 1000);
		}//startKwies
		
		function setAudioButton(){
			$("geluid").innerHTML = "<a href='#' onclick='setAudio(\"0\"); return false;'><img src='./img/geluid_uit.png' alt='' border='0'></a>";
		}//setAudioButton
		
		function setAudio(switcher){
			if(switcher == '0'){
				$("bgsound").innerHTML = "";
				$("geluid").innerHTML = "<a href='#' onclick='setAudio(\"1\"); return false;'><img src='./img/geluid_aan.png' alt='' border='0'></a>";
			}else{
				loadFlash('audio0' + getRandomValue(1, 8) + '.swf', 'bgsound', '1', '1');
				$("geluid").innerHTML = "<a href='#' onclick='setAudio(\"0\"); return false;'><img src='./img/geluid_uit.png' alt='' border='0'></a>";
			}//if
		}//setAudio
		
		function loadLevel(levelNr){
			$("container").style.display = "";
			loadLevelAnnouncer(levelNr);
			
			if(levelNr <= 1 || (levelNr >= 2 && $("bgsound").innerHTML != "")){
				loadFlash('audio0' + levelNr + '.swf', 'bgsound', '1', '1');
			}//if

			new Ajax("./ajx/ajax.php?action=loadLevel", {
				method: 'get',
				onRequest: function(){
					$("questionanswered").value		= 1;
					$("vraagcontainer").innerHTML 	= "<img src='./img/loader.gif' alt='' border='0'>"
				},
				onComplete: function(returnValue){
					if(returnValue <= 4){
						$("h2").innerHTML = "Level " + returnValue;
						$("interface_background").style.backgroundImage = "url(./img/bg_level" + levelNr + "_color.gif)";
					}else{
						$("kwiesformvalues").submit();
					}//if
				}//onComplete
			}).request();
		}//loadLevel
		
		function loadFlashElements(){
			loadFlash('kwiesser.swf', 'kwiesser1', '92', '97');
			loadFlash('kwiesser.swf', 'kwiesser2', '92', '97');
			loadFlash('kwiesser.swf', 'kwiesser3', '92', '97');
			loadFlash('naam1.swf', 'naam1', '59', '30');
			loadFlash('naam2.swf', 'naam2', '59', '29');
			loadFlash('naam3.swf', 'naam3', '59', '29');
			loadFlash('punten.swf', 'punten1', '45', '45');
			loadFlash('punten.swf', 'punten2', '45', '45');
			loadFlash('punten.swf', 'punten3', '45', '45');
			loadFlash('kwiesmaster.swf', 'kwiesmaster', '104', '233');
			loadFlash('level.swf', 'level', '120', '120');
			loadFlash('logo.swf', 'logo', '202', '144');
		}//loadFlashElements
		
		function setFlashElements(){
			changeKwiesser('1', $("player").value, '-1');
			changeKwiesser('2', getPlayer1(), '-1');
			changeKwiesser('3', getPlayer2(), '-1');

			changeName('1', $("name").value);
			changeName('2', ucfirst(getPlayer1()));
			changeName('3', ucfirst(getPlayer2()));
			
			debug("flash elements set");
			window.setTimeout("removeLevelAnnouncer();", 1000);
		}//setFlashElements
		
		function loadLevelAnnouncer(levelNr){
			$("container").style.zIndex = "-1";
			$("level_announcer").style.zIndex = "1";
			$("level_announcer").style.display = "";

			loadFlash('level' + levelNr + '.swf', 'level_announcer', '800', '600');
		}//loadLevelAnnouncer
		
		function removeLevelAnnouncer(){
			if($("container").style.zIndex == -1 || $("container").style.zIndex == "-1"){
				$("container").style.zIndex = "1";
				$("level_announcer").style.zIndex = "-1";
				$("level_announcer").style.display = "none";
				$("interface_header").style.display = "block";
				$("interface_footer").style.display = "block";
			
				loadQuestion();
			}//if
		}//removeLevelAnnouncer
		
		function changeLevel(levelNr){
			$("interface_header").style.display = "none";
			$("interface_footer").style.display = "none";
			
			getFlashMovie('level').changeLevel(levelNr);
			$("container").setStyle("background-image", "url(./img/bg_level" + levelNr + ".gif)");
			
			loadLevel(levelNr);
		}//changeLevel
		
		function changeName(playerNr, playerName){
			getFlashMovie("naam" + playerNr).changeName(playerName);
		}//changeLevel
		
		function changeKwiesMaster(pose, face){
			getFlashMovie("kwiesmaster").changeKwiesMaster(pose, face);
		}//changeKwiesMaster
		
		function changePoints(playerNr, points){
			getFlashMovie("punten" + playerNr).changePoints(points);
		}//changePoints
		
		function changeKwiesser(playerNr, playerName, playerEmo){
			getFlashMovie("kwiesser" + playerNr).changeKwiesser(playerName, playerEmo);
		}//changeKwiesser
		
		function loadQuestion(){
			new Ajax("./ajx/ajax.php?action=loadQuestion", {
				method: 'get',
				onComplete:function(returnValue){
					updatePoints();
					
					changeKwiesser(1, $("player").value, '-1');
					changeKwiesser(2, getPlayer1(), '-1');
					changeKwiesser(3, getPlayer2(), '-1');
					
					if(returnValue.substring(0, 1) == '*'){
						$("vraagcontainer").style.height = "155px";
						$("vraagcontainer").style.width = "225px";
						$("vraagcontainer").style.overflow = "scroll";
						$('vraagcontainer').innerHTML 	= returnValue.substring(3, returnValue.length);
						$("vraag").style.overflow = "auto";
						$("vraag").style.height = "155px";
						$("vraag").style.height = "250px";
						//$('h2').innerHTML = "Level 1: " + returnValue.substring(1, 2) + "/5 (FOUTE TITEL)";
						$('h2').innerHTML += ": de stand";
						//loadQuestion();
						debug("Result loaded");
					}else{
						$("questionanswered").value		= 0;
						startCountdownTimer();
						
						var randValue = getRandomValue(1, 6);
						changeKwiesMaster('3', randValue);

						$('vraagcontainer').innerHTML 	= returnValue;
						debug("New question loaded");
					}//if
				}//onComplete
			}).request();
		}//loadQuestion
		
		function resetKwies(){
			new Ajax("./ajx/ajax.php?action=resetKwies", {
				method: 'get',
				onComplete:function(returnValue){
					debug("Reset");
				}//onComplete
			}).request();
		}//resetKwies
		
		function answer(answerId, answerChar){
			answerPlayer(answerId, answerChar, $("player").value, 1);
		}//answer
		
		function answerPlayer(answerId, answerChar, playerAniName, playerPlace){
			new Ajax("./ajx/ajax.php?action=answer&answerId=" + answerId + "&playerName=" + playerAniName, {
				method: 'get',
				onRequest: function(){
					$("questionanswered").value		= 1;
					$("vraagcontainer").innerHTML 	= "<img src='./img/loader.gif' alt='' border='0'>"
				},
				onComplete: function(returnValue){
					debug("Answer " + answerId);
					
					changePoints(playerPlace, answerChar);
					switch(playerPlace){
						case 1:	changePoints(2, "-");
								changePoints(3, "-");
								break;
						case 2:	changePoints(1, "-");
								changePoints(3, "-");
								break;
						case 3:	changePoints(1, "-");
								changePoints(2, "-");
								break;
					}//switch
					
					
					if(returnValue.substring(0, 1) == "0"){
						debug('Wrong answer');
						changeKwiesser(playerPlace, playerAniName, '0');
					}//if
					
					if(returnValue.substring(0, 1) == "1"){
						debug('Right answer');
						changeKwiesser(playerPlace, playerAniName, '1');
					}//if
					
					$("vraagcontainer").innerHTML = returnValue.substring(2, returnValue.length);
					
					var randValue = getRandomValue(1, 5);
					changeKwiesMaster('1', randValue);
				}//onComplete
			}).request();
		}//answerPlayer
		
		function updatePoints(){
			new Ajax("./ajx/ajax.php?action=getPoints", {
				method: 'get',
				onComplete:function(returnValue){
					var returnValue = returnValue.split('|');
					changePoints(1, returnValue[0]);
					changePoints(2, returnValue[1]);
					changePoints(3, returnValue[2]);
				}//onComplete
			}).request();
		}//updatePoints
		
		function startCountdownTimer(){
			var iqPlayer1 = $("opponentiqs").value.split('|')[0];
			var iqPlayer2 = $("opponentiqs").value.split('|')[1];
			var startPlayer1 = ((iqPlayer1-80)/5);
			var stopPlayer1 = startPlayer1+6;
			var startPlayer2 = ((iqPlayer2-80)/5);
			var stopPlayer2 = startPlayer2+6;
			
			var answerTime1 = getRandomValue(startPlayer1, stopPlayer1);
			var answerTime2 = getRandomValue(startPlayer2, stopPlayer2);
			
			countdownTimer('20', answerTime1, answerTime2);
		}//startCountdownTimer
		
		function countdownTimer(sec, answerSec1, answerSec2){
			if($("questionanswered").value == '0'){
				if(sec >= 0){
					if(sec <= 5){
						$("tijd").innerHTML = "<span style=\"color: #DF0000;\">" + sec + "</span>";
					}else if(sec <= 10){
						$("tijd").innerHTML = "<span style=\"color: #FF8A00;\">" + sec + "</span>";
					}else{
						$("tijd").innerHTML = "<span style=\"color: #000000;\">" + sec + "</span>";
					}//if
					
					if(sec == answerSec1){
						$("questionanswered").value == '1';
						autoAnswer(2);
						debug('Answer other player');
					}else if(sec == answerSec2){
						$("questionanswered").value == '1';
						autoAnswer(3);
						debug('Answer other player');
					}else{
						window.setTimeout("countdownTimer('" + (parseInt(sec) - 1) + "', '" + answerSec1 + "', '" + answerSec2 + "');", 1000);
					}//if
				}else{
					$("questionanswered").value == '1';
					answer('-', '-');
					debug('Too late');
				}//if
			}//if
		}//countdownTimer
		
		
		
		function autoAnswer(playerPlace){
			//var playerPlace = getRandomValue(2, 3);
			var playerName = (playerPlace == 2 ? getPlayer1() : getPlayer2());
			var answerId = getRandomValue(0, 3);

			answerPlayer(answerId, '!', playerName, playerPlace);
		}//autoAnswer
		
		function getRandomValue(min, max){
			return Math.floor(Math.random() * (max - min + 1) + min);
		}//getRandomValue
		
		function kiesTegenspeler(naam, iq){
			if($("opponents").value.length <= 1){
				$("opponents").value 	= naam + '|';
				$("opponentiqs").value 	= iq + '|';
				
				$("img_" + naam).src 	= "./img/" + naam + "_casual_140_click.png";
			}else{
				if($("opponents").value.match(naam) == null){
					if($("opponents").value.substring($("opponents").value.length, $("opponents").value.length-1) == '|'){
						$("opponents").value 	+= naam;
						$("opponentiqs").value 	+= iq;
						
						$("img_" + naam).src = "./img/" + naam + "_casual_140_click.png";
						
						$("kwiesformvalues").submit();
					}//if
				}else{				
					$("opponents").value 	= $("opponents").value.substring(0, $("opponents").value.indexOf(naam)) + $("opponents").value.substring($("opponents").value.indexOf(naam) + naam.length, 100);
					$("opponents").value 	= $("opponents").value.replace(/\|/, "");
					$("opponents").value 	= $("opponents").value + '|';
					
					$("opponentiqs").value 	= $("opponentiqs").value.substring(0, $("opponentiqs").value.indexOf(iq)) + $("opponentiqs").value.substring($("opponentiqs").value.indexOf(iq) + iq.length, 100);
					$("opponentiqs").value 	= $("opponentiqs").value.replace(/\|/, "");
					$("opponentiqs").value 	= $("opponentiqs").value + '|';
					
					$("img_" + naam).src = "./img/" + naam + "_casual_140_active.png";
				}//if
			}//if
		}//kiesTegenspeler
		
		function mouseOutTegenspeler(naam){
			if($("opponents").value.match(naam) == null){
				$("img_" + naam).src = "./img/" + naam + "_casual_140.png";
			}//if
		}//mouseOutTegenspeler
		
		function mouseOverTegenspeler(naam){
			if($("opponents").value.match(naam) == null){
				$("img_" + naam).src = "./img/" + naam + "_casual_140_active.png";
			}//if
		}//mouseOverTegenspeler
		
		function kiesPersonage(naam){
			if($("player").value.length <= 1){
				$("player").value = naam;
				
				$("img_" + naam).src = "./img/" + naam + "_casual_140_click.png";
				
				$("kwiesformvalues").submit();
			}//if
		}//kiesPersonage
		
		function mouseOutPersonage(naam){
			if($("opponents").value.match(naam) == null){
				$("img_" + naam).src = "./img/" + naam + "_casual_140.png";
			}//if
		}//mouseOutPersonage
		
		function mouseOverPersonage(naam){
			if($("opponents").value.match(naam) == null){
				$("img_" + naam).src = "./img/" + naam + "_casual_140_active.png";
			}//if
		}//mouseOverPersonage
		
		function getPlayer1(){
			return $("opponents").value.substring(0, $("opponents").value.indexOf('|'));
		}//getPlayer1
		
		function getPlayer2(){
			return $("opponents").value.substring($("opponents").value.indexOf('|') + 1, 100);
		}//getPlayer2
		
		function ucfirst(stringValue){
			return stringValue.substr(0, 1).toUpperCase() + stringValue.substr(1);
		}//ucfirst
		
		function disableEnterKey(e){
			 var key;
		
			 if(window.event)
				  key = window.event.keyCode;     //IE
			 else
				  key = e.which;     //firefox
		
			 if(key == 13)
				  return false;
			 else
				  return true;
		}//disableEnterKey
	
		function submitResultForm(){
			new Ajax("./ajx/ajax.php?action=submitResultForm", {
				method: 'post',
				postBody: $('form_result').toQueryString(),
				onComplete:function(returnValue){
					resetKwies();
					$('form_result').innerHTML = "<b>Bedankt!</b> Als u &eacute;&eacute;n van de gelukkige winnaars bent, brengen we u op de hoogte!  U kunt uw kans verhogen, door nogmaals deel te nemen: <a href=\"#\" onclick=\"window.open('./', '_self'); return false;\" style=\"color: #FFF;\">klik hier om opnieuw te spelen</a>.";
				}//onComplete
			}).request();
		}//submitResultForm
