
var _receiver;

///////////////////////////
/// Ajax による処理 /////////

function NRSendBack(){
	// サーバから返された処理を実行
	if ((xmlHttpObject.readyState == 4) && (xmlHttpObject.status == 200)){
		var value = xmlHttpObject.responseText;
		//alert("NRSendBack ===\n"+value);//##
        //document.getElementById("_debug").innerHTML = value;
		var array = value.split("<SEPARATOR>");
		if (array.length > 1){
			_receiver(array[1]); // JSON
		}
		hideMessage("_message");
	} else 
		showMessage("_message", "サーバで処理中です ...");
}

function NR_debug(){
	// サーバから返された処理を実行
	if ((xmlHttpObject.readyState == 4) && (xmlHttpObject.status == 200)){
		var value = xmlHttpObject.responseText;
		alert("=== NR_debug ===\n"+value); //## 返されたメッセージを debug 用に表示
		var array = value.split("<SEPARATOR>");
		if (array.length > 1){
			_receiver(array[1]); // JSON
		}
		hideMessage("_message");
	} else 
		showMessage("_message", "サーバで処理中です ...");
}

function NRPutObject(owner, key, value, patientId, receiver){
	//xmlHttpObject = createXMLHttpRequest(NR_debug);
	xmlHttpObject = createXMLHttpRequest(NRSendBack);
	if (xmlHttpObject){
		_receiver = receiver; // 結果を受け付けるメソッドを記憶
        if (patientId.length == 0) patientId = "tmp";
        
        // encodeURI は '&' をエンコードしてくれないのでこちら側でエンコード
        // ### send() に与える文字列:st 全体をエンコードしては駄目 ###
        var st = "";
        key = encodeSTRING(key);
        st += "key=" + encodeURI(key);
        value = encodeSTRING(value);
        st += "&value=" + encodeURI(value);
        st += "&container=" + patientId;
        st += "&filename=" + encodeURI(encodeSTRING(todayAndTimeId()));

        xmlHttpObject.open("POST", "server.php", true);         
        xmlHttpObject.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
		//alert("NRPutObject ====\n"+st); //##
        xmlHttpObject.send(st);
	}
}

/// Ajax による処理 /////////
///////////////////////////

