var xmlHttp;

function ajaxDiv(div_element,page) {
	ajaxMethod();
	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4) {
			document.getElementById(div_element).innerHTML = xmlHttp.responseText;
		}
	}
	xmlHttp.open("GET",page,true);
	xmlHttp.send(null);
}

function ajaxFormGet(form,div_element,page) {
	ajaxMethod();
	var qs = ajaxBuildFormQuery(form);
	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4) {
			document.getElementById(div_element).innerHTML = xmlHttp.responseText;
		}
	}
	xmlHttp.open("GET",page + '?' + qs,true);
	xmlHttp.send(null);
}

function ajaxFormPost(form,div_element,page) {
	ajaxMethod();
	var qs = ajaxBuildFormQuery(form);
	xmlHttp.onreadystatechange = function() {
		if (xmlHttp.readyState == 4) {
			document.getElementById(div_element).innerHTML = xmlHttp.responseText;
		}
	}
	xmlHttp.open("POST",page,true);
	xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	xmlHttp.setRequestHeader("Content-length",qs.length);
	xmlHttp.send(qs);
}

function ajaxBuildFormQuery(form) {
	var qs = "";
	for (var i = 0; i < document.form.elements.length; i++) {
		var ele = document.form.elements[i];
		switch (ele.type) {
			case "checkbox":
				if (ele.checked == true) {
					qs += ele.name + '=' + escape(ele.value) + '&';
				}
				break;
			case "hidden":
				qs += ele.name + '=' + escape(ele.value) + '&';
				break;
			case "password":
				qs += ele.name + '=' + escape(ele.value) + '&';
				break;
			case "radio":
				if (ele.checked == true) {
					qs += ele.name + '=' + escape(ele.value) + '&';
				}
				break;
			case "select-one":
				qs += ele.name + '=' + escape(ele.options[ele.selectedIndex].value) + '&';
				break;
			case "text":
				qs += ele.name + '=' + escape(ele.value) + '&';
				break;
			case "textarea":
				qs += ele.name + '=' + escape(ele.value) + '&';
				break;
		}
	}
	return qs;
}

function ajaxMethod() {
	try {	// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	} catch (e) {
		try {	// Internet Explorer
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				try {
					xmlHttp = new IFrameRequest();
				} catch (e) {
					alert("Your browser does not support AJAX!");
					return false;
				}
			}
		}
	}
}

