
function ah_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;
}

/*
*************************************************************************************
USAGE
  ahah("processer.php?var1=xxx&var2=yyy","mydiv");
or:
  ahah("processer.php?var1=xxx&var2=yyy", undefined, "myfunction");
or:
  ahah("processer.php?var1=xxx&var2=yyy", undefined, "myfunction", "postparam=x&y=z");

This second one is very useful if you need to pass the processed data
into a function:
function myfunction(my_processer_response)
*/

function ahah(url, target, funcname, postparam) 
{
function ahahDone() {
	if(req.readyState == 4){
		if(req.status == 200){
			var responseText;
			//if (!(req.responseText==undefined))
			//	responseText=req.responseText;
			//else
				responseText='';
			if(!(funcname == undefined)){
				responseText=eval(funcname+"(responseText);");
			}
			if(!(target == undefined)){
				document.getElementById(target).innerHTML = responseText;
			}
		}else{
			if(!(target == undefined)){
				document.getElementById(target).innerHTML = "ahah error:\n"+req.statusText;
			}
			if(!(funcname == undefined)){
				eval(funcname+"(req.responseText);");
			}
		}
	}
}

	if(!(target == undefined)){
		document.getElementById(target).innerHTML = 'calcul en cours...';
	}
	if(window.XMLHttpRequest){
			var req = new XMLHttpRequest();
	}else if(window.ActiveXObject) {
			var req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if(req)
	{
		req.onreadystatechange = 
		function() 
		{
			ahahDone();
		};
		if (postparam)
		{
			req.open("POST", url, true);
			req.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			req.setRequestHeader("Content-Length", postparam.length);
			req.send(postparam);//a=x&b=y
			//req.send("");
		}else{
			req.open("GET", url, true);
			req.send("");
		}
	}
}


