// JavaScript Document

// printopdracht
function PrintDiv(strid)
{
	// code aanmaken met de print stylesheet
	var html = '<ht'+'ml>\n<he'+'ad>\n<link rel="stylesheet" href="/css/print.css" type="text/css">\n';
	html += '</he'+'ad><bo'+'dy><right><content>\n';
	var divContent = document.getElementById(strid);
	if(divContent == null)
	{

	} else
	{
		html += divContent.innerHTML;
		html += '<br></content></right></bo'+'dy></ht'+'ml>';
  		var WinPrint = window.open('','','left=0,top=0,width=1,height=1,toolbar=0,scrollbars=0,status=0');
		WinPrint.document.write(html);
		WinPrint.document.close();
		WinPrint.focus();
		WinPrint.print();
		WinPrint.close();
	}
}


/*
// info uit nieuwe test form. stuurt naar de juiste map. (of naar juiste test binnen dossier)
function SelectTest(dossiertest)
{
	var test_id = document.getElementById('tests_sel').options[document.getElementById('tests_sel').selectedIndex].value;

	if(test_id == "wrong")
	{
		eraseCookie("test_id"); // wrong selecteren is ook een manier om de cookie te verwijderen
		alert('Selecteer een test');
	} else
	{
		if(dossiertest)
		{
			var Link = "/content/dossiers/dossier/index.php";
			GetData(Link, 'content', 'id=2&test_id=' + test_id);
		} else
		{
			var Link = "/content/dossiers/tests/test.php";
			GetData(Link, 'content', 'id=2&fase=1&test_id=' + test_id);
	  	    
			// cookie aanmaken met testnaam
	  	    createCookie("test_id", test_id);
		}

	}
	
}
*/

// info uit nieuwe test form. stuurt naar de juiste map. (of naar juiste test binnen dossier)
function SelectTest(dossiertest, test_id, gegevens_id)
{
	if(dossiertest)
	{
		var Link = "/content/dossiers/dossier/index.php";
		GetData(Link, 'dossier-subcontent', 'id=2&test_id=' + test_id + '&gegevens_id=' + gegevens_id);
	} else
	{
		var test_id = document.getElementById('tests_sel').options[document.getElementById('tests_sel').selectedIndex].value;

		if(test_id == "wrong")
		{
			eraseCookie("test_id"); // wrong selecteren is ook een manier om de cookie te verwijderen
			alert('Selecteer een test');
		} else
		{
			var Link = "/content/dossiers/tests/test.php";
			GetData(Link, 'content', 'id=2&fase=1&test_id=' + test_id);
			// cookie aanmaken met testnaam
	  	    createCookie("test_id", test_id);
		}
	}
}

//  T E S T S C O R E 

// controle en sturing bij het scoren van testen bij OnKeyPress
function TestScoring_OnKeyPress(vraag, key, FormObject, valideren)
{
	if(key.keyCode == 9)
	{
		event.keyCode=9; 
		return event.keyCode;
	}
	// kijken welke is geselecteerd
	var PressedKey = ReturnKey(key);
	// ophalen van alle antwoordmogelijkheden
	var antwMog = document.getElementById(vraag).options;
	// deze doorlopen en checken of ingedrukte key overeenkomt met een van de antwoordmogelijkheden.
	// zo ja, dan goedkeuren en focus verleggen naar volgende selectbox.
	// zo niet, dan een geluid laten horen en keypress niet goedkeuren.
	var oke = false;
	for (var i=0; i<antwMog.length; i++) 
	{
		if(PressedKey == antwMog[i].value)
		{
			oke = true;
		}
	}
	if(oke)
	{
	  if(valideren)
	  {
		// kijken of de keuze gelijk is. zo ja dan doorsturen. 
		// zo niet dan bevestiging vragen
		if(PressedKey == valideren)
		{
			// gelijk, dus doorsturen
			TestScoring_EvaluateBox(FormObject, vraag, valideren=true);
		} else
		{
			// niet gelijk, verandering checken
			TestScoring_Valideren_Onchange(vraag, valideren, FormObject, PressedKey);
		}
	  // reguliere input
	  } else
	  {
	    TestScoring_EvaluateBox(FormObject, vraag);
	  }
	} else
	{
		// warninggeluid geven
		GiveWarning();
	}
}

// focus verleggen en opmaak veranderen
function TestScoring_EvaluateBox(FormObject, vraag, valideren)
{
	// focus verleggen naar volgende selectbox
	for (var i=0;i<=document.test_scoring_form.elements.length;i++)
	{
		if (FormObject == document.test_scoring_form.elements[i]) 
		{
			var position = i+1;
		}
	}
	if(position)
	{
		document.test_scoring_form.elements[position].focus();
	}
	// opmaak veranderen
	if(valideren)
	{
		var color = '#00FF40';
	} else
	{
		var color = '#A3E0B3';
	}
	document.getElementById(vraag).style.backgroundColor = color;
}

// aanpassen opmaak bij focus op selectbox
function TestScoring_OnFocus(id)
{
	// opmaak veranderen
	document.getElementById(id).style.backgroundColor = '#BFBFFF';
}

