// Ajax script diseñado por CHAOS
// Incluye cola de ejecuciones para llamadas GET
// llamadas POST y evaluacion de codigo javascript.
// No copies lo que no entiendes.

var host = document.location.href.substring(7,document.location.href.length);
http_host = host.substring(0,host.indexOf("/"));

function nouAjax(){
var xmlhttp;
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
try {xmlhttp = new XMLHttpRequest();} catch (e) {xmlhttp = false;}
}

if(!xmlhttp && typeof ActiveXObject != "undefined"){
   try{ xmlhttp=new ActiveXObject("MSXML2.XMLHTTP"); }catch(e){xmlhttp=false;}
   if(!xmlhttp)try{ xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }catch(e){xmlhttp=false;}
  }

return xmlhttp;
}
function empiezaatirar() {
	if ((typeof(echandola) == 'undefined') || (echandola == 0)) {
		echandola = 1;
		esperaajax = setTimeout("echala();", 100);
	}
}
function carga(que_se_carga,donde_se_carga,tipo) {
	if (typeof(peticiones) == 'undefined') {
	peticiones = new Array();
	dondecarga = new Array();
	tipocarga = new Array();
	scripts = new Array();
	}
	peticiones.push(que_se_carga);
	dondecarga.push(donde_se_carga);
	tipocarga.push(tipo);
	empiezaatirar();
}
function echala() {
	if (typeof(esperaajax) != 'undefined') { clearTimeout(esperaajax); }; 
	if (peticiones.length > 0) {
		lacarga(peticiones.shift(),dondecarga.shift(),tipocarga.shift());
	} else { echandola = 0; }
}
function lacarga(que_se_carga,donde_se_carga,tipo) {
	if (tipo != "nocarga") {
		var donde_se_carga_c = document.getElementById(''+donde_se_carga+'');
	}
	if (que_se_carga.indexOf("?") == -1) {
		var randomea = '?randomea='+Math.round(Math.random()*9999);
	} else {
		var randomea = '&randomea='+Math.round(Math.random()*9999);
	}
	ajax = nouAjax();
	ajax.open("GET",que_se_carga + randomea);
   	ajax.onreadystatechange = function() {
      if ((ajax.readyState < 4) && (tipo != "nocarga")) {
		  donde_se_carga_c.innerHTML = '<div align="center"><img src="http://'+http_host+'/cuerpo/ime/cargando.gif"></div>';
      }
	   if (ajax.readyState == 4) {
		   var resultado = ajax.responseText;
		   var comienza = resultado.indexOf("<script>");
		   var bscript = resultado;
		   while (comienza > -1) {
				var comienza = bscript.indexOf("<script>");
				var leede = comienza + 8;
			   	var termina = bscript.indexOf("</script>");
			   	var codigo = bscript.substring(leede, termina);
				var bscript = bscript.substring((termina + 9), resultado.length);
			   	eval(codigo);
			   	//scripts.push(codigo);
		   }
		   if(tipo != "nocarga") {
       	   donde_se_carga_c.innerHTML = resultado;
		   /*for (var x = 0; x <= scripts.length; x++) {
			   eval(scripts[x]);
		   }*/
		   }
		   echala();
      }
   }
   ajax.send(null);
}
function cargapost(que_se_cargap,donde_se_cargap,parametros,tipo) {
	if (tipo != "nocarga") {
	var donde_se_carga_cp = document.getElementById(''+donde_se_cargap+'');
	}
	ajax = nouAjax();
	ajax.open('POST',que_se_cargap, true);
	ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
   	ajax.onreadystatechange = function() {
      if (ajax.readyState < 4) {
		  	if (tipo != "nocarga") {
			  donde_se_carga_cp.innerHTML = '<div align="center"><img src="http://'+http_host+'/cuerpo/ime/cargando.gif"></div>';
			}
      }
	   if (ajax.readyState == 4) {
		   var resultado = ajax.responseText;
		   var comienza = resultado.indexOf("<script>");
		   if (comienza != -1) {
			   var leede = comienza + 8;
			   var termina = resultado.indexOf("</script>");
			   var codigo = resultado.substring(leede, termina);
			   eval(codigo);
		   }
		   	if (tipo != "nocarga") {
	       	   donde_se_carga_cp.innerHTML = resultado;
			}
      }
   }
   ajax.send(parametros);
}