// AJAX para cargar Paginas internas con un Link.

// Definicion de Variables
var recibirReq = null; // recibirReq: objeto XMLHttpRequest
//
//  function getXmlHttpRequestObject: devuelve un objeto XMLHttpRequest (segun el browser)
//

function getXmlHttpRequestObject() {
	// Retorno un objeto XMLHttpReques
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest(); //Not IE
	} else if(window.ActiveXObject) {
    	return new ActiveXObject("Microsoft.XMLHTTP"); //IE
	} else {
		alert("Tu browser no soporta el objeto XmlHttpRequest. Te recomiendo Firefox.");
	}
}			
//
//  function traePagina: Inicia una peticion asincrona
//
function traePagina(nombre) {
	//Inicio un nuevo llamado asincronico, solo si el objeto XMLhttpRequest no esta a mitad de una peticion.
	if (recibirReq.readyState == 4 || recibirReq.readyState == 0) {
		//Abro una conexión a la URL mediante el metodo GET, y asincrono
		recibirReq.open("GET", 'form'+nombre+'.php', true);
		//define el charset
		
		//Asigno la funcion que sera llamada cuando el objeto XMLHtppRequest cambie de estado
		recibirReq.onreadystatechange = handleTraePagina; 
		//Hacer una peticion.
		recibirReq.send(null);
	}			
}
//
//  function handleTraePagina: funcion llamada cada vez que el objeto XMLHttpRequest cambie de estado
//
function handleTraePagina() {
	//Verifico si el objeto XMLHttpRequest esta en estado 'finalizado'.
	if (recibirReq.readyState == 4) {
		
		//Asigno al contenido de nuestro elemento "span" el resultado del llamado asincrono.
		document.getElementById('contenido_ajax').innerHTML = recibirReq.responseText;
		
	}
}
//Obtengo el objeto XMLHttpRequest del browser especifico
recibirReq = getXmlHttpRequestObject();	
