function l_node(html, cols, type, dir_up, hier, html2, type2, dir_up2, linenum) { this.html = html this.name = html.indexOf('>') == -1 ? html : html.substring(html.indexOf('>')+1,html.indexOf(' 0) { this.html2 = html2 this.name2 = html2.indexOf('>') == -1 ? html2 : html2.substring(html2.indexOf('>')+1,html2.indexOf(' if(sAlternateSortType != null) elem = node.cells[col].firstChild.innerHTML; else elem = node.cells[col].innerHTML; cols = new Array(); for (idx=0; idx < node.cells.length; idx++) { cols[idx] = node.cells[idx].innerHTML; if(node.cells[idx].firstChild && node.cells[idx].firstChild.nodeName == 'INPUT' && node.cells[idx].firstChild.type == 'checkbox') { // If a checkbox is checked now, but was not checked the last time we drew it, add CHECKED to the input tag if(node.cells[idx].firstChild.checked && node.cells[idx].innerHTML.indexOf('checked') < 0) cols[idx] = cols[idx].substring(0,cols[idx].length-1) + ' CHECKED>'; // else if a checkbox is NOT checked, but it was when we drew it, remove CHECKED from the input tag else if(!node.cells[idx].firstChild.checked && node.cells[idx].innerHTML.indexOf('checked') >= 0) cols[idx] = cols[idx].substring(0,cols[idx].indexOf('checked')) + '>'; } } if (hier) { hierfld = l_elem('_hier'+i); if (hiercol) elem = hierfld.value; elems[i] = new l_node(elem.toLowerCase(),cols,coltype,dir_up,hierfld.value); } else if (col2 != -1) elems[i] = new l_node(elem.toLowerCase(),cols,coltype,dir_up,null,node.cells[col2].innerHTML,col2type,dir_up2, ordered_mach ? findEncodedValue(mach, mach+"seqnum", i+1) : -1); else elems[i] = new l_node(elem.toLowerCase(),cols,coltype,dir_up,null,null,null,null,ordered_mach ? findEncodedValue(mach, mach+"seqnum", i+1) : -1); i++; } else break; } numRows = i; i = 0; elems.sort(l_sortnodes); while (i < numRows) { node = l_id(mach+'row'+i); rnode = elems[i]; cols = rnode.row; for (idx=0; idx < node.cells.length; idx++) node.cells[idx].innerHTML = cols[idx]; if (hier) { hierfld = l_elem('_hier'+i); hierfld.value = rnode.hier; } if (ordered_mach) setEncodedValue(mach,rnode.linenum,mach+'seqnum',i+1); i++; } l_saveprefs(mach, col, colname, coltype, dir_up); } function l_sortprefs(col,coltype,mach,colname) { var dir_up = true; node = l_id(mach+'dir'+col); if (node.src.indexOf('nlup.gif') != -1) dir_up = false; l_saveprefs(mach, col, colname, coltype, dir_up); } function l_saveprefs(mach, col, colname, coltype, dir_up) { if (mach != null && mach.length > 0 && document.forms[0].elements[mach+'sortidx'] != null) { if (document.forms[0].elements[mach+'sortname'].value != colname) { document.forms[0].elements[mach+'sort2name'].value = document.forms[0].elements[mach+'sortname'].value; document.forms[0].elements[mach+'sort2dir'].value = document.forms[0].elements[mach+'sortdir'].value; } document.forms[0].elements[mach+'sortidx'].value = col; document.forms[0].elements[mach+'sortname'].value = colname; document.forms[0].elements[mach+'sorttype'].value = coltype; document.forms[0].elements[mach+'sortdir'].value = dir_up ? "UP" : "DOWN"; } } function l_bold(mach, chkd, rownum) { var node = l_id(mach+'row'+rownum); for (idx=0; idx < node.cells.length; idx++) { var classname = node.cells[idx].className; if ( chkd && classname.indexOf('texttable') != -1 ) classname = 'textdark'+classname.substring(classname.indexOf('texttable')+9); else if ( !chkd && classname.indexOf('textdark') != -1 ) classname = 'texttable'+classname.substring(classname.indexOf('textdark')+8); node.cells[idx].className = classname; } }