Grundsätzlich stimme ich Dir da zu, allerdings baue ich die Seite & die JS-Funktionen mit einigen Smarty-Variablen zusammen, daher befindet sich der JS-Code direkt unter dem HTML-Script.
dann versuch mal Javascript mit CDATA korrekt in XHTML einzubinden