// ============================================
// WieKentMiljonairs
// (c) Marcel Fritschy 2000, 2001
// Niets uit dit bestand mag worden gekopieerd.
// ============================================

// Determine browser.
var isMinNS4 = (navigator.appName.indexOf("Netscape") >= 0 &&
                parseFloat(navigator.appVersion) >= 4) ? 1 : 0;
//var isMinIE4 = (document.all) ? 1 : 0;
var isMinIE4 = 1;

var bedragen = new Array(0,50,100,250,500,1000,2000,4000,8000,16000,32000,64000,125000,250000,500000,1000000);
var busy = true;
var einde = false;
var index = new Array (3);
var absoffset = new Array (3);
var tableoffset = new Array (3);
var indexname = "vraagindex";
var level;
var tabel = new Array();
var hulpleeg = new Image();
hulpleeg.src = "hulpleeg.gif";
var hulp5050 = new Image();
hulp5050.src = "hulp5050.gif";
var hulptelefoon = new Image();
hulptelefoon.src = "hulptelefoon.gif";
var hulppubliek = new Image();
hulppubliek.src = "hulppubliek.gif";
var letters = new Array(" ","A","B","C","D");
var dhtmlwin = 0;
var Lmessage;
var Lfout;
var Lpubl;
var Lpubl1;
var Lpubl2;
var Lpubl3;
var Lpubl4;
var msg_field;
var msg_text;
var msg_length;
var msg_action;
var msg_layer;
var ayAudio = new Array();
ayAudio[0] = "goed.au";

function add(lvl,qst,a1,a2,a3,a4,a) {
tabel[tabel.length] = new Array(lvl,qst,a1,a2,a3,a4,a);
}

function AudioCheck() {
	var n = navigator.appName;
	var v = parseInt(navigator.appVersion);
	if (document.velden.elements.geluid.checked == false)
	this.noAudio = true;
	// else if (n=="Netscape" && v>=4) this.ns = true; // geluid werkt niet in firefox
	else if (n=="Microsoft Internet Explorer" && v>=4 && document.all) this.ie = true;
	else this.noAudio = true;
}

function loadAudio() {
	is = new AudioCheck()
	if (is.noAudio) return;

	var s = '';
	for (i=0; i<ayAudio.length; i++)
	s += "<EMBED SRC='"+ayAudio[i]+"' AUTOSTART='FALSE' HIDDEN='TRUE'>"

	if (is.ns) {
		auEmb = new Layer(0);
		with (auEmb.document) { open();write(s);close() };
	}
	else document.body.insertAdjacentHTML("BeforeEnd",s);

	auCon = is.ns? auEmb.document.embeds:auIEEmb;
	auCon.ctrl = function(au,play) {
		if (is.ie) this.src = play? ayAudio[au]:'';
		else eval( "this[au]." + (play? "play()":"stop()") );
	}
	is.auDone = true;
}

function playAudio(form, whAu) {
	if (form.elements.geluid.checked)
		if (window.auCon)
			auCon.ctrl(whAu,1)
}

function toggleSound (form)
{
	setCookie("geluid", form.elements.geluid.checked);
	if (form.elements.geluid.checked)
		alert ("Vanaf de volgende ronde krijg je geluid bij 1000 punten of hoger");
}

function setKeyFocus ()
{
	if (isMinIE4)
		document.forms["velden"].elements.keyfield.focus();
}

function checkGeluid() {
	var geluidname = "geluid";

	geluid = getCookie(geluidname);
	if (geluid == null) {
		geluid = false;
		setCookie (geluidname, geluid);
		}
	document.velden.elements.geluid.checked = eval(geluid);
}

function highlightBedrag(x,highlight) {
	var lScore;
	if ((x < 1)) return;
	lScore = MWJ_findObj("scoretabel"+(16-x));
	if (highlight) {
		lScore.style.backgroundColor = "White"
		lScore.style.color = "Black"
		}
	else {
		lScore.style.backgroundColor = "transparent"
		lScore.style.color = "Yellow"
		}
}

function beginStand() {
	bedragindex=0;
	bedrag=0;
	level=startlevel;
	hulplijnen=3;
	document["hulp1"].src = hulp5050.src;
	document["hulp1"].alt = "gebruik hulplijn 50:50";
	document["hulp2"].src = hulptelefoon.src;
	document["hulp2"].alt = "gebruik hulplijn telefoon";
	document["hulp3"].src = hulppubliek.src;
	document["hulp3"].alt = "gebruik hulplijn publiek";
}

