function ConstructorXMLHttpRequest()
{
	if(window.XMLHttpRequest) /*Vemos si el objeto window (la base de
	la ventana del navegador) posee el método
	XMLHttpRequest(Navegadores como Mozilla y Safari). */
	{
		return new XMLHttpRequest(); //Si lo tiene, crearemos el objeto con este método.
	}
	else if(window.ActiveXObject) /*Sino tenía el método anterior,
	debería ser el Internet Exp. un navegador que emplea objetos
	ActiveX, lo mismo, miramos si tiene el método de creación. */
	{
		/*Hay diferentes versiones del objeto, creamos un array, que
		contiene los diferentes tipos desde la
		versión mas reciente, hasta la mas antigua */
		var versionesObj = new Array(
		'Msxml2.XMLHTTP.5.0',
		'Msxml2.XMLHTTP.4.0',
		'Msxml2.XMLHTTP.3.0',
		'Msxml2.XMLHTTP',
		'Microsoft.XMLHTTP');
		for (var i = 0; i < versionesObj.length; i++)
		{
			try
			{
				/*Intentamos devolver el objeto intentando crear las diferentes
				versiones se puede intentar crear uno que no existe y se
				producirá un error. */
				return new ActiveXObject(versionesObj[i]);
			}
			catch (errorControlado) //Capturamos el error, ya que podría crearse otro objeto.
			{
			}
		}
	}
	/* Si el navegador llego aquí es porque no posee manera alguna de
	crear el objeto, emitimos un mensaje de error. */
	throw new Error("No se pudo crear el objeto XMLHttpRequest");
}