either we are faced with yet another bug in IE or I am not capable of patching for IE.
I tried using appendChild inserRow and even insertAdjacentHTML and it doesn't let me do anything to the table.
Here is a patchy and ugly way to make it work in IE :
<html>
<head>
<title>test for tables</title>
</head>
<body>
<table id="myTable">
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
</tr>
<tr>
<td>9</td>
<td>10</td>
<td>11</td>
<td>12</td>
</tr>
</table>
<div id="totalContainer"></div>
<script>
var values = [];
var table = document.getElementById("myTable"

;
var trs = table.getElementsByTagName("tr"

;
// create a multidimensional array
for(var ii = 0; ii < trs.length; ii++)
{
values[ii] = [];
}
// store all values inside all the multidimensional array
for (var trIndex = 0; trIndex < trs.length; trIndex++)
{
var tds = trs[trIndex].getElementsByTagName("td"

;
for (var tdIndex = 0; tdIndex < tds.length; tdIndex++)
{
values[trIndex][tdIndex] = parseFloat(tds[tdIndex].innerHTML)
}
}
var sums = []
for (var row = 0; row < values[0].length; row++)
{
sums[row] = 0;
for(var col = 0; col < values.length; col++)
{
sums[row] += values[col][row]
}
}
// create a new row
tr = document.createElement("tr"

for (var ii = 0; ii < sums.length; ii++)
{
td = document.createElement("td"

td.innerHTML = sums[ii]
tr.appendChild(td)
}
if (!document.all) // for mozilla and other working browsers
{
table.appendChild(tr)
}
else // for buggy IE
{
var table = document.createElement("table"

table.appendChild(tr)
document.getElementById("totalContainer"

.innerHTML = table.innerHTML;
}
</script>
</body>
</html>
I hate IE sometimes. Gary
Haran