// ★任意数項目制御JavaScript


/*
	１．table構造は固定でtdに任意数追加削除するタイプ

	設定:
	項目数を保存するhiddenを設置する。
	有効な項目の添え字を保存するhiddenを設置する。
	項目を挿入するtdにidを設定する。
	注意:onLoadで初期化関数を呼び出し、hiddenを初期化すること。

	詳細は、「任意数追加の実装説明書.txt」を参照下さい。
*/

// ●項目を追加する
// ins_id : 項目を挿入するtdのid
// nod_id : 項目を識別するid
// item : 項目の中身(html)
function objAdd(ins_id , nod_id , item)
{
	var nod = document.createElement("div");
	nod.id = nod_id;
	nod.innerHTML = item;

	var p = document.getElementById(ins_id);
	p.appendChild(nod);
}

// ●項目を削除する
function objDel(nod_id)
{
	var obj = document.getElementById(nod_id);
	var child = obj.childNodes[0];
	obj.removeChild(child);
}


/*
	２．tableにtrを任意数追加削除するタイプ(２列のテーブル専用)

	設定:
	項目数を保存するhiddenを設置する。
	有効な項目の添え字を保存するhiddenを設置する。
	tbodyを設定し、trを挿入するtbodyにidを設定する。
	注意:onLoadで初期化関数を呼び出し、hiddenを初期化すること。
*/

// ●項目を追加する
// tbody_id : trを挿入するtbodyのid
// tr_id : trを識別するid
// label : 項目セルの中身
// item : 値セルの中身
// cell_1_style : 項目セルのスタイル名
// cell_2_style : 値セルのスタイル名
function objAdd2(tbody_id , tr_id , label , item , cell_1_style , cell_2_style)
{
	var tbody = document.getElementById(tbody_id);

	var row = document.createElement("tr");
	row.id = tr_id;

	//項目セル(左側)
	var cell_1 = document.createElement("td");
	cell_1.innerHTML = label;
	cell_1.className = cell_1_style;
	row.appendChild(cell_1);

	//値セル(右側)
	var cell_2 = document.createElement("td");
	cell_2.innerHTML = item;
	cell_2.className = cell_2_style;
	row.appendChild(cell_2);

	tbody.appendChild(row);
}

// ●項目を削除する
function objDel2(tbody_id , tr_id)
{
	var obj = document.getElementById(tbody_id);
	var num = obj.childNodes.length;

	for (k=0 ; k<num ; k++)
	{
		var child = obj.childNodes[k];

		if (tr_id == child.id)
		{
			obj.removeChild(child);
			break;
		}
	}
}


/*
	１,２共通関数
*/

// ●有効な項目の添え字を追加する
// save_val : 有効な項目の添え字を保存するhiddenの値
// input_val : 追加する添え字
function setNodeNo(save_val , input_val)
{
	var array = save_val.split(":");

	//初回の空の配列は削除
	if (array[0] == null)
	{
		array = [];
	}

	array.push(input_val);

	return array.join(":");
}

// ●有効な項目の添え字を削除する
function delNodeNo(save_val , del_val)
{
	var array = save_val.split(":");
	var num = array.length;

	var new_array = [];
	for (k=0 ; k<num ; k++)
	{
		if (array[k] != del_val)
		{
			new_array.push(array[k]);
		}
	}

	return new_array.join(":");
}

