Wie das genau abläuft mit mousover in deinem fall weiß ich nicht, aber das hier ist falsch:
das habe ich schon probiert, geht aber nicht
document.getElementById("layer").addEventListener("mouseout", test(), false);
document.getElementById("layer").onMouseOver = test();
Sowohl der Eventlistener als auch die direkte Zuweisung benötigen eine Referenz auf eine Funktion. So wie du es machst, weist du den Events den Rückgabewert der Funktion zu, was keinen sinn macht. Du musst die Klammern weglassen.
Struppi.