var selectclass = 'bold-hilited';
var hiliteclass = 'hilited';
var doubleclass = 'double-hilited';

function hiliterow(node) {
	while (node.nodeName != 'TR') node = node.parentNode;
	hiliteobj(node);
}
function deliterow(node) {
	while (node.nodeName != 'TR') node = node.parentNode;
	deliteobj(node);
}
function hilitep(obj) {
	hiliteobj(obj.parentNode);
}
function hilitepp(obj) {
	hiliteobj(obj.parentNode.parentNode);
}
function hiliteppp(obj) {
	hiliteobj(obj.parentNode.parentNode.parentNode);
}
function hiliteobj(obj) {
	if (obj.className.match(RegExp('\\b'+selectclass+'\\b'))) {
		obj._doubled = true;
		addclass(obj,doubleclass);
	} else {
		obj._hilited = true;
		addclass(obj,hiliteclass);
	}
}
function delitep(obj) {
	deliteobj(obj.parentNode);
}
function delitepp(obj) {
	deliteobj(obj.parentNode.parentNode);
}
function deliteppp(obj) {
	deliteobj(obj.parentNode.parentNode.parentNode);
}
function deliteobj(obj) {
	if (obj._hilited) {
		obj._hilited = false;
		remclass(obj,hiliteclass);
	}
	if (obj._doubled) {
		obj._doubled = false;
		remclass(obj,doubleclass);
	}
}
function cbclickppp(cbobj,hclass) {
	return cbclick(cbobj,cbobj.parentNode.parentNode.parentNode,hclass);
}
function cbclickpp(cbobj,hclass) {
	return cbclick(cbobj,cbobj.parentNode.parentNode,hclass);
}
function cbclickp(cbobj,hclass) {
	return cbclick(cbobj,cbobj.parentNode,hclass);
}
function cbclick(cbobj,obj,hclass) {
	if (!hclass) {
		hclass = selectclass;
	}
	if (cbobj.checked) {
		if (obj._hilited) {
			obj._doubled = true;
			addclass(obj,doubleclass);
		}
		addclass(obj,hclass);
	} else {
		if (obj._doubled) {
			obj._doubled = false;
			remclass(obj,doubleclass);
		}
		remclass(obj,hclass);
	}
}
function radioclickp(radiobj,upcnt) {
	radioclick(radiobj,radiobj.parentNode,upcnt);
}
function radioclickpp(radiobj,upcnt) {
	radioclick(radiobj,radiobj.parentNode.parentNode,upcnt);
}
function radioclick(radiobj,obj,upcnt) {
	if (typeof prevradio != 'undefined') { 
		remclass(prevradio,selectclass);
	} else {
		if (!upcnt) {
			upcnt = 1;
		}
		var inputs = document.getElementsByTagName('input');
		if (inputs)
		for (var i = 0; i < inputs.length; ++i) {
			var node = inputs[i];
			if (	node.type == 'radio'
			&&	node.name == radiobj.name
			&&	node != radiobj
			) {
				var u = upcnt;
				while (u--) {
					node = node.parentNode;
					if (node.className.match(RegExp('\\b'+selectclass+'\\b'))) {
						remclass(node,selectclass);
						upcnt = 0;
						break;
					}
				}
			}
			if (!upcnt) {
				break;
			}
		}
	}
	addclass(obj,selectclass);
	prevradio = obj;
}

