/*
 *
 * Fungsi untuk mengambil data dari server dengan XmlHTTPRequest
 *
 * Penggunaan :
 *
 * function getFunc(val) {
 *	  alert(val); 
 * }
 *
 * fileServer = "baca_tabel.php?id=10";
 * retrieveDataText(fileServer, "getFunc", "get", true);
 *
 *
 * Penjelasan :
 * Pada contoh di atas, kita akan mengambil data dari server yang dihasilkan dari file baca_tabel.php, lihat parameter ke-1.
 * Nilai yang didapatkan dari server akan diberikan ke fungsi "getFunc", lihat parameter ke-2.
 * Proses pengambilan data akan menggunakan metode "GET" (pilihan yang ada adalah "GET" atau "POST"), lihat parameter ke-3.
 * Proses pengambilan data diharapkan tidak mengganggu proses lainnya (setelah dikirim, browser masih dapat merespon
 * user yang menggunakan) sehingga di sini menggunakan cara asynchronously (true), lihat parameter ke-4, 
 * bila proses ingin berhenti dan menunggu jawaban dari server maka dapat digunakan false untuk parameter ini.
 *
 */

function retrieveData(reqFile, getFunction, method, async) {
	var requestObj = false;

	if (!getFunction) {
		alert("Function undefined !");
		return false;
	} 

	if (window.XMLHttpRequest) {
		requestObj = new XMLHttpRequest();
	} else {
		requestObj = new ActiveXObject("Microsoft.XMLHTTP");
	}

	if (requestObj) {
		requestObj.onreadystatechange = function() {
			if (requestObj.readyState == 4) {
				if (requestObj.status == 200) {
					eval(getFunction + "(requestObj)");
				} else {
					alert("Error in retrieving data !");
					returnVal = "";
				}
			}
		}

		method = (method)?(method):("GET");

		async = (async)?(async):(false);

		requestObj.open(method, reqFile, async);
		requestObj.send(null);
		return true;
	} else 
		return false;

}