
// target_id: select要素のID
// selectmenu_list入力データ
// 		selectmenu_listのデータ形式
// 		[[option要素のvalue値, option表示名 , 表示条件], ...]
// 表示条件(正規表現)
function replace_selectmenu (target_id, selectmenu_list, category_value) {
	// TODO 画面表示を変更する間、ブラウザの表示を止めたほうが速度的に良いかも

	// 既存のselectmenuの項目を削除
	var length;
	length = document.getElementById(target_id).options.length;
	for (var i = 0; i < length; i++)
		document.getElementById(target_id).options[0] = null;

	// 対象カテゴリの条件に一致するものを検索する。
	// 
	if(category_value == "") {
		list = selectmenu_list; // all;
	} else {
		// カテゴリの指定がある場合は 検索文字 がキーワードに含まれる物を抜き出す
		// TODO 利用時に、検索文字として "\t検索文字\t" で検索を行う
		re = new RegExp("");
		// TODO 高速化のため正規表現を内部表現形式に変更する。
		re.compile(category_value);
		list = Array();
		for( var i in selectmenu_list ) {
			if(selectmenu_list[i][2].search(re) != -1 ) {
				list.push(selectmenu_list[i]) ;
			}
		}
	}

	var count = 0;
	for( var i in list ) {
		var option = new Option(list[i][1], list[i][0] );
		document.getElementById(target_id).options[count] = option;
		count = count + 1;
	}

	// 要素がなかった場合
	if (count == 0) {
		var option = new Option('該当する製品がありません', '' );
		document.getElementById(target_id).options[0] = option;
	}

    return true;
}