Index: tinymce.module
===================================================================
--- tinymce.module.orig
+++ tinymce.module
@@ -159,24 +159,19 @@
   function mceToggle(id, linkid) {
     element = document.getElementById(id);
     link = document.getElementById(linkid);
-    img_assist = document.getElementById('img_assist-link-'+ id);
 
-    if (tinyMCE.getEditorId(element.id) == null) {
-      tinyMCE.addMCEControl(element, element.id);
+    if (tinyMCE.get(element.id) == null) {
+      tinyMCE.execCommand('mceAddControl',false, element.id);
       element.togg = 'on';
       link.innerHTML = '$disable';
       link.href = "javascript:mceToggle('" +id+ "', '" +linkid+ "');";
-      if (img_assist)
-        img_assist.innerHTML = '';
       link.blur();
     }
     else {
-      tinyMCE.removeMCEControl(tinyMCE.getEditorId(element.id));
+      tinyMCE.execCommand('mceRemoveControl',false,element.id);
       element.togg = 'off';
       link.innerHTML = '$enable';
       link.href = "javascript:mceToggle('" +id+ "', '" +linkid+ "');";
-      if (img_assist)
-        img_assist.innerHTML = img_assist_default_link;
       link.blur();
     }
   }
@@ -187,28 +182,14 @@
 
 // note we test for string == true because we save our settings as strings
 $link_text = $status == 'true' ? $disable : $enable;
-$img_assist_link = ($status == 'true') ? 'yes' : 'no';
 $no_wysiwyg = t('Your current web browser does not support WYSIWYG editing.');
 $wysiwyg_link = <<<EOD
-<script type="text/javascript">
-  img_assist = document.getElementById('img_assist-link-edit-$textarea_name');
-  if (img_assist) {
-    var img_assist_default_link = img_assist.innerHTML;
-    if ('$img_assist_link' == 'yes') {
-      img_assist.innerHTML = tinyMCE.getEditorId('edit-$textarea_name') == null ? '' : img_assist_default_link;
-    }
-    else {
-      img_assist.innerHTML = tinyMCE.getEditorId('edit-$textarea_name') == null ? img_assist_default_link : '';
-    }
+  if (Drupal.jsEnabled) { 
+    $(document).ready(function() { 
+        var div = "<div><a href=\"javascript:mceToggle('edit-$textarea_name', 'wysiwyg4$textarea_name');\" id=\"wysiwyg4$textarea_name\">$link_text</a></div>";
+        $('#edit-$textarea_name-wrapper').append(div); 
+      }); 
   }
-  if (typeof(document.execCommand) == 'undefined') {
-    img_assist.innerHTML = img_assist_default_link;
-    document.write('<div style="font-size:x-small">$no_wysiwyg</div>');
-  }
-  else {
-    document.write("<div><a href=\"javascript:mceToggle('edit-$textarea_name', 'wysiwyg4$textarea_name');\" id=\"wysiwyg4$textarea_name\">$link_text</a></div>");
-  }
-</script>
 EOD;
 
     // We only load the TinyMCE js file once per request
@@ -243,7 +224,10 @@
       drupal_set_html_head('<style type="text/css" media="all">.mceEditor img { display: inline; }</style>');
     }
     // Load a TinyMCE init for each textarea.
-    if ($init) drupal_add_js($tinymce_invoke, 'inline');
+    if ($init) {
+      drupal_add_js($tinymce_invoke, 'inline');
+      drupal_add_js($wysiwyg_link, 'inline');
+    }
 
     // Set resizable to false to avoid drupal.js resizable function from taking control of the textarea
     $element['#resizable'] = FALSE;