function volgendeVraag ()
{
	if (bedragindex > 1)
		highlightBedrag(bedragindex - 1,false);
	if (bedragindex > 0)
		highlightBedrag(bedragindex,true);
	if	(bedrag == 1000000) {
		var ts, sid;
		var nu = new Date();
		var year;
		year = nu.getYear();
		if (year < 1000) year += 1900;
		ts = "ts=" + numConv(year,4) + numConv(nu.getMonth()+1,2) + numConv(nu.getDate(),2) + numConv(nu.getHours(),2) + numConv(nu.getMinutes(),2) + numConv(nu.getSeconds(),2);
		sid=7;
		for (i=0; i<=13; i++) {
			sid = ((sid + Number(ts.substr(i+3,1))) * (i+1))%1000000;
			}
		for (i=13; i>=0; i--)
			sid = (((sid+1) * (Number(ts.substr(i+3,1))+1)) + i)%1000000;
		window.location = "http://www.kindertent.com/php/wkm/winnaar.php?level="+(startlevel+1)+"&hulplijnen="+hulplijnen+"&"+ts+"&sid="+sid;
		bedrag = 9999999;
		return;
		}
	while ((++index[level] < tabel.length) && (tabel[index[level]][0] != level));
	if	(index[level] >= tabel.length) {
		index[level] = -1;
		while ((++index[level] < tabel.length) && (tabel[index[level]][0] != level));
		}
	setCookie(indexname+level, (index[level] + absoffset[level] - tableoffset[level]));
}

function presenteerVraag (form)
{
	if (isMinIE4) {
		MWJ_changeVisibility (Lmessage, false);
    }
	if (bedrag == 9999999)
		return;
  form.elements.vraag.style.color = "White";
	form.elements.vraag.value = tabel [index[level]] [1];
	form.elements.antwoord1.value = "A: " + tabel [index[level]] [2];
	form.elements.antwoord2.value = "B: " + tabel [index[level]] [3];
	form.elements.antwoord3.value = "C: " + tabel [index[level]] [4];
	form.elements.antwoord4.value = "D: " + tabel [index[level]] [5];
	setKeyFocus ();
	busy = false;
}

function antwoordFout(keuze)
{
var left, top;
var obj;

  einde = true;
  // alert (MWJ_findObj("antwoord1").onmouseover); // test
  MWJ_findObj("antwoord1").onmouseover = MWJ_findObj("antwoord1").onmouseout = MWJ_findObj("antwoord1").onclick = "";
  MWJ_findObj("antwoord2").onmouseover = MWJ_findObj("antwoord2").onmouseout = MWJ_findObj("antwoord2").onclick = "";
  MWJ_findObj("antwoord3").onmouseover = MWJ_findObj("antwoord3").onmouseout = MWJ_findObj("antwoord3").onclick = "";
  MWJ_findObj("antwoord4").onmouseover = MWJ_findObj("antwoord4").onmouseout = MWJ_findObj("antwoord4").onclick = "";
  MWJ_findObj("hulplijn1").disabled = true;
  MWJ_findObj("hulplijn1").onclick = "return false;";
  MWJ_findObj("hulplijn2").disabled = true;
  MWJ_findObj("hulplijn2").onclick = "return false;";
  MWJ_findObj("hulplijn3").disabled = true;
  MWJ_findObj("hulplijn3").onclick = "return false";

  obj = MWJ_findObj("antwoord" + tabel[index[level]][6]);
  obj.style.backgroundColor = 'Green';
  obj.style.color = 'White';
  obj = MWJ_findObj("antwoord" + keuze);
  obj.style.backgroundColor = 'Red';
  obj.style.color = 'White';

	left = (MWJ_getSize()[0] / 2) - 40;
  var temp = MWJ_getScroll();
	top = 228 - temp[1]; // subtract vertical scroll offset
  eval ("dhtmlwin = dhtmlwindow.open('divbox', 'div', Lfout, 'Wie-Kent-Miljonairs', 'width=260px,height=185px,left=" + left + "px,top=" + top + "px,resize=0,scrolling=0');");
}

function eersteVraag()
{
checkdomain = parent.frames["navbar"].location.href; // fout bij cross domain frames
if (isMinIE4) {
	Lmessage = "boodschap";
	Lfout = "fout";
	Lpubl = "publiekgraph";
	Lpubl1 = "graphbar1";
	Lpubl2 = "graphbar2";
	Lpubl3 = "graphbar3";
	Lpubl4 = "graphbar4";
	}

checkGeluid();
laadVragen();
beginStand();
volgendeVraag ();
presenteerVraag (document.velden);
for (x=1; x<=15; x++) {
	setTimeout ("highlightBedrag("+x+",true)",x*100)
	setTimeout ("highlightBedrag("+x+",false)",(x*100)+99)
	}
loadAudio();
}

