/* Objeto que crea el automáticamente el XMLHttpRequest, pide la información que recoge como texto y la inserta en el sitio pedido. */
function objetoAjaxHtml(idDondeInsertar,nombreVariable,logoSmall)
{

	this.id = idDondeInsertar; //El campo donde insertar
	this.nombreVariable = nombreVariable; //Nombre de esta variable para poner el cuadro de carga.
	
	if(logoSmall==1)
	{
		this.logoSmall=logoSmall;
	}
	else
	{
		this.logoSmall=0;
	}
}
function cogerHtml(ruta, tipoTransmision, cadenaPost)
{
this.cadenaPost=cadenaPost;
this.tipoTransmision=tipoTransmision;
this.ruta = ruta; //Ruta que llega asta el archivo con su nombre y extensión
var idActual = this.id ; /*Dentro de las funciones el this. no funcionara, así que creamos una variable con su contenido, como anteriormente.*/
this.completado = function(estado, estadoTexto, respuestaTexto, respuestaXML)
{
//document.getElementById(idActual).innerHTML = respuestaTexto;
respuestaTexto=unescape(respuestaTexto);//Convertir los códigos especiales que vienen desde el archivo PHP codificados con urlencode()
//respuestaTexto=respuestaTexto.replace(/\+/gi," ");//Reemplazar los "+" generados por urlencode() por " "(espacios en blanco) 
var scs=respuestaTexto.extractScript(); //capturamos los scripts 
document.getElementById(idActual).innerHTML=respuestaTexto.stripScript(); //eliminamos los scripts... ya son innecesarios 
scs.evalScript();
}

if (this.nombreVariable) //Sin nombre no hay cuadro, lo mostramos antes de empezar la petición.
{
//alert('Aqui Alert');	
	this.cuadroEstadoCarga(); /*Sacamos un icono de carga que hipnotiza al usuario, así tardará mas en desesperar. */
}

this.coger(this.ruta, this.id, this.tipoTransmision, this.cadenaPost); /*Si alguien ha llamado a la función cogerHtml es porque quiere lanzar la petición y nosotros lanzamos la petición xmlhttprequest. */
}

function cuadroEstadoCarga()
{
//Mostramos un cuadrito de carga en el lugar donde irá lo que estamos cargando.
	if (this.logoSmall==0)
	{
		document.getElementById(this.id).innerHTML =
		"<center>" +
		"<img src=\"../imagenes_ajax/loading.gif\" alt=\"load\" width=\"20\" height=\"20\" />" +
		"<br>...<a href=\"javascript:" + this.nombreVariable + ".objetoRequest.abort();\">" +
		"" +
		"</a>" +
		"</center>";
	}
	
	if (this.logoSmall==1)
	{
		document.getElementById(this.id).innerHTML =
		"<center>" +
		"<img src=\"../imagenes_ajax/cargandoSelect.gif\" alt=\"load\" width=\"16\" height=\"16\" />" +
		"<br>Cargando...<a href=\"javascript:" + this.nombreVariable + ".objetoRequest.abort();\">" +
		"" +
		"</a>" +
		"</center>";
	}
}
//Esta nueva clase hereda como prototipo la ClasePeticionAjax
objetoAjaxHtml.prototype = new objetoAjax;
//Definimos las funciones nuevas pertenecientes al objeto Html en particular.
objetoAjaxHtml.prototype.cogerHtml = cogerHtml; //Le añadimos la función cogerHtml.
objetoAjaxHtml.prototype.cuadroEstadoCarga = cuadroEstadoCarga; /* El cuadro que indica el estado de la carga. */