Mir fällt da auf, daß du am Anfang zweimal einen Öffnungs-tag für PHP stehen hast ohne ihn vorher geschlossen zu haben.
Du ordnest den Inhalt, also dein input-field dem $box_content zu (vielleicht im Kopf noch die Variable definieren ($box_content = '') und gibst in der Box (*.html-Datei) den Inhalt mit {$BOX_CONTENT} aus.
Das heißt du generierst keinen Smarty für INPUT_FIELD sondern tust alles in box_content, dafür ist ja bereits eine Smarty-Variable definiert;
oder du tust alles in INPUT_FIELD, dann bauchst du wiederum kein BOX_CONTENT,
wie du die Variable nennst ist ja dir überlassen.
In deinem Javascript-Exkurs sind glaub' ich so beim Überfliegen auch einige Fehler drin bei der Verkettung der Variabalen $javascript .=
kann mich aber täuschen.
Kann jetzt leider nicht deinen ganzen Code überprüfen, ist ein bisschen viel verlangt denke ich.
Außerdem könnte es sinnvoll sein den Group-Check (wer darf's sehen (im Admin einstellbar) und den fsk_lock (über 18 ?) einzubauen (siehe andere Box-Vorlagen).
Gehe in Ruhe nochmal alles durch, beachte die Reihenfolge des Codes (Variablen definieren vor Einsatz, s.o.) und definiere für das was auf der Seite erscheinen soll eine Variable, aus der du dann einen Smarty definierst, den du wiederum im Template verwenden kannst.
Gruß,
noRiddle
*NACHTRAG*
Nochmal anders gesagt:
Da wo du jetzt das hast 'Inhalt provisorisch'; steht dein Inhalt, also dein input-field....