/*Example message arrays for the two demo scrollers*/

var pausecontent=new Array()
pausecontent[0]='Wat is de vierde planeet vanaf de aarde?<br /><a onclick=\"scroll()\">- Mars</a><br /><a href="index.php?mode=questionviewer">- Venus</a><br /><a href="index.php?mode=questionviewer">- Jupiter</a><br />'
pausecontent[1]='Wat is de vijfde planeet vanaf de aarde?<br /><a href="index.php?mode=questionviewer">- Mars</a><br /><a href="index.php?mode=questionviewer">- Venus</a><br /><a href="index.php?mode=questionviewer">- Jupiter</a><br />'
pausecontent[2]='Wat is de zesde planeet vanaf de aarde?<br /><a href="index.php?mode=questionviewer">- Mars</a><br /><a href="index.php?mode=questionviewer">- Venus</a><br /><a href="index.php?mode=questionviewer">- Jupiter</a><br />'

/***********************************************
* Pausing up-down scroller- © Dynamic Drive (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/

function pausescroller(content, points, divId, divClass, delay, Zid, nrq){
this.content=content //message array content
this.tickerid=divId //ID of ticker div to display information
this.delay=delay //Delay between msg change, in miliseconds.
this.mouseoverBol=0 //Boolean to indicate whether mouse is currently over scroller (and pause it if it is)
this.hiddendivpointer=1 //index of message array for hidden div
this.Zid = Zid //Zid of the quiz
this.nrq = nrq //Number of questions in quiz
this.points = points //Punten van iedere vraag
this.question = 0 //Number of the actual question in focus
this.scroll = false //Answer is given, we can scroll
var question = document.getElementById("question");
//var points = document.getElementById("points");
document.write('<div id="'+divId+'" class="'+divClass+'" style="position: relative; overflow: hidden"><div class="innerDiv" style="position: absolute; width: 100%" id="'+divId+'1">'+content[0]+'</div><div class="innerDiv" style="position: absolute; width: 100%; visibility: hidden" id="'+divId+'2">'+content[1]+'</div></div>')
var scrollerinstance=this
if (window.addEventListener) //run onload in DOM2 browsers
window.addEventListener("load", function(){scrollerinstance.initialize()}, false)
else if (window.attachEvent) //run onload in IE5.5+
window.attachEvent("onload", function(){scrollerinstance.initialize()})
else if (document.getElementById) //if legacy DOM browsers, just start scroller after 0.5 sec
setTimeout(function(){scrollerinstance.initialize()}, 500)
}

// -------------------------------------------------------------------
// initialize()- Initialize scroller method.
// -Get div objects, set initial positions, start up down animation
// -------------------------------------------------------------------

pausescroller.prototype.initialize=function(){
this.tickerdiv=document.getElementById(this.tickerid)
this.visiblediv=document.getElementById(this.tickerid+"1")
this.hiddendiv=document.getElementById(this.tickerid+"2")
this.visibledivtop=parseInt(pausescroller.getCSSpadding(this.tickerdiv))
//set width of inner DIVs to outer DIV's width minus padding (padding assumed to be top padding x 2)
this.visiblediv.style.width=this.hiddendiv.style.width=this.tickerdiv.offsetWidth-(this.visibledivtop*2)+"px"
this.getinline(this.visiblediv, this.hiddendiv)
this.hiddendiv.style.visibility="visible"
var scrollerinstance=this
//document.getElementById(this.tickerid).onmouseover=function(){scrollerinstance.mouseoverBol=1}//
//document.getElementById(this.tickerid).onmouseout=function(){scrollerinstance.mouseoverBol=0}//
if (window.attachEvent) //Clean up loose references in IE
window.attachEvent("onunload", function(){scrollerinstance.tickerdiv.onmouseover=scrollerinstance.tickerdiv.onmouseout=null})
//setTimeout(function(){scrollerinstance.animateup()}, this.delay) //
}


// -------------------------------------------------------------------
// animateup()- Move the two inner divs of the scroller up and in sync
// -------------------------------------------------------------------

pausescroller.prototype.animateup=function(){

var scrollerinstance=this
if (parseInt(this.hiddendiv.style.top)>(this.visibledivtop+5)){
this.visiblediv.style.top=parseInt(this.visiblediv.style.top)-5+"px"
this.hiddendiv.style.top=parseInt(this.hiddendiv.style.top)-5+"px"
setTimeout(function(){scrollerinstance.animateup()}, 5)
}
else{
this.getinline(this.hiddendiv, this.visiblediv)
this.swapdivs()
//setTimeout(function(){scrollerinstance.setmessage()}, this.delay)//
scrollerinstance.setmessage()
}
}



// -------------------------------------------------------------------
// swapdivs()- Swap between which is the visible and which is the hidden div
// -------------------------------------------------------------------

pausescroller.prototype.swapdivs=function(){
var tempcontainer=this.visiblediv
this.visiblediv=this.hiddendiv
this.hiddendiv=tempcontainer
}

pausescroller.prototype.getinline=function(div1, div2){
div1.style.top=this.visibledivtop+"px"
div2.style.top=Math.max(div1.parentNode.offsetHeight, div1.offsetHeight)+"px"
}

// -------------------------------------------------------------------
// setmessage()- Populate the hidden div with the next message before it's visible
// -------------------------------------------------------------------

pausescroller.prototype.setmessage=function(){
var scrollerinstance=this
//if (this.mouseoverBol==1) //if mouse is currently over scoller, do nothing (pause it)//
//setTimeout(function(){scrollerinstance.setmessage()}, 100)//
//else{//
var i=this.hiddendivpointer
var ceiling=this.content.length
this.hiddendivpointer=(i+1>ceiling-1)? 0 : i+1
this.hiddendiv.innerHTML=this.content[this.hiddendivpointer]
//this.animateup()//
//}//
}

pausescroller.getCSSpadding=function(tickerobj){ //get CSS padding value, if any
if (tickerobj.currentStyle)
return tickerobj.currentStyle["paddingTop"]
else if (window.getComputedStyle) //if DOM2
return window.getComputedStyle(tickerobj, "").getPropertyValue("padding-top")
else
return 0
}


//-------------------------------
// my own functions
//-------------------------------

function scroll() {
				
				if (scroller.scroll) {
				    //alert('scrolling');
    				temp = scroller.question;
    				if ((temp+1) < scroller.nrq) {
							  scroller.animateup();
								scroller.scroll = false;
								document.getElementById("next").innerHTML = "";
								
            		//Increase question number
            				temp = temp + 1;
										scroller.question = temp;
										display = temp + 1;
										temp = display.toString();
										document.getElementById("questionnr").innerHTML = temp;
										
								//Display points of question
            				temp = scroller.points[scroller.question];
										document.getElementById("points").innerHTML = temp.toString();
										
						
    				}
    				else {
    						scroller.scroll = false;
								document.getElementById("next").innerHTML = "";
								//alert('end of quiz');
    				}
						
				}
				
}

function keyCtrl(evt){
  //alert('in event');
	var key = (evt.which) ? evt.which : evt.keyCode;
	
	if (key == 32){ //Enter: key code = 13 || String.fromCharCode(key)=="n" 

		if (scroller.scroll) {
			//alert('scrolling');
			temp = scroller.question;
			if ((temp+1) < scroller.nrq) {
				scroller.animateup();
				scroller.scroll = false;
				document.getElementById("next").innerHTML = "";
								
				//Increase question number
				temp = temp + 1;
				scroller.question = temp;
				display = temp + 1;
				temp = display.toString();
				document.getElementById("questionnr").innerHTML = temp;
										
				//Display points of question
				temp = scroller.points[scroller.question];
				document.getElementById("points").innerHTML = temp.toString();
			}
			else {
				scroller.scroll = false;
				document.getElementById("next").innerHTML = "";
				document.theTimer.submit();
				Stop();
				//alert('end of quiz');
			}
		}
	}
	
}

function answer(qid,answer) {
				 //alert('You have answered'+qid +" "+answer);
				 idstring = "answer_" + qid + "_" + answer;
				 hiddenidstring = "hiddenanswer_" + qid;
				 //alert(idstring);
				 document.getElementById(idstring).checked = true;
				 document.getElementById(hiddenidstring).value = answer;
				 
				 //alert(document.getElementById(idstring).checked);
				 scroller.scroll = true;
				 temp = scroller.question  ;
				 if ((temp +1)< scroller.nrq) {
				 				 document.getElementById("next").innerHTML = "Next question (press Spacebar)";
				 }
				 else {
				 			   document.getElementById('stopquiz').disabled=false;
				 }
				 				 
}

function countdown3() {
				 
				 setTimeout(function(){countdown2()},1500);
				 Reset();
				 try
         {
          	scroller.animateup();
         }
         catch(err)
         {
            //alert('There was an error');
         }
				 
}

function countdown2() {
				 setTimeout(function(){countdown1()},1500);
				 //alert('test');
				 try
         {
				 		scroller.animateup();
				 }
         catch(err)
         {
            //alert('There was an error');
         }
}

function countdown1() {
				 setTimeout(function(){scroller.animateup()},1500);
				 setTimeout(function(){Start()},2000);
				 try
         {
				 		scroller.animateup();
				 }
         catch(err)
         {
            //alert('There was an error');
         }
}

function disableEnterKey(e)
{
 		 
     var key;

     if(window.event)
          key = window.event.keyCode;					     //IE
					//if (key == 13) { key == 12; }
     else
          key = e.which;     //firefox

     if(key == 13)
          return false;
     else
          return true;
		 
		 
}

/*
function handleEnter (field, event) {
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
		if (keyCode == 13) {
			var i;
			for (i = 0; i < field.form.elements.length; i++)
				if (field == field.form.elements[i])
					break;
			i = (i + 1) % field.form.elements.length;
			field.form.elements[i].focus();
			//return false;
		} 
		else
		return true;
	}
*/

