/**
 * XMLHttpRequestオブジェクト生成
 */
function createHttpRequest(){

	// IE用
	if(window.ActiveXObject){
		try{
			// MSXML2以降用
			return new ActiveXObject("Msxml2.XMLHTTP");
		}catch(ex){
			try{
				// 旧MSXML用
				return new ActiveXObject("Microsoft.XMLHTTP");
			}catch(ex2){
				alert("Unknown Exception occured.");
				return null;
			}
		}
	// IE以外のXMLHttpRequestオブジェクト実装ブラウザ用
	}else if(window.XMLHttpRequest){
		return new XMLHttpRequest();
	}else{
		alert("The browser which you use is not supported on our web site.");
		return null;
	}
}

/**
 * prepare
 */
function prepare(req, method, url, param, pageScript){

	// コネクションオープン
	req.open(method, url, true);

	// リクエストヘッダ設定
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

	// 受信時に起動するイベント
	req.onreadystatechange = function(){ 
		// readyState値は4で受信完了
		if (req.readyState == 4){ 
			// 受信完了時コールバックメソッド
			processResonseDataCommon(req, param, pageScript);
		}
	}
}

/**
 * フォームデータ作成ファンクション
 */
function createFormData(targetForm) {

	var values = "";
	if (targetForm != null){
		for(var i=0; i<targetForm.elements.length; i++) {
			values += ("&" + targetForm.elements[i].name + "=" + targetForm.elements[i].value);
		}
	}

	return values.substring(1);
}

/**
 * 受信完了時共通コールバックファンクション
 */
function processResonseDataCommon(req, param, pageScript){

	// 画面表示切り替えの場合
	if (param=="MAIN_SCREEN" || param=="SUB_SCREEN"){
		document.getElementById(param).innerHTML = req.responseText;
		if (pageScript != null){
			var dest = document.createElement("script");
			dest.src = pageScript;
			dest.id= "PAGE_SCRIPT";
			dest.type = "text/javascript";
			var org = document.getElementById("PAGE_SCRIPT");
			document.getElementsByTagName("HEAD")[0].replaceChild(dest, org);
		}

	// 上記以外の場合
	} else{
		// delegate
		processResonseData(req, param);
	}
}

/**
 * コンテンツ表示
 */
function display(ScreenId, url, pageScript){

	// XMLHttpRequestオブジェクト生成
	var req = createHttpRequest();

	// prepare
//	prepare(req, "POST", url, ScreenId, pageScript);
	prepare(req, "GET", url, ScreenId, pageScript);

	//send メソッド
	req.send(createFormData(document.forms[0]));

	reload();
}

/**
 * コンテンツをメインスペースに表示
 */
function displayOnMainScreen(url, menuId, pageScript){

	setSelectedMenu(menuId);
	display("MAIN_SCREEN", url, pageScript);
}

/**
 * コンテンツをサブスペースに表示
 */
function displayOnSubScreen(url, pageScript){

	display("SUB_SCREEN", url);
}

/**
 * 画面遷移時に再読み込みさせたい処理を記述
 */
function reload(){

	document.getElementById('logo').src='/image/logo_s.gif';	// アニメーションGIFがストップしてしまう事への対応
}

