var new_req; 
var new_ajax_url='/basicajax/dynamic/';
var TargetDiv;

function basicajax_get_html(TargetUrl, temp_TargetDiv, PipedParamString) 
{
    var myMethod = 'GET'
    var postOut = '';
    if (PipedParamString.tagName == 'FORM') {
	myMethod = 'POST';
	myKids = PipedParamString.elements;
	for (var i=0;i<PipedParamString.length;i++) {
          if (PipedParamString.elements[i].type == 'checkbox') {
	     if (PipedParamString.elements[i].name && PipedParamString.elements[i].checked) postOut += PipedParamString.elements[i].name + "=" + escape(encodeURI(PipedParamString.elements[i].value )) + "&";
          } else {
	     if (PipedParamString.elements[i].name && PipedParamString.elements[i].value) postOut += PipedParamString.elements[i].name + "=" + escape(encodeURI(PipedParamString.elements[i].value )) + "&";
          }
       }
	PipedParamString = postOut;

    }
    if (TargetUrl.match(/^http/) != null) {
	TargetUrl = new_ajax_url + TargetUrl;
	TargetUrl = TargetUrl.replace(/\//g,'|');
	TargetUrl = TargetUrl.replace(/\?/g,'|questionmark|');
    } else {
	PipedParamString = PipedParamString.replace(/\|/g, '/');
    }
    TargetDiv = temp_TargetDiv;
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        new_req = new XMLHttpRequest();
        new_req.onreadystatechange = basicajax_processReqChange;
        if (myMethod == 'GET') {
            new_req.open(myMethod, TargetUrl + '/' + PipedParamString, true);
            new_req.send(null);
	 } else {
            new_req.open('POST', TargetUrl, true);
            new_req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            new_req.setRequestHeader("Content-length", PipedParamString.length);
		 	new_req.setRequestHeader("Last-Modified", " Mon, 26 Jul 1997 05:00:00 GMT");
	        new_req.setRequestHeader("Cache-Control","no-store, no-cache, must-revalidate");
	        new_req.setRequestHeader("Cache-Control","post-check=0, pre-check=0", false);
	        new_req.setRequestHeader("Pragma", "no-cache");
            new_req.setRequestHeader("Connection", "close");
            new_req.send(PipedParamString);
	 }
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        new_req = new ActiveXObject("Microsoft.XMLHTTP");
            new_req.onreadystatechange = basicajax_processReqChange;
            if (myMethod == 'GET') {
               new_req.open(myMethod, TargetUrl + '/' + PipedParamString, true);
               new_req.send();
            } else {
               new_req.open('POST', TargetUrl, true);
               new_req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
               new_req.setRequestHeader("Content-length", PipedParamString.length);
			   new_req.setRequestHeader("Last-Modified", " Mon, 26 Jul 1997 05:00:00 GMT");
	           new_req.setRequestHeader("Cache-Control","no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
	           new_req.setRequestHeader("Pragma", "no-cache");
	           new_req.setRequestHeader("Connection", "close");
	        if (new_req) {
               new_req.send(PipedParamString);
            }
        }
    }
}

function basicajax_processReqChange() 
{
    if (TargetDiv != '') {

    if (new_req.readyState == 4) {
        // only if "OK"
        if (new_req.status == 200) {
	    hitme = document.getElementById(TargetDiv);
	    if (hitme.tagName == 'TEXTAREA') {document.getElementById(TargetDiv).value = new_req.responseText} else {document.getElementById(TargetDiv).innerHTML = new_req.responseText;}
 	 } else if(new_req.status == 404) {
	   // Add a custom message or redirect the user to another page
	   document.getElementById(TargetDiv).innerHTML = "File not found";
        } else {
            alert("There was a problem retrieving the XML data:\n" + new_req.statusText);
        }
    }
	else if (new_req.readyState == 1)
	{
	    hitme = document.getElementById(TargetDiv);
	    if (hitme.tagName == 'TEXTAREA') {document.getElementById(TargetDiv).value = "Searching...";} else {document.getElementById(TargetDiv).innerHTML = "<div class=\"search-msg\">Searching...</div>";}
	}
    }
}