
// ### 注意 ###
// ### prescription.js, usageEditor.jp, groupEditor.js でメソッド名が重複しないこと
// ###########

var _youhouType = 0; // Global 変数

function priceListServer(){
    return "../Prescription/priceListServer.php";
}

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

function clickedItem(item){
	document.getElementById("usageItem").value = item;
}

function loaded(answer){
    //alert("loaded->"+answer); //##

    document.getElementById("groupList").innerHTML = usageList(answer);
	
	function usageList(buff){
		// 用法リストを HTML 形式にして返す
		var array = eval('(' + buff + ')');
		var results = new Array();
		var i, j, count = array.length;
		for (i=j=0; i < count; i++){
			var obj = array[i];
			if (obj.type == selectedType()){
				var item = obj.value;
				results[j++] = "<A HREF=# onclick=\"clickedItem('"+item+"')\">"+item+"</A>";
			}
		}
		return results.join("<BR/>");
	}
}
function load(){
	// 用法データすべてをリクエスト
    _callServer("GET_USAGE_LIST", priceListServer(), null, loaded);
}

function saved(answer){
	// 用法の登録依頼に対するサーバからのレスポンスを処理
    //  alert("saved->"+answer); //##
    load();
}
function save(item, freq){
	// 用法の登録依頼
    var args = new Object();
    args['item'] = item;
    args['freq'] = freq;
    args['type'] = selectedType();
    
    _callServer("PUT_USAGE", priceListServer(), args, saved);
}

function removedUsage(answer){
    //alert("removedUsage->"+answer); //##
    load();
}
function removeUsage(){
	// 用法の削除
	if (selectedType() == 0){
		alert("用法が選択されていません");
		return;
	}
    var item = document.getElementById("usageItem").value;
    if (item.length == 0)
        alert("削除対象が入力されていません");
    else {
        var args = new Object();
        args['item'] = item;
        args['type'] = selectedType();
        
        _callServer("REMOVE_USAGE", priceListServer(), args, removedUsage);
    }
}

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


function setUsageSelectedType(type){
	// 用法 radio button の選択により popupMenu を作成表示
	_youhouType = type;
	load(); // type に該当するレコードを DB から読み込む
	document.getElementById("message").innerHTML = "";
}
function selectedType(){
	return _youhouType; // function名と定数名は異なること
}

function setSelector(){
	var td = document.getElementById("usageSelector");
	var pu = newPopupItem(td, "radio", "2", "内用");
	pu.setAttribute("onclick","setUsageSelectedType(21)");
	var pu = newPopupItem(td, "radio", "3", "屯用");
	pu.setAttribute("onclick","setUsageSelectedType(22)");
	var pu = newPopupItem(td, "radio", "4", "外用");
	pu.setAttribute("onclick","setUsageSelectedType(23)");
}

function closeUsageEditor(){
	document.getElementById("pr_editorArea").innerHTML = "";
}

function ok(){
	// 確定ボタンのクリックで呼ばれる
	if (selectedType() == 0){
		alert("用法が選択されていません");
		return;
	}
	
	var item = document.getElementById("usageItem").value;
	if (item.length == 0){
		alert("用法が入力されていません");
		return;
	}
	
	var freq = 1;
	save(item, freq);
}

function showUsageEditor(){
	var elm = document.getElementById("pr_editorArea");
	if (elm.innerHTML.length > 0){
		elm.innerHTML = "";
		return;
	}
    
    var frame = newDIV(elm, "templateFrame");
    frame.style.backgroundColor = "#ffe";
    frame.style.padding = "10px";
    frame.style.fontSize = "9pt";
    
    // HEADER
    var div = newDIV(frame, "");
    div.style.paddingBottom = "5px";
	var im = newIMAGE(div,"icon","./close.png","close");
    im.style.height = "14px";
	im.setAttribute("onclick", "closeUsageEditor()");
    im.setAttribute("class", "expandIcon");
    var dv = newSPAN(div, "");
    dv.style.paddingLeft = "5px";
    dv.innerHTML = "用法編集";
    
	// ラジオボタン表示エリア
    var div = newDIV(frame, "usageSelector");
    
    // ボタン・エリア
    var div = newDIV(frame, "inputArea/clearfix");
	var fd = newFIELD(div, "usageItem", "", 40, "");
    var bt = newDIV(div, "/whiteButton");
    bt.innerHTML = "削除";
	bt.setAttribute("onclick", "removeUsage()");
    var bt = newDIV(div, "/whiteButton");
    bt.innerHTML = "確定";
	bt.setAttribute("onclick", "ok()");

	// 用法表示エリア
    var div = newDIV(frame, "groupList");
	
	document.getElementById("message").innerHTML = "";
	setSelector();
}