// aanpassen opmaak bij blur van selectbox
function TestScoring_OnBlur(id, valideren)
{
	// kijken welke is geselecteerd
	obj = document.getElementById(id);
	var selected = obj.options[obj.selectedIndex].value;
	// ophalen van alle antwoordmogelijkheden
	var antwMog = obj.options;
	// deze doorlopen en checken of ingedrukte key overeenkomt met een van de antwoordmogelijkheden.
	// zo ja, dan goedkeuren, of eerst valideren.
	var oke = false;
	for (var i=0; i<antwMog.length; i++) 
	{
		if(selected == antwMog[i].value)
		{
			// opmaak veranderen
			document.getElementById(id).style.backgroundColor = '#A3E0B3';
			oke = true;
		}
	}
	if(!oke)
	{
		obj.style.backgroundColor = '';
	}
}

// functie die een veranderde input verwerkt bij het valideren
function TestScoring_Valideren_Onchange(id, valideren, FormObject, PressedKey, Event)
{
	// bepalen wat de nieuwe keuze is
	if(PressedKey)
	{
		var keuze = PressedKey;
	} else
	{
		// kijken welke is geselecteerd
		obj = document.getElementById(id);
		var keuze = obj.options[obj.selectedIndex].value;
	}
	
	// bij afwijkende keuze om bevestiging van veranderen vragen
	if(keuze != valideren)
	{
		// waarschuwen dat er een verandering is
		GiveWarning();
		// confirmbox openen waarin wordt gevraagd de nieuwe keuze te bevestigen
		antwoord = confirm("Het antwoord dat je opgeeft voor " + id + " komt niet overeen met het eerder opgegeven antwoord (" + valideren + "). Het nieuwe antwoord (" + keuze + ") opslaan?");
		if(antwoord)
		{
			// nieuwe keuze bevestigd:
			// naar de volgende selectbox!
			TestScoring_EvaluateBox(FormObject, id, valideren=true);	
		} else 
		{
			// niet bevestigd, de geselecteerde in de select box herstellen
//			obj.selectedIndex = valideren;
		}
	} else 
	{
		// geen afwijkende keuze dus:
		// naar de volgende selectbox!
		TestScoring_EvaluateBox(FormObject, id, valideren=true);	
	}
}

function GiveWarning()
{
	soundManager.play('warning');
	// voor de overige info zie header.inc.php
}

// functie om de ingedrukte keyboardtoets te achterhalen
function ReturnKey(key)
{
	var evtobj = window.event? event : key //distinguish between IE's explicit event object (window.event) and Firefox's implicit.
	var unicode = evtobj.charCode? evtobj.charCode : evtobj.keyCode
	var actualkey = String.fromCharCode(unicode);
	return actualkey;
}

// verwerken gegevens test uit form en naar PostData versturen:
// AantalVragen = het aantal vragen van de test
function SendTestGegevens(dataSource, divID, AantalVragen)
{
	var oke = false;
	for (var i=0; i<AantalVragen; i++)
	{
		value = document.test_scoring_form.elements[i].selectedIndex;
		if(value != 'undefined')
		{
			nr = i + 1;
			if(oke)
			{
				Poststr += "&v" + nr + "=" + value;
			} else 
			{
				Poststr = "v" + nr + "=" + value;
				oke = true;
			}
		}
	} // einde loop
	PostData(dataSource, divID, Poststr);
}

// EINDE T E S T S C O R E





// /content/dossiers/tests/index.php : soort test vastleggen in cookie en weergeven in testinfo-div
function Test_set()
{
	// variabele uitlezen uit form
	var id = document.select_test_form.tests_sel.value;
	// cookie instellen
	createCookie("test_id", id);
	// testinfo in testinfo-div stoppen
	GetData('/content/dossiers/tests/test.php', 'testinfo-div', 'id=1&test_id=' + id);
}


// cookie dossier \\

// /content/dossiers/selecteren.php, kiezen van een dossier en vastleggen als cookie
function Dossier_Set(id, naam, overlib, DivID, search_post)
{
	if(!DivID) {
		DivID = 'dossier-content';
	} 
	var get;
	get = "content=" + DivID;
	if(search_post) {
	get += "&search_post=" + search_post;
	}
	if(overlib) {
		nd();
	}
	if(id != 'clear')
	{
	  // cookies aanmaken
	  createCookie("dossier_id", id);
	  createCookie("dossier_naam", naam);
	  // naam weergeven in info-venster
//	  obj = document.getElementById("info-venster");
//	  obj.innerHTML = "Dossier: " + upperCaseFirst(naam);
	  // pagina vernieuwen met dossierinfo over gekozen dossier
	  GetData('/content/dossiers/index.php', DivID, get);
	  
	} else
	{
		//cookies verwijderen
		eraseCookie("dossier_id");
		eraseCookie("dossier_naam");
		// naam weergeven in info-venster
//		obj = document.getElementById("info-venster");
//		obj.innerHTML = "";
		// pagina met dossierbak keuze weergeven
		GetData('/content/dossiers/index.php', DivID, get, 0, 1);
	}
}




// functie om een cookie in te stellen
function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

// functie om cookies te verwijderen
function eraseCookie(name) {
	createCookie(name,"",-1);
}

function upperCaseFirst(input)
{
  if(input)
  {
    chars = input.split("");
	chars[0] = chars[0].toUpperCase();
	newVal = chars.join("")
	return newVal;
  }
}

// einde cookie dossier \\
