var control=0;
function llamarasincrono(url, objcontenedor, parametros){
	//objcontenedor.innerHTML="pagina="+url+"parmetros="+parametros;
	if (objcontenedor.id!='ayuda')
		objcontenedor.innerHTML='<img src="../../jardinbotanico/imagenes/iconos/ajax_loader.gif" alt="Cargando"/> Cargando .....';
	if (objcontenedor.parentNode)
	{
		var pagina_requerida = false
		//Activamos el cargando en el objeto;
		if ((objcontenedor.parentNode.id=="modulo"))
			ponercargando(true, objcontenedor.parentNode.style.left,objcontenedor.parentNode.style.top);
		if (window.XMLHttpRequest) {// Si es Mozilla, Safari etc
			pagina_requerida = new XMLHttpRequest()
		}
		else if (window.ActiveXObject)
		{ // pero si es IE
			try {
					pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP")
				} 
			catch (e){ // en caso que sea una versión antigua
						try{
							pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP")
							}
						catch (e){}
					}
		}
		else return false
		
		pagina_requerida.onreadystatechange=function()
		{ // función de respuesta
		if (objcontenedor)
			cargarpagina(pagina_requerida, objcontenedor,url,parametros);
			
		}
		pagina_requerida.open('POST', url, true) // asignamos los métodos open y send
		pagina_requerida.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		pagina_requerida.send(parametros)
	}
} // Fin llamarasincrono

// todo es correcto y ha llegado el momento de poner la información requerida
// en su sitio en la pagina xhtml
function cargarpagina(pagina_requerida, objcontenedor, url, parametros){
	try{
		if ((pagina_requerida.readyState == 4) && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1))
		{
			//alert("***"+objcontenedor.innerHTML+"***1");
			//contentType
			if (pagina_requerida.responseXML && pagina_requerida.responseXML.documentElement)
			{
				Datos=pagina_requerida.responseXML.documentElement.childNodes;
				var agent=navigator.userAgent.toLowerCase();
				if(agent.indexOf('msie')!=-1) var isIE=true;
				else var isIE=false;
				if(agent.indexOf('opera')!=-1) var isOpera=true;
				else var isOpera=false;
				for(var i=0; i<Datos.length; i++) {
					if (Datos[i].nodeName!="#text")
					{
						
						var contenido=document.getElementById(Datos[i].nodeName);
						if(isIE || isOpera)
							contenido.innerHTML=Datos[i].text;
						else
							contenido.innerHTML=Datos[i].textContent;
					}

				}
			}
			else
			{
				//alert(objcontenedor.id+"  "+objcontenedor.innerHTML);
				//alert(pagina_requerida.responseText);
				objcontenedor.innerHTML=pagina_requerida.responseText;
				//alert(objcontenedor.id+"  "+objcontenedor.innerHTML);
			}
			//alert("***"+objcontenedor.innerHTML+"***");
			// ocultamos el cargando;
			if ((objcontenedor.parentNode.id=="modulo"))
				ponercargando(false, 0,0);
			//alert(objcontenedor.innerHTML)
			control=0;
		}
	}
	catch (e)
	{
		//alert("Error:"+e.description);
			if (control<3)
			{
				llamarasincrono(url, objcontenedor, parametros);
				control++;
			}
			else
			{
				ponercargando(false, 0,0);
			}
	}

}
//Funcion de carga oculta o muestra en una posición el cargando.
function ponercargando(visible, posicionlef,posiciontop)
{
	if(estadocargando=document.getElementById('cargando'))
	{
	
		if (visible)
		{
			estadocargando.style.display="block";
			estadocargando.style.left=posicionlef;
			estadocargando.style.top=posiciontop;
		}
		else
			estadocargando.style.display="none";
			//estadocargando.style.display="none";
	}
}
