// ============================================
// ============================================
var bedragen = new Array(0,50,100,250,500,1000,2000,4000,8000,16000,32000,64000,125000,250000,500000,1000000);
var aantalvragen1 = 40;
var aantalvragen2 = 40;
var aantalvragen3 = 40;
var busy = true;
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 hulpleeg1 = new Image();
hulpleeg1.src = "delen2.gif";
var hulpleeg2 = new Image();
hulpleeg2.src = "bellen2.gif";
var hulpleeg3 = new Image();
hulpleeg3.src = "zaal2.gif";
var delen = new Image();
delen.src = "delen.gif";
var bellen = new Image();
bellen.src = "bellen.gif";
var zaal = new Image();
zaal.src = "zaal.gif";
var letters = new Array(" ","A","B","C","D");
var Lgoed;
var Lfout;
var Lextrafout;
var Lhulplijn;
var Lpubl;
var Lpubl1;
var Lpubl2;
var Lpubl3;
var Lpubl4;
var msg_field;
var msg_text;
var msg_action;
var msg_layer;
var msg_layer_step;

function add(lvl,qst,a1,a2,a3,a4,a) {
tabel[tabel.length] = new Array(lvl,qst,a1,a2,a3,a4,a);
}

function setKeyFocus ()
{
	if (isMinNS4)
		document.Lkey.document.forms["letter"].keyfield.focus();
	if (isMinIE4)
		document.forms["letter"].elements.keyfield.focus();
}

function highlightBedrag(x,highlight) {
	var lScore;
	if ((!isMinIE4) || (x < 1)) return;
	lScore = getLayer("scoretabel"+(16-x));
	if (highlight) {
		lScore.style.backgroundColor = "#C00000"
		lScore.style.color = "White"
		}
	else {
		lScore.style.backgroundColor = "transparent"
		lScore.style.color = "#FB7C11"
		}
}

function beginStand() {
	bedragindex=0;
	bedrag=0;
	level=startlevel;
	hulplijnen=3;
	document["hulp1"].src = delen.src;
	document["hulp1"].alt = "50:50";
	document["hulp2"].src = bellen.src;
	document["hulp2"].alt = "telefoon";
	document["hulp3"].src = zaal.src;
	document["hulp3"].alt = "publiek";
	document.velden.elements.bedrag.value = bedrag;
}

function volgendeVraag ()
{
	if (bedragindex > 1)
		highlightBedrag(bedragindex - 1,false);
	if (bedragindex > 0)
		highlightBedrag(bedragindex,true);
	if	(bedrag == 1000000) {
		var ts, id;
		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);
		id=7;
		for (i=0; i<=13; i++) {
			id = ((id + Number(ts.substr(i+3,1))) * (i+1))%1000000;
			}
		for (i=13; i>=0; i--)
			id = (((id+1) * (Number(ts.substr(i+3,1))+1)) + i)%1000000;
		window.location = "./winnaar.php?level="+(startlevel+1)+"&hulplijnen="+hulplijnen+"&"+ts+"&id="+id;
		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)
		clipLayer(Lgoed,0,0,0,0); //ipv hideLayer(workaround ie6 bug)
	if (bedrag == 9999999)
		return;
	form.elements.vraag.value = tabel [index[level]] [1];
	form.elements.keuze1.checked = false;
	form.elements.antwoord1.value = tabel [index[level]] [2];
	form.elements.keuze2.checked = false;
	form.elements.antwoord2.value = tabel [index[level]] [3];
	form.elements.keuze3.checked = false;
	form.elements.antwoord3.value = tabel [index[level]] [4];
	form.elements.keuze4.checked = false;
	form.elements.antwoord4.value = tabel [index[level]] [5];
	setKeyFocus ();
	busy = false;
}

function eersteVraag()
{
if (isMinIE4) {
	Lgoed = getLayer("antwgoed");
	Lfout = getLayer("antwfout");
	Lextrafout = getLayer("extrafout");
	Lhulplijn = getLayer("hulplijn");
	Lpubl = getLayer("publiekgraph");
	Lpubl1 = getLayer("graphbar1");
	Lpubl2 = getLayer("graphbar2");
	Lpubl3 = getLayer("graphbar3");
	Lpubl4 = getLayer("graphbar4");
	}
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)
	}
}

function numConv (nr, width)
{ // return getal met voorloopnullen
var temp = " " + (Math.pow(10,width) + nr);
return temp.substring(2,width+2);
}

function display ()
{
var msg_length;
var left, top, right, bottom, width, height;

if (msg_layer_step < 20) {
	if (msg_layer_step == 0)
		showLayer (msg_layer);
	msg_layer_step++; // 1-20
	left = getLeft(msg_layer);
	top = getTop(msg_layer);
	right = getRight(msg_layer);
	bottom = getBottom(msg_layer);
	width = right - left;
	height = bottom - top;
	clipLayer (msg_layer, left + Math.floor(width/2) - (width*msg_layer_step)/20, top + Math.floor(height/2) - (height*msg_layer_step)/20, right - Math.floor(width/2) + (width*msg_layer_step)/20, bottom - Math.floor(height/2) + (height*msg_layer_step)/20);
	if (msg_layer_step < 20) {
		setTimeout("display()",10);
		return;
		}
	}
msg_length = msg_field.value.length;
if (msg_length >= msg_text.length) {
	if (msg_action != "")
		setTimeout (msg_action, 750);
	return;
	}
msg_field.value = msg_text.substring(0,msg_length + 1);
setTimeout("display()",10);
}

