
function getHTTPObject()
{
	try {
		objetus = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
				objetus= new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
				objetus= false;
		}
	}
	if (!objetus && typeof XMLHttpRequest!='undefined') {
		objetus = new XMLHttpRequest();
	}
	return objetus
}



function envio_ajax(str_url, tipo, funcion_interna)
  {
  /*
  tipo puede ser o GET o POST
  */

  // Creando la variable dentro de envio_ajax ésta es local y puede llamarse cuantas veces se quiera
  // a la función que en cada una el objeto xmlhttp será independiente.
  var http=getHTTPObject();
  
  var str_ajax;
  
  http.open(tipo, str_url, true);
  http.onreadystatechange = function () 
    {
    if (http.readyState == 4) 
	    {
		str_ajax = new String(http.responseText);
		if (funcion_interna!=null) {
			funcion_interna.apply(null, [str_ajax]);
		}
	    }
    }
  http.send(null);	
  }
  
  
  // Cargando la variable fuera de envio_ajax se creaba una global y 
  //daba problemas con llamadas simultáneas en la misma pagina.
  //var http=getHTTPObject();