
//コンボボックス1用
cbnum = 5;
cbdata = new Array(cbnum);
cbdata[0] = "選択してください";
cbdata[1] = "関東";
cbdata[2] = "東海";
cbdata[3] = "近畿";
cbdata[4] = "沖縄";

//コンボボックス2用
cb2data = new Array(cbdata.length);
cb2data[0] = new Array("-");
cb2data[1] = new Array("東京", "埼玉", "千葉", "神奈川", "茨城");
cb2data[2] = new Array("愛知", "静岡", "三重");
cb2data[3] = new Array("大阪", "京都", "兵庫", "奈良");
cb2data[4] = new Array("-");

// Dynamic バージョン
//
function set_dycb2_value(fm)
{
	fm.elements['cb2val'].value = fm.elements['cb2'].selectedIndex;
}

function disp_default_dycb1()
{
	document.write('<select name="cb1" onChange="ch_dycbox(this.form)">');
	for(i=0; i<cbnum; i++) {
		if (i == 0)
			document.write('<option value="' + i + '" selected>' + cbdata[i]);
		else
			document.write('<option value="' + i + '">' + cbdata[i]);
	}
	document.write('</select>');
}

function disp_default_dycb2(fm)
{
	var cur_idx=0;
	var cur_idx2=0;

	// 現在の cb1 の値を得る
	if (fm.elements['cb1']) {
		cur_idx = fm.elements['cb1'].selectedIndex;
	}

	// 現在の cb2 の値を得る（ブラウザのメモリ中にはcb2 が定義されていない状態？）
	if (fm.elements['cb2']) {
		cur_idx2 = fm.elements['cb2'].selectedIndex;
	}

	// hidden タグの参照
	if (fm.elements['cb2val']) {
		cur_idx2 = fm.elements['cb2val'].value;
	}

	if (cb2data[cur_idx][0] != "-") {
		// cb2 の <select> タグの作成
		var add_select = '<select name="cb2" onChange="set_dycb2_value(this.form)">';

		for(i=0; i<cb2data[cur_idx].length; i++) {
			if (i == cur_idx2)
				add_select += '<option value="' + i + '" selected>' + cb2data[cur_idx][i];
			else
				add_select += '<option value="' + i + '">' + cb2data[cur_idx][i];
		}
		add_select += '</select>';

		// cb2 を表示
		var cbox2_div=document.getElementById("dy_cbox2");
		cbox2_div.insertAdjacentHTML("beforeBegin", add_select);
	}
}

function ch_dycbox(fm)
{
	// 選択された cb1 の index をセット
	//   fm.cb1.selectedIndex と記述してもOK
	var sel_idx = fm.elements['cb1'].selectedIndex;

	// cb2 が必要かチェックかつ無駄な cb2 を削除
	if (cb2data[sel_idx][0] == "-") {
		if ( cb2_div=fm.elements['cb2'] ) {
			cb2_div.removeNode('false');
			return;
		} else {
			return;
		}
	}

	// cb2 の <select> タグの作成
	var add_select = '<select name="cb2" onChange="set_dycb2_value(this.form)">';

	for(i=0; i<cb2data[sel_idx].length; i++) {
		if (i == 0)
			add_select += '<option value="' + i + '" selected>' + cb2data[sel_idx][i];
		else
			add_select += '<option value="' + i + '">' + cb2data[sel_idx][i];
	}
	add_select += '</select>';

	// 無駄な cb2 を削除
	if ( cb2_div=fm.elements['cb2'] ) {
		cb2_div.removeNode('false');
	}

	// cb2 を表示
	var cbox2_div=document.getElementById("dy_cbox2");
	cbox2_div.insertAdjacentHTML("beforeBegin", add_select);
}


// Static バージョン
//
function disp_default_stcb1()
{
	document.write('<select name="cb1" onChange="ch_stcbox(this.form);">');
	for(i=0; i<cbnum; i++) {
		if (i == 0)
			document.write('<option value="' + i + '" selected>' + cbdata[i]);
		else
			document.write('<option value="' + i + '">' + cbdata[i]);
	}
	document.write('</select>');
}

function disp_default_stcb2(fm)
{
	var cur_idx=0;
	var cur_idx2=0;

	document.write('<select name="cb2">');

	// 現在の cb1 のindex値を得る
	if (fm.elements['cb1']) {
		cur_idx = fm.elements['cb1'].selectedIndex;
	}

	// 現在の cb2 の index値を得る
	if (fm.elements['cb2']) {
		cur_idx2 = fm.elements['cb2'].selectedIndex;
	}
	for (i=0; i<cb2data[cur_idx].length; i++) {
		if (i == cur_idx2)
			document.write('<option value="' + i + '" selected>' + cb2data[cur_idx][i]);
		else
			document.write('<option value="' + i + '">' + cb2data[cur_idx][i]);
	}
	document.write('</select>');

}

function ch_stcbox(fm)
{
	// 選択された cb1 の index をセット
	//   fm.cb1.selectedIndex と記述してもOK
	var sel_idx = fm.elements['cb1'].selectedIndex;

	// 選択された cb1 と同じ index の cb2data の要素数をセット
	var cb2_length = cb2data[sel_idx].length;

	// cb2 に登録する cb2dataの要素数をセット
	fm.elements['cb2'].length = cb2_length;
	for(i=0; i<cb2_length; i++) {
		// 最後の要素をselected にする
		if (i == 0)
			fm.elements['cb2'].options[i].selected = true;

		// 表示テキストをセット
		fm.elements['cb2'].options[i].text  = cb2data[sel_idx][i];

		// 値をセット
		fm.elements['cb2'].options[i].value = i;
	}
}


