function displayIDs(setting) 
{
	for (var i = 1; i < displayIDs.arguments.length; i++)	
		setDisplay(setting, [displayIDs.arguments[i]]);
}

function setDisplay(setting, ids) 
{
	//alert('setting = ' + setting + ', ids = ' + ids);
	if (setting == '' || setting == 'block' || setting == 'inline' || setting == 'none') {
		for (var i = 0; i < ids.length; i++) {
			if (!isBlank(document.getElementById(ids[i]))) {
				document.getElementById(ids[i]).style.display = setting;
				/*
				switch (ids[i]) {
					case  'ProjectTypeTABLE':
						alert('setDisplay' + setting + ' ' + ids + '\ncaller:\n' + setDisplay.caller);
						//alert('setDisplay of ' + ids[i] + ' to ' + setting + ' array is ' + ids + '\ncaller:\n' + setDisplay.caller);
						break;
				}
				*/
			}
		}
	}
}

function setDisplayForArrayOfObjects(setting, objs) 
{
	if (setting == '' || setting == 'block' || setting == 'inline' || setting == 'none') {
		for (var i = 0; i < objs.length; i++) {
			if (!isBlank(objs[i])) {
				objs[i].style.display = setting;
			}
		}
	}
}

function setRowsDisplay(setting, table) 
{
	if (setting == '' || setting == 'block' || setting == 'none') {
		for (var i = 0; i < table.rows.length; i++)
			table.rows[i].style.display = setting;
	}
}

function areAnyRowsNotDisplayed(id) 
{
	var source = (typeof(id) != 'undefined') ? id : window.event.srcElement; 
	var	table = getParentTag(source, 'TABLE');
	for (var i = 0; i < table.rows.length; i++) {
		if (table.rows[i].style.display == 'none')
			return (true);
	}
	return (false);
}

findParentTagName = getParentTag;

function getParentTag(descendantElement, parentTagName) 
{
	var parent = descendantElement.parentElement;
	if (descendantElement.tagName != 'BODY') { // Don't allow to recurse up from body tag
		for (var i = 0; parent.tagName != parentTagName && parent.TagName != 'BODY'; i++) {
			if (parent.tagName == 'BODY' || parent.tagName == 'HTML' || isBlank(parent.tagName)) {
				return (descendantElement);
			}
			parent = parent.parentElement;
		}
		return (parent);
	} 
	return (descendantElement);
}

function getSourceTable(id)
{
	return ((typeof(id) != 'undefined') ? eval('document.all.' + id) : getParentTag(window.event.srcElement, 'TABLE'));
}

function showAllRows(id) 
{
	setRowsDisplay('block', getSourceTable(id));
}

function hideRowsExcept(id) 
{
	var source = (typeof(id) != 'undefined') ? eval('document.all.' + id) : window.event.srcElement;
	var table = getParentTag(source, 'TABLE');
	for (var i = 0; i < table.rows.length; i++)
		table.rows[i].style.display = (!table.rows[i].contains(source)) ? 'none' : 'block';
}

function showOnlyThisRowAndHeader(num, el) 
{
	var element = (typeof(el) != 'undefined') ? el : window.event.srcElement;
	var table = getParentTag(element, 'TABLE');
	for (var i = 0; i <= num && i < table.rows.length; i++) {
		if (!(i==0 || table.rows[i].contains(element)))
			table.rows[i].style.display = 'none';
	}
}



