В результате получилось следующее:
function addline(element)
{
var thisRow;
thisRow=element;
while (thisRow.tagName!='TR'){
thisRow=thisRow.parentNode;
}
var cellsCount = thisRow.cells.length;
var table=element;
while (table.tagName!='TABLE'){
table=table.parentNode;
}
var newRow = table.insertRow(thisRow.rowIndex+1);
var hiddeninputs=thisRow.getElementsByTagName('INPUT');
for (i=0;i<hiddeninputs.length;i++){
if(hiddeninputs[i].type=='hidden'){
newRow.appendChild(hiddeninputs[i].cloneNode(true));
}
}
var tds=thisRow.cells;
for (i=0;i<tds.length;i++){
newcell=newRow.insertCell(i);
newcell.innerHTML=tds[i].innerHTML;
}
var inputs=newRow.getElementsByTagName('INPUT');
var currentInput;
var input;
for(i=0;i<inputs.length;i++){
input=inputs[i];
if (input.type=='hidden'){
if(input.name=='id'){
input.value='_inserted';
}
}else if(input.type!=='image'){
input.value="";
}
}
alert(table.innerHTML);//отладка!!! Стереть
}