/* Scripts for revealing and concealing document elements. */

function divSwitch(selection) {
	var limit = document.getElementById("content");
	var element = document.getElementById(selection);
	var divtags = limit.getElementsByTagName("div");
	for (var i = 0; i < divtags.length; i++) {
		if (divtags[i] != element) {
			divtags[i].style.display = "none";
		} else {
			divtags[i].style.display = "";
		};
	};
}

function tableReset() {
	var target = document.getElementById("focal");
	var alphasets = target.getElementsByTagName("tbody");
	for (var i = 0; i < alphasets.length; i++) {
		var rowsets = alphasets[i].getElementsByTagName("tr");
		for (var j = 0; j < rowsets.length; j++) {
			rowsets[j].style.display = "";
		};
		alphasets[i].style.display = "";
	};
	target.style.display = "";
}

function bodySelect(letter) {
	tableReset();
	var target = document.getElementById("focal");
	var bodysets = target.getElementsByTagName("tbody");
	for (var i = 0; i < bodysets.length; i++) {
		if (bodysets[i].getAttribute("id") == letter) {
			bodysets[i].style.display = "";
		} else {
			bodysets[i].style.display = "none";
		};
	};
}

function hasClass(spot,choice) {
	if (spot.className) {
		var possible = spot.className.split(' ');
		var comp = choice.toUpperCase();
		for (var i = 0; i < possible.length; i++) {
			if (possible[i].toUpperCase() == comp) {
				return true;
			};
		};
	};
   return false;
}

function enterSelect(keyed,desired) {
    if (keyed == 13) {
        classSelect(desired);
        return false;
    };
}

function alphaSelect(subtype) {
	tableReset();
	var target = document.getElementById("focal");
	var subtargets = target.getElementsByTagName("tbody");
	for (var i = 0; i < subtargets.length; i++) {
		var rowsets = subtargets[i].getElementsByTagName("tr");
		for (var j = 0; j < rowsets.length; j++) {
			if (hasClass(rowsets[j],subtype)) {
				rowsets[j].style.display = "";
			} else {
				rowsets[j].style.display = "none";
			};
		};
	};
}

function classSelect(matched) {
	tableReset();
    var listchoice = matched.list.selectedIndex;
    var subtype = matched.list.options[listchoice].value;
	var target = document.getElementById("focal");
	var subtargets = target.getElementsByTagName("tbody");
	for (var i = 0; i < subtargets.length; i++) {
		var rowsets = subtargets[i].getElementsByTagName("tr");
		for (var j = 0; j < rowsets.length; j++) {
			if (hasClass(rowsets[j],subtype)) {
				rowsets[j].style.display = "";
			} else {
				rowsets[j].style.display = "none";
			};
		};
	};
}

function fingerSelect(code,output) {
    if (code == 13) {
        formSelect(output);
        return false;
    };
}

function formSelect(filter) {
	var limit = document.getElementById("content");
	var divtags = limit.getElementsByTagName("div");
	for (var i = 0; i < divtags.length; i++) {
		if (divtags[i].getAttribute("id") == "subjectlist") {
			classSelect(filter);
		};
	};
}