function checkfinish(nrq) {
			fault = false;
			faultid = "";
			//alert ("in checkfinish");
 			for (i = 0; i < nrq; i++)       {
         //alert ("now checking question "+i);
				 for (j = 1; j <= 5; j++)       {
				 		 //alert ("now checking answer "+j+" of question "+i);
						 idstring = "answer_" + i + "_" + j;
						 var temp = document.getElementById(idstring);
             if (temp != null) {
                     // Code here when the Element Exists.
      							 if (document.getElementById(idstring).checked) {
      				 				  break;
        				 		 }
        						 if (!(document.getElementById(idstring).checked)) {
        						 		//alert('test');
        						 }
        						 if (j == 5) {
        						 		//alert("question "+i+" not checked: putting fault to true");
        								fault = true;
        								id = parseInt(i) + parseInt(1);
        								if (faultid != "") { faultid = faultid + "," + id; }
        								if (faultid == "") { faultid = id;}
												break;
        								
        						 }
             }
						 if (temp == null) {
						 		     //This means we have reach the end of the answers and no break yet -> question i not checked: putting fault to true
										 fault = true;
        						 id = parseInt(i) + parseInt(1);
        						 if (faultid != "") { faultid = faultid + "," + id; }
        						 if (faultid == "") { faultid = id;}
										 break;
						 }
						 
				 }
			}
			
			if (fault) {
				 		 alert('You have not answered question '+faultid+' yet!');
						 
			}
			
			if (!fault) {
				 		 Stop();
						 document.theTimer.submit();
			}
			
}