function Antwoord(form, keuze)
{
var geldig;

	if	(busy == true)
		return;
	eval ('geldig = (form.elements.antwoord'+keuze+'.value != "");'); // 50:50
	if (geldig == false) {
		eval ('form.elements.keuze'+keuze+'.checked = false');
		return;
		}
	busy = true;

	eval ('form.elements.keuze'+keuze+'.checked = true');
	eval ('form.elements.keuze'+keuze+'.focus()');

	if	(keuze == tabel[index[level]] [6]) {
		bedrag = bedragen[++bedragindex];
		if (isMinIE4) {
			hideLayer(Lpubl);
			hideLayer(Lhulplijn);
			msg_layer = Lgoed;
			msg_field = document.forms["popupgoed"].elements.popuptext;
			msg_text = "Het antwoord is...................................................... GOED!";
			msg_action = 'document.forms["velden"].elements.bedrag.value = bedrag; volgendeVraag (); presenteerVraag (document.velden);';
			msg_layer_step = 0;
			msg_field.value = "";
			display ();
			}
		else {
			alert('Het antwoord is goed!\nJe hebt ' + bedrag + " punten");
			form.elements.bedrag.value = bedrag;
			}
		}
	else {
		if (isMinIE4) {
			hideLayer(Lpubl);
			hideLayer(Lhulplijn);
			msg_layer = Lfout;
			msg_field = document.forms["popupfout"].elements.popuptext;
			msg_text = "Het antwoord is............................................... FOUT!\nHet juiste antwoord is " + letters[tabel[index[level]][6]] + ".";
			msg_action = 'showLayer (Lextrafout)';
			msg_layer_step = 0;
			msg_field.value = "";
			display ();
			}
		else
		if	(confirm("Het antwoord is helaas fout. Het moest " + letters[tabel[index[level]][6]] + " zijn.\nWil je opnieuw beginnen?"))
			window.location.reload();
		else
			window.location = "einde.html";
		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);
}

offMessage = "Christian Miljonairs";
function boxOn(which,hulplijnnr) {
	naam = "hulp"+hulplijnnr;
  if (document[naam].src == hulpleeg1.src) {
  	Message.innerHTML = "De hulplijn 50:50 kan niet meer gebruikt worden.";
  }
  if (document[naam].src == hulpleeg2.src) {
  	Message.innerHTML = "De hulplijn telefoon kan niet meer gebruikt worden.";
  }
  if (document[naam].src == hulpleeg3.src) {
  	Message.innerHTML = "De hulplijn publiek kan niet meer gebruikt worden.";
  }
  else {
  	if (document.all||document.getElementById) {
      which.className = 'BorderOn';
      if (document.getElementById) {
      	switch (hulplijnnr) {
					case 1: // 50:50
						document.getElementById("Message").innerHTML = "hulplijn 50:50 om twee antwoorden over te houden";
					break;
					case 2: // telefoon
						document.getElementById("Message").innerHTML = "hulplijn telefoon geeft altijd het juiste antwoord";
					break;
					case 3: // publiek
						document.getElementById("Message").innerHTML = "hulplijn publiek geeft altijd het juiste antwoord";
					break;
				}
      }
      else {
      	Message.innerHTML = "a";
      }
  	}
  }
  status="b";
	defaultStatus="c";
}

function boxOff(which) 
{
    if (document.all||document.getElementById) 
    {
        which.className = 'BorderOff';
        if (document.getElementById) 
        {
            document.getElementById("Message").innerHTML = offMessage
        }
        else 
        {
            Message.innerHTML = offMessage;
        }
    }
    defaultStatus=offMessage;
}

function compareNumbers(a, b) {
   return b - a;
}

function doeHulplijn (form, btn)
{
var leeg = "        ";
curtime = new Date ();
	
	window.status = '';
	switch (btn) {
	case 1: // 50:50
		setKeyFocus ();
		if (document["hulp1"].src == hulpleeg1.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 = hulpleeg1.src;
		document["hulp1"].alt = "";
		hulplijnen--;
		break;
	case 2: // telefoon
		if (document["hulp2"].src == hulpleeg2.src)
			return;
		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 = hulpleeg2.src;
		document["hulp2"].alt = "";
		hulplijnen--;
		if (isMinIE4) {
			busy = true;
			msg_layer = Lhulplijn;
			msg_layer_step = 0;
			msg_field = document.forms["popuphulplijn"].elements.popuptext;
			msg_field.value = "";
			msg_action = 'setKeyFocus(); busy=false;';
			display ();
			}
		else {
			alert(msg_text);
			setKeyFocus();
			}
		break;
	case 3: // publiek
		if (document["hulp3"].src == hulpleeg3.src)
			return;
		document["hulp3"].src = hulpleeg3.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 = Lhulplijn;
			msg_layer_step = 0;
			msg_text = "Het publiek geeft deze antwoorden:";
			msg_field = document.forms["popuphulplijn"].elements.popuptext;
			msg_field.value = "";
			msg_action = 'showLayer (Lpubl);setKeyFocus();busy = false;';
			document.forms["popuphulplijn"].elements.text1.value = "A: " + waarde[0] + "%";
			document.forms["popuphulplijn"].elements.text2.value = "B: " + waarde[1] + "%";
			document.forms["popuphulplijn"].elements.text3.value = "C: " + waarde[2] + "%";
			document.forms["popuphulplijn"].elements.text4.value = "D: " + waarde[3] + "%";
			clipLayer (Lpubl1, 0, 0, 300*waarde[0]/100, 15);
			clipLayer (Lpubl2, 0, 0, 300*waarde[1]/100, 15);
			clipLayer (Lpubl3, 0, 0, 300*waarde[2]/100, 15);
			clipLayer (Lpubl4, 0, 0, 300*waarde[3]/100, 15);
			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;
	}
}

