document.getElementById(elements[i].id).onclick = new Function("alert('hallo')");
Schätze, du hast das Element schon? Dann kannst du auch gleich elements[i] manipulieren. new Function ist fast immer unnötig.
Ergo:
elements[i].onclick = function(){alert('hallo')};
Wenn du onclick-events in einer Schleife setzt, ist zudem Vorsicht geboten:
http://yuiblog.com/blog/2006/09/26/for-in-intrigue/