Hola:
Hay cosas en tu código que no comprendo... por ejemplo de donde sale el objeto "division"...
El eval es innecesario (lo quitas y funciona igual -mejor-)
La verdad es que poner un nodo en un sitio exacto, tan solo requiere saber ese sitio exacto... por ejemplo para insertar antes de un nodo llamado pepe sería:
nodo = document.getElementById("pepe");
nodo.parentNode.insertBefore(nuevoNodo, nodo);
y para insertarlo después es un pelín más complicado...
(nodo.nextSibling == undefined) ? nodo.parentNode.appendChild(nuevoNodo):nodo.parent Node.insertBefore(nuevoNodo, nodo.nextSibling)
... pero sigue siendo sencillo
Saludos