function selTab(obj) {
	var n = obj.parentNode; if (!n) return;
	n = n.parentNode; if (!n) return;

	var ch = n.childNodes;
	var showDiv = getFor(obj);
	
	for (i=0; i < ch.length; i++) {
		if (ch[i].tagName && ch[i].tagName.toLowerCase() == 'td' && ch[i].childNodes.length && ch[i].firstChild.tagName && ch[i].firstChild.tagName.toLowerCase() == 'label' ) {
			label = ch[i].firstChild;
			var f = getFor(label);

			var vis = f == showDiv;
			setState(f, vis);
			ch[i].className = vis ? 'sel' : '';
		}
	}
	return false;
}

var __States = new Array();
function setState(id, visible) {
	var el = document.getElementById(id);
	if (!el) return;
	el.className = visible  ? el.className.replace('hidden', 'visible') : el.className.replace('visible', 'hidden');
}

function toggleState(id) {
	var el = document.getElementById(id);

	if (__States[id] == null)
		__States[id] = !/hidden/.test(el.className);

	__States[id] = !__States[id];
	setState(id, __States[id]);
}

function getFor(obj) {
	var f = obj.getAttribute('for');
	if (!f) {
		f = obj.htmlFor;
	}
	return f;
}