<html>
<head>
<title>Table Repaint Test</title>
</head>
<script type="text/javascript">
<!--
    function Setup() { 
        setTimeout('RepaintBug()', 10);
        if (window.testRunner)
            testRunner.waitUntilDone();
    }
    function RepaintBug() {
        var div2 = document.getElementById("bug2");
        div2.style.color = 'green';
        if (window.testRunner)
            testRunner.notifyDone();
    }
//-->
</script>
<body onLoad="Setup()">
    <p>
        This test checks the renderer's ability to layer multiple cells in a table on top of one another. This test has three cells that span multiple table grid slots. The <span style="color: red; font-weight: bold;">red</span> cell starts at row 1 and column 4 and spans four rows. The <span style="color: blue; font-weight: bold;">blue</span> cell starts at row 2, and column 1, and spans four columns. The <span style="color: green; font-weight: bold;">green</span> cell spans 4 columns of row 4.
    </p>
    <p>
        If the test succeeds then you should see no text inside the table. If you see the text 'FAIL' inside the table, then the test has failed.
    </p>
    <table border="1">
        <tr>
            <td>
                &nbsp;&nbsp;&nbsp;&nbsp;
            </td>
            <td> 
                &nbsp;&nbsp;&nbsp;&nbsp;
            </td>
            <td>
                &nbsp;&nbsp;&nbsp;&nbsp;
            </td>
            <td rowspan="4" style="background-color: red;">
                <div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div>
            </td>
        </tr>
        <tr>
            <td colspan="4" style="background-color: blue;" align="right">
                <div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</div>
            </td>
        </tr>
        <tr>
            <td>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            </td>
            <td>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            </td>
            <td>
                &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            </td>                
        </tr>
        <tr>
            <td colspan="4" align="right" style="background-color: green;">
                <div id="bug2">
                    FAIL&nbsp;
                </div>
            </td>
        </tr>
    </table>
</body>
</html>
