Здравствуйте, помогите пожалуйста!!

Столкнулся со следующей проблемой, чтобы Вы не думали что я не ознакомился вот с этим:
http://www.mozilla.org/docs/web-developer/

То я ознакомился и в скрипте JavaScript использовал только те функции и свойства CSS , которые поддерживает Firefox.

вот код

Выделить код

Код:

<style type=text/css>
.fieldHidden {display:none;}
.fieldVisible {display:table;}
</style>

<script language=JavaScript>
function dropExperienceNode(btn){
        if(document.getElementById) {
                tr=btn;
                while(tr.tagName!='tr') {
                        tr=document.getElementById('ExperienceNode').lastChild;
                        tr.parentNode.removeChild(tr);
                }
        }
}
function addExperienceNode(btn){
        if(document.getElementById){
                if(document.getElementById('ExperienceNode')){
                        var template=document.getElementById('ExperienceNode').firstChild;
                        var resultNode=template.cloneNode(true);
                        resultNode.className='fieldVisible';
                        resultNode=template.parentNode.appendChild(resultNode);
                }
        }
}
</script>

<table border=0 class=publications>
<tbody id=ExperienceNode>

<tr class=fieldHidden><td>
кусочек который должен будет клонироваться и добавиться в конец вместе с ячейкой TD и TR с присвоенным ему классом fieldHidden.
здесь же будет кнопочка добавить и удалить блок.
</td>
</tr>

<TR class=fieldVisible><td>
это блок по умолчанию виден и здесь находится кнопочка добавить, при нажатии на которую блок расположенный выше должен добавиться после него.
</td>
</tr>

</tbody>
</table>

Вот ссылка где это всё происходит:
http://www.korusconsulting.ru/korus/vacancy/add

Буду признателен если поможете ценным советом или советом где у меня ошибка, думаю который день над этой проблемой...

Заранее спасибо.

PS. вот Internet Explorer и Opera код я уже оптимизировал, остлось только под Firefox

PPoludnev
код немного кривой, но это не так важно в данной ситуации.
проблема ваша в том, что firstChild не является первым блоком ExperienceNode. соответственно, меняем его на childNodes[1]

ошибка кралась не в этом

Выделить код

Код:

function dropNewNode(btn,ID){
        if(document.getElementById) {
                tr=btn;
                while(tr.tagName!='TR') {
                        tr=document.getElementById(ID).lastChild;
                        tr.parentNode.removeChild(tr);
                }
        }
}
function addNewNode(btn,ID){
        if(document.getElementById){
                if(document.getElementById(ID)){
                        var template=document.getElementById(ID+'Child');
                        var resultNode=template.cloneNode(true);
                        resultNode.className='fieldVisible';
                        resultNode=template.parentNode.appendChild(resultNode);
                }
        }
}

вот код скрипта который теперь работает.

Суть в том, что Firefox в отличие от IE и Opera неправильн использует функцию cloneNode() в Firefox она не может клонировать TR вместе с вложенными TD если использовать и обращаться к TR как к ChildNodes[0] или firstChild

необходимо присвоить тегу TR который собираемся клонировать ID и по нему напрямую вызвать этот объект и клонировать его как представлено выше в скрипте.

Но если