blob: 15f9f215f7be9342ea3a1fd1bbfa2d5847cfb664 [file] [log] [blame]
function toggleRow(tr, open)
{
if (open == 1) {
tr.style.display = 'table-row';
} else {
tr.style.display = 'none';
}
}
function getVisibleStatusNode(node)
{
var attr = node.getAttributeNode('showRow');
if (attr == null) {
attr = document.createAttribute('showRow')
attr.nodeValue = '1';
node.setAttributeNode(attr);
}
return attr;
}
function toggleButton(node,state)
{
var nodeText = node.innerHTML.substring(1);
console.log(nodeText);
if (state == 1) {
node.innerHTML = "-"+nodeText;
} else {
node.innerHTML = "+"+nodeText;
}
}
function toggleIdentifiable(node,buttonNode)
{
var visStatusNode = getVisibleStatusNode(node);
var state;
var forceClose;
if (visStatusNode.nodeValue == 1) {
state = 0;
forceClose = true;
} else {
state = 1;
forceClose = false;
}
toggleButton(buttonNode,state);
visStatusNode.nodeValue = state;
var tr = node;
while (tr = tr.nextSibling) {
if (tr.tagName == "TR") {
if (tr.id.search('TITLE_ROW') >= 0) {
break;
}
toggleRow(tr,state);
if (tr.id.search('DUBLINCORE') >= 0) {
toggleDublinCore(tr,false,forceClose);
break;
}
}
}
}
function toggleDublinCore(node, toggle, forceClose)
{
var visStatusNode = getVisibleStatusNode(node);
var state = 0;
if (!forceClose) {
if (toggle) {
if (visStatusNode.nodeValue == 1) {
state = 0;
} else {
state = 1;
}
visStatusNode.nodeValue = state;
} else {
state = visStatusNode.nodeValue;
}
}
var tr = node;
while (tr = tr.nextSibling) {
if (tr.tagName == "TR") {
if (tr.id.search('DUBLINCORE') < 0) {
break;
}
toggleRow(tr, state);
}
}
}
function toggle(node)
{
var titleRow = node.parentNode.parentNode;
toggleIdentifiable(titleRow,node);
}
function collapseDublinCores()
{
var nodes = document.getElementsByTagName('tr');
for (var idx=0; idx<nodes.length; idx++) {
var node = nodes[idx];
if (node.id.search('DUBLINCORE_ROW_0') >= 0) {
toggleDublinCore(node,true,false);
}
}
}