function component(name, group, children, url) {
	this.name = name;
	this.group = group;
	this.children = children;
	this.url = url;
}

function populate(level) {
	var form = document.forms["selector"];

	if (form.elements[level] != null) {
		form.elements[level].innerHTML = "";
		var opt = document.createElement("option");
		opt.innerHTML = "Please Select";
		form.elements[level].appendChild(opt);
	}
	if ((level == 0) || (form.elements[level - 1].value != 0)) {
		var list = getChildren(form, level, 0, tree);
		if (list == null) {
			var url = getChildren(form, (level - 1), 0, tree)[form.elements[level - 1].value - 1].url;
			window.location.href = url;
			return;
		} else {
			var count = 0;
			var value = 0;
			var group = null;
			var spacer = "";
			for (i = 0; i < list.length; i++) {
				if (list[i].group != group) {
					if (group != null) {
						form.elements[level].options[++count] = new Option("", 0);
					}
					form.elements[level].options[++count] = new Option(list[i].group, 0);
					group = list[i].group;
					spacer = "   ";
				}
				form.elements[level].options[++count] = new Option(spacer + list[i].name, ++value);
			}
		}
	}
	format(form, level);
}

function getChildren(form, level, depth, source) {
	if (depth == level) {
		return source;
	}
	return getChildren(form, level, (depth + 1), source[form.elements[depth].value - 1].children);
}

function format(form, level) {
	var current;
	for (i = 0; i < form.elements.length; i++) {
		if ((i <= level) && ((i == 0) || (form.elements[i - 1][form.elements[i - 1].selectedIndex].value != 0))) {
			form.elements[i].disabled = false;
			current = i;
		} else {
			form.elements[i].selectedIndex = 0;
			form.elements[i].disabled = true;
		}
	}
	for (i = 0; i < form.elements.length; i++) {
		var imageName = "image" + (i + 1);
		var trName = "row" + (i + 1);
		if (i < current) {
			document.getElementById(imageName).src = "../images/tick3.gif";
			document.getElementById(trName).style.background = "#E3E3E3";
			document.getElementById(trName).className = "black";
			form.elements[i].className = "black";
			form.elements[i].style.background = "#D5D5D5";
		} else if (i == current) {
			document.getElementById(imageName).src = "../images/arrow2.gif";
			document.getElementById(trName).style.background = "#d4d4d4";
			document.getElementById(trName).className = "black";
			form.elements[i].className = "white";
			form.elements[i].style.background = "#F73223";
		} else {
			document.getElementById(imageName).src = "../images/spacer.gif";
			document.getElementById(trName).style.background = "#f2f2f2";
			document.getElementById(trName).className = "grey";
			form.elements[i].className = "black";
			form.elements[i].style.background = "#D5D5D5";
		}
	}
}// JavaScript Document