function getXMLHTTPRequest_Captcha()
{
	req = false;

    if(window.XMLHttpRequest && !(window.ActiveXObject))
    {
    	try { req = new XMLHttpRequest(); }
    	catch(e) { req = false; }
    }
    else if(window.ActiveXObject)
    {
       	try { req = new ActiveXObject("Msxml2.XMLHTTP"); }
       	catch(e)
       	{
        	try { req = new ActiveXObject("Microsoft.XMLHTTP"); }
        	catch(e) { req = false; }
		}
    }
    
    return req;
}

var http = getXMLHTTPRequest_Captcha();
var captcha_form = null;
var captcha_msg = "";

function validate_captcha(frm)
{
	captcha_form = frm;
	
	var myurl = '/lib/captcha/validate_captcha.php?c=' + captcha_form.hncaptcha.value + '&k=' + captcha_form.public_key.value + '&i=' + captcha_form.private_key.value;
	myRand = parseInt(Math.random()*999999999999999);
	var modurl = myurl+"&rand="+myRand;
	
	if(http)
	{
		http.open("GET", modurl, true);
		http.onreadystatechange = useHttpResponse_Captcha;
		http.send(null);
	}
}

function useHttpResponse_Captcha()
{
	if(http.readyState == 4)
	{
		if(http.status == 200)
		{
			var checkValue = "";
			var ctry = "";
			var cpublic = "";
			
			var nodes = http.responseXML.getElementsByTagName("item");
			
			if(nodes[0].getElementsByTagName("checkvalue")[0].childNodes[0])
				checkValue = nodes[0].getElementsByTagName("checkvalue")[0].childNodes[0].nodeValue;
			if(nodes[0].getElementsByTagName("try")[0].childNodes[0])
				ctry = nodes[0].getElementsByTagName("try")[0].childNodes[0].nodeValue;
			if(nodes[0].getElementsByTagName("public")[0].childNodes[0])
				cpublic = nodes[0].getElementsByTagName("public")[0].childNodes[0].nodeValue;
			
			if(checkValue == "true")
			{
				captcha_form.submit();
			}
			else
			{
				if(captcha_msg != "") alert(captcha_msg);
				captcha_form.hncaptcha.value = ctry;
				captcha_form.public_key.value = cpublic;
				document.getElementById("captcha_image").src = "/content/temp/captcha/" + cpublic + ".jpg";
			}
		}
	}
}
