﻿/*==============================================================================
 暫定版Ajax用ライブラリ3.x系を利用するライブラリ
 jslb_ajax3X.js(http://jsgt.org/mt/archives/01/000409.html)

　ファイル：jslb_ajax_subset.js
  UPDATE 　:

*/

/*
 処理概要：XMLHttpRequestのresponse（Text or XML)をHtml指定(div)箇所に埋め込みます。
IE(MSXMLオブジェクト)利用の場合、responseText charset=windows-31Jには対応していません。

  関数 パラメータ

	 @param subset_method   "POST" or "GET"
	 @param subset_url      リクエストするファイルのURL
	 @param subset_async	   非同期ならtrue 同期ならfalse
	 @param subset_sload	   スーパーロード trueで強制、省略またはfalseでデフォルト
	 @param subset_user	   認証ページ用ユーザー名
	 @param subset_password 認証ページ用パスワード
	 @param subset_param   "POST"送信時のパラメータを指定
	 @param subset_inputhtml responseTextを埋め込む指定Id
	 @param subset_insert responseTextを埋め込みを挿入(true)か上書き(false)を指定します。
 	 @param subset_response responseの型を指定します。（TextまたはXML）

	 @sample    (onloaded,'&prog=1','POST','./about2.php',true,true)
*/
function XHTTPinnerHtml(subset_method,subset_url,subset_async,subset_sload,subset_user,subset_password,subset_param,subset_inputhtml,subset_insert,subset_response){


//引数型指定
var method = new String();
var url =  new String();
var async =new Boolean();
	async =false;
var sload =new Boolean();
	sload = false;
var user = new String();
var password = new String();
var param = new String();
var inputhtml = new String();
var insert = new Boolean();
	insert=false;
var response =  new String();


//引数格納
method = subset_method;
url = subset_url;
if("true"==subset_async){
 async = true;
}
if("true"==subset_sload){
 sload = true;
}
user = subset_user;
password = subset_password;
param = subset_param;
inputhtml = subset_inputhtml;
if("true"==subset_insert){
insert = true;
}
response = subset_response;

//debug.print("***"+"method:" + method +" url:"+url + " asyncs:"+async +" sload:"+sload+ " user:"+user+" password:"+password+" param:"+param+" inputhtml:"+inputhtml+" response:" + response);


// jslb_ajax3X.jsの送信関数をCall
//debug.print("0");
var innerObj = sendRequest(funcCallBack,param,method,url,async,sload);
//alert("o:"+innerObj);
//debug.print("1:"+innerObj.responseText);


//返却値がresponseTextの場合Htmlに埋め込みます。
	if("text" == response && document.getElementById(inputhtml) != null){

		//挿入判定
		if(insert){
		//debug.print("insert t"+insert);
		document.getElementById(inputhtml).innerHTML= document.getElementById(inputhtml).innerHTML　+ innerObj.responseText;

		}else{
		//debug.print("insert e"+insert);
		document.getElementById(inputhtml).innerHTML="";
		document.getElementById(inputhtml).innerHTML=  innerObj.responseText;

		}
	}

}



/*
 処理概要：XMLHTTPrequestの返却値をReturnします。

  関数 パラメータ

	 @param reobj  XMLHTTPrequestの返却値(送信関数のコールバック引数）

*/
function funcCallBack(reobj){

	if(reobj != null){
		 return reobj;
		}else{
//		 alert("e:000");
	}
}



/*
 処理概要：XMLHTTPrequestの返却値をresponseTextで返却します。

  関数 パラメータ

	 @param textobj  XMLHTTPrequestの返却値(送信関数のコールバック引数）

*/
function funcText(textobj){

	if(textobj != null){
		//debug.print("funcText"+textobj.responseText);
		 return textobj.responseText;
		}else{
//		 alert("e:000");
	}
}


/*
 処理概要：XMLHTTPrequestの返却値をresponseXMLtで返却します。

  関数 パラメータ

	 @param xmlobj  XMLHTTPrequestの返却値(送信関数のコールバック引数）

*/
function funcXml(xmlobj){

	if(xmlobj != null){
		 return textobj.responseXML;
		}else{
//		 alert("e:000");
	}
}


/*
 処理概要：XMLHTTPrequestの返却値をresponseXMLtで返却します。

  関数 パラメータ

	 @param xmlobj  XMLHTTPrequestの返却値(送信関数のコールバック引数）

*/
function funcOther(otherobj){

	if(otherobj != null){
		 return "de";
		}else{
//		 alert("e:000");
	}


}

/*
 処理概要：デバッグ用　使用端末のMSXMLのバージョンを確認します。
　jslb_ajax3.x：(ブラウザIEの場合　Msxml2.XMLHTTP、Msxml.XMLHTTPを生成）

  関数 パラメータ

	 @param  -
*/
function msXMLAlert(){

// debug.print("??load lib?");

//		var msxv = "<B>MSXML:</B>"
		var msxv ;
		if(window.ActiveXObject)
		{
			try {
				msxv += ( new ActiveXObject("Microsoft.XMLHTTP"))? "Microsoft.XMLHTTP":"";
				msxv += ( new ActiveXObject("Msxml2.XMLHTTP"))? " / Msxml2.XMLHTTP":"";
				msxv += ( new ActiveXObject("Msxml2.XMLHTTP.3.0"))? " / Msxml2.XMLHTTP.3.0":"";
				msxv += ( new ActiveXObject("Msxml2.XMLHTTP.4.0"))? " / Msxml2.XMLHTTP.4.0":"";
				msxv += ( new ActiveXObject("Msxml2.XMLHTTP.5.0"))? " / Msxml2.XMLHTTP.5.0":"";
			} catch (e) {

	 		}
 		}
// 		alert(msxv);
//document.getElementById('msxmlversion').innerHTML=msxv;


}
