Stringchen: JS-Funktion wird zu spät definiert - oder falscher Scope

Hallo,
unter diesem ominösen Titel verbirgt sich folgende Problematik: Ich öffne mit JS ein jquery-dialog (modal), welches ich durch AJAX befüllen lasse. Der Inhalt enthält unter anderem ein Formular welches eine kleine Javascriptfunktion mitbringt (zum Verbergen und Zeigen von Zusatzinfos) namens charsetpop().

etwa:

<script type='text/javascript'>  
  //alert('deklariert');  
  function charsetpop(name){  
    if (document.getElementById(name)){  
      var displaystatus = document.getElementById(name);  
      if (displaystatus.style.display == ''){  
        displaystatus.style.display = 'none';  
      } else {  
        displaystatus.style.display = '';  
      }  
    }  
  }  
</script>  
<form>  
<input type='hidden' name='formid' value='123456488987'>  
<input type='hidden' name='sendform' value='true'>  

usw...

Nun habe ich das Problem, dass diese Funktion erst ab dem _zweiten_ Aufruf des Dialogs und somit der Form zur Verfügung steht.

Normalerweise behandele ich JS, das von Ajaxrequests stammt, separat. Entweder ich rufe es in der AJAX-Callbackfunktion auf oder ich evaluiere den return. Wenn ich die Funktion aber evaluiere und sie hundertprozentig _vor_ der Verwendung deklariere, heisst es trotzdem in der Console: "charsetpop is not defined". Ich nehme an, das Zentraldokument hat nicht den gleichen Scope.

Also gibt es innerhalb des Dialogs einen eigenen Scope. Wenn ich den alert() reinnehme, sehe ich, dass die Funktion beim Schliessen des Dialogs ausgeführt wird. Warum erst beim Schliessen?

Ich bitte um Hilfe!
Grüße