var currentPage = 0;
var antwoordurl = '';

function ShowAntwoord(groepid,xml,score)
{
	scoreteksten = xml.getElementsByTagName("scoretekst");

	for (var i = 0; i < scoreteksten.length; i++)
	{
		if(scoreteksten[i].getAttribute("id") == groepid)
		{
			return scoreteksten[i].childNodes[0].nodeValue;
		}
	}
}

function totaal(scores,groep)
{
	return parseInt(scores[groep]);
}

function scores(xml)
{
	var vragenids = new Array ();
	var scores = new Array ();

	groepen = xml.getElementsByTagName("groep");

	for (var k = 0; k < groepen.length; k++)
	{
		scores[groepen[k].childNodes[0].nodeValue] = parseInt(0);
	}

	scores['alle'] = parseInt(0);

	allevragen = xml.getElementsByTagName("vraag");

	for (var i = 0; i < allevragen.length; i++)
	{
		vragenids[vragenids.length] = allevragen[i].getAttribute("id");

		scoreitems = allevragen[i].childNodes.length;

		for (var j = 0; j < scoreitems; j++)
		{
			if(allevragen[i].childNodes[j].nodeName == "score")
			{
				huidigescore = parseInt(scores[allevragen[i].childNodes[j].getAttribute("groep")]);
				plusscore = parseInt(allevragen[i].childNodes[j].childNodes[0].nodeValue);
				scores[allevragen[i].childNodes[j].getAttribute("groep")] =  parseInt(huidigescore) + parseInt(plusscore);
			}
		}
	}

	return scores;
}

function parseRecords(xml)
{

    d = document.getElementById("dataTable");

    for (i = d.rows.length-1; i >= 0; i--)
    {
      d.deleteRow(i);
    }

    try
    {
    	vraagofresult = xml.getElementsByTagName("score");
    	if(vraagofresult.length > 0)
    	{
    		showscores = true;
    	}
    	else
    	{
    		showscores = false;
    	}
    }
    catch(e)
    {

    }

	if(showscores == true)
	{
		antwoord(xml,scores(xml));
	}
	else if(showscores == false)
    {
        vraagnummerdiv = document.getElementById("vraagnummer");
        vraagnummertext = xml.getElementsByTagName("vraagnummer").item(0).childNodes[0].nodeValue;

    	tr = document.createElement("tr");
        td = document.createElement("td");
        tr.appendChild(td);
        td.innerHTML = vraagnummertext + ". " + xml.getElementsByTagName("vraag").item(0).childNodes[0].nodeValue;
        tr.appendChild(td);
        d.appendChild(tr);

        typevraag = xml.getElementsByTagName("typevraag").item(0).childNodes[0].nodeValue;

        antwoorden = xml.getElementsByTagName("antwoord");

        tr = document.createElement("tr");
        td = document.createElement("td");
        tr.appendChild(td);
        text = "<form method='POST' action='' id='formulier' name='formulier'><input type='hidden' name='type' value='"+typevraag+"' />";

        if(typevraag == "checkbox")
        {
            for (i = 0; i < antwoorden.length; i++)
            {
                text = text + "<label for='" + i + "'><input id='" + i + "' type='checkbox' name='"+antwoorden[i].childNodes[0].childNodes[0].nodeValue+"' value='"+antwoorden[i].childNodes[3].childNodes[0].nodeValue+"' />" + antwoorden[i].childNodes[0].childNodes[0].nodeValue + "</label><br />";
            }
        }
        else if(typevraag == "radio")
        {
            for (i = 0; i < antwoorden.length; i++)
            {
                text = text + "<label for='" + i + "'><input id='" + i + "' type='radio' name='antwoord' value='"+antwoorden[i].childNodes[3].childNodes[0].nodeValue+"'>" + antwoorden[i].childNodes[0].childNodes[0].nodeValue + "</label><br />";
            }
        }
        else if(typevraag == "select")
        {
            text = text + "<select id='antwoord'>";
            for (i = 0; i < antwoorden.length; i++)
            {
                text = text + "<option value='" + antwoorden[i].childNodes[3].childNodes[0].nodeValue + "'>" + antwoorden[i].childNodes[0].childNodes[0].nodeValue + "</option>";
            }
            text = text + "</select>";
        }
        td.innerHTML = td.innerHTML + text + "</form>";
        tr.appendChild(td);
        d.appendChild(tr);
    }
}

function getRecords()
{
    advAJAX.get({
        url : "/tests/inc/vraag.php?vraag="+currentPage+"&testid="+testid+"&"+antwoordurl,
        onInitialization : function() {

            document.getElementById("dataStats").innerHTML = '<span style="font-weight: bold">Een moment geduld aub...</span>';

            if(currentPage == 0)
            {
                document.getElementById("btnPrev").style.display = "none";
                document.getElementById("btnNext").style.display = "none";
                document.getElementById("btnStart").style.display = "block";
            }
            document.getElementById("btnNext").style.display = "none";
        },
        onSuccess : function(obj) {
            document.getElementById("dataStats").innerHTML = '';
            if(currentPage > 1)
            {
                document.getElementById("btnPrev").style.display = "block";
            }
            else
            {
                document.getElementById("btnPrev").style.display = "none";
            }
            document.getElementById("btnStart").style.display="none";
            document.getElementById("btnNext").style.display = "block";

            parseRecords(obj.responseXML);
        }
    });
}


function changePage(p,test)
{
    antwoordurl = '';
    oktocontinue = submitter(p);
    if(oktocontinue === true)
    {
        currentPage += p;
        testid = test;
        getRecords();
    }
    else
    {
        alert("Maak een keuze");
    }
}

function submitter(p)
{
    if(currentPage === 0 || p == -1)
    {
        return true;
    }
    else
    {
        var documentformulier = document.forms['formulier'];

        if(documentformulier.type.value == "checkbox")
        {
            form = document.getElementById("formulier");
            checkboxen = form.getElementsByTagName("input");

            for (i = 1; i < checkboxen.length; i++)
            {
                if(checkboxen[i].checked === true)
                {
                    antwoordurl = antwoordurl + '&antwoord[]=' + checkboxen[i].value;
                }
            }

            return true;
        }
        else if(documentformulier.type.value == "radio")
        {
            form = document.getElementById("formulier");
            radios = form.getElementsByTagName("input");
            radioselected = false;

            for(i=0; i<radios.length; i++)
            {
                if(radios[i].checked)
                {
                    antwoordurl = antwoordurl + '&antwoord[]=' + radios[i].value;
                    radioselected = true;
                }
            }

            if(radioselected === false)
            {
                return false;
            }
            else
            {
                return true;
            }
        }
        else if(documentformulier.type.value == "select")
        {
            if(document.getElementById("antwoord").options[document.getElementById("antwoord").selectedIndex].value  == -1)
            {
                return false;
            }
            else
            {
                antwoordurl = antwoordurl + '&antwoord[]=' + documentformulier.antwoord.options[documentformulier.antwoord.selectedIndex].value;

                return true;
            }
        }
    }
}