// Ajax Script
/*
Write by Arlen (elct9620@rwwl.co.cc)
*/
// AJAX 物件
var ajax;

// 依據不同的瀏覽器，取得 XMLHttpRequest 物件
function createAJAX() {
	if (window.ActiveXObject) {
		try {
			return new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				return new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e2) {
				return null;
			}
		}
	} else if (window.XMLHttpRequest) {
		return new XMLHttpRequest();
	} else {
		return null;
	}
}

// 非同步送出資料
function ajaxSend(uri,method,div,data) {
	ajax = createAJAX() ;
	if (!ajax) {
		alert ('使用不相容 XMLHttpRequest 的瀏覽器');
		return 0;
	}

	ajax.onreadystatechange = function OnDataChange () {
		if (ajax.readyState == 4) {
			if (ajax.status == 200) {
				topscroll();
				fade_in(div,100);
				var content = document.getElementById (div);
				content.innerHTML = ajax.responseText;
				checkScroll();
				var loading = document.getElementById ("loading");
				loading.style.display = "none";
			}else if (ajax.status == 404) {
				topscroll();
				fade_in(div,100);
				var content = document.getElementById (div);
				content.innerHTML = "<center><br /><br />錯誤代碼: 404<br />發生原因: 系統抓取不到這個頁面。</center>";
				checkScroll();
				var loading = document.getElementById ("loading");
				loading.style.display = "none";
			}else if (ajax.status == 500) {
				topscroll();
				fade_in(div,100);
				var content = document.getElementById (div);
				content.innerHTML = "<center><br /><br />錯誤代碼: 500<br />發生原因: 內部伺服器發生錯誤。</center>";
				checkScroll();
				var loading = document.getElementById ("loading");
				loading.style.display = "none";
			}else if (ajax.status == 403) {
				topscroll();
				fade_in(div,100);
				var content = document.getElementById (div);
				content.innerHTML = "<center><br /><br />錯誤代碼: 403<br />發生原因: 使用者沒有權限瀏覽。</center>";
				checkScroll();
				var loading = document.getElementById ("loading");
				loading.style.display = "none";
			} else {
				alert ("系統錯誤：伺服器處理錯誤\n代碼："+ajax.status);
				var loading = document.getElementById ("loading");
				loading.style.display = "none";
			}
		}else{
			var loading = document.getElementById ("loading");
			loading.style.display = "block";
		}
	}
	if(method == "GET"){
		ajax.open ("GET", uri, true);
		ajax.send ("");
	}else if(method == "POST"){
		ajax.open ("POST", uri, true);
		ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		ajax.send (data);
	}else{
		alert("未知的資料傳送方法");	
	}
	return null;
}