diff --git a/wp-admin/js/editor.dev.js b/wp-admin/js/editor.dev.js
index 362ea604fc..d1dbb8c711 100644
--- a/wp-admin/js/editor.dev.js
+++ b/wp-admin/js/editor.dev.js
@@ -1,9 +1,27 @@
var switchEditors = {
- go: function(a) {
- var t = this, aid = a.id, l = aid.length, id = aid.substr(0, l - 5), mode = aid.substr(l - 4),
- ed = tinyMCE.get(id), wrap_id = 'wp-'+id+'-wrap', dom = tinymce.DOM, txtarea_el = dom.get(id);
+ switchto: function(el) {
+ var aid = el.id, l = aid.length, id = aid.substr(0, l - 5), mode = aid.substr(l - 4);
+
+ this.go(id, mode);
+ },
+
+ go: function(id, mode) { // mode can be 'html', 'tmce', or 'toggle'
+ id = id || 'content';
+ mode = mode || 'toggle';
+
+ var t = this, ed = tinyMCE.get(id), wrap_id, txtarea_el, dom = tinymce.DOM;
+
+ wrap_id = 'wp-'+id+'-wrap';
+ txtarea_el = dom.get(id);
+
+ if ( 'toggle' == mode ) {
+ if ( ed && !ed.isHidden() )
+ mode = 'html';
+ else
+ mode = 'tmce';
+ }
if ( 'tmce' == mode ) {
if ( ed && ! ed.isHidden() )
diff --git a/wp-admin/js/editor.js b/wp-admin/js/editor.js
index 835b7bf53a..e017c28c98 100644
--- a/wp-admin/js/editor.js
+++ b/wp-admin/js/editor.js
@@ -1 +1 @@
-var switchEditors={go:function(j){var k=this,d=j.id,e=d.length,b=d.substr(0,e-5),g=d.substr(e-4),h=tinyMCE.get(b),i="wp-"+b+"-wrap",f=tinymce.DOM,c=f.get(b);if("tmce"==g){if(h&&!h.isHidden()){return false}if(typeof(QTags)!="undefined"){QTags.closeAllTags(b)}if(tinyMCEPreInit.mceInit[b]&&tinyMCEPreInit.mceInit[b].wpautop){c.value=k.wpautop(c.value)}if(h){h.show()}else{h=new tinymce.Editor(b,tinyMCEPreInit.mceInit[b]);h.render()}f.removeClass(i,"html-active");f.addClass(i,"tmce-active");setUserSetting("editor","tinymce")}else{if("html"==g){if(h&&h.isHidden()){return false}if(h){c.style.height=h.getContentAreaContainer().offsetHeight+20+"px";h.hide()}f.removeClass(i,"tmce-active");f.addClass(i,"html-active");setUserSetting("editor","html")}}return false},_wp_Nop:function(b){var c,a;if(b.indexOf("
]*>[\s\S]+?<\/\1>/g,function(d){d=d.replace(/
(\r\n|\n)?/g,"");return d.replace(/<\/?p( [^>]*)?>(\r\n|\n)?/g,"")})}c="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|div|h[1-6]|p|fieldset";b=b.replace(new RegExp("\\s*("+c+")>\\s*","g"),"$1>\n");b=b.replace(new RegExp("\\s*<((?:"+c+")(?: [^>]*)?)>","g"),"\n<$1>");b=b.replace(/(]+>.*?)<\/p>/g,"$1
");b=b.replace(/]*)?>\s*
/gi,"
\n\n");b=b.replace(/\s*
/gi,"");b=b.replace(/\s*<\/p>\s*/gi,"\n\n");b=b.replace(/\n[\s\u00a0]+\n/g,"\n\n");b=b.replace(/\s*
\s*/gi,"\n");b=b.replace(/\s*
\s*/g,"
\n");b=b.replace(/\s*\[caption([^\[]+)\[\/caption\]\s*/gi,"\n\n[caption$1[/caption]\n\n");b=b.replace(/caption\]\n\n+\[caption/g,"caption]\n\n[caption");a="blockquote|ul|ol|li|table|thead|tbody|tfoot|tr|th|td|h[1-6]|pre|fieldset";b=b.replace(new RegExp("\\s*<((?:"+a+")(?: [^>]*)?)\\s*>","g"),"\n<$1>");b=b.replace(new RegExp("\\s*("+a+")>\\s*","g"),"$1>\n");b=b.replace(/
]*)>/g,"\t");if(b.indexOf("
]*)?>\s*/g,"\n\n
\n\n")}if(b.indexOf("