function clearClass(combo) 
{
	var i = 0;
    for (i = combo.options.length; i >= 1; --i)
		combo.options[i] = null;
		
	combo.disabled = true;
}
// "getClass" is a predefined function in Mozilla browsers
function getElementClass(id, i)
{
	var name = 'class' + id + '_' + i;
	var list = document.getElementsByName(name);
	return list[0];
}
function loadClass(id, current, arr) 
{
	var parent = getElementClass(id, current++);
	var child = getElementClass(id, current);
	
	// check if you hit a leaf in the tree
	if (child == null)
		return;
		
	// clear the children	
	var combo = null;
	while ((combo = getElementClass(id, current++)) != null)
		clearClass(combo);

	if (parent.selectedIndex < 1)
		return;
		
	var keyNumber = parent.options[parent.selectedIndex].value;
	
	if (typeof(arr[keyNumber]) == 'undefined')
		return;
		
	var classifications = arr[keyNumber].split(':');
	var i = 0;
	
	for (i=0; i < classifications.length; i++) {
		var values = classifications[i].split('#');
		if (values.length == 2)
			child.options[i+1] = new Option(values[1],values[0]);
	}
	
	child.disabled = false;
}
