/*! ACE Editor for WP - v0.7.1 - 2012-12-14 * Copyright (c) 2012 Dax Ponce de Leon */ jQuery(document).ready(function(e){e("#content").AceEditor({setEditorContent:function(){var e=getUserSetting("editor")=="tinymce"&&window.tinyMCE?tinyMCE.get(this.element).getContent():this.$elem.val();this.editor.getSession().setValue(e)},onInit:function(){var t=this;this.tinymce||e('Text').prependTo("#wp-content-editor-tools"),e('ACE').prependTo("#wp-content-editor-tools").on("click.toggleAce",function(){t.loaded||t.load()}),e("#content-html, #content-tmce").on("click.destroyAce",function(n){var r=e(n.currentTarget).attr("id").split("-")[1];switch(r){case"tmce":e("#content_parent").show();break;case"html":t.$elem.show()}t.destroy(n)}),getUserSetting("ace_editor")==1&&this.load()},onLoaded:function(){setUserSetting("editor","html"),setUserSetting("ace_editor",1),e("#wp-content-media-buttons, #content_parent").hide(),e("#wp-content-wrap").removeClass("html-active tmce-active").addClass("ace-active")},onDestroy:function(t){var n=e(t.currentTarget).attr("id").split("-")[1],r;setUserSetting("ace_editor",0),setUserSetting("editor",n),e("#wp-content-media-buttons").show(),e("#wp-content-wrap").addClass(n+"-active").removeClass("ace-active");switch(n){case"tmce":this.$elem.hide(),r=setInterval(function(){e("#content_parent").show(),e("#content_parent").length>0&&clearInterval(r)},100);break;case"html":this.$elem.css({height:"",minHeight:"200px"})}}})}),function(e){var t=t||{},n=function(t){e.extend(this,t),this.$elem=this.element,this.element=this.$elem.attr("id"),this.$container=this.container?e(this.container):this.$elem.parent(),this.contWd=this.$container.width(),this.loaded=!1,this.tinymce=!!window.tinymce,this.onInit&&this.onInit.call(this)};n.prototype={load:function(){if(this.loaded)return!1;var t=this;this.$elem.hide(),this.insertEditor(),this.editor=ace.edit(this.aceId),this.$editor=e("#"+this.aceId),this.setEditorProps(),this.setEditorContent(),this.containerResizable(),this.editor.on("change",function(){t.synchronize.apply(t)}),this.editor.resize(!0),this.loaded=!0,this.onLoaded&&this.onLoaded.call(this)},insertEditor:function(){e('
').css({left:0,top:0,bottom:0,right:0,zIndex:1}).insertAfter(this.$elem)},setEditorProps:function(){this.editor.setTheme("ace/theme/"+this.theme),this.editor.getSession().setMode("ace/mode/html"),this.editor.getSession().setUseWrapMode(!0),this.editor.getSession().setWrapLimitRange()},setEditorContent:function(){this.editor.getSession().setValue(this.$elem.val())},containerResizable:function(){var e=this;this.$container.resizable({handles:"s"}).css({position:"relative",height:this.defaultHt,minHeight:"200px"}).on("resize.aceEditorResize",function(){e.editor.resize(!0)})},synchronize:function(){var e=this.editor.getValue();this.$elem.val(e),this.tinymce&&tinyMCE.get(this.element)&&tinyMCE.get(this.element).setContent(e)},destroy:function(){if(!this.loaded)return!1;this.$editor.remove(),this.editor.destroy(),this.$container.resizable("destroy").off("resize.aceEditorResize").css({height:""}),this.$elem.show(),this.loaded=!1,this.onDestroy&&this.onDestroy.apply(this,arguments)}},e.fn.AceEditor=function(t,r){var t=t||null,i=e(this).data("AceEditor");if(i&&typeof t=="string"&&i[t])i[t](r||null);else{if(!i)return this.each(function(){var r=e.extend({element:e(this),aceId:"ace-editor",theme:"textmate",defaultHt:"400px",container:!1},t);e(this).data("AceEditor",new n(r))});e.error('Method "'+t+'" does not exist on AceEditor!')}}}(jQuery);