diff --git wp-includes/general-template.php wp-includes/general-template.php
index 19194f2..1cd0e92 100644
--- wp-includes/general-template.php
+++ wp-includes/general-template.php
@@ -1827,7 +1827,8 @@ function the_editor($content, $id = 'content', $prev_id = 'title', $media_button
 ?>
 	<div id="quicktags"><?php
 	wp_print_scripts( 'quicktags' ); ?>
-	<script type="text/javascript">edToolbar()</script>
+	<div id="ed_toolbar">
+	</div>
 	</div>
 
 <?php
diff --git wp-includes/js/quicktags.dev.js wp-includes/js/quicktags.dev.js
index 48b7b6a..95ccc4e 100644
--- wp-includes/js/quicktags.dev.js
+++ wp-includes/js/quicktags.dev.js
@@ -4,6 +4,58 @@
 
 var edButtons = new Array(), edLinks = new Array(), edOpenTags = new Array(), now = new Date(), datetime;
 
+// cross browser dom ready
+var DOMReady = function(func) {
+	if (typeof jQuery != 'undefined') {
+		jQuery(document).ready(func);
+	} else {
+		var t = DOMReady, DOMContentLoaded, top;
+			t.funcs = [];
+
+		t.ready = function() {
+			if (! t.isReady) {
+				t.isReady = true;
+				for (var i=0; i < t.funcs.length; i++) {
+					t.funcs[i]();
+				}
+			}
+		};
+
+		if (t.isReady) {
+			func();
+		} else {
+			t.funcs.push(func);
+		}
+		
+		if ( ! t.eventAttached ) {
+			if (document.addEventListener) {
+				DOMContentLoaded = function(){document.removeEventListener('DOMContentLoaded', DOMContentLoaded, false);t.ready();};
+				document.addEventListener('DOMContentLoaded', DOMContentLoaded, false);
+				window.addEventListener('load', t.ready, false);
+			} else if (document.attachEvent) {
+				DOMContentLoaded = function(){if (document.readyState === 'complete'){ document.detachEvent('onreadystatechange', DOMContentLoaded);t.ready();}};
+				document.attachEvent('onreadystatechange', DOMContentLoaded);
+				window.attachEvent('onload', t.ready);
+				
+				(function(){
+					try {
+						document.documentElement.doScroll("left");
+					} catch(e) {
+						setTimeout(arguments.callee, 50);
+						return;
+					}
+					
+					t.ready();
+				})();
+			}
+			
+			t.eventAttached = true;
+		}
+	}
+};
+
+DOMReady(edToolbar);
+
 function edButton(id, display, tagStart, tagEnd, access, open) {
 	this.id = id;				// used to name the toolbar button
 	this.display = display;		// label on button
@@ -154,13 +206,13 @@ edLinks[edLinks.length] = new edLink('alexking.org'
 
 function edShowButton(button, i) {
 	if (button.id == 'ed_img') {
-		document.write('<input type="button" id="' + button.id + '" accesskey="' + button.access + '" class="ed_button" onclick="edInsertImage(edCanvas);" value="' + button.display + '" />');
+		return '<input type="button" id="' + button.id + '" accesskey="' + button.access + '" class="ed_button" onclick="edInsertImage(edCanvas);" value="' + button.display + '" />';
 	}
 	else if (button.id == 'ed_link') {
-		document.write('<input type="button" id="' + button.id + '" accesskey="' + button.access + '" class="ed_button" onclick="edInsertLink(edCanvas, ' + i + ');" value="' + button.display + '" />');
+		return '<input type="button" id="' + button.id + '" accesskey="' + button.access + '" class="ed_button" onclick="edInsertLink(edCanvas, ' + i + ');" value="' + button.display + '" />';
 	}
 	else {
-		document.write('<input type="button" id="' + button.id + '" accesskey="' + button.access + '" class="ed_button" onclick="edInsertTag(edCanvas, ' + i + ');" value="' + button.display + '"  />');
+		return '<input type="button" id="' + button.id + '" accesskey="' + button.access + '" class="ed_button" onclick="edInsertTag(edCanvas, ' + i + ');" value="' + button.display + '"  />';
 	}
 }
 
@@ -170,7 +222,7 @@ function edShowLinks() {
 		tempStr += '<option value="' + i + '">' + edLinks[i].display + '</option>';
 	}
 	tempStr += '</select>';
-	document.write(tempStr);
+	return tempStr;
 }
 
 function edAddTag(button) {
@@ -253,14 +305,17 @@ function edSpell(myField) {
 }
 
 function edToolbar() {
-	document.write('<div id="ed_toolbar">');
+	var tb = document.getElementById('ed_toolbar'), html = '';
+
 	for (var i = 0; i < edButtons.length; i++) {
-		edShowButton(edButtons[i], i);
+		html += edShowButton(edButtons[i], i);
 	}
-	document.write('<input type="button" id="ed_spell" class="ed_button" onclick="edSpell(edCanvas);" title="' + quicktagsL10n.dictionaryLookup + '" value="' + quicktagsL10n.lookup + '" />');
-	document.write('<input type="button" id="ed_close" class="ed_button" onclick="edCloseAllTags();" title="' + quicktagsL10n.closeAllOpenTags + '" value="' + quicktagsL10n.closeTags + '" />');
-//	edShowLinks(); // disabled by default
-	document.write('</div>');
+	
+	html += '<input type="button" id="ed_spell" class="ed_button" onclick="edSpell(edCanvas);" title="' + quicktagsL10n.dictionaryLookup + '" value="' + quicktagsL10n.lookup + '" />';
+	html += '<input type="button" id="ed_close" class="ed_button" onclick="edCloseAllTags();" title="' + quicktagsL10n.closeAllOpenTags + '" value="' + quicktagsL10n.closeTags + '" />';
+
+	// html += edShowLinks(); // disabled by default
+	tb.innerHTML = html;
 }
 
 // insertion code
