/* See https://our.psand.net/supportwiki/index.php?title=CAPTCHA
   for information on CAPTCHAs in CPEP
*/

/* The following vars assume a set of default id attributes but can be 
   'overridden' in the html source by declaring and initializing them
   before the inclusion of this js file
*/

var oForm = typeof(oForm) == 'object' ? oForm : document.getElementById('form'); 
var oSubmitButton = typeof(oSubmitButton) == 'object' ? oSubmitButton : document.getElementById('submit-form'); 
var oCaptchaCrypt = typeof(oCaptchaCrypt) == 'object' ? oCaptchaCrypt : document.getElementById('captcha-crypt');
var oCaptchaImage = typeof(oCaptchaImage) == 'object' ? oCaptchaImage : document.getElementById('captcha-image');
var oCaptchaCode = typeof(oCaptchaCode) == 'object' ? oCaptchaCode : document.getElementById('captcha-code');

var sOriginalSubmitButtonValue = oSubmitButton.value;

callBack = function () {
	var oResponse = evalJSON(oHTTP_request.responseText);

	if (oResponse.result == 1) {
		oSubmitButton.value = "Code verified";
		oForm.submit();
	} else {
		oCaptchaCrypt.value = oResponse.captcha_crypt;
		oCaptchaImage.src = oResponse.captcha_image_src;

		alert("The verification code you entered was either\nincorrect or has expired. Please try again.");

		oCaptchaCode.value = "";
		oCaptchaCode.focus();
		oSubmitButton.disabled = "";
		oSubmitButton.value = sOriginalSubmitButtonValue;
	}
};

function checkCaptcha() {
	oSubmitButton.disabled = "disabled";
	oSubmitButton.value = "Verifying code";

	var sCaptchaCode = oCaptchaCode.value;
	var sCaptchaCrypt = oCaptchaCrypt.value;

	var sQueryString = 'captcha_code=' + sCaptchaCode;
	sQueryString += '&captcha_crypt=' + sCaptchaCrypt;

	makeGetRequest('/captcha_json.html?' + sQueryString);

	return false;
}
