//Ajax2度押し防止変数
var AJAXing = false;

////HTTP通信用共通関数
//XMLHttpRequestが使えれば使う。だめならActiveXを使う。
function createXMLHttpRequest(cbFunc){
	var XMLhttpObject = null;
	try{
		XMLhttpObject = new XMLHttpRequest();
	}catch(e){
		try{
			XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try{
				XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP");
			}catch(e){
				return null;
			}
		}
	}
	//読み込み完了のイベントonloadはActiveXには無いのでonreadystatechangeを使う
	if (XMLhttpObject) XMLhttpObject.onreadystatechange = cbFunc;
	return XMLhttpObject;
}
//エレメント参照の簡略化
function $(tagId){
	return document.getElementById(tagId);
}
//Ajax使用
//fName:GETするファイル名
//idName:書き換えるID
function useAjax(fName,idName){
	//通信用オブジェクトの作成をコール
	httpObj = createXMLHttpRequest(function(){
		//コールバックするファンクション
		//	readyState=4：クライアントはすべて受信した。
		//	status=200：サーバのステータス(404NotFound的な)。200は送りました。の意味
		if (httpObj.readyState == 4){
			switch(httpObj.status){
				case 200:
					txt = httpObj.responseText;
					$(idName).innerHTML = txt;
					AJAXing = false;
					break;
				default:
					txt = "Error:"+httpObj.status;
					$(idName).innerHTML = txt;
			}
		} else {
			$(idName).innerHTML = "Loading...";
		}
	});
	if (httpObj){
		//サーバ上のファイルを非同期通信(第3引数true)で開く
		httpObj.open("GET",fName,true);
		httpObj.send(null);
	}
}
//fName:GETするファイル名
//element:書き換えるエレメント
function useAjaxToElement(fName,applyElement){
	//通信用オブジェクトの作成をコール
	httpObj = createXMLHttpRequest(function(){
		//コールバックするファンクション
		//	readyState=4：クライアントはすべて受信した。
		//	status=200：サーバのステータス(404NotFound的な)。200は送りました。の意味
		if (httpObj.readyState == 4){
			switch(httpObj.status){
				case 200:
					txt = httpObj.responseText;
					applyElement.innerHTML = txt;
					AJAXing = false;
					break;
				default:
					txt = "Error:"+httpObj.status;
					applyElement.innerHTML = txt;
			}
		} else {
			applyElement.innerHTML = "Loading...";
		}
	});
	if (httpObj){
		//サーバ上のファイルを非同期通信(第3引数true)で開く
		httpObj.open("GET",fName,true);
		httpObj.send(null);
	}
}


