Advertisement
Advertisement
| 06.11.2008 at 10:12AM PDT, ID: 23476601 |
|
[x]
Attachment Details
|
||
|
[x]
The Solution Rating System
|
||
With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.
Your Input Matters If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support. Thank you! |
||
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219: 220: 221: 222: 223: 224: 225: 226: 227: 228: 229: 230: 231: 232: 233: 234: 235: 236: 237: 238: 239: 240: 241: 242: 243: 244: 245: 246: 247: 248: 249: 250: 251: 252: 253: 254: 255: 256: 257: 258: 259: 260: 261: 262: 263: 264: 265: 266: 267: 268: 269: 270: 271: 272: 273: 274: 275: 276: 277: 278: 279: 280: 281: 282: 283: 284: 285: 286: 287: 288: 289: 290: 291: 292: 293: 294: 295: 296: 297: 298: 299: 300: 301: 302: 303: 304: 305: 306: 307: 308: 309: 310: 311: 312: 313: 314: 315: 316: 317: 318: 319: 320: 321: 322: 323: 324: 325: 326: 327: 328: 329: 330: 331: 332: 333: 334: 335: 336: 337: 338: 339: 340: 341: 342: 343: 344: 345: 346: 347: 348: 349: 350: 351: 352: 353: 354: 355: 356: 357: 358: 359: 360: 361: 362: 363: 364: 365: 366: 367: 368: 369: 370: 371: 372: 373: 374: 375: 376: 377: 378: 379: 380: 381: 382: 383: 384: 385: 386: 387: 388: 389: 390: 391: 392: 393: 394: 395: 396: 397: 398: 399: 400: 401: 402: 403: 404: 405: 406: 407: 408: 409: 410: 411: 412: 413: 414: 415: 416: 417: 418: 419: 420: 421: 422: 423: 424: 425: 426: 427: 428: 429: 430: 431: 432: 433: 434: 435: 436: 437: 438: 439: 440: 441: 442: 443: 444: 445: 446: 447: 448: 449: 450: 451: 452: 453: 454: 455: 456: 457: 458: 459: 460: 461: 462: 463: 464: 465: 466: 467: 468: 469: 470: 471: 472: 473: 474: 475: 476: 477: 478: 479: 480: 481: 482: 483: 484: 485: 486: 487: 488: 489: 490: 491: 492: 493: 494: 495: 496: 497: 498: 499: 500: 501: 502: 503: 504: 505: 506: 507: 508: 509: 510: 511: 512: 513: 514: 515: 516: 517: 518: 519: 520: 521: 522: 523: 524: 525: 526: 527: 528: 529: 530: 531: 532: 533: 534: 535: 536: 537: 538: 539: 540: 541: 542: 543: 544: 545: 546: 547: 548: 549: 550: 551: 552: 553: 554: 555: 556: 557: 558: 559: 560: 561: 562: 563: 564: 565: 566: 567: 568: 569: 570: 571: 572: 573: 574: 575: 576: 577: 578: 579: 580: 581: 582: 583: 584: 585: 586: 587: 588: 589: 590: 591: 592: 593: 594: 595: 596: 597: 598: 599: 600: 601: 602: 603: 604: 605: 606: 607: 608: 609: 610: 611: 612: 613: 614: 615: 616: 617: 618: 619: 620: 621: 622: 623: 624: 625: 626: 627: 628: 629: 630: 631: 632: 633: 634: 635: 636: 637: 638: 639: 640: 641: 642: 643: 644: 645: 646: 647: 648: 649: 650: 651: 652: 653: 654: 655: 656: 657: 658: 659: 660: 661: 662: 663: 664: 665: 666: 667: 668: 669: 670: 671: 672: 673: 674: 675: 676: 677: 678: 679: 680: 681: 682: 683: 684: 685: 686: 687: 688: 689: 690: 691: 692: 693: 694: 695: 696: 697: 698: 699: 700: 701: 702: 703: 704: 705: 706: 707: 708: 709: 710: 711: 712: 713: 714: 715: 716: 717: 718: 719: 720: 721: 722: 723: 724: 725: 726: 727: 728: 729: 730: 731: 732: 733: 734: 735: 736: 737: 738: 739: 740: 741: 742: 743: 744: 745: 746: 747: 748: 749: 750: 751: 752: 753: 754: 755: 756: 757: 758: 759: 760: 761: 762: 763: 764: 765: 766: 767: 768: 769: 770: 771: 772: 773: 774: 775: 776: 777: 778: 779: 780: 781: 782: 783: 784: 785: 786: 787: 788: 789: 790: 791: 792: 793: 794: 795: 796: 797: 798: 799: 800: 801: 802: 803: 804: 805: 806: 807: 808: 809: 810: 811: 812: 813: 814: 815: 816: 817: 818: 819: 820: 821: 822: 823: 824: 825: 826: 827: 828: 829: 830: 831: 832: 833: 834: 835: 836: 837: 838: 839: 840: 841: 842: 843: 844: 845: 846: 847: 848: 849: 850: 851: 852: 853: 854: 855: 856: 857: 858: 859: 860: 861: 862: 863: 864: 865: 866: 867: 868: 869: 870: 871: 872: 873: 874: 875: 876: 877: 878: 879: 880: 881: 882: 883: 884: 885: 886: 887: 888: 889: 890: 891: 892: 893: 894: 895: 896: 897: 898: 899: 900: 901: 902: 903: 904: 905: 906: 907: 908: 909: 910: 911: 912: 913: 914: 915: 916: 917: 918: 919: 920: 921: 922: 923: 924: 925: 926: 927: 928: 929: 930: 931: 932: 933: 934: 935: 936: 937: 938: 939: 940: 941: 942: 943: 944: 945: 946: 947: 948: 949: 950: 951: 952: 953: 954: 955: 956: 957: 958: 959: 960: 961: 962: 963: 964: 965: 966: 967: 968: 969: 970: 971: 972: 973: 974: 975: 976: 977: 978: 979: 980: 981: 982: 983: 984: 985: 986: 987: 988: 989: 990: 991: 992: 993: 994: 995: 996: 997: 998: 999: 1000: 1001: 1002: 1003: 1004: 1005: 1006: 1007: 1008: |
***Javascript***(table.js)
/**
* Copyright (c)2005-2007 Matt Kruse (javascripttoolbox.com)
*
* Dual licensed under the MIT and GPL licenses.
* This basically means you can use this code however you want for
* free, but don't claim to have written it yourself!
* Donations always accepted: http://www.JavascriptToolbox.com/donate/
*
* Please do not link to the .js files on javascripttoolbox.com from
* your site. Copy the files locally to your server instead.
*
*/
/**
* Table.js
* Functions for interactive Tables
*
* Copyright (c) 2007 Matt Kruse (javascripttoolbox.com)
* Dual licensed under the MIT and GPL licenses.
*
* @version 0.981
*
* @history 0.981 2007-03-19 Added Sort.numeric_comma, additional date parsing formats
* @history 0.980 2007-03-18 Release new BETA release pending some testing. Todo: Additional docs, examples, plus jQuery plugin.
* @history 0.959 2007-03-05 Added more "auto" functionality, couple bug fixes
* @history 0.958 2007-02-28 Added auto functionality based on class names
* @history 0.957 2007-02-21 Speed increases, more code cleanup, added Auto Sort functionality
* @history 0.956 2007-02-16 Cleaned up the code and added Auto Filter functionality.
* @history 0.950 2006-11-15 First BETA release.
*
* @todo Add more date format parsers
* @todo Add style classes to colgroup tags after sorting/filtering in case the user wants to highlight the whole column
* @todo Correct for colspans in data rows (this may slow it down)
* @todo Fix for IE losing form control values after sort?
*/
/**
* Sort Functions
*/
var Sort = (function(){
var sort = {};
// Default alpha-numeric sort
// --------------------------
sort.alphanumeric = function(a,b) {
return (a==b)?0:(a<b)?-1:1;
};
sort['default'] = sort.alphanumeric; // IE chokes on sort.default
// This conversion is generalized to work for either a decimal separator of , or .
sort.numeric_converter = function(separator) {
return function(val) {
if (typeof(val)=="string") {
val = parseFloat(val.replace(/^[^\d\.]*([\d., ]+).*/g,"$1").replace(new RegExp("[^\\\d"+separator+"]","g"),'').replace(/,/,'.')) || 0;
}
return val || 0;
};
};
// Numeric Sort
// ------------
sort.numeric = function(a,b) {
return sort.numeric.convert(a)-sort.numeric.convert(b);
};
sort.numeric.convert = sort.numeric_converter(".");
// Numeric Sort - comma decimal separator
// --------------------------------------
sort.numeric_comma = function(a,b) {
return sort.numeric_comma.convert(a)-sort.numeric_comma.convert(b);
};
sort.numeric_comma.convert = sort.numeric_converter(",");
// Case-insensitive Sort
// ---------------------
sort.ignorecase = function(a,b) {
return sort.alphanumeric(sort.ignorecase.convert(a),sort.ignorecase.convert(b));
};
sort.ignorecase.convert = function(val) {
if (val==null) { return ""; }
return (""+val).toLowerCase();
};
// Currency Sort
// -------------
sort.currency = sort.numeric; // Just treat it as numeric!
sort.currency_comma = sort.numeric_comma;
// Date sort
// ---------
sort.date = function(a,b) {
return sort.numeric(sort.date.convert(a),sort.date.convert(b));
};
// Convert 2-digit years to 4
sort.date.fixYear=function(yr) {
yr = +yr;
if (yr<50) { yr += 2000; }
else if (yr<100) { yr += 1900; }
return yr;
};
sort.date.formats = [
// YY[YY]-MM-DD
{ re:/(\d{2,4})-(\d{1,2})-(\d{1,2})/ , f:function(x){ return (new Date(sort.date.fixYear(x[1]),+x[2],+x[3])).getTime(); } }
// MM/DD/YY[YY] or MM-DD-YY[YY]
,{ re:/(\d{1,2})[\/-](\d{1,2})[\/-](\d{2,4})/ , f:function(x){ return (new Date(sort.date.fixYear(x[3]),+x[1],+x[2])).getTime(); } }
// Any catch-all format that new Date() can handle. This is not reliable except for long formats, for example: 31 Jan 2000 01:23:45 GMT
,{ re:/(.*\d{4}.*\d+:\d+\d+.*)/, f:function(x){ var d=new Date(x[1]); if(d){return d.getTime();} } }
];
sort.date.convert = function(val) {
var m,v, f = sort.date.formats;
for (var i=0,L=f.length; i<L; i++) {
if (m=val.match(f[i].re)) {
v=f[i].f(m);
if (typeof(v)!="undefined") { return v; }
}
}
return 9999999999999; // So non-parsed dates will be last, not first
};
return sort;
})();
/**
* The main Table namespace
*/
var Table = (function(){
/**
* Determine if a reference is defined
*/
function def(o) {return (typeof o!="undefined");};
/**
* Determine if an object or class string contains a given class.
*/
function hasClass(o,name) {
return new RegExp("(^|\\s)"+name+"(\\s|$)").test(o.className);
};
/**
* Add a class to an object
*/
function addClass(o,name) {
var c = o.className || "";
if (def(c) && !hasClass(o,name)) {
o.className += (c?" ":"") + name;
}
};
/**
* Remove a class from an object
*/
function removeClass(o,name) {
var c = o.className || "";
o.className = c.replace(new RegExp("(^|\\s)"+name+"(\\s|$)"),"$1");
};
/**
* For classes that match a given substring, return the rest
*/
function classValue(o,prefix) {
var c = o.className;
if (c.match(new RegExp("(^|\\s)"+prefix+"([^ ]+)"))) {
return RegExp.$2;
}
return null;
};
/**
* Return true if an object is hidden.
* This uses the "russian doll" technique to unwrap itself to the most efficient
* function after the first pass. This avoids repeated feature detection that
* would always fall into the same block of code.
*/
function isHidden(o) {
if (window.getComputedStyle) {
var cs = window.getComputedStyle;
return (isHidden = function(o) {
return 'none'==cs(o,null).getPropertyValue('display');
})(o);
}
else if (window.currentStyle) {
return(isHidden = function(o) {
return 'none'==o.currentStyle['display'];
})(o);
}
return (isHidden = function(o) {
return 'none'==o.style['display'];
})(o);
};
/**
* Get a parent element by tag name, or the original element if it is of the tag type
*/
function getParent(o,a,b) {
if (o!=null && o.nodeName) {
if (o.nodeName==a || (b && o.nodeName==b)) {
return o;
}
while (o=o.parentNode) {
if (o.nodeName && (o.nodeName==a || (b && o.nodeName==b))) {
return o;
}
}
}
return null;
};
/**
* Utility function to copy properties from one object to another
*/
function copy(o1,o2) {
for (var i=2;i<arguments.length; i++) {
var a = arguments[i];
if (def(o1[a])) {
o2[a] = o1[a];
}
}
}
// The table object itself
var table = {
//Class names used in the code
AutoStripeClassName:"table-autostripe",
StripeClassNamePrefix:"table-stripeclass:",
AutoSortClassName:"table-autosort",
AutoSortColumnPrefix:"table-autosort:",
AutoSortTitle:"Click to sort",
SortedAscendingClassName:"table-sorted-asc",
SortedDescendingClassName:"table-sorted-desc",
SortableClassName:"table-sortable",
SortableColumnPrefix:"table-sortable:",
NoSortClassName:"table-nosort",
AutoFilterClassName:"table-autofilter",
FilteredClassName:"table-filtered",
FilterableClassName:"table-filterable",
FilteredRowcountPrefix:"table-filtered-rowcount:",
RowcountPrefix:"table-rowcount:",
FilterAllLabel:"Filter: All",
AutoPageSizePrefix:"table-autopage:",
AutoPageJumpPrefix:"table-page:",
PageNumberPrefix:"table-page-number:",
PageCountPrefix:"table-page-count:"
};
/**
* A place to store misc table information, rather than in the table objects themselves
*/
table.tabledata = {};
/**
* Resolve a table given an element reference, and make sure it has a unique ID
*/
table.uniqueId=1;
table.resolve = function(o,args) {
if (o!=null && o.nodeName && o.nodeName!="TABLE") {
o = getParent(o,"TABLE");
}
if (o==null) { return null; }
if (!o.id) {
var id = null;
do { var id = "TABLE_"+(table.uniqueId++); }
while (document.getElementById(id)!=null);
o.id = id;
}
this.tabledata[o.id] = this.tabledata[o.id] || {};
if (args) {
copy(args,this.tabledata[o.id],"stripeclass","ignorehiddenrows","useinnertext","sorttype","col","desc","page","pagesize");
}
return o;
};
/**
* Run a function against each cell in a table header or footer, usually
* to add or remove css classes based on sorting, filtering, etc.
*/
table.processTableCells = function(t, type, func, arg) {
t = this.resolve(t);
if (t==null) { return; }
if (type!="TFOOT") {
this.processCells(t.tHead, func, arg);
}
if (type!="THEAD") {
this.processCells(t.tFoot, func, arg);
}
};
/**
* Internal method used to process an arbitrary collection of cells.
* Referenced by processTableCells.
* It's done this way to avoid getElementsByTagName() which would also return nested table cells.
*/
table.processCells = function(section,func,arg) {
if (section!=null) {
if (section.rows && section.rows.length && section.rows.length>0) {
var rows = section.rows;
for (var j=0,L2=rows.length; j<L2; j++) {
var row = rows[j];
if (row.cells && row.cells.length && row.cells.length>0) {
var cells = row.cells;
for (var k=0,L3=cells.length; k<L3; k++) {
var cellsK = cells[k];
func.call(this,cellsK,arg);
}
}
}
}
}
};
/**
* Get the cellIndex value for a cell. This is only needed because of a Safari
* bug that causes cellIndex to exist but always be 0.
* Rather than feature-detecting each time it is called, the function will
* re-write itself the first time it is called.
*/
table.getCellIndex = function(td) {
var tr = td.parentNode;
var cells = tr.cells;
if (cells && cells.length) {
if (cells.length>1 && cells[cells.length-1].cellIndex>0) {
// Define the new function, overwrite the one we're running now, and then run the new one
(this.getCellIndex = function(td) {
return td.cellIndex;
})(td);
}
// Safari will always go through this slower block every time. Oh well.
for (var i=0,L=cells.length; i<L; i++) {
if (tr.cells[i]==td) {
return i;
}
}
}
return 0;
};
/**
* A map of node names and how to convert them into their "value" for sorting, filtering, etc.
* These are put here so it is extensible.
*/
table.nodeValue = {
'INPUT':function(node) {
if (def(node.value) && node.type && ((node.type!="checkbox" && node.type!="radio") || node.checked)) {
return node.value;
}
return "";
},
'SELECT':function(node) {
if (node.selectedIndex>=0 && node.options) {
// Sort select elements by the visible text
return node.options[node.selectedIndex].text;
}
return "";
},
'IMG':function(node) {
return node.name || "";
}
};
/**
* Get the text value of a cell. Only use innerText if explicitly told to, because
* otherwise we want to be able to handle sorting on inputs and other types
*/
table.getCellValue = function(td,useInnerText) {
if (useInnerText && def(td.innerText)) {
return td.innerText;
}
if (!td.childNodes) {
return "";
}
var childNodes=td.childNodes;
var ret = "";
for (var i=0,L=childNodes.length; i<L; i++) {
var node = childNodes[i];
var type = node.nodeType;
// In order to get realistic sort results, we need to treat some elements in a special way.
// These behaviors are defined in the nodeValue() object, keyed by node name
if (type==1) {
var nname = node.nodeName;
if (this.nodeValue[nname]) {
ret += this.nodeValue[nname](node);
}
else {
ret += this.getCellValue(node);
}
}
else if (type==3) {
if (def(node.innerText)) {
ret += node.innerText;
}
else if (def(node.nodeValue)) {
ret += node.nodeValue;
}
}
}
return ret;
};
/**
* Consider colspan and rowspan values in table header cells to calculate the actual cellIndex
* of a given cell. This is necessary because if the first cell in row 0 has a rowspan of 2,
* then the first cell in row 1 will have a cellIndex of 0 rather than 1, even though it really
* starts in the second column rather than the first.
* See: http://www.javascripttoolbox.com/temp/table_cellindex.html
*/
table.tableHeaderIndexes = {};
table.getActualCellIndex = function(tableCellObj) {
if (!def(tableCellObj.cellIndex)) { return null; }
var tableObj = getParent(tableCellObj,"TABLE");
var cellCoordinates = tableCellObj.parentNode.rowIndex+"-"+this.getCellIndex(tableCellObj);
// If it has already been computed, return the answer from the lookup table
if (def(this.tableHeaderIndexes[tableObj.id])) {
return this.tableHeaderIndexes[tableObj.id][cellCoordinates];
}
var matrix = [];
this.tableHeaderIndexes[tableObj.id] = {};
var thead = getParent(tableCellObj,"THEAD");
var trs = thead.getElementsByTagName('TR');
// Loop thru every tr and every cell in the tr, building up a 2-d array "grid" that gets
// populated with an "x" for each space that a cell takes up. If the first cell is colspan
// 2, it will fill in values [0] and [1] in the first array, so that the second cell will
// find the first empty cell in the first row (which will be [2]) and know that this is
// where it sits, rather than its internal .cellIndex value of [1].
for (var i=0; i<trs.length; i++) {
var cells = trs[i].cells;
for (var j=0; j<cells.length; j++) {
var c = cells[j];
var rowIndex = c.parentNode.rowIndex;
var cellId = rowIndex+"-"+this.getCellIndex(c);
var rowSpan = c.rowSpan || 1;
var colSpan = c.colSpan || 1;
var firstAvailCol;
if(!def(matrix[rowIndex])) {
matrix[rowIndex] = [];
}
var m = matrix[rowIndex];
// Find first available column in the first row
for (var k=0; k<m.length+1; k++) {
if (!def(m[k])) {
firstAvailCol = k;
break;
}
}
this.tableHeaderIndexes[tableObj.id][cellId] = firstAvailCol;
for (var k=rowIndex; k<rowIndex+rowSpan; k++) {
if(!def(matrix[k])) {
matrix[k] = [];
}
var matrixrow = matrix[k];
for (var l=firstAvailCol; l<firstAvailCol+colSpan; l++) {
matrixrow[l] = "x";
}
}
}
}
// Store the map so future lookups are fast.
return this.tableHeaderIndexes[tableObj.id][cellCoordinates];
};
/**
* Sort all rows in each TBODY (tbodies are sorted independent of each other)
*/
table.sort = function(o,args) {
var t, tdata, sortconvert=null;
// Allow for a simple passing of sort type as second parameter
if (typeof(args)=="function") {
args={sorttype:args};
}
args = args || {};
// If no col is specified, deduce it from the object sent in
if (!def(args.col)) {
args.col = this.getActualCellIndex(o) || 0;
}
// If no sort type is specified, default to the default sort
args.sorttype = args.sorttype || Sort['default'];
// Resolve the table
t = this.resolve(o,args);
tdata = this.tabledata[t.id];
// If we are sorting on the same column as last time, flip the sort direction
if (def(tdata.lastcol) && tdata.lastcol==tdata.col && def(tdata.lastdesc)) {
tdata.desc = !tdata.lastdesc;
}
else {
tdata.desc = !!args.desc;
}
// Store the last sorted column so clicking again will reverse the sort order
tdata.lastcol=tdata.col;
tdata.lastdesc=!!tdata.desc;
// If a sort conversion function exists, pre-convert cell values and then use a plain alphanumeric sort
var sorttype = tdata.sorttype;
if (typeof(sorttype.convert)=="function") {
sortconvert=tdata.sorttype.convert;
sorttype=Sort.alphanumeric;
}
// Loop through all THEADs and remove sorted class names, then re-add them for the col
// that is being sorted
this.processTableCells(t,"THEAD",
function(cell) {
if (hasClass(cell,this.SortableClassName)) {
removeClass(cell,this.SortedAscendingClassName);
removeClass(cell,this.SortedDescendingClassName);
// If the computed colIndex of the cell equals the sorted colIndex, flag it as sorted
if (tdata.col==table.getActualCellIndex(cell) && (classValue(cell,table.SortableClassName))) {
addClass(cell,tdata.desc?this.SortedAscendingClassName:this.SortedDescendingClassName);
}
}
}
);
// Sort each tbody independently
var bodies = t.tBodies;
if (bodies==null || bodies.length==0) { return; }
// Define a new sort function to be called to consider descending or not
var newSortFunc = (tdata.desc)?
function(a,b){return sorttype(b[0],a[0]);}
:function(a,b){return sorttype(a[0],b[0]);};
var useinnertext=!!tdata.useinnertext;
var col = tdata.col;
for (var i=0,L=bodies.length; i<L; i++) {
var tb = bodies[i], tbrows = tb.rows, rows = [];
// Allow tbodies to request that they not be sorted
if(!hasClass(tb,table.NoSortClassName)) {
// Create a separate array which will store the converted values and refs to the
// actual rows. This is the array that will be sorted.
var cRow, cRowIndex=0;
if (cRow=tbrows[cRowIndex]){
// Funky loop style because it's considerably faster in IE
do {
if (rowCells = cRow.cells) {
var cellValue = (col<rowCells.length)?this.getCellValue(rowCells[col],useinnertext):null;
if (sortconvert) cellValue = sortconvert(cellValue);
rows[cRowIndex] = [cellValue,tbrows[cRowIndex]];
}
} while (cRow=tbrows[++cRowIndex])
}
// Do the actual sorting
rows.sort(newSortFunc);
// Move the rows to the correctly sorted order. Appending an existing DOM object just moves it!
cRowIndex=0;
var displayedCount=0;
var f=[removeClass,addClass];
if (cRow=rows[cRowIndex]){
do {
tb.appendChild(cRow[1]);
} while (cRow=rows[++cRowIndex])
}
}
}
// If paging is enabled on the table, then we need to re-page because the order of rows has changed!
if (tdata.pagesize) {
this.page(t); // This will internally do the striping
}
else {
// Re-stripe if a class name was supplied
if (tdata.stripeclass) {
this.stripe(t,tdata.stripeclass,!!tdata.ignorehiddenrows);
}
}
};
/**
* Apply a filter to rows in a table and hide those that do not match.
*/
table.filter = function(o,filters,args) {
var cell;
args = args || {};
var t = this.resolve(o,args);
var tdata = this.tabledata[t.id];
// If new filters were passed in, apply them to the table's list of filters
if (!filters) {
// If a null or blank value was sent in for 'filters' then that means reset the table to no filters
tdata.filters = null;
}
else {
// Allow for passing a select list in as the filter, since this is common design
if (filters.nodeName=="SELECT" && filters.type=="select-one" && filters.selectedIndex>-1) {
filters={ 'filter':filters.options[filters.selectedIndex].value };
}
// Also allow for a regular input
if (filters.nodeName=="INPUT" && filters.type=="text") {
filters={ 'filter':"/^"+filters.value+"/" };
}
// Force filters to be an array
if (typeof(filters)=="object" && !filters.length) {
filters = [filters];
}
// Convert regular expression strings to RegExp objects and function strings to function objects
for (var i=0,L=filters.length; i<L; i++) {
var filter = filters[i];
if (typeof(filter.filter)=="string") {
// If a filter string is like "/expr/" then turn it into a Regex
if (filter.filter.match(/^\/(.*)\/$/)) {
filter.filter = new RegExp(RegExp.$1);
filter.filter.regex=true;
}
// If filter string is like "function (x) { ... }" then turn it into a function
else if (filter.filter.match(/^function\s*\(([^\)]*)\)\s*\{(.*)}\s*$/)) {
filter.filter = Function(RegExp.$1,RegExp.$2);
}
}
// If some non-table object was passed in rather than a 'col' value, resolve it
// and assign it's column index to the filter if it doesn't have one. This way,
// passing in a cell reference or a select object etc instead of a table object
// will automatically set the correct column to filter.
if (filter && !def(filter.col) && (cell=getParent(o,"TD","TH"))) {
filter.col = this.getCellIndex(cell);
}
// Apply the passed-in filters to the existing list of filters for the table, removing those that have a filter of null or ""
if ((!filter || !filter.filter) && tdata.filters) {
delete tdata.filters[filter.col];
}
else {
tdata.filters = tdata.filters || {};
tdata.filters[filter.col] = filter.filter;
}
}
// If no more filters are left, then make sure to empty out the filters object
for (var j in tdata.filters) { var keep = true; }
if (!keep) {
tdata.filters = null;
}
}
// Everything's been setup, so now scrape the table rows
return table.scrape(o);
};
/**
* "Page" a table by showing only a subset of the rows
*/
table.page = function(t,page,args) {
args = args || {};
if (def(page)) { args.page = page; }
return table.scrape(t,args);
};
/**
* Jump forward or back any number of pages
*/
table.pageJump = function(t,count,args) {
t = this.resolve(t,args);
return this.page(t,(table.tabledata[t.id].page||0)+count,args);
};
/**
* Go to the next page of a paged table
*/
table.pageNext = function(t,args) {
return this.pageJump(t,1,args);
};
/**
* Go to the previous page of a paged table
*/
table.pagePrevious = function(t,args) {
return this.pageJump(t,-1,args);
};
/**
* Scrape a table to either hide or show each row based on filters and paging
*/
table.scrape = function(o,args) {
var col,cell,filterList,filterReset=false,filter;
var page,pagesize,pagestart,pageend;
var unfilteredrows=[],unfilteredrowcount=0,totalrows=0;
var t,tdata,row,hideRow;
args = args || {};
// Resolve the table object
t = this.resolve(o,args);
tdata = this.tabledata[t.id];
// Setup for Paging
var page = tdata.page;
if (def(page)) {
// Don't let the page go before the beginning
if (page<0) { tdata.page=page=0; }
pagesize = tdata.pagesize || 25; // 25=arbitrary default
pagestart = page*pagesize+1;
pageend = pagestart + pagesize - 1;
}
// Scrape each row of each tbody
var bodies = t.tBodies;
if (bodies==null || bodies.length==0) { return; }
for (var i=0,L=bodies.length; i<L; i++) {
var tb = bodies[i];
for (var j=0,L2=tb.rows.length; j<L2; j++) {
row = tb.rows[j];
hideRow = false;
// Test if filters will hide the row
if (tdata.filters && row.cells) {
var cells = row.cells;
var cellsLength = cells.length;
// Test each filter
for (col in tdata.filters) {
if (!hideRow) {
filter = tdata.filters[col];
if (filter && col<cellsLength) {
var val = this.getCellValue(cells[col]);
if (filter.regex && val.search) {
hideRow=(val.search(filter)<0);
}
else if (typeof(filter)=="function") {
hideRow=!filter(val,cells[col]);
}
else {
hideRow = (val!=filter);
}
}
}
}
}
// Keep track of the total rows scanned and the total runs _not_ filtered out
totalrows++;
if (!hideRow) {
unfilteredrowcount++;
if (def(page)) {
// Temporarily keep an array of unfiltered rows in case the page we're on goes past
// the last page and we need to back up. Don't want to filter again!
unfilteredrows.push(row);
if (unfilteredrowcount<pagestart || unfilteredrowcount>pageend) {
hideRow = true;
}
}
}
row.style.display = hideRow?"none":"";
}
}
if (def(page)) {
// Check to see if filtering has put us past the requested page index. If it has,
// then go back to the last page and show it.
if (pagestart>=unfilteredrowcount) {
pagestart = unfilteredrowcount-(unfilteredrowcount%pagesize);
tdata.page = page = pagestart/pagesize;
for (var i=pagestart,L=unfilteredrows.length; i<L; i++) {
unfilteredrows[i].style.display="";
}
}
}
// Loop through all THEADs and add/remove filtered class names
this.processTableCells(t,"THEAD",
function(c) {
((tdata.filters && def(tdata.filters[table.getCellIndex(c)]) && hasClass(c,table.FilterableClassName))?addClass:removeClass)(c,table.FilteredClassName);
}
);
// Stripe the table if necessary
if (tdata.stripeclass) {
this.stripe(t);
}
// Calculate some values to be returned for info and updating purposes
var pagecount = Math.floor(unfilteredrowcount/pagesize)+1;
if (def(page)) {
// Update the page number/total containers if they exist
if (tdata.container_number) {
tdata.container_number.innerHTML = page+1;
}
if (tdata.container_count) {
tdata.container_count.innerHTML = pagecount;
}
}
// Update the row count containers if they exist
if (tdata.container_filtered_count) {
tdata.container_filtered_count.innerHTML = unfilteredrowcount;
}
if (tdata.container_all_count) {
tdata.container_all_count.innerHTML = totalrows;
}
return { 'data':tdata, 'unfilteredcount':unfilteredrowcount, 'total':totalrows, 'pagecount':pagecount, 'page':page, 'pagesize':pagesize };
};
/**
* Shade alternate rows, aka Stripe the table.
*/
table.stripe = function(t,className,args) {
args = args || {};
args.stripeclass = className;
t = this.resolve(t,args);
var tdata = this.tabledata[t.id];
var bodies = t.tBodies;
if (bodies==null || bodies.length==0) {
return;
}
className = tdata.stripeclass;
// Cache a shorter, quicker reference to either the remove or add class methods
var f=[removeClass,addClass];
for (var i=0,L=bodies.length; i<L; i++) {
var tb = bodies[i], tbrows = tb.rows, cRowIndex=0, cRow, displayedCount=0;
if (cRow=tbrows[cRowIndex]){
// The ignorehiddenrows test is pulled out of the loop for a slight speed increase.
// Makes a bigger difference in FF than in IE.
// In this case, speed always wins over brevity!
if (tdata.ignoreHiddenRows) {
do {
f[displayedCount++%2](cRow,className);
} while (cRow=tbrows[++cRowIndex])
}
else {
do {
if (!isHidden(cRow)) {
f[displayedCount++%2](cRow,className);
}
} while (cRow=tbrows[++cRowIndex])
}
}
}
};
/**
* Build up a list of unique values in a table column
*/
table.getUniqueColValues = function(t,col) {
var values={}, bodies = this.resolve(t).tBodies;
for (var i=0,L=bodies.length; i<L; i++) {
var tbody = bodies[i];
for (var r=0,L2=tbody.rows.length; r<L2; r++) {
values[this.getCellValue(tbody.rows[r].cells[col])] = true;
}
}
var valArray = [];
for (var val in values) {
valArray.push(val);
}
return valArray.sort();
};
/**
* Scan the document on load and add sorting, filtering, paging etc ability automatically
* based on existence of class names on the table and cells.
*/
table.auto = function(args) {
var cells = [], tables = document.getElementsByTagName("TABLE");
var val,tdata;
if (tables!=null) {
for (var i=0,L=tables.length; i<L; i++) {
var t = table.resolve(tables[i]);
tdata = table.tabledata[t.id];
if (val=classValue(t,table.StripeClassNamePrefix)) {
tdata.stripeclass=val;
}
// Do auto-filter if necessary
if (hasClass(t,table.AutoFilterClassName)) {
table.autofilter(t);
}
// Do auto-page if necessary
if (val = classValue(t,table.AutoPageSizePrefix)) {
table.autopage(t,{'pagesize':+val});
}
// Do auto-sort if necessary
if ((val = classValue(t,table.AutoSortColumnPrefix)) || (hasClass(t,table.AutoSortClassName))) {
table.autosort(t,{'col':(val==null)?null:+val});
}
// Do auto-stripe if necessary
if (tdata.stripeclass && hasClass(t,table.AutoStripeClassName)) {
table.stripe(t);
}
}
}
};
/**
* Add sorting functionality to a table header cell
*/
table.autosort = function(t,args) {
t = this.resolve(t,args);
var tdata = this.tabledata[t.id];
this.processTableCells(t, "THEAD", function(c) {
var type = classValue(c,table.SortableColumnPrefix);
if (type!=null) {
type = type || "default";
c.title =c.title || table.AutoSortTitle;
addClass(c,table.SortableClassName);
c.onclick = Function("","Table.sort(this,{'sorttype':Sort['"+type+"']})");
// If we are going to auto sort on a column, we need to keep track of what kind of sort it will be
if (args.col!=null) {
if (args.col==table.getActualCellIndex(c)) {
tdata.sorttype=Sort['"+type+"'];
}
}
}
} );
if (args.col!=null) {
table.sort(t,args);
}
};
/**
* Add paging functionality to a table
*/
table.autopage = function(t,args) {
t = this.resolve(t,args);
var tdata = this.tabledata[t.id];
if (tdata.pagesize) {
this.processTableCells(t, "THEAD,TFOOT", function(c) {
var type = classValue(c,table.AutoPageJumpPrefix);
if (type=="next") { type = 1; }
else if (type=="previous") { type = -1; }
if (type!=null) {
c.onclick = Function("","Table.pageJump(this,"+type+")");
}
} );
if (val = classValue(t,table.PageNumberPrefix)) {
tdata.container_number = document.getElementById(val);
}
if (val = classValue(t,table.PageCountPrefix)) {
tdata.container_count = document.getElementById(val);
}
return table.page(t,0,args);
}
};
/**
* A util function to cancel bubbling of clicks on filter dropdowns
*/
table.cancelBubble = function(e) {
e = e || window.event;
if (typeof(e.stopPropagation)=="function") { e.stopPropagation(); }
if (def(e.cancelBubble)) { e.cancelBubble = true; }
};
/**
* Auto-filter a table
*/
table.autofilter = function(t,args) {
args = args || {};
t = this.resolve(t,args);
var tdata = this.tabledata[t.id],val;
table.processTableCells(t, "THEAD", function(cell) {
if (hasClass(cell,table.FilterableClassName)) {
var cellIndex = table.getCellIndex(cell);
var colValues = table.getUniqueColValues(t,cellIndex);
if (colValues.length>0) {
if (typeof(args.insert)=="function") {
func.insert(cell,colValues);
}
else {
var sel = '<select onchange="Table.filter(this,this)" onclick="Table.cancelBubble(event)" class="'+table.AutoFilterClassName+'"><option value="">'+table.FilterAllLabel+'</option>';
for (var i=0; i<colValues.length; i++) {
sel += '<option value="'+colValues[i]+'">'+colValues[i]+'</option>';
}
sel += '</select>';
cell.innerHTML += "<br>"+sel;
}
}
}
});
if (val = classValue(t,table.FilteredRowcountPrefix)) {
tdata.container_filtered_count = document.getElementById(val);
}
if (val = classValue(t,table.RowcountPrefix)) {
tdata.container_all_count = document.getElementById(val);
}
};
/**
* Attach the auto event so it happens on load.
* use jQuery's ready() function if available
*/
if (typeof(jQuery)!="undefined") {
jQuery(table.auto);
}
else if (window.addEventListener) {
window.addEventListener( "load", table.auto, false );
}
else if (window.attachEvent) {
window.attachEvent( "onload", table.auto );
}
return table;
})();
***HTML table***
(apologies that it's illegible..it is written dynamically from a dataset)
<table id='alertstable' class='example table-autosort table-autofilter table-autopage:10 table-stripeclass:alternate table-page-number:t1page table-page-count:t1pages table-filtered-rowcount:t1filtercount table-rowcount:t1allcount'><thead><tr><th><input type='checkbox' ID='chkSelectAll' /></th><th class='table-filterable table-sortable:default'>Hostname</th><th class='table-filterable table-sortable:default'>Appquest ID</th><th>Application</th><th>Pending Status</th><th>Event Type</th><th>Event Priority</th><th>Environment</th><th>L2 Op Mgr</th><th>Event Creation Date</th><th>First Email Sent</th><th>First Email Received</th><th>Last Chased Date</th><th>Date Last Responded</th><th>Next Review Date</th></tr></thead><tbody><tr id=Select$0 onclick=javascript:ShowNewAlertDetails('Select$0'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab0' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab0'/></td><td>cmcppb112</td><td>25314</td><td>T2</td><td></td><td>New CMDB - Not in TW</td><td>P2</td><td>Prod</td><td>Roger Lifson</td><td>29/05/2008 15:54:06</td><td></td><td></td><td></td><td></td><td></td><td id='Select$0Primary_Hostname' class='hiddencol'>cmcppb112</td><td id='Select$0Primary_IP_Address' class='hiddencol'>169.82.224.52</td><td id='Select$0FQDNs' class='hiddencol'>None Specified</td><td id='Select$0Hardware_Model' class='hiddencol'>DELL POWEREDGE 2950</td><td id='Select$0asset_type' class='hiddencol'>SERVER</td><td id='Select$0asset_state' class='hiddencol'>Prod</td><td id='Select$0asset_status' class='hiddencol'>In Use</td><td id='Select$0OSName' class='hiddencol'>Red Hat Enterprise Linux Advanced Server 3</td><td id='Select$0Region' class='hiddencol'>NA</td><td id='Select$0Server_Owner' class='hiddencol'></td><td id='Select$0TW_App_Name' class='hiddencol'></td><td id='Select$0TW_Process' class='hiddencol'></td><td id='Select$0Last_Login' class='hiddencol'>2008-06-08 12:10:46.25</td><td id='Select$0Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$0Host_in_TW_YesNo' class='hiddencol'>never seen</td><td id='Select$0Notes' class='hiddencol'></td></tr><tr id=Select$1 onclick=javascript:ShowNewAlertDetails('Select$1'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab1' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab1'/></td><td>fxp-ebtsdbprod1</td><td>25703</td><td>efet</td><td></td><td>New CMDB - Not in TW</td><td>P2</td><td>Prod</td><td>Matt Weston,</td><td>04/06/2008 17:20:00</td><td></td><td></td><td></td><td></td><td></td><td id='Select$1Primary_Hostname' class='hiddencol'>fxp-ebtsdbprod1</td><td id='Select$1Primary_IP_Address' class='hiddencol'>169.93.139.43</td><td id='Select$1FQDNs' class='hiddencol'>fxp-ebtsdbprod1.60ve.uk.jpmorganchase.com</td><td id='Select$1Hardware_Model' class='hiddencol'>SUN FIRE V440</td><td id='Select$1asset_type' class='hiddencol'>SERVER</td><td id='Select$1asset_state' class='hiddencol'>Prod</td><td id='Select$1asset_status' class='hiddencol'>In Use</td><td id='Select$1OSName' class='hiddencol'>Solaris 10</td><td id='Select$1Region' class='hiddencol'>EMEA</td><td id='Select$1Server_Owner' class='hiddencol'></td><td id='Select$1TW_App_Name' class='hiddencol'></td><td id='Select$1TW_Process' class='hiddencol'></td><td id='Select$1Last_Login' class='hiddencol'>2008-06-09 13:44:55.76</td><td id='Select$1Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$1Host_in_TW_YesNo' class='hiddencol'>never seen</td><td id='Select$1Notes' class='hiddencol'></td></tr><tr id=Select$2 onclick=javascript:ShowNewAlertDetails('Select$2'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab2' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab2'/></td><td>hkxp0508</td><td>14741</td><td></td><td></td><td>NewCMDB(Reappear) - Not in TW</td><td>P2</td><td>Prod</td><td>Fraser X Brown, John X Dempster, Edward X Strike,</td><td>04/06/2008 17:20:01</td><td></td><td></td><td></td><td></td><td></td><td id='Select$2Primary_Hostname' class='hiddencol'>hkxp0508</td><td id='Select$2Primary_IP_Address' class='hiddencol'>10.152.22.98</td><td id='Select$2FQDNs' class='hiddencol'>hkxp0508.ssh.hk.jpmorganchase.com</td><td id='Select$2Hardware_Model' class='hiddencol'>HP PROLIANT DL585 G1</td><td id='Select$2asset_type' class='hiddencol'>SERVER</td><td id='Select$2asset_state' class='hiddencol'>Prod</td><td id='Select$2asset_status' class='hiddencol'>In Use</td><td id='Select$2OSName' class='hiddencol'>Red Hat Enterprise Linux Advanced Server 3</td><td id='Select$2Region' class='hiddencol'>AP</td><td id='Select$2Server_Owner' class='hiddencol'></td><td id='Select$2TW_App_Name' class='hiddencol'></td><td id='Select$2TW_Process' class='hiddencol'></td><td id='Select$2Last_Login' class='hiddencol'>2008-06-06 20:15:01.44</td><td id='Select$2Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$2Host_in_TW_YesNo' class='hiddencol'>never seen</td><td id='Select$2Notes' class='hiddencol'>UPDATE: Jun 5 2008 </td></tr><tr id=Select$3 onclick=javascript:ShowNewAlertDetails('Select$3'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab3' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab3'/></td><td>p-lvem-t1-har1</td><td>25703</td><td>efet</td><td></td><td>New CMDB - Not in TW</td><td>P2</td><td>Prod</td><td>Matt Weston,</td><td>04/06/2008 17:20:00</td><td></td><td></td><td></td><td></td><td></td><td id='Select$3Primary_Hostname' class='hiddencol'>p-lvem-t1-har1</td><td id='Select$3Primary_IP_Address' class='hiddencol'>169.29.32.28</td><td id='Select$3FQDNs' class='hiddencol'>p-lvem-t1-har1.dmz.emea.jpmchase.net</td><td id='Select$3Hardware_Model' class='hiddencol'>SUN FIRE V240</td><td id='Select$3asset_type' class='hiddencol'>SERVER</td><td id='Select$3asset_state' class='hiddencol'>Prod</td><td id='Select$3asset_status' class='hiddencol'>In Use</td><td id='Select$3OSName' class='hiddencol'>Solaris 10</td><td id='Select$3Region' class='hiddencol'>EMEA</td><td id='Select$3Server_Owner' class='hiddencol'></td><td id='Select$3TW_App_Name' class='hiddencol'></td><td id='Select$3TW_Process' class='hiddencol'></td><td id='Select$3Last_Login' class='hiddencol'>2008-06-09 21:26:25.04</td><td id='Select$3Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$3Host_in_TW_YesNo' class='hiddencol'>never seen</td><td id='Select$3Notes' class='hiddencol'></td></tr><tr id=Select$4 onclick=javascript:ShowNewAlertDetails('Select$4'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab4' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab4'/></td><td>p-lvem-t1-har2</td><td>25703</td><td>efet</td><td></td><td>New CMDB - Not in TW</td><td>P2</td><td>Prod</td><td>Matt Weston,</td><td>04/06/2008 17:20:00</td><td></td><td></td><td></td><td></td><td></td><td id='Select$4Primary_Hostname' class='hiddencol'>p-lvem-t1-har2</td><td id='Select$4Primary_IP_Address' class='hiddencol'>169.29.32.29</td><td id='Select$4FQDNs' class='hiddencol'>p-lvem-t1-har2.dmz.emea.jpmchase.net</td><td id='Select$4Hardware_Model' class='hiddencol'>SUN FIRE V240</td><td id='Select$4asset_type' class='hiddencol'>SERVER</td><td id='Select$4asset_state' class='hiddencol'>Prod</td><td id='Select$4asset_status' class='hiddencol'>In Use</td><td id='Select$4OSName' class='hiddencol'>Solaris 10</td><td id='Select$4Region' class='hiddencol'>EMEA</td><td id='Select$4Server_Owner' class='hiddencol'></td><td id='Select$4TW_App_Name' class='hiddencol'></td><td id='Select$4TW_Process' class='hiddencol'></td><td id='Select$4Last_Login' class='hiddencol'>2008-06-10 03:47:03.27</td><td id='Select$4Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$4Host_in_TW_YesNo' class='hiddencol'>never seen</td><td id='Select$4Notes' class='hiddencol'></td></tr><tr id=Select$5 onclick=javascript:ShowNewAlertDetails('Select$5'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab5' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab5'/></td><td>p-lvem-t2-ebts1</td><td>25703</td><td>efet</td><td></td><td>New CMDB - Not in TW</td><td>P2</td><td>Prod</td><td>Matt Weston,</td><td>04/06/2008 17:20:00</td><td></td><td></td><td></td><td></td><td></td><td id='Select$5Primary_Hostname' class='hiddencol'>p-lvem-t2-ebts1</td><td id='Select$5Primary_IP_Address' class='hiddencol'>169.93.130.42</td><td id='Select$5FQDNs' class='hiddencol'>p-lvem-t2-ebts1.60ve.uk.jpmorganchase.com</td><td id='Select$5Hardware_Model' class='hiddencol'>Unknown</td><td id='Select$5asset_type' class='hiddencol'>SERVER</td><td id='Select$5asset_state' class='hiddencol'>Prod</td><td id='Select$5asset_status' class='hiddencol'>In Use</td><td id='Select$5OSName' class='hiddencol'>Red Hat Enterprise Linux Advanced Server 3</td><td id='Select$5Region' class='hiddencol'>EMEA</td><td id='Select$5Server_Owner' class='hiddencol'></td><td id='Select$5TW_App_Name' class='hiddencol'></td><td id='Select$5TW_Process' class='hiddencol'></td><td id='Select$5Last_Login' class='hiddencol'>2008-06-09 19:22:43.11</td><td id='Select$5Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$5Host_in_TW_YesNo' class='hiddencol'>never seen</td><td id='Select$5Notes' class='hiddencol'></td></tr><tr id=Select$6 onclick=javascript:ShowNewAlertDetails('Select$6'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab6' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab6'/></td><td>p-nhbr-t2-ebts1</td><td>25703</td><td>efet</td><td></td><td>New CMDB - Not in TW</td><td>P2</td><td>Prod</td><td>Matt Weston,</td><td>04/06/2008 17:20:00</td><td></td><td></td><td></td><td></td><td></td><td id='Select$6Primary_Hostname' class='hiddencol'>p-nhbr-t2-ebts1</td><td id='Select$6Primary_IP_Address' class='hiddencol'>169.94.217.35</td><td id='Select$6FQDNs' class='hiddencol'>p-nhbr-t2-ebts1.nh.uk.jpmorganchase.com</td><td id='Select$6Hardware_Model' class='hiddencol'>Unknown</td><td id='Select$6asset_type' class='hiddencol'>SERVER</td><td id='Select$6asset_state' class='hiddencol'>Prod</td><td id='Select$6asset_status' class='hiddencol'>Decom Requested</td><td id='Select$6OSName' class='hiddencol'>Red Hat Enterprise Linux Advanced Server 3</td><td id='Select$6Region' class='hiddencol'>EMEA</td><td id='Select$6Server_Owner' class='hiddencol'></td><td id='Select$6TW_App_Name' class='hiddencol'></td><td id='Select$6TW_Process' class='hiddencol'></td><td id='Select$6Last_Login' class='hiddencol'>2008-06-09 21:17:47.94</td><td id='Select$6Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$6Host_in_TW_YesNo' class='hiddencol'>never seen</td><td id='Select$6Notes' class='hiddencol'></td></tr><tr id=Select$7 onclick=javascript:ShowNewAlertDetails('Select$7'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab7' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab7'/></td><td>upes1815</td><td>25703</td><td></td><td></td><td>New CMDB - Not in TW</td><td>P2</td><td>BCP</td><td>Matt Weston,</td><td>04/06/2008 17:20:00</td><td></td><td></td><td></td><td></td><td></td><td id='Select$7Primary_Hostname' class='hiddencol'>upes1815</td><td id='Select$7Primary_IP_Address' class='hiddencol'>169.94.192.65</td><td id='Select$7FQDNs' class='hiddencol'>upes1815.nh.uk.jpmorganchase.com</td><td id='Select$7Hardware_Model' class='hiddencol'>SUN FIRE V440</td><td id='Select$7asset_type' class='hiddencol'>SERVER</td><td id='Select$7asset_state' class='hiddencol'>Prod</td><td id='Select$7asset_status' class='hiddencol'>In Use</td><td id='Select$7OSName' class='hiddencol'>Solaris 10</td><td id='Select$7Region' class='hiddencol'>EMEA</td><td id='Select$7Server_Owner' class='hiddencol'></td><td id='Select$7TW_App_Name' class='hiddencol'></td><td id='Select$7TW_Process' class='hiddencol'></td><td id='Select$7Last_Login' class='hiddencol'>2008-06-09 14:04:53.32</td><td id='Select$7Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$7Host_in_TW_YesNo' class='hiddencol'>never seen</td><td id='Select$7Notes' class='hiddencol'></td></tr><tr id=Select$8 onclick=javascript:ShowNewAlertDetails('Select$8'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab8' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab8'/></td><td>upns43</td><td>25703</td><td></td><td></td><td>New CMDB - Not in TW</td><td>P2</td><td>Prod - BCP</td><td>Matt Weston,</td><td>04/06/2008 17:20:00</td><td></td><td></td><td></td><td></td><td></td><td id='Select$8Primary_Hostname' class='hiddencol'>upns43</td><td id='Select$8Primary_IP_Address' class='hiddencol'>198.75.10.43</td><td id='Select$8FQDNs' class='hiddencol'>upns43.nh.uk.jpmorganchase.com</td><td id='Select$8Hardware_Model' class='hiddencol'>SUN FIRE V210</td><td id='Select$8asset_type' class='hiddencol'>SERVER</td><td id='Select$8asset_state' class='hiddencol'>Prod</td><td id='Select$8asset_status' class='hiddencol'>Decom Requested</td><td id='Select$8OSName' class='hiddencol'>Solaris 10</td><td id='Select$8Region' class='hiddencol'>EMEA</td><td id='Select$8Server_Owner' class='hiddencol'></td><td id='Select$8TW_App_Name' class='hiddencol'></td><td id='Select$8TW_Process' class='hiddencol'></td><td id='Select$8Last_Login' class='hiddencol'>2008-06-07 16:40:24.84</td><td id='Select$8Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$8Host_in_TW_YesNo' class='hiddencol'>never seen</td><td id='Select$8Notes' class='hiddencol'></td></tr><tr id=Select$9 onclick=javascript:ShowNewAlertDetails('Select$9'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab9' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab9'/></td><td>upns44</td><td>25703</td><td></td><td></td><td>New CMDB - Not in TW</td><td>P2</td><td>Prod - BCP</td><td>Matt Weston,</td><td>04/06/2008 17:20:00</td><td></td><td></td><td></td><td></td><td></td><td id='Select$9Primary_Hostname' class='hiddencol'>upns44</td><td id='Select$9Primary_IP_Address' class='hiddencol'>198.75.10.44</td><td id='Select$9FQDNs' class='hiddencol'>upns44.nh.uk.jpmorganchase.com</td><td id='Select$9Hardware_Model' class='hiddencol'>SUN FIRE V210</td><td id='Select$9asset_type' class='hiddencol'>SERVER</td><td id='Select$9asset_state' class='hiddencol'>Prod</td><td id='Select$9asset_status' class='hiddencol'>Decom Requested</td><td id='Select$9OSName' class='hiddencol'>Solaris 10</td><td id='Select$9Region' class='hiddencol'>EMEA</td><td id='Select$9Server_Owner' class='hiddencol'></td><td id='Select$9TW_App_Name' class='hiddencol'></td><td id='Select$9TW_Process' class='hiddencol'></td><td id='Select$9Last_Login' class='hiddencol'>2008-06-10 01:59:27.53</td><td id='Select$9Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$9Host_in_TW_YesNo' class='hiddencol'>never seen</td><td id='Select$9Notes' class='hiddencol'></td></tr><tr id=Select$10 onclick=javascript:ShowNewAlertDetails('Select$10'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab10' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab10'/></td><td>cbb1a-027c</td><td>14741</td><td>PRM</td><td></td><td>NewTW(Reappear) - Not in CMDB</td><td>P1</td><td>Prod</td><td>Fraser X Brown, John X Dempster, Edward X Strike,</td><td>04/06/2008 17:20:01</td><td></td><td></td><td></td><td></td><td></td><td id='Select$10Primary_Hostname' class='hiddencol'>cbb1a-027c</td><td id='Select$10Primary_IP_Address' class='hiddencol'>169.69.8.186</td><td id='Select$10FQDNs' class='hiddencol'></td><td id='Select$10Hardware_Model' class='hiddencol'>IBM X3550</td><td id='Select$10asset_type' class='hiddencol'>SERVER</td><td id='Select$10asset_state' class='hiddencol'>Prod</td><td id='Select$10asset_status' class='hiddencol'>In Use</td><td id='Select$10OSName' class='hiddencol'>Red Hat Enterprise Linux Advanced Server 3</td><td id='Select$10Region' class='hiddencol'>NA</td><td id='Select$10Server_Owner' class='hiddencol'></td><td id='Select$10TW_App_Name' class='hiddencol'>PRM</td><td id='Select$10TW_Process' class='hiddencol'></td><td id='Select$10Last_Login' class='hiddencol'>2008-06-08 14:09:39.17</td><td id='Select$10Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$10Host_in_TW_YesNo' class='hiddencol'>present</td><td id='Select$10Notes' class='hiddencol'></td></tr><tr id=Select$11 onclick=javascript:ShowNewAlertDetails('Select$11'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab11' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab11'/></td><td>chp-vcs18a</td><td>11560</td><td>PTP</td><td></td><td>NewTW(Reappear) - Not in CMDB</td><td>P1</td><td>Prod</td><td>Fraser X Brown, Stuart X Ward,</td><td>04/06/2008 17:20:01</td><td></td><td></td><td></td><td></td><td></td><td id='Select$11Primary_Hostname' class='hiddencol'>chp-vcs18a</td><td id='Select$11Primary_IP_Address' class='hiddencol'>169.123.208.202</td><td id='Select$11FQDNs' class='hiddencol'></td><td id='Select$11Hardware_Model' class='hiddencol'>SUN FIRE E25K</td><td id='Select$11asset_type' class='hiddencol'>SERVER MULTI-DOMAIN</td><td id='Select$11asset_state' class='hiddencol'>Prod</td><td id='Select$11asset_status' class='hiddencol'>In Use</td><td id='Select$11OSName' class='hiddencol'>Solaris 8</td><td id='Select$11Region' class='hiddencol'>EMEA</td><td id='Select$11Server_Owner' class='hiddencol'>Richard F. Leechow/JPMCHASE</td><td id='Select$11TW_App_Name' class='hiddencol'>PTP</td><td id='Select$11TW_Process' class='hiddencol'></td><td id='Select$11Last_Login' class='hiddencol'>2008-06-09 20:09:34.38</td><td id='Select$11Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$11Host_in_TW_YesNo' class='hiddencol'>present</td><td id='Select$11Notes' class='hiddencol'></td></tr><tr id=Select$12 onclick=javascript:ShowNewAlertDetails('Select$12'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab12' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab12'/></td><td>cmccbbeg4n11prd</td><td>8780</td><td></td><td></td><td>Delete TW - In CMDB</td><td>P2</td><td>Prod</td><td>David X Wicks, Yin Keon Ong,</td><td>04/06/2008 17:20:00</td><td></td><td></td><td></td><td></td><td></td><td id='Select$12Primary_Hostname' class='hiddencol'>cmccbbeg4n11prd</td><td id='Select$12Primary_IP_Address' class='hiddencol'>10.3.19.24</td><td id='Select$12FQDNs' class='hiddencol'></td><td id='Select$12Hardware_Model' class='hiddencol'>EGENERA PBLADE</td><td id='Select$12asset_type' class='hiddencol'>SERVER BLADE</td><td id='Select$12asset_state' class='hiddencol'>Prod</td><td id='Select$12asset_status' class='hiddencol'>In Use</td><td id='Select$12OSName' class='hiddencol'>Red Hat Enterprise Linux Advanced Server 3</td><td id='Select$12Region' class='hiddencol'>NA</td><td id='Select$12Server_Owner' class='hiddencol'>Cory X Shull/JPMCHASE</td><td id='Select$12TW_App_Name' class='hiddencol'>Kapital</td><td id='Select$12TW_Process' class='hiddencol'></td><td id='Select$12Last_Login' class='hiddencol'>2008-05-31 21:02:11.56</td><td id='Select$12Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$12Host_in_TW_YesNo' class='hiddencol'>deleted</td><td id='Select$12Notes' class='hiddencol'></td></tr><tr id=Select$13 onclick=javascript:ShowNewAlertDetails('Select$13'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab13' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab13'/></td><td>COM4W159N1</td><td>21508</td><td></td><td></td><td>Delete TW - In CMDB</td><td>P2</td><td>Prod</td><td>Andrea Cuadra/IL/ONE, Michael Gick/C/IL/ONE, Gerald Galbreath/IL/ONE,</td><td>04/06/2008 17:20:00</td><td></td><td></td><td></td><td></td><td></td><td id='Select$13Primary_Hostname' class='hiddencol'>COM4W159N1</td><td id='Select$13Primary_IP_Address' class='hiddencol'>155.180.226.142</td><td id='Select$13FQDNs' class='hiddencol'></td><td id='Select$13Hardware_Model' class='hiddencol'>HP PROLIANT DL380 G4</td><td id='Select$13asset_type' class='hiddencol'>SERVER</td><td id='Select$13asset_state' class='hiddencol'>Prod</td><td id='Select$13asset_status' class='hiddencol'>In Use</td><td id='Select$13OSName' class='hiddencol'>Windows 2000 Advanced Server</td><td id='Select$13Region' class='hiddencol'>NA</td><td id='Select$13Server_Owner' class='hiddencol'></td><td id='Select$13TW_App_Name' class='hiddencol'>LoanIQAgency</td><td id='Select$13TW_Process' class='hiddencol'></td><td id='Select$13Last_Login' class='hiddencol'>2008-06-08 13:03:37.85</td><td id='Select$13Last_Login_Method' class='hiddencol'>wmi</td><td id='Select$13Host_in_TW_YesNo' class='hiddencol'>deleted</td><td id='Select$13Notes' class='hiddencol'></td></tr><tr id=Select$14 onclick=javascript:ShowNewAlertDetails('Select$14'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab14' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab14'/></td><td>ehp-tdb05</td><td>11560</td><td>PTP</td><td></td><td>New TW - Not in CMDB </td><td>P1</td><td>Prod</td><td>Fraser X Brown, Stuart X Ward,</td><td>04/06/2008 17:19:59</td><td></td><td></td><td></td><td></td><td></td><td id='Select$14Primary_Hostname' class='hiddencol'>ehp-tdb05</td><td id='Select$14Primary_IP_Address' class='hiddencol'>169.93.196.150</td><td id='Select$14FQDNs' class='hiddencol'></td><td id='Select$14Hardware_Model' class='hiddencol'>SUN FIRE E25K</td><td id='Select$14asset_type' class='hiddencol'>SERVER MULTI-DOMAIN</td><td id='Select$14asset_state' class='hiddencol'>Prod</td><td id='Select$14asset_status' class='hiddencol'>In Use</td><td id='Select$14OSName' class='hiddencol'>Solaris 10</td><td id='Select$14Region' class='hiddencol'>EMEA</td><td id='Select$14Server_Owner' class='hiddencol'></td><td id='Select$14TW_App_Name' class='hiddencol'>PTP</td><td id='Select$14TW_Process' class='hiddencol'></td><td id='Select$14Last_Login' class='hiddencol'>2008-06-10 09:56:26.77</td><td id='Select$14Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$14Host_in_TW_YesNo' class='hiddencol'>present</td><td id='Select$14Notes' class='hiddencol'></td></tr><tr id=Select$15 onclick=javascript:ShowNewAlertDetails('Select$15'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab15' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab15'/></td><td>ehp-tdb05</td><td>14741</td><td>PRM</td><td></td><td>New TW - Not in CMDB </td><td>P1</td><td>Prod</td><td>Fraser X Brown, John X Dempster, Edward X Strike,</td><td>04/06/2008 17:19:59</td><td></td><td></td><td></td><td></td><td></td><td id='Select$15Primary_Hostname' class='hiddencol'>ehp-tdb05</td><td id='Select$15Primary_IP_Address' class='hiddencol'>169.93.196.150</td><td id='Select$15FQDNs' class='hiddencol'></td><td id='Select$15Hardware_Model' class='hiddencol'>SUN FIRE E25K</td><td id='Select$15asset_type' class='hiddencol'>SERVER MULTI-DOMAIN</td><td id='Select$15asset_state' class='hiddencol'>Prod</td><td id='Select$15asset_status' class='hiddencol'>In Use</td><td id='Select$15OSName' class='hiddencol'>Solaris 10</td><td id='Select$15Region' class='hiddencol'>EMEA</td><td id='Select$15Server_Owner' class='hiddencol'></td><td id='Select$15TW_App_Name' class='hiddencol'>PRM</td><td id='Select$15TW_Process' class='hiddencol'></td><td id='Select$15Last_Login' class='hiddencol'>2008-06-10 09:56:26.77</td><td id='Select$15Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$15Host_in_TW_YesNo' class='hiddencol'>present</td><td id='Select$15Notes' class='hiddencol'></td></tr><tr id=Select$16 onclick=javascript:ShowNewAlertDetails('Select$16'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab16' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab16'/></td><td>ehp-tdb05</td><td>18185</td><td>PAYG</td><td></td><td>New TW - Not in CMDB </td><td>P1</td><td>Prod</td><td>Ramesh R Mullangi, </td><td>04/06/2008 17:19:59</td><td></td><td></td><td></td><td></td><td></td><td id='Select$16Primary_Hostname' class='hiddencol'>ehp-tdb05</td><td id='Select$16Primary_IP_Address' class='hiddencol'>169.93.196.150</td><td id='Select$16FQDNs' class='hiddencol'></td><td id='Select$16Hardware_Model' class='hiddencol'>SUN FIRE E25K</td><td id='Select$16asset_type' class='hiddencol'>SERVER MULTI-DOMAIN</td><td id='Select$16asset_state' class='hiddencol'>Prod</td><td id='Select$16asset_status' class='hiddencol'>In Use</td><td id='Select$16OSName' class='hiddencol'>Solaris 10</td><td id='Select$16Region' class='hiddencol'>EMEA</td><td id='Select$16Server_Owner' class='hiddencol'></td><td id='Select$16TW_App_Name' class='hiddencol'>PAYG</td><td id='Select$16TW_Process' class='hiddencol'></td><td id='Select$16Last_Login' class='hiddencol'>2008-06-10 09:56:26.77</td><td id='Select$16Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$16Host_in_TW_YesNo' class='hiddencol'>present</td><td id='Select$16Notes' class='hiddencol'></td></tr><tr id=Select$17 onclick=javascript:ShowNewAlertDetails('Select$17'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab17' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab17'/></td><td>ehp-tdb05</td><td>19387</td><td>Kaizen</td><td></td><td>New TW - Not in CMDB </td><td>P1</td><td>Prod</td><td>Ramesh R Mullangi, </td><td>04/06/2008 17:19:59</td><td></td><td></td><td></td><td></td><td></td><td id='Select$17Primary_Hostname' class='hiddencol'>ehp-tdb05</td><td id='Select$17Primary_IP_Address' class='hiddencol'>169.93.196.150</td><td id='Select$17FQDNs' class='hiddencol'></td><td id='Select$17Hardware_Model' class='hiddencol'>SUN FIRE E25K</td><td id='Select$17asset_type' class='hiddencol'>SERVER MULTI-DOMAIN</td><td id='Select$17asset_state' class='hiddencol'>Prod</td><td id='Select$17asset_status' class='hiddencol'>In Use</td><td id='Select$17OSName' class='hiddencol'>Solaris 10</td><td id='Select$17Region' class='hiddencol'>EMEA</td><td id='Select$17Server_Owner' class='hiddencol'></td><td id='Select$17TW_App_Name' class='hiddencol'>Kaizen</td><td id='Select$17TW_Process' class='hiddencol'></td><td id='Select$17Last_Login' class='hiddencol'>2008-06-10 09:56:26.77</td><td id='Select$17Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$17Host_in_TW_YesNo' class='hiddencol'>present</td><td id='Select$17Notes' class='hiddencol'></td></tr><tr id=Select$18 onclick=javascript:ShowNewAlertDetails('Select$18'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab18' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab18'/></td><td>eqd-sybdev21</td><td>12970</td><td></td><td></td><td>Delete TW - In CMDB</td><td>P2</td><td>BCP - Dev</td><td>Jill A Smith, </td><td>04/06/2008 17:20:00</td><td></td><td></td><td></td><td></td><td></td><td id='Select$18Primary_Hostname' class='hiddencol'>eqd-sybdev21</td><td id='Select$18Primary_IP_Address' class='hiddencol'>169.93.12.93</td><td id='Select$18FQDNs' class='hiddencol'></td><td id='Select$18Hardware_Model' class='hiddencol'>SUN FIRE E25K</td><td id='Select$18asset_type' class='hiddencol'>SERVER MULTI-DOMAIN</td><td id='Select$18asset_state' class='hiddencol'>In Progress</td><td id='Select$18asset_status' class='hiddencol'>Installed</td><td id='Select$18OSName' class='hiddencol'>Solaris 10</td><td id='Select$18Region' class='hiddencol'>EMEA</td><td id='Select$18Server_Owner' class='hiddencol'></td><td id='Select$18TW_App_Name' class='hiddencol'>SBLApplicationSuite</td><td id='Select$18TW_Process' class='hiddencol'></td><td id='Select$18Last_Login' class='hiddencol'>2008-06-09 16:26:33.77</td><td id='Select$18Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$18Host_in_TW_YesNo' class='hiddencol'>deleted</td><td id='Select$18Notes' class='hiddencol'></td></tr><tr id=Select$19 onclick=javascript:ShowNewAlertDetails('Select$19'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab19' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab19'/></td><td>eqd-sybdev22</td><td>14741</td><td>PRM</td><td></td><td>New TW - Not in CMDB </td><td>P1</td><td>BCP - Dev</td><td>Fraser X Brown, John X Dempster, Edward X Strike,</td><td>04/06/2008 17:19:59</td><td></td><td></td><td></td><td></td><td></td><td id='Select$19Primary_Hostname' class='hiddencol'>eqd-sybdev22</td><td id='Select$19Primary_IP_Address' class='hiddencol'>169.93.12.115</td><td id='Select$19FQDNs' class='hiddencol'></td><td id='Select$19Hardware_Model' class='hiddencol'>SUN FIRE E25K</td><td id='Select$19asset_type' class='hiddencol'>SERVER MULTI-DOMAIN</td><td id='Select$19asset_state' class='hiddencol'>In Progress</td><td id='Select$19asset_status' class='hiddencol'>Installed</td><td id='Select$19OSName' class='hiddencol'>Solaris 10</td><td id='Select$19Region' class='hiddencol'>EMEA</td><td id='Select$19Server_Owner' class='hiddencol'></td><td id='Select$19TW_App_Name' class='hiddencol'>PRM</td><td id='Select$19TW_Process' class='hiddencol'></td><td id='Select$19Last_Login' class='hiddencol'>2008-06-10 10:29:19.40</td><td id='Select$19Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$19Host_in_TW_YesNo' class='hiddencol'>present</td><td id='Select$19Notes' class='hiddencol'></td></tr><tr id=Select$20 onclick=javascript:ShowNewAlertDetails('Select$20'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab20' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab20'/></td><td>eqd-sybdev22</td><td>7430</td><td>GTW</td><td></td><td>New TW - Not in CMDB </td><td>P1</td><td>BCP - Dev</td><td>Gordon X Neill, Vezhavendan X Annamalai,</td><td>04/06/2008 17:19:59</td><td></td><td></td><td></td><td></td><td></td><td id='Select$20Primary_Hostname' class='hiddencol'>eqd-sybdev22</td><td id='Select$20Primary_IP_Address' class='hiddencol'>169.93.12.115</td><td id='Select$20FQDNs' class='hiddencol'></td><td id='Select$20Hardware_Model' class='hiddencol'>SUN FIRE E25K</td><td id='Select$20asset_type' class='hiddencol'>SERVER MULTI-DOMAIN</td><td id='Select$20asset_state' class='hiddencol'>In Progress</td><td id='Select$20asset_status' class='hiddencol'>Installed</td><td id='Select$20OSName' class='hiddencol'>Solaris 10</td><td id='Select$20Region' class='hiddencol'>EMEA</td><td id='Select$20Server_Owner' class='hiddencol'></td><td id='Select$20TW_App_Name' class='hiddencol'>GTW</td><td id='Select$20TW_Process' class='hiddencol'></td><td id='Select$20Last_Login' class='hiddencol'>2008-06-10 10:29:19.40</td><td id='Select$20Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$20Host_in_TW_YesNo' class='hiddencol'>present</td><td id='Select$20Notes' class='hiddencol'></td></tr><tr id=Select$21 onclick=javascript:ShowNewAlertDetails('Select$21'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab21' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab21'/></td><td>eqd-sybdev26</td><td>12240</td><td>Scala</td><td></td><td>New TW - Not in CMDB </td><td>P1</td><td>BCP - Dev</td><td>Jill A Smith, </td><td>04/06/2008 17:19:59</td><td></td><td></td><td></td><td></td><td></td><td id='Select$21Primary_Hostname' class='hiddencol'>eqd-sybdev26</td><td id='Select$21Primary_IP_Address' class='hiddencol'>169.93.12.121</td><td id='Select$21FQDNs' class='hiddencol'></td><td id='Select$21Hardware_Model' class='hiddencol'>SUN FIRE E25K</td><td id='Select$21asset_type' class='hiddencol'>SERVER MULTI-DOMAIN</td><td id='Select$21asset_state' class='hiddencol'>In Progress</td><td id='Select$21asset_status' class='hiddencol'>Installed</td><td id='Select$21OSName' class='hiddencol'>Solaris 10</td><td id='Select$21Region' class='hiddencol'>EMEA</td><td id='Select$21Server_Owner' class='hiddencol'></td><td id='Select$21TW_App_Name' class='hiddencol'>Scala</td><td id='Select$21TW_Process' class='hiddencol'></td><td id='Select$21Last_Login' class='hiddencol'>2008-06-07 12:14:25.96</td><td id='Select$21Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$21Host_in_TW_YesNo' class='hiddencol'>present</td><td id='Select$21Notes' class='hiddencol'></td></tr><tr id=Select$22 onclick=javascript:ShowNewAlertDetails('Select$22'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab22' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab22'/></td><td>eqd-sybdev26</td><td>12840</td><td>Sphinx</td><td></td><td>New TW - Not in CMDB </td><td>P1</td><td>BCP - Dev</td><td>Jill A Smith, </td><td>04/06/2008 17:19:59</td><td></td><td></td><td></td><td></td><td></td><td id='Select$22Primary_Hostname' class='hiddencol'>eqd-sybdev26</td><td id='Select$22Primary_IP_Address' class='hiddencol'>169.93.12.121</td><td id='Select$22FQDNs' class='hiddencol'></td><td id='Select$22Hardware_Model' class='hiddencol'>SUN FIRE E25K</td><td id='Select$22asset_type' class='hiddencol'>SERVER MULTI-DOMAIN</td><td id='Select$22asset_state' class='hiddencol'>In Progress</td><td id='Select$22asset_status' class='hiddencol'>Installed</td><td id='Select$22OSName' class='hiddencol'>Solaris 10</td><td id='Select$22Region' class='hiddencol'>EMEA</td><td id='Select$22Server_Owner' class='hiddencol'></td><td id='Select$22TW_App_Name' class='hiddencol'>Sphinx</td><td id='Select$22TW_Process' class='hiddencol'></td><td id='Select$22Last_Login' class='hiddencol'>2008-06-07 12:14:25.96</td><td id='Select$22Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$22Host_in_TW_YesNo' class='hiddencol'>present</td><td id='Select$22Notes' class='hiddencol'></td></tr><tr id=Select$23 onclick=javascript:ShowNewAlertDetails('Select$23'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab23' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab23'/></td><td>eqd-sybdev26</td><td>14741</td><td>PRM</td><td></td><td>New TW - Not in CMDB </td><td>P1</td><td>BCP - Dev</td><td>Fraser X Brown, John X Dempster, Edward X Strike,</td><td>04/06/2008 17:19:59</td><td></td><td></td><td></td><td></td><td></td><td id='Select$23Primary_Hostname' class='hiddencol'>eqd-sybdev26</td><td id='Select$23Primary_IP_Address' class='hiddencol'>169.93.12.121</td><td id='Select$23FQDNs' class='hiddencol'></td><td id='Select$23Hardware_Model' class='hiddencol'>SUN FIRE E25K</td><td id='Select$23asset_type' class='hiddencol'>SERVER MULTI-DOMAIN</td><td id='Select$23asset_state' class='hiddencol'>In Progress</td><td id='Select$23asset_status' class='hiddencol'>Installed</td><td id='Select$23OSName' class='hiddencol'>Solaris 10</td><td id='Select$23Region' class='hiddencol'>EMEA</td><td id='Select$23Server_Owner' class='hiddencol'></td><td id='Select$23TW_App_Name' class='hiddencol'>PRM</td><td id='Select$23TW_Process' class='hiddencol'></td><td id='Select$23Last_Login' class='hiddencol'>2008-06-07 12:14:25.96</td><td id='Select$23Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$23Host_in_TW_YesNo' class='hiddencol'>present</td><td id='Select$23Notes' class='hiddencol'></td></tr><tr id=Select$24 onclick=javascript:ShowNewAlertDetails('Select$24'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab24' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab24'/></td><td>eqny-cshcmp2</td><td>7430</td><td>GTW</td><td></td><td>Delete TW - In CMDB</td><td>P2</td><td>Prod</td><td>Gordon X Neill, Vezhavendan X Annamalai,</td><td>04/06/2008 17:20:00</td><td></td><td></td><td></td><td></td><td></td><td id='Select$24Primary_Hostname' class='hiddencol'>eqny-cshcmp2.ny.jpmorgan.com</td><td id='Select$24Primary_IP_Address' class='hiddencol'>10.3.230.122</td><td id='Select$24FQDNs' class='hiddencol'></td><td id='Select$24Hardware_Model' class='hiddencol'>SUN FIRE 6800</td><td id='Select$24asset_type' class='hiddencol'>SERVER MULTI-DOMAIN</td><td id='Select$24asset_state' class='hiddencol'>Prod</td><td id='Select$24asset_status' class='hiddencol'>In Use</td><td id='Select$24OSName' class='hiddencol'>Solaris 8</td><td id='Select$24Region' class='hiddencol'>NA</td><td id='Select$24Server_Owner' class='hiddencol'>Laurence D Pinkus/JPMCHASE</td><td id='Select$24TW_App_Name' class='hiddencol'>GTW</td><td id='Select$24TW_Process' class='hiddencol'></td><td id='Select$24Last_Login' class='hiddencol'>2008-06-08 23:49:06.42</td><td id='Select$24Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$24Host_in_TW_YesNo' class='hiddencol'>deleted</td><td id='Select$24Notes' class='hiddencol'></td></tr><tr id=Select$25 onclick=javascript:ShowNewAlertDetails('Select$25'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab25' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab25'/></td><td>isyndappdr1</td><td>24088</td><td></td><td></td><td>Delete TW - In CMDB</td><td>P2</td><td>BCP</td><td>Krishna X Rajesh, </td><td>04/06/2008 17:20:00</td><td></td><td></td><td></td><td></td><td></td><td id='Select$25Primary_Hostname' class='hiddencol'>isyndappdr1</td><td id='Select$25Primary_IP_Address' class='hiddencol'>169.69.44.20</td><td id='Select$25FQDNs' class='hiddencol'></td><td id='Select$25Hardware_Model' class='hiddencol'>SUN FIRE 480R</td><td id='Select$25asset_type' class='hiddencol'>SERVER</td><td id='Select$25asset_state' class='hiddencol'>Prod</td><td id='Select$25asset_status' class='hiddencol'>In Use</td><td id='Select$25OSName' class='hiddencol'>Solaris 10</td><td id='Select$25Region' class='hiddencol'>NA</td><td id='Select$25Server_Owner' class='hiddencol'></td><td id='Select$25TW_App_Name' class='hiddencol'>iSynd</td><td id='Select$25TW_Process' class='hiddencol'></td><td id='Select$25Last_Login' class='hiddencol'>2008-06-08 01:47:56.97</td><td id='Select$25Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$25Host_in_TW_YesNo' class='hiddencol'>deleted</td><td id='Select$25Notes' class='hiddencol'></td></tr><tr id=Select$26 onclick=javascript:ShowNewAlertDetails('Select$26'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab26' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab26'/></td><td>SJPNPYRTCS002</td><td>14741</td><td>PRM</td><td></td><td>NewTW(Reappear) - Not in CMDB</td><td>P1</td><td>Prod</td><td>Fraser X Brown, John X Dempster, Edward X Strike,</td><td>04/06/2008 17:20:01</td><td></td><td></td><td></td><td></td><td></td><td id='Select$26Primary_Hostname' class='hiddencol'>SJPNPYRTCS002</td><td id='Select$26Primary_IP_Address' class='hiddencol'>169.76.18.225</td><td id='Select$26FQDNs' class='hiddencol'></td><td id='Select$26Hardware_Model' class='hiddencol'>IBM XSERIES 365</td><td id='Select$26asset_type' class='hiddencol'>SERVER</td><td id='Select$26asset_state' class='hiddencol'>Prod</td><td id='Select$26asset_status' class='hiddencol'>In Use</td><td id='Select$26OSName' class='hiddencol'>Windows 2000 Advanced Server</td><td id='Select$26Region' class='hiddencol'>AP</td><td id='Select$26Server_Owner' class='hiddencol'>Paul Syi</td><td id='Select$26TW_App_Name' class='hiddencol'>PRM</td><td id='Select$26TW_Process' class='hiddencol'></td><td id='Select$26Last_Login' class='hiddencol'>2008-06-06 23:47:06.76</td><td id='Select$26Last_Login_Method' class='hiddencol'>wmi</td><td id='Select$26Host_in_TW_YesNo' class='hiddencol'>present</td><td id='Select$26Notes' class='hiddencol'></td></tr><tr id=Select$27 onclick=javascript:ShowNewAlertDetails('Select$27'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab27' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab27'/></td><td>tff1asfm2</td><td>1650</td><td>BrokerTec</td><td></td><td>NewTW(Reappear) - Not in CMDB</td><td>P1</td><td>Prod</td><td>Michael Allen Lee,</td><td>04/06/2008 17:20:01</td><td></td><td></td><td></td><td></td><td></td><td id='Select$27Primary_Hostname' class='hiddencol'>tff1asfm2</td><td id='Select$27Primary_IP_Address' class='hiddencol'>10.36.9.143</td><td id='Select$27FQDNs' class='hiddencol'></td><td id='Select$27Hardware_Model' class='hiddencol'>FUJITSU SIEMENS PRIMEPOWER 650</td><td id='Select$27asset_type' class='hiddencol'>SERVER</td><td id='Select$27asset_state' class='hiddencol'>Prod</td><td id='Select$27asset_status' class='hiddencol'>In Use</td><td id='Select$27OSName' class='hiddencol'>Solaris 8</td><td id='Select$27Region' class='hiddencol'>NA</td><td id='Select$27Server_Owner' class='hiddencol'></td><td id='Select$27TW_App_Name' class='hiddencol'>Duplicate Name in TW</td><td id='Select$27TW_Process' class='hiddencol'></td><td id='Select$27Last_Login' class='hiddencol'>2008-06-08 21:12:58.85</td><td id='Select$27Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$27Host_in_TW_YesNo' class='hiddencol'>present</td><td id='Select$27Notes' class='hiddencol'></td></tr><tr id=Select$28 onclick=javascript:ShowNewAlertDetails('Select$28'); onmouseover=this.style.cursor='hand'><td><input type='checkbox' ID='chkTab28' onclick='javascript:return select_deselectAll(this.checked,this.id);' name='chkTab28'/></td><td>tff1asfm2</td><td>7090</td><td>Garban</td><td></td><td>NewTW(Reappear) - Not in CMDB</td><td>P1</td><td>Prod</td><td>Michael Allen Lee,</td><td>04/06/2008 17:20:01</td><td></td><td></td><td></td><td></td><td></td><td id='Select$28Primary_Hostname' class='hiddencol'>tff1asfm2</td><td id='Select$28Primary_IP_Address' class='hiddencol'>10.36.9.143</td><td id='Select$28FQDNs' class='hiddencol'></td><td id='Select$28Hardware_Model' class='hiddencol'>FUJITSU SIEMENS PRIMEPOWER 650</td><td id='Select$28asset_type' class='hiddencol'>SERVER</td><td id='Select$28asset_state' class='hiddencol'>Prod</td><td id='Select$28asset_status' class='hiddencol'>In Use</td><td id='Select$28OSName' class='hiddencol'>Solaris 8</td><td id='Select$28Region' class='hiddencol'>NA</td><td id='Select$28Server_Owner' class='hiddencol'></td><td id='Select$28TW_App_Name' class='hiddencol'>Garban</td><td id='Select$28TW_Process' class='hiddencol'></td><td id='Select$28Last_Login' class='hiddencol'>2008-06-08 21:12:58.85</td><td id='Select$28Last_Login_Method' class='hiddencol'>ssh</td><td id='Select$28Host_in_TW_YesNo' class='hiddencol'>present</td><td id='Select$28Notes' class='hiddencol'></td></tr></tbody><tfoot><tr><td>tfoot</td><td>tfoot</td><td>tfoot</td><td>tfoot</td><td>tfoot</td><td>tfoot</td><td>tfoot</td><td>tfoot</td><td>tfoot</td><td>tfoot</td><td>tfoot</td><td>tfoot</td><td>tfoot</td><td>tfoot</td><td>tfoot</td></tr><tr><td class='table-page:previous' style='cursor:pointer;'><< Previous</td><td colspan='3' style='text-align:center;'>Page <span id='t1page'></span> of <span id='t1pages'></span></td><td class='table-page:next' style:'cursor:pointer;'>Next > ></td></tr><tr><td colspan='15'><span id='t1filtercount'></span> of </span id='t1allcount'></span> rows match filter(s)</td></tr></tfoot></table>
|