Станислав: да, создаётся новый объект, в который передаются указанные объекты. Основная цель выбранного вами ответа и моего варианта это создать новый объект и работать с ним, чтобы не изменять данные в объектах-источниках.
Игорь Николаевич: не по вашему вопросу, а вообщем: приведите код в удобочитаемый вид. Выровняйте отступы и разбейте по строкам, прекратите использовать глобальные переменные, разбейте код на логические куски. Мне кажется вам самим тогда проще будет искать ошибки и недочеты в коде.
Игорь Николаевич:
1) el - он же element. Так функцию можно использовать повторно для других элементов
2) на данный момент функции работают для одного элемента. Но можно модернизировать их под приём нескольких элементов