function numConv (nr, width)
{ // return getal met voorloopnullen
var temp = " " + (Math.pow(10,width) + nr);
return temp.substring(2,width+2);
}

function display ()
{
var left, top, right, bottom, width, height;

if (msg_length == 0) {
  MWJ_changeContents(msg_layer, "");
  MWJ_changeVisibility (msg_layer, true);
  }
if (msg_length >= msg_text.length) {
	if (msg_action != "")
		setTimeout (msg_action, 500);
	return;
	}
MWJ_changeContents(msg_layer, msg_text.substring(0,msg_length + 1));
msg_length++;
if (msg_text.substring(msg_length - 3, msg_length) == "...")
  setTimeout ("display()",500);
else
  setTimeout ("display()",20);
}

function Antwoord(form, keuze)
{
var geldig;
//var left, top;

	if	(busy == true)
		return;
	eval ('geldig = (form.elements.antwoord'+keuze+'.value != "");'); // 50:50
	if (geldig == false) {
		return;
		}
	busy = true;

	if	(keuze == tabel[index[level]] [6]) {
		bedrag = bedragen[++bedragindex];
		if (isMinIE4) {
			if (dhtmlwin) {
        dhtmlwin.close();
        dhtmlwin = 0;
        }
  		MWJ_changeVisibility (Lmessage, false);
			msg_layer = Lmessage;
			msg_text = "Antwoord " + letters[keuze] + " is ... GOED!";
			msg_action = 'volgendeVraag (); presenteerVraag (document.velden);';
			if (bedrag >= 1000)
				msg_action += 'playAudio(document.velden, 0);';
			msg_length = 0;
			display ();
			}
		else {
			if (bedrag >= 1000) playAudio(form, 0);
			alert('Antwoord " + letters[keuze] + " is goed!\nJe hebt ' + bedrag + " punten");
			}
		}
	else {
		if (isMinIE4) {
  		MWJ_changeVisibility (Lmessage, false);
			msg_layer = Lmessage;
			msg_text = "Antwoord " + letters[keuze] + " is ... FOUT!     Het moest " + letters[tabel[index[level]][6]] + " zijn.";
      msg_action = "antwoordFout(" + keuze + ")";
			msg_length = 0;
			display ();
			}
		else
		if	(confirm("Antwoord " + letters[keuze] + " is helaas fout. Het moest " + letters[tabel[index[level]][6]] + " zijn.\nWil je opnieuw beginnen?"))
			window.location.reload();
		else
			window.location = "wkmeind.htm";
		return;
		}

	if	((bedrag == 1000) || (bedrag == 32000))
		level++;

	if (!isMinIE4) {
		volgendeVraag ();
		presenteerVraag (form);
		}
}

function antwoordToets (form)
{
var antwoorden = "1aA2bB3cC4dD";
var antwoordnr = antwoorden.indexOf(form.value);

if	(busy == true)
	return;
if (form.value == "") return;
form.value = "";
if (antwoordnr == -1) return;
antwoordnr = Math.floor(antwoordnr / 3) + 1;
Antwoord(document.forms["velden"], antwoordnr);
}

function toonStatustekst (hulplijnnr)
{
	naam = "hulp"+hulplijnnr;
	if (document[naam].src == hulpleeg.src) {
		window.status = '';
		return;
		}
	switch (hulplijnnr) {
	case 1: // 50:50
		window.status='hulplijn 50:50 om twee antwoorden over te houden';
		break;
	case 2: // telefoon
		window.status='hulplijn telefoon geeft bijna altijd het juiste antwoord';
		break;
	case 3: // publiek
		window.status='hulplijn publiek geeft bijna altijd het juiste antwoord';
		break;
	}
}

function compareNumbers(a, b) {
   return b - a;
}

