MediaWiki:Common.js: Difference between revisions

From Moonlight Design
Jump to navigation Jump to search
No edit summary
No edit summary
Line 15: Line 15:
             // Give the second-to-last cell a width of 15em (CSS lets us do this, but, sadly, browsers don't implement nth-child)
             // Give the second-to-last cell a width of 15em (CSS lets us do this, but, sadly, browsers don't implement nth-child)
             if (tables[t].rows.length > 2) {
             if (tables[t].rows.length > 2) {
                 tables[t].rows[tables[t].rows.length - 2].width = "15em";
                 tables[t].rows[tables[t].rows.length - 2].style="width: 15em;";
             }
             }
         }
         }

Revision as of 23:55, 29 September 2007

/* Any JavaScript here will be loaded for all users on every page load. */

// Highlight every other line in the software tables
var orig_onload = window.onload;
window.onload = function(e) {
    if (orig_onload != null) {
        orig_onload(e);
    }
    var tables = document.getElementsByTagName("table");
    var rows;
    for (var t = 0; t < tables.length; t++) {
        if (tables[t].className.indexOf("software") >= 0) {
            grayRows(tables[t]);

            // Give the second-to-last cell a width of 15em (CSS lets us do this, but, sadly, browsers don't implement nth-child)
            if (tables[t].rows.length > 2) {
                tables[t].rows[tables[t].rows.length - 2].style="width: 15em;";
            }
        }
    }
}

function grayRows(table) {
    var rows = table.rows;
    for (var r = 0; r < rows.length; r++) {
        if (r % 2 == 1) {
            rows[r].className = "grayrow";
        } else {
            rows[r].className = "";
        }
    }
}

var orig_ts_resortTable = ts_resortTable;
ts_resortTable = function(evt) {
    orig_ts_resortTable(evt);

    // Find the table
    var table = evt;
    while (table && table.tagName.toLowerCase() != "table") {
        table = table.parentNode;
    }
    if (table) {
        grayRows(table);
    }
}