//***********************************************************************//
//*********************** AJAX ENGINE ***********************************//
//***********************************************************************//
//setup script to get info
function postAjax(data,url,resultsVar) {

	//delete the results variable
	eval ("window." + resultsVar + "= ''");
	if (navigator.appName!=="Microsoft Internet Explorer") {
		eval ("delete window." + resultsVar);
	}
	
    // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open('POST', url, true);
        req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        req.send(data);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject('Microsoft.XMLHTTP')
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open('POST', url, true);
            req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            req.send(data);
        }
    }

	//setup script to process and handle info
	function processReqChange() {
		// only if req shows 'loaded'
		if (req.readyState == 4) {
			// only if 'OK'
			if (req.status == 200) {
				//set results to a global variable
				eval("window." + resultsVar + " = req.responseText");
			} else {
				<!-- alert('There was a problem retrieving the XML data: ' + req.responseText); -->
			}
		}
	}
}






//====================================================================
//    SUBMIT FORM VIA AJAX
//====================================================================
function ajaxSubmitForm(formID,submitTo,resultsVar) {
	var url = submitTo;
	var str = "";
	var elem = document.getElementById(formID).elements;
	for (var i=0; i<elem.length; i++) {
		var elemType = elem[i].type;
		var elemName = elem[i].name;
		var elemVal = elem[i].value;
		
		//handle checkboxes 
		if (elemType=="checkbox" || elemType=="radio") {
			if (elem[i].checked) {
				str += elemName + "=" + escape(elemVal) + "&";		
			}
			
		//proceed with other types
		} else {
			str += elemName + "=" + escape(elemVal) + "&";
		}
	}
	//submit this form
	postAjax(str,url,resultsVar);
}




