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].name && PipedParamString.elements[i].value) postOut += PipedParamString.elements[i].name + "=" + escape(encodeURI(PipedParamString.elements[i].value )) + "&";
		    if (PipedParamString.elements[i].name && PipedParamString.elements[i].type == 'checkbox') postOut += (PipedParamString.elements[i].name + "=" + (PipedParamString.elements[i].checked ? "1":"0") + "&");
       	}
		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("Connection", "close");
            new_req.send(PipedParamString);
	    }
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        new_req = new ActiveXObject("Microsoft.XMLHTTP");
        if (new_req) {
            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("Connection", "close");
               new_req.send(PipedParamString);
            }
        }
    }
}

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

    if (new_req.readyState == 4) {
        // only if "OK"
        if (new_req.status == 200) {
	    if (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
	   if (hitme = document.getElementById(TargetDiv)) hitme.innerHTML = "File not found";
        } else {
            alert("There was a problem retrieving the XML data:\n" + new_req.statusText);
        }
    }
    }
}