function doeHulplijn (form, btn)
{
var leeg = "        ";
var left, top;
curtime = new Date ();
	
	window.status = '';
  if (einde) return;
	switch (btn) {
	case 1: // 50:50
    MWJ_findObj("hulplijn1").disabled = true;
		setKeyFocus ();
		if (document["hulp1"].src == hulpleeg.src)
			return;
		antwoord = tabel[index[level]] [6];
		if	(antwoord < 3) {
			document.velden.elements.antwoord3.value = "";
			document.velden.elements.antwoord4.value = "";
			}
		else {
			document.velden.elements.antwoord1.value = "";
			document.velden.elements.antwoord2.value = "";
			}
		document["hulp1"].src = hulpleeg.src;
		document["hulp1"].alt = "";
		hulplijnen--;
		break;
	case 2: // telefoon
		if (document["hulp2"].src == hulpleeg.src)
			return;
    MWJ_findObj("hulplijn2").disabled = true;
		getal = curtime.getSeconds()%10;
		if	(getal == 9) {
			antwoord = (curtime.getSeconds()&3) + 1;
			if (curtime.getSeconds()%4 == 0)
				zeker = "bijna";
			else
				zeker = "niet";
			}
		else {
			if (getal < 2)
				zeker = "bijna"
			else
				zeker = "helemaal";
			antwoord = tabel[index[level]][6];
			}
		if (eval("document.velden.elements.antwoord"+antwoord+".value") == "")
			antwoord = tabel[index[level]][6];
		msg_text = "Ik zeg antwoord " + letters[eval(antwoord)] + ". Ik weet het " + zeker + " zeker.";
		document["hulp2"].src = hulpleeg.src;
		document["hulp2"].alt = "";
		hulplijnen--;
		if (isMinIE4) {
			busy = true;
			msg_layer = Lmessage;
			msg_action = 'setKeyFocus(); busy=false;';
			msg_length = 0;
			display ();
			}
		else {
			alert(msg_text);
			setKeyFocus();
			}
		break;
	case 3: // publiek
		if (document["hulp3"].src == hulpleeg.src)
			return;
    MWJ_findObj("hulplijn3").disabled = true;
		document["hulp3"].src = hulpleeg.src;
		document["hulp3"].alt = "";
		hulplijnen--;
		waarde = new Array(4);
		sortwaarde = new Array(4);
		waarde[0] = (curtime.getTime()+curtime.getMinutes()) % 100;
		waarde[1] = (curtime.getTime()+curtime.getSeconds()) % (100 - waarde[0]);
		waarde[2] = (curtime.getTime()+curtime.getHours()) % (100 - waarde[0] - waarde[1]);
		waarde[3] = 100 - waarde[0] - waarde[1] - waarde[2];
		for (i=0; i<4; i++)
			if (eval("document.velden.elements.antwoord"+(i+1)+".value") == "") {
				waarde[tabel[index[level]][6] - 1] += waarde[i];
				waarde[i] = 0;
				}
		for (i=0; i<4; i++) sortwaarde[i] = waarde[i];
		sortwaarde.sort(compareNumbers);
		if ((sortwaarde[0] - sortwaarde[1] < 15)
		&&  (curtime.getSeconds()%8 == 0))
			goedwaarde = sortwaarde[1];
		else
			goedwaarde = sortwaarde[0];
		for (i=0; i<4; i++)
			if (waarde[i] == goedwaarde) {
				savewaarde = waarde[tabel[index[level]][6] - 1];
				waarde[tabel[index[level]][6] - 1] = waarde[i];
				waarde[i] = savewaarde;
				break;
				}
		if (isMinIE4) {
			busy = true;
			msg_layer = Lmessage;
			msg_text = "Het publiek geeft deze antwoorden:";
			left = Math.floor(132 + MWJ_getSize()[0] / 2);
      var temp = MWJ_getScroll();
			top = 166 - temp[1]; // subtract vertical scroll offset
			msg_action = "dhtmlwin = dhtmlwindow.open('divbox', 'div', Lpubl, 'Hulplijn: Publiek', 'width=164px,height=252px,left=" + left + "px,top=" + top + "px,resize=0,scrolling=0');setKeyFocus();busy = false;";
      MWJ_changeContents("perc1", waarde[0] + "%");
      MWJ_changeContents("perc2", waarde[1] + "%");
      MWJ_changeContents("perc3", waarde[2] + "%");
      MWJ_changeContents("perc4", waarde[3] + "%");
      MWJ_changeContents(Lpubl1, '<img src="graphdot.gif" width="20" height="' + waarde[0]*2 + '">');
      MWJ_changeContents(Lpubl2, '<img src="graphdot.gif" width="20" height="' + waarde[1]*2 + '">');
      MWJ_changeContents(Lpubl3, '<img src="graphdot.gif" width="20" height="' + waarde[2]*2 + '">');
      MWJ_changeContents(Lpubl4, '<img src="graphdot.gif" width="20" height="' + waarde[3]*2 + '">');
			msg_length = 0;
			display ();
			}
		else {
			msg_text = "Het publiek geeft de volgende antwoorden:\nA: "+waarde[0]+"%\nB: "+waarde[1]+"%\nC: "+waarde[2]+"%\nD: "+waarde[3]+"%";
			alert(msg_text);
			setKeyFocus();
			}
			break;
	}
}
