function getXmlHttp() {
	var xmlhttp = false;
	
	if(typeof ActiveXObject != 'undefined') {
		try {
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(E) {
				xmlhttp = false;
			}
		}
	} else if(!xmlhttp && typeof XMLHttpRequest != 'undefined')
		xmlhttp = new XMLHttpRequest();
	
	return xmlhttp;
}

function processAjax(serverPage, func, method, str) {
  var xmlhttp = false;
	xmlhttp = getXmlHttp();
	elementType = func.nodeName;
	if(method == "get" || method == "GET") {
		xmlhttp.open("GET", serverPage);
		xmlhttp.onreadystatechange = function() {
			if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
				func.innerHTML = xmlhttp.responseText;
		}
		xmlhttp.send(null);
	} else {
		xmlhttp.open("POST", serverPage, true);
		xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
		xmlhttp.onreadystatechange = function() {
			if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
				func.innerHTML = xmlhttp.responseText;
		}
		xmlhttp.send(str);
	}
}

function updateElement(xmlhttp, func) {
  if(xmlhttp.readyState == 4 && xmlhttp.status == 200)
    func.innerHTML = xmlhttp.responseText;
}

function getFormValues(form) {
  var str = "";
  for(var i = 0; i < form.elements.length; i++)
    str += form.elements[i].name + '=' + escape(form.elements[i].value) + '&';
  return str;
}