function ahah(url, target, funcname, callingobject) {
        function ahahDone() {
          if(req.readyState == 4){
            if(req.status == 200){
                document.body.style.cursor = 'default';
                  if(!(target == undefined)){
                    document.getElementById(target).innerHTML = req.responseText;
                  }
                  if(!(funcname == undefined)){
                      eval(funcname + "(req.responseText,callingobject);");
                  }
            }else{
                  if(!(target == undefined)){
                    document.getElementById(target).innerHTML = "ahah error:\n"+req.statusText;
                  }else{
					 document.body.style.cursor = 'not-allowed';
					 alert("ahah error:\n"+req.statusText);
				  }
				 
              if(!(funcname == undefined)){
                  eval(funcname + "(req.responseText,callingobject);");
                  }
            }
          }
        }

        if(!(target == undefined)){
            document.getElementById(target).innerHTML = 'bezig met laden ...';
        }
		
		document.body.style.cursor = 'wait';
		
        if(window.XMLHttpRequest){
                var req = new XMLHttpRequest();
        }else if(window.ActiveXObject) {
                var req = new ActiveXObject("Microsoft.XMLHTTP");
        }
        if(req){
                req.onreadystatechange = function() {
                        ahahDone();
                };
                req.open("GET", url, true);
                req.send("");
        }
}


function ahahpost(url, postparams, target, funcname) {
	
        function ahahDone() {
          if(req.readyState == 4){
            if(req.status == 200){
                  if(!(target == undefined)){
                    document.getElementById(target).innerHTML = req.responseText;
                  }
                  if(!(funcname == undefined)){
                    eval(funcname+"(req.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 = 'bezig met laden ...';
        }
        if(window.XMLHttpRequest){
                var req = new XMLHttpRequest();
				//req.overrideMimeType('text/html');
        }else if(window.ActiveXObject) {
                var req = new ActiveXObject("Microsoft.XMLHTTP");
        }
        if(req){
                req.onreadystatechange = function() {
                        ahahDone();
                };
                req.open("POST", url, true);
				req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      			req.setRequestHeader("Content-length", postparams.length);
				req.setRequestHeader("Connection", "close");
                req.send(postparams);
        }
}

function ahahalert(msg){
	alert(msg);
}

//*************************************************************************************
//USAGE
//  ahah("processer.php?var1=xxx&var2=yyy","mydiv");
//or:
//  ahah("processer.php?var1=xxx&var2=yyy", undefined, "myfunction"); 


// http://groups.google.com/group/XMLHttpRequest/browse_thread/thread/3deab0ff4778fdf7/a8f83be73f135ed5
