// Display functions
function displayIDs() {
	var args = displayIDs.arguments;
	var TheDisplayState, i;
	TheDisplayState = args[0];
	for (i=1;i<args.length;i++) {
		if (TheDisplayState == 'none'){
			eval('document.all.'+args[i]+'.style.display = \'none\'');
		} else if (TheDisplayState == ''){
			eval('document.all.'+args[i]+'.style.display = \'\'');
		}
	}
}

// Set table rows as hidden or showing
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: toggleDisplay
// Created: 2000
// Updated: 24/01/2002
// Description:
// toggle element visibility.
// 
// PARAMETERS
//   IDs {array)	: element IDs to show or hide if match is found 

function toggleDisplay(ids) {
	var el = null;
	for (var i = 0; i < ids.length; i++) {
		el = document.getElementById(ids[i]);
		if (!isBlank(el)) {
			el.style.display = ((el.style.display == 'none') ? '' : 'none');
		}
	}
	//for(var i = 0; i < IDs.length; i++)	{
	//	var state = eval('document.all.' + IDs[i] + '.style.display');
	//	eval('document.all.' + IDs[i] + '.style.display = \'' + ((state != 'none') ? 'block' : 'none') + '\'');
	//}
}

function swapImage(theImgObj,ImgOne,ImgTwo) 
{
	if (!theImgObj.toggleState) {
		theImgObj.src = ImgTwo;
		theImgObj.toggleState = 'Two';
	} 
	else if (theImgObj.toggleState == 'One') {
		theImgObj.src = ImgTwo;
		theImgObj.toggleState = 'Two';
	} 
	else if (theImgObj.toggleState == 'Two') {
		theImgObj.src = ImgOne;
		theImgObj.toggleState = 'One';
	}
}

function tabDIVmouseover() {
	if (window.event.srcElement.className == 'tabDIV') {
		window.event.srcElement.className = 'tabDIVmouseover';
	}
}

function tabDIVmouseout() {
	if (window.event.srcElement.className == 'tabDIVmouseover') {
		window.event.srcElement.className = 'tabDIV';
	}
}

function tabDIVonclick1() {
	var theEl = window.event.srcElement
	if (theEl.className == 'tabDIVonclick') {
		window.event.srcElement.className = 'tabDIVmouseover';
	} else {
		theEl.className = 'tabDIVonclick';
	}
	var re = /[^\w|\d]/gi;
	var inTxt = theEl.innerText
	eval('show'+inTxt.replace(re, '')+'()');
	var theTDabove = theEl.parentElement;
	var theTRabove = theTDabove.parentElement;
	for (child in theTRabove.children) {
		//var theTD = theTRabove.children[child];
		if (theTRabove.children[child].tagName == 'TD') {
			theTD = theTRabove.children[child];
			for (i=0;i<theTRabove.children[child].length;i++) {
				if (theTRabove.children[child][i].tagName == 'DIV') {
					theTRabove.children[child][i].className = 'tabDIV';
				}
			}
		}
	}
}

function tabDIVonclick() {
	var theEl = window.event.srcElement
	var args;
	args = tabDIVonclick.arguments;
	if (theEl.className == 'tabDIVonclick') {
		window.event.srcElement.className = 'tabDIVmouseover';
	} else {
		theEl.className = 'tabDIVonclick';
	}
	var re = /[^\w\d]/gi;
	var inTxt = theEl.innerText
	if (args.length>0) {
		myTable = eval(args[0]+'(\''+inTxt.replace(re, '')+'Section\')');
	} else {
		eval('show'+inTxt.replace(re, '')+'()');
	}
	var theTDabove = theEl.parentElement;
	var theTRabove = theTDabove.parentElement;
	var theTBODYabove = theTRabove.parentElement;
	var theTableabove = theTBODYabove.parentElement;
	var rowCollection, cellCollection;
	var theTable, theRow, theCell, theDIV;
	theTable = theTableabove;
	rowCollection = theTable.rows;
	for (i=0;i<rowCollection.length;i++) {
		cellCollection = rowCollection[i].cells;
		for (j=0;j<cellCollection.length;j++) {
			theDIVCollection = cellCollection[j].children;
			if (theDIVCollection.length > 0) {
				for (k=0;k<theDIVCollection.length;k++) {
					if (theDIVCollection[k] != theEl) {
						theDIVCollection[k].className = 'tabDIV';
					}
				}
			}
		}
	}
}

function toggleRow(num) {
	var myTable, myRows;
	if (window.event.srcElement.tagName == 'INPUT'){
		if (window.event.srcElement.type = 'button') {
			if (window.event.srcElement.value == '+') {
				window.event.srcElement.value = '--';
			} else {
				window.event.srcElement.value = '+';
			}
			window.event.srcElement.blur();
		}
	}
	if (areAnyRowsNotDisplayed() == true) {
		showAllRows();
	} else {
		hideNumberOfRows(num);
	}
}

