function getXMLHTTPRequest() {
try {
req = new XMLHttpRequest();
} catch(err1) {
  try {
  req = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (err2) {
    try {
    req = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (err3) {
      req = false;
    }
  }
}
return req;
}

/*NO esta funcionando usar dos objetos diferentes*/

var http = getXMLHTTPRequest(); // objeto usado en proceso() y useHttpResponse()

var httpdos = getXMLHTTPRequest(); // objeto usado en proceso_nick() y useHttpResponse_nick()

var envio=0;

function proceso()
{

	

//// inicia AJAX ////
  // Procede sólo si el objeto http no está ocupado
  if (http.readyState == 4 || http.readyState == 0)
  {
    // recupera el nombre escrito por el usuario en el formulario
    name = encodeURIComponent(document.getElementById("myName").value);
    // ejecuta la página inicio.php desde el servidor
    http.open("GET", "captcha/inicio.php?name=" + name, true);  
	// define la función para manejar las respuestas del servidor
    http.onreadystatechange = useHttpResponse;
    // haz la petición al servidor
    http.send(null);
  }
  else
    // si la conexión está ocupada, prueba de nuevo después de un segundo  
    {setTimeout('proceso()', 1000);}
//// termina AJAX ////



}

// ejecutado automáticamente cuando un mensaje es recibido desde el servidor
function useHttpResponse() 
{
  // se ejecuta sólo si la transacción se ha completado
  if (http.readyState == 4) 
  {
    // estatus de 200 indica que la transacción se ha completado correctamente
    if (http.status == 200) 
    {
      // extraemos el XML recuperado del servidor
      xmlResponse = http.responseXML;
      // obtenemos el "document element" (el elemento raíz) de la estructura XML
      xmlDocumentElement = xmlResponse.documentElement;
      // obtenemso el mensaje de texto, que está en el primer hijo de
	  // el "document element"
      helloMessage = xmlDocumentElement.firstChild.data;
	  
	  //hacer la validacion de lo que se recibe para realizar el innerHTML con un hidden que servira de validacion
	  if(helloMessage=="verdadcaptcha"){
	 // actualizamos la pantalla del usuario usando los datos recibidos del servidor
		document.getElementById("divMessage").innerHTML = 'OK';
		document.getElementById("captcha_enviar").value = 1;
		
		///////////////////
	//validar form
	
	valido=validar(document.form2); //true o false
	if (valido){//enviar doc
		document.form2.submit();		
		}
///////////////////
				
	  }
	  else{ // actualizamos la pantalla del usuario usando los datos recibidos del servidor	  
		   document.getElementById("divMessage").innerHTML = 'Sorry, try again';
		   document.getElementById("captcha_enviar").value = 0;
		   
		   valido=validar(document.form2); //true o false
		   alert("Check the field Word Verification");
		   
		} 
		  
      // reiniciar secuencia
      //setTimeout('proceso()', 1000);
    } 
    // un estatus HTTP distinto de 200 indica que ha habido un error
    else 
    {
      alert("Ha habido un problema al acceder al servidor: " + http.statusText);
    }
  }
}

//////////////////////////
/* ajax para validar el nick */

