var answer;

function processRequest(operation, url, func, posts) {
	request.open(operation, url, true);
	request.onreadystatechange = func;
	if (operation == "GET")
		request.send(null);
	else {
		request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		request.send(posts);
	}
}

function createText(textString) {
	spanElement = document.createElement("span");
  textNode = document.createTextNode(textString);
  spanElement.appendChild(textNode);
  return spanElement;
}

function getMaptcha() {
	processRequest("GET", "/maptcha/maptcha.php", fetchMaptcha);
}

function fetchMaptcha() {
	if (request.readyState == 4) {
		if (request.status == 200) {
			var test = request.responseText.split('?');
			var question = test[0];
			answer = test[1];
			var questionElement = document.getElementById("test_question");
			questionElement.innerHTML = question + '?';
		}
		else
		alert("Error! Request status is" + request.status);	
	}
}

function answerIsCorrect() {
	var userAnswer = document.getElementById("test_answer").value;
	return (userAnswer == answer);
}

function checkAnswer() {
	var userAnswer = document.getElementById("test_answer").value;
	if (userAnswer == answer)
		var confirmation = "Correct.";
	else
		var confirmation = "Wrong. Try again.";

  var maptchaElement = document.getElementById("maptcha");

	textElement = createText(confirmation);
	if (maptchaElement.lastChild.nodeName != "SPAN")
		maptchaElement.appendChild(textElement);
	else {
		maptchaElement.removeChild(maptchaElement.lastChild);
		maptchaElement.appendChild(textElement);
	}

}
