var obj_ajax;
var funcion;
/*Esta funcion permite utilizar ajax de una manera mas comoda, 
hay que pasarle la funcion a la que se desea pasar la respuesta del servidor
y la pagina de la que se obtendra la respuesta*/
function ajax(func, url)
{
	obj_ajax = get_ajax_object(ajax_state);
	obj_ajax.open("GET",url,true);
	obj_ajax.send(null);
	funcion = func;
}
//cuando este lista la pagina, se envia
function ajax_state()
{
	if (obj_ajax.readyState==4 || obj_ajax.readyState=="complete")
	{
		if(obj_ajax.status != 200)//Ha habido error al servir la página, mostramos el error
			alert("Ocurrio el error: "+obj_ajax.status);
		else //no ha ocurrido ningun error, enviamos a la funcion la respuesta
			funcion(obj_ajax.responseText);
	}
}
/*esta funcion crea el objecto adecuado
dependiendo de que navegador se trate*/
function get_ajax_object(handler)
{
	var objXmlHttp=null;

	if (navigator.userAgent.indexOf("MSIE")>=0)
	{ 
		var strName="Msxml2.XMLHTTP";
		if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
		{
			strName="Microsoft.XMLHTTP";
		} 
	try
	{ 
		objXmlHttp=new ActiveXObject(strName);
		objXmlHttp.onreadystatechange=handler;
		return objXmlHttp;
	} 
	catch(e)
	{ 
		alert("Error. El scripting para ActiveX puede estar deshabilitado.\nLlame al administrador") 
		return;
	} 
	} 
	if (navigator.userAgent.indexOf("Mozilla")>=0 || navigator.userAgent.indexOf("Opera")>=0)
	{
		objXmlHttp=new XMLHttpRequest();
		objXmlHttp.onload=handler;
		objXmlHttp.onerror=handler; 
		return objXmlHttp;
	}
}
