// JavaScript Document
var req, abcd;
//----------------------------------------------------------
// A J A X
//----------------------------------------------------------
function loadXMLDoc(url, layer, info) 
{
	abcd = layer; // Internet Explorer
   	try {
		req = new XMLHttpRequest();
	} catch (trymicrosoft) 
	{
    	try {
    		req = new ActiveXObject("Msxml2.XMLHTTP");
    	} catch (othermicrosoft) 
		{
			try {
    			req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (failed) 
			{
				req = false;
			}
		}
	}
	if (!req)
		alert("AJAX Error: initializing XMLHttpRequest!");
	else
	{
		req.onreadystatechange = processChange;
		req.open("GET", url, info);
		req.send(null);
	}
}

function processChange() 
{
	if (req.readyState == 4)
    	if (req.status == 200)
		{
			getObject(abcd).innerHTML = req.responseText;
			//alert('aqui');
			//MM_showHideLayers('info','','hide');
			/*if (document.detalhe.executar_caminho.value != "")
			{
				script = document.detalhe.executar_caminho.value;
				layer = document.detalhe.executar_layer.value;
				document.detalhe.executar_caminho.value = '';
				document.detalhe.executar_layer.value = '';				

				processar_pedidos_ajax(script, layer, 'true','','','');
			}*/
		}
		else if (req.status == 404)
        	alert("AJAX Error: Request URL does not exist");
		else
			alert("AJAX Error: status code is " + req.status);
}
<!-- ...................................................................... -->
<!-- Mostrar / Ocultar Layers     -->
<!-- ...................................................................... -->
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
//-------------------------------------------------------------------
// Localização de um objecto
//-------------------------------------------------------------------
function getObject(name) 
{
	var ns4 = (document.layers) ? true : false;
	var w3c = (document.getElementById) ? true : false;
	var ie4 = (document.all) ? true : false;

	if (ns4) return eval('document.' + name);
	if (w3c) return document.getElementById(name);
	if (ie4) return eval('document.all.' + name);
	return false;
}

function getPosition(element)
{
	var elem=element,tagname="",x=0,y=0,z=0;
  
	while ((typeof(elem)=="object") && (typeof(elem.tagName)!="undefined"))
	{
    	y+=elem.offsetTop;     
	    x+=elem.offsetLeft; 
		z+=elem.offsetWidth;
	    tagname=elem.tagName.toUpperCase(); 

    	if (tagname=="BODY")
      		elem=0;

    	if (typeof(elem)=="object")
      		if (typeof(elem.offsetParent)=="object")
        		elem=elem.offsetParent;
	}

	position=new Object();
	position.x=x;
	position.y=y;
	position.z=z;
	return position;
}
<!-- ...................................................................... -->
<!-- Funções para alterar a cor das linhas quando o rato passa por cima     -->
<!-- ...................................................................... -->
function inCell(cell, newcolor) 
{
	if (!cell.contains(event.fromElement)) 
	{
		cell.bgColor = newcolor;
	}
}
function outCell(cell, newcolor) 
{
	if (!cell.contains(event.toElement)) 
	{
		cell.bgColor = newcolor;
	}
}

function processar_pedidos_ajax(ficheiro, layer, info , layer1)
{
	MM_showHideLayers(layer,'','show');
	// limpar o conteudo do layer
	getObject(layer).innerHTML = '';
	//MM_showHideLayers('info','','show');
	ficheiro = ficheiro+'&'+ Math.ceil ( Math.random() * 100000 );
	loadXMLDoc(ficheiro, layer, info);
	//MM_showHideLayers(layer,'','show');
}

//--------------------------------------------------------------------------
// A S   F U N Ç Õ E S
//--------------------------------------------------------------------------
function pesquisa_calendario(ficheiro, layer, caminho, layer1)
{
	//document.detalhe.executar_caminho.value = caminho;
	//document.detalhe.executar_layer.value = layer;
	processar_pedidos_ajax(ficheiro, layer, 'true', '', '', '');
}