var http_request = false;
function myayax() {
if (window.XMLHttpRequest) { // Mozilla, Safari,...
	 http_request = new XMLHttpRequest();
	 if (http_request.overrideMimeType) {
		http_request.overrideMimeType('text/html');
	 }
  } else if (window.ActiveXObject) { // IE
	 try {
		http_request = new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) {
		try {
		   http_request = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {}
	 }
  }
  return http_request;
}
function arec(parameters, id, obj) {
  var url = 'post.php';
  http_request = false;
  http_request = myayax();
  if (!http_request) {
	 alert('Cannot create XMLHTTP instance');
	 return false;
  }
  
  http_request.onreadystatechange = function () { alertContents(id, obj) };
  http_request.open('POST', url, true);
  http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  http_request.setRequestHeader("Content-length", parameters.length);
  http_request.setRequestHeader("Connection", "close");
  http_request.send(parameters);
}

function alertContents(id, obj) {
  if (http_request.readyState == 4) {
	 if (http_request.status == 200) {
		result = http_request.responseText;
		document.getElementById(id).innerHTML = result; 
		newImage();
		obj.q.disabled = false;
	 } else {
		alert('There was a problem with the request.');
	 }
  }
}

function get(obj) {
  var getstr = "";
  for (i=0; i<obj.childNodes.length; i++) {
	 if (obj.childNodes[i].tagName == "INPUT") {
		if (obj.childNodes[i].type == "text") {
		   getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value.replace(new RegExp( "\\+", "g" ), "%2B") + "&";
		}
	 }
	 if (obj.childNodes[i].type == "textarea") {
		  getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value.replace(new RegExp( "\\+", "g" ), "%2B") + "&";
	}
  }
  obj.q.disabled = true;
  arec(getstr, 'result', obj);
}

function newImage() {
	if (document.images)
	document.images.reloadimage.src = 'captcha.php?' + (new Date()).getTime();
} 

