var http_request = false;

function refresh(str, target) { 
	var url="ajax.php?" + str;
	makeRequest(url, target, "GET");
	http_request.open('GET', url, true);
	http_request.send(null);
} 

function post(form, target) {
	var str = getFormValues(form);
	var url = "ajax.php";
	makeRequest(url, target, "POST");
	http_request.open("POST", "ajax.php", true );
	http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
	http_request.send(str);
}

function makeRequest(url, target) {
	if (window.XMLHttpRequest) {
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) {
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		http_request = false;
	}
	http_request.onreadystatechange = function() {stateChanged(http_request, target) };
}

function stateChanged(xmlHttp, target) {
	if (xmlHttp.readyState > 0)
	{
		document.getElementById(target).innerHTML='<p>wait...</p>';
	}
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
		document.getElementById(target).innerHTML= xmlHttp.responseText;
} 

function getFormValues(fobj,valFunc) {
	var str = "";
	var valueArr = null;
	var val = "";
	var cmd = "";
	
	for (var i = 0; i < fobj.elements.length;i++) {
		switch(fobj.elements[i].type) {
			case "text":
				str += fobj.elements[i].name + "=" + encodeURI(fobj.elements[i].value) + "&";
				break;
			case "password":
				str += fobj.elements[i].name + "=" + encodeURI(fobj.elements[i].value) + "&";
				break;
			case "hidden":
				str += fobj.elements[i].name + "=" + encodeURI(fobj.elements[i].value) + "&";
				break;
			case "select-one":
				str += fobj.elements[i].name + "=" + encodeURI(fobj.elements[i].options[fobj.elements[i].selectedIndex].value) + "&";
				break;
		}
	}
	str = str.substr(0,(str.length - 1));
	return str;
}
