var currentPage = 0;
var antwoordurl = '';

function HaalScoreOp(test_id,score)
{
	var url = '/testen/inc/ajax.process.php';
	var pars = 'action=score&test_id=' + test_id + "&score=" + score;
	var myAjax = new Ajax.Request(url,
	{
		method: 'get',
		parameters: pars,
		onComplete: function(t)
		{
			$('antwoord').innerHTML = t.responseText;
		}
	} );
}

function HaalBeginOp(test_id)
{
	var url = '/testen/inc/ajax.process.php';
	var pars = 'action=begin&test_id=' + test_id;
	var myAjax = new Ajax.Request(url,
	{
		method: 'get',
		parameters: pars,
		onComplete: function(t)
		{
			document.getElementById('introtekst').innerHTML = t.responseText;
		}
	} );
}

function AantalVragen(test_id)
{
	var url = '/testen/inc/ajax.process.php';
	var pars = 'action=aantalvragen&test_id=' + test_id;
	var myAjax = new Ajax.Request(url,
	{
		method: 'get',
		parameters: pars,
		onComplete: function(t)
		{
			document.getElementById("vraagvoortgang").innerHTML = document.getElementById("vraagvoortgang").innerHTML + " van " + t.responseText;
		}
	} );
}

function HaalTitelOp(test_id)
{
	var url = '/testen/inc/ajax.process.php';
	var pars = 'action=titel&test_id=' + test_id;
	var myAjax = new Ajax.Request(url,
	{
		method: 'get',
		parameters: pars,
		onComplete: function(t)
		{
			document.getElementById('testtitel').innerHTML = t.responseText;
		}
	} );
}

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;

        document.getElementById("vraagvoortgang").innerHTML = "vraag " + vraagnummertext;
		data = AantalVragen(testid);

    	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>";

*/
        text = "<form method='POST' action='' id='formulier' name='formulier'><input type='hidden' name='type' value='"+typevraag+"' /><table>";

        var contentclass = "";

        if(typevraag == "checkbox")
        {
            for (i = 0; i < antwoorden.length; i++)
            {
            	if(i%2 == 0)
            	{
            		contentclass = "content1";
            	}
            	else
            	{
            		contentclass = "content2";
            	}
                text = text + "<tr><td class='"+contentclass+"'><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></td></tr>";
            }
        }
        else if(typevraag == "radio")
        {
            for (i = 0; i < antwoorden.length; i++)
            {
            	if(i%2 == 0)
            	{
            		contentclass = "content1";
            	}
            	else
            	{
            		contentclass = "content2";
            	}

                text = text + "<tr><td class='"+contentclass+"'><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></td></tr>";
            }
        }
        else if(typevraag == "select")
        {
            text = text + "<tr><td class='"+contentclass+"'><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></tr>";
        }
        td.innerHTML = td.innerHTML + text + "</table></form>";

        tr.appendChild(td);
        d.appendChild(tr);
    }
}

function getRecords(testid)
{
    advAJAX.get({
    	url : "/testen/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 = "block";
                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";
                 document.getElementById("btnPrev").disabled = false;
            }
            else
            {
            	document.getElementById("btnPrev").style.display = "none";
                document.getElementById("btnPrev").disabled = true;
            }
            document.getElementById("btnStart").style.display="none";
            document.getElementById("btnNext").style.display = "block";

            parseRecords(obj.responseXML);
        }
    });
}

function storeFormAndChangePage(p, testid, oForm)
{
    var url ="/testen/inc/store_form.php?testid=" + testid;
    var pars = $('idEmailinvoer').serialize();
    var objAjax = new Ajax.Request(url,
    {
        method: 'post',
        postBody: pars,
        onComplete: function(t)
        {
            
        }
    });
    
    $("idTREmailInvoer").style.display = "none";
    
    changePage(p,testid);
}

function changePage(p,test)
{
	document.getElementById("btnPrev").style.display = "block";
    antwoordurl = '';
    oktocontinue = submitter(p, test);
    if(oktocontinue === true)
    {
        currentPage += p;
        testid = test;
        getRecords(testid);
    }
    else
    {
        alert("Maak een keuze");
    }

    return false;
}

function SaveAntwoord(url, testid)
{
    var url ="/testen/inc/store_antwoord.php?testid=" + testid + url + "&vraagnummer=" + currentPage;
    var objAjax = new Ajax.Request(url,
    {
        method: 'get',
        onComplete: function(t)
        {
            
        }
    });
}

function submitter(p, testid)
{
    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;
                }
            }

            SaveAntwoord(antwoordurl, testid);
            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
            {
                SaveAntwoord(antwoordurl, testid);
                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;
            }
        }
    }
}