

/*
	durgle.ajax.1.9.4.js
	version 1.9.4
	first created: 10/27/03
	last revised: 01/01/08
	http://www.durgle.com
	edward@durgle.com
*/


// -------- BEGIN AJAX -----------


// Make sure that all of the form is filled out
function GetParams(frm) {
	aForm = document.forms[frm];
	formLength = aForm.elements.length;
	Params = "";
	if (formLength > 0) {
		for (i = 0; i < formLength; i++) {
			formElementType = aForm.elements[i].type;
			formElementValue = aForm.elements[i].value;
			formElementName = aForm.elements[i].name;
			formElementID = aForm.elements[i].id;
			if (formElementType == "text" || formElementType == "password" || formElementType == "textarea" || formElementType == "select-one" || formElementType == "hidden") {
				if (i == 0) {
					Sym = "?";
				} else {
					Sym = "&";
				}
				Params += Sym + formElementName + "=" + formElementValue;
			}
		}
		return Params;
	} else {
		return "";
	}
}


// Get a browser independent XMLHTTP Object
function GetXMLHTTP() {
	var XMLHTTP = false;
	if (window.XMLHttpRequest) {
		XMLHTTP = new XMLHttpRequest()
  	} else if (window.ActiveXObject) {
		try {
			XMLHTTP = new ActiveXObject("Msxml2.XMLHTTP")
		} catch (e) { 
			try {
        			XMLHTTP = new ActiveXObject("Microsoft.XMLHTTP")
      		} catch (E) {
        			XMLHTTP = false;
      		}
    		}
  	}
	return XMLHTTP;
};


// Pass a server side response as a javascript function
function AJAXToFunction(URL, frm) {
	var XMLHTTP = new GetXMLHTTP();
	// Compatibility with IE 5.0
	// Send the Request
	Params = GetParams(frm);
	if (XMLHTTP) {
		XMLHTTP.onreadystatechange = function stateChange() {
			if (XMLHTTP && XMLHTTP.readyState == 4) {
				// Got something back..
				if (XMLHTTP.status == 200) {
					// Check to see if the response was good
					var response = XMLHTTP.responseText;
					if(debug) {
						alert(response);
					}
					eval(response);
				} else if(debug){
					document.write(XMLHTTP.responseText);
				}
			}
		}
		// open the page
		XMLHTTP.open("GET", URL+Params, true);
		// send the data
		XMLHTTP.send(null);
	}
}


// Pass a server side response as a javascript function
function InnerFromAJAX(URL, obj_id, frm, execAfterEval) {
	var XMLHTTP = new GetXMLHTTP();
	Params = GetParams(frm);
	// Send the Request
	if (XMLHTTP) {
		XMLHTTP.onreadystatechange = function stateChange() {
			if (XMLHTTP && XMLHTTP.readyState == 4) {
				// Got something back..
				if (XMLHTTP.status == 200) {
					// Check to see if the response was good
					var response = XMLHTTP.responseText;
					if(debug) {
						alert(response);
					}
					document.getElementById(obj_id).innerHTML = response;
					if(debug) {
						alert(execAfterEval);
					}
					eval(execAfterEval);
				} else if(debug){
					document.write(XMLHTTP.responseText);
				}
			}
		}
	// open the page
	XMLHTTP.open("GET", URL+Params, true);
	// send the data
	XMLHTTP.send(null);
	}
}


function InstantAJAX(instantFile, instantDIV, instantIndicator, instantForm, execAfterEval) {
	document.getElementById(instantIndicator).style.display = "block";
	document.getElementById(instantDIV).style.display = "block";
	var XMLHTTP = new GetXMLHTTP();
	// Compatibility with IE 5.0
	Params = GetParams(instantForm);
	// Send the Request
	if (XMLHTTP) {
		XMLHTTP.onreadystatechange = function stateChange() {
			if (XMLHTTP && XMLHTTP.readyState == 4) {
				// Got something back..
				if (XMLHTTP.status == 200) {
					// Check to see if the response was good
					var response = XMLHTTP.responseText;
					if(debug) {
						alert(response);
					}
					document.getElementById(instantDIV).innerHTML = response;
					if(debug) {
						alert(execAfterEval);
					}
					eval(execAfterEval);
					document.getElementById(instantIndicator).style.display = "none";
					//document.getElementById(instantDIV).style.display = "none";
				} else if(debug){
					document.write(XMLHTTP.responseText);
				}
			}
		}
	// open the page
	XMLHTTP.open("GET", instantFile + Params, true);
	// send the data
	XMLHTTP.send(null);
	}
}


// -------- END AJAX -----------