// set configurations as below in each page.
// 
// CONFIGURATIONS
// var triggerIdToVariableObjectIds = new Array();
// triggerIdToVariableObjectIds['col_name'] = new Array('select_box');

var isInitializedForTrigger = false;

function storeAllChildren(obj) {
	obj['items'] = new Array();
	for (var i = 0; i < obj.childNodes.length; i++) {
		if (obj.childNodes[i].id != undefined) {
			obj['items'][obj.childNodes[i].id] = obj.childNodes[i];
		}
	}
}
function showOneChild(obj, triggerValue) {
	while (obj.hasChildNodes()) {
		obj.removeChild(obj.firstChild);
	}
	var id = obj.id + '_' + triggerValue;
	var item = obj['items'][id];
	if (item == undefined) {
		id = obj.id + '_default';
		item = obj['items'][id];
	}
	if (item != undefined) {
		obj.appendChild(obj['items'][id]);
		obj['items'][id].style.display = '';
	}
}

function initialize() {
	for (var triggerId in triggerIdToVariableObjectIds) {
		var variableObjectIds = triggerIdToVariableObjectIds[triggerId];
		if (variableObjectIds != undefined) {
			for (var i = 0; i < variableObjectIds.length; i++) {
				var obj = document.getElementById(variableObjectIds[i]);
				storeAllChildren(obj);
			}
		}
	}
	isInitializedForTrigger = true;
}

function trigger(triggerId) {
	if (!isInitializedForTrigger) {
		initialize();
	}
	var value = document.getElementById(triggerId).value;
	var variableObjectIds = triggerIdToVariableObjectIds[triggerId];
	if (variableObjectIds != undefined) {
		for (var i = 0; i < variableObjectIds.length; i++) {
			showOneChild(document.getElementById(variableObjectIds[i]), value);
		}
	}
}