function toggleNextRow() {
	myRow = findParentTagName(window.event.srcElement, 'TR');
	if (myRow.nextSibling.style.display == 'none') {
		myRow.nextSibling.style.display = '';
	} else {
		myRow.nextSibling.style.display = 'none';
	}
	if (window.event.srcElement.tagName == 'INPUT') {
		if (window.event.srcElement.type = 'button') {
			if (window.event.srcElement.value == '+') {
				window.event.srcElement.value = '--';
			} else if (window.event.srcElement.value == '--'){
				window.event.srcElement.value = '+';
			}
			window.event.srcElement.blur();
		}
	}
}

function toggleRowOff(num) {
	var myTable, myRows;
	if (areAnyRowsNotDisplayed() == true) {
		showAllRows();
	} else {
		hideNumberOfRows(num);
	}
}

function areAnyRowsNotDisplayed() {
	// optional argument for id
	var args = areAnyRowsNotDisplayed.arguments;
	var myTable, myRows;
	if (args.length > 0) {
		myTable = findParentTagName(args[0], 'TABLE');
	} else {
		myTable = findParentTagName(window.event.srcElement, 'TABLE');
	}
	myRows = myTable.rows;
	for (i=0;i<myRows.length;i++) {
		if (myRows[i].style.display == 'none') {
			return true;
		}
	}
	return false;
}

function findParentTagName(startFromElement, theTagName) {
	var myParent = startFromElement.parentElement;
	if (startFromElement.tagName != 'BODY') {
		for (i=0;myParent.tagName != theTagName && i<10;i++) {
			myParent = myParent.parentElement;
		}
		return myParent;
	} else {
		return startFromElement;
	}
}

function showAllRows() {
	var myTable, myRows;
	if (showAllRows.arguments.length>0) {
		myTable = eval('document.all.'+showAllRows.arguments[0]);
	} else {
		myTable = findParentTagName(window.event.srcElement, 'TABLE');
	}
	myRows = myTable.rows;
	for (i=0;i<myRows.length;i++) {
		myRows[i].style.display = '';
	}
		//myRows[myRows.length-1].scrollIntoView(true);
}

function hideAllRows() {
	var myTable, myRows;
	if (hideAllRows.arguments.length>0) {
		myTable = eval('document.all.'+hideAllRows.arguments[0]);
	} else {
		myTable = findParentTagName(window.event.srcElement, 'TABLE');
	}
	myRows = myTable.rows;
	for (i=0;i<myRows.length;i++) {
		myRows[i].style.display = 'none';
	}
		//myRows[myRows.length-1].scrollIntoView(true);
}

function hideNumberOfRows(num) {
	var args, myTable, myRows;
	args = hideNumberOfRows.arguments;
	if (args.length>1) { // 'tableID'
		myTable = eval('document.all.'+args[1]);
	} else {
		myTable = findParentTagName(window.event.srcElement, 'TABLE');
	}
	myRows = myTable.rows;
	for (i=0;i<=num && i<myRows.length;i++) {
		if (! myRows[i].contains(window.event.srcElement)) {
			myRows[i].style.display = 'none';
		}
	}
}

function hideRowsExcept() {
	var args, myTable, myRows;
	args = hideRowsExcept.arguments;
	if (args.length>0) { // 'tableID'
		myId = eval('document.all.'+args[0]);
	} else {
		myId = window.event.srcElement;
	}
	myTable = findParentTagName(myId, 'TABLE');
	myRows = myTable.rows;
	for (i=0;i<myRows.length;i++) {
		if (! myRows[i].contains(myId)) {
			myRows[i].style.display = 'none';
		} else {
			myRows[i].style.display = '';
		}
	}
}

function showOnlyThisRowAndHeader(num) {
	var myTable, myRows;
	var args = showOnlyThisRowAndHeader.arguments;
	var theEl;
	if (args.length>1) {
		theEl = args[1];
	} else {
		theEl = window.event.srcElement;
	}
	myTable = findParentTagName(theEl, 'TABLE');
	myRows = myTable.rows;
	if (args.length>2) {
		theEl = args[2];
	}
	for (i=0;i<=num && i<myRows.length;i++) {
		if (! ( i==0 || myRows[i].contains(theEl))) {
			myRows[i].style.display = 'none';
		}
	}
}

function swapImage(theImgObj,ImgOne,ImgTwo) 
{
	if (! theImgObj.toggleState) 
	{
		theImgObj.src = ImgTwo;
		theImgObj.toggleState = 'Two';
	} 
	else 
	{
		if (theImgObj.toggleState == 'One') 
		{
			theImgObj.src = ImgTwo;
			theImgObj.toggleState = 'Two';
		} 
		else 
		{
			if (theImgObj.toggleState == 'Two') 
			{
				theImgObj.src = ImgOne;
				theImgObj.toggleState = 'One';
			}	
		}
	}
}

function toggleLegend(legend1, legend2, theID) {
	var theButton = document.getElementById(theID);
	if (!isBlank(theButton)) {
		if (theButton.value == legend1) {
			theButton.value = legend2;
		} else {
			theButton.value = legend1;
		}
	}
}

