//---------------------------------------------
// Manejo Ultra Basico de Llamadas usando AJAX / 2008 ccasanova
// Basado en Codigo investigado por eveliz y en Codigo encontrado en
// http://www.forosdelweb.com/f77/faqs-del-foro-ajax-332366/#post1434136
//---------------------------------------------

//--------------------------------------------------------------
// Creacion de Objeto AJAX Modo 1 (c) eveliz - ccasanova
//--------------------------------------------------------------
function AJAX1()
{
	var pagina = false;
	
	if (window.XMLHttpRequest)
	{
		// Si es Mozilla, Safari etc
		pagina = new XMLHttpRequest ();
	}
	else if (window.ActiveXObject)
	{
		// Array tomado de AJAX2()
		var versiones = ["Msxml2.XMLHTTP","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.3.0","Microsoft.XMLHTTP"];
		
		// pero si es IE
		try
		{  
			for (var j = 0; j < versiones.length; j++)
			{
				pagina = new ActiveXObject(versiones[j]);
				if (pagina !== false)
				{	break;	}
			}
		}
		catch (e)
		{	return false	}
	}
	else
	{	return false	}

	return pagina;
}

//--------------------------------------------------------------
// Creacion de Objeto AJAX Modo 2 (c) Usuario richardjindj en www.forosdelweb.com
//--------------------------------------------------------------
function AJAX2()
{
	var ajaxs = ["Msxml2.XMLHTTP","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.3.0","Microsoft.XMLHTTP"];
	var ajax = false;
	for(var i=0 ; !ajax && i<ajaxs.length ; i++){
	try{ ajax = new ActiveXObject(ajaxs); }
	catch(e) { ajax = false; }
	}
	if(!ajax && typeof XMLHttpRequest != 'undefined') {
	ajax = new XMLHttpRequest();
	}
	return ajax;
}

//--------------------------------------------------------------
// Llamar Documento Via AJAX
//--------------------------------------------------------------
function cargarPagina(pagina, capa, metodo, parametros)
{
	// Valores :
	// pagina		: String. URL del modulo o pagina a cargar dentro de la capa
	// capa			: String. ID de la capa (div) donde cargar la pagina
	// metodo		: String. Metodo como se enviarán los datos (post, get)
	// parametros	: String. Parametros a enviar a la pagina, concatenados 
	//				  en la forma "campo1=valor1&campo2=valor2..."
	
	var ajax = AJAX1();
	
	if (!ajax)
	{
		alert("No se puede ejecutar este proceso: Error de navegador");
		return false;
	}
	
	document.getElementById(capa).innerHTML = "<img border='0' src='../images/ico_cargando.gif'> <i>Cargando Datos...</i>";
	
	if (metodo == "" || !metodo)
	{	metodo = "post";	}
	
	ajax.open(metodo, pagina);
	
	ajax.onreadystatechange	= function() 
		{
			if (ajax.readyState == 4) 
			{	document.getElementById(capa).innerHTML = ajax.responseText;	}
		}
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send(parametros);
}

