// JavaScript Document

/*
* Esta funcion se encarga de crear un objeto de la clase XMLHTTP
* La creacion de dicho objeto depende del navegador
*/
function nuevoAjax(){
	  var xmlhttp=false;
	  try {
	   // Creación del objeto ajax para navegadores diferentes a Explorer
	   xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	  } catch (e) {
	   // o bien
		   try {
			 // Creación del objet ajax para Explorer
			 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
			 } 
			 catch (E) {
			 xmlhttp = false;
		   }
		}	
	  if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
	   xmlhttp = new XMLHttpRequest();
	  }
	  return xmlhttp;
}

/*
*	Esta Funcion se encarga de dar la respuesta del navegador..
*   En este caso la respuesta es un Archivo XML
*/
function parseMessagesXML() {
	var xmldoc = req.responseXML;
	processResponseXML(xmldoc);
}

/*
*	Esta Funcion se encarga de verificar la respuesta del navegador con respecto a la solicitud enviada
*	Si el navegador envia un error emite el mensaje "No fue posible Tomar los Datos en XML"
*   En este caso la respuesta deberia ser un Archivo XML
*/
function processRequestXML() {
    if (req.readyState == 4) {
        if (req.status == 200) {
         parseMessagesXML();
        } else {
        	alert ( "No fue posible Tomar los Datos en XML" );
			errorAjaxXML();
		}
    }
}

/*
*	Esta Funcion se encarga de dar la respuesta del navegador..
*   En este caso la respuesta es un texto
*/
function parseMessagesTEXT() {
	var textDoc = req.responseText;
	processResponseTEXT(textDoc);
}

/*
*	Esta Funcion se encarga de verificar la respuesta del navegador con respecto a la solicitud enviada
*	Si el navegador envia un error emite el mensaje "No fue posible Tomar los Datos en Text"
*   En este caso la respuesta deberia ser un Texto
*/
function processRequestTEXT() {
    if (req.readyState == 4) {
        if (req.status == 200) {
         parseMessagesTEXT();
        } else {
        	alert ( "No fue posible Tomar los Datos en Text" );
			errorAjaxTEXT();
		}
    }
}

/*
*	Esta funcion es por la que se solicita una respuesta al navegador de un archivo pasado
*	url : Archivo que tu quieres que el navegador te de una respuesta
*	type : Tipo de respuesta que esperas del navegador
*
*	OJO: Esta funcion no retorna la respuesta, dependiendo del valor de la variable type utilizar:
*
* 	Si type = XML debes hacer la funcion
*	function processResponseXML(xml){
*	aqui colocar tus procedimientos con el xml
* 	}
*
* 	Si type = TEXT debes hacer la funcion
*	function processResponseTEXT(text){
*	aqui colocar tus procedimientos con el text
* 	}
*/
function getResponseAjax(url,type) {
	req=nuevoAjax();
    req.open("GET", url, true);   
	if (type=="XML") {
	req.onreadystatechange = processRequestXML;
	}
	else
	{
	req.onreadystatechange = processRequestTEXT;
	}
    req.send(null);
//	req.close();
}

