alecpl
2011-11-15 2eeb128d06ad37dea9bd1765784fb53e47ef527c
program/js/tiny_mce/plugins/xhtmlxtras/js/element_common.js
@@ -1,8 +1,11 @@
 /**
 * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
/**
 * element_common.js
 *
 * @author Moxiecode - based on work by Andrew Tetlaw
 * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved.
 * Copyright 2009, Moxiecode Systems AB
 * Released under LGPL License.
 *
 * License: http://tinymce.moxiecode.com/license
 * Contributing: http://tinymce.moxiecode.com/contributing
 */
tinyMCEPopup.requireLangPack();
@@ -151,28 +154,24 @@
SXE.insertElement = function(element_name) {
   var elm = SXE.inst.dom.getParent(SXE.focusElement, element_name.toUpperCase()), h, tagName;
   tinyMCEPopup.execCommand('mceBeginUndoLevel');
   if (elm == null) {
      var s = SXE.inst.selection.getContent();
      if(s.length > 0) {
         tagName = element_name;
         if (tinymce.isIE && element_name.indexOf('html:') == 0)
            element_name = element_name.substring(5).toLowerCase();
         h = '<' + tagName + ' id="#sxe_temp_' + element_name + '#">' + s + '</' + tagName + '>';
         tinyMCEPopup.execCommand('mceInsertContent', false, h);
         var elementArray = tinymce.grep(SXE.inst.dom.select(element_name), function(n) {return n.id == '#sxe_temp_' + element_name + '#';});
         insertInlineElement(element_name);
         var elementArray = tinymce.grep(SXE.inst.dom.select(element_name));
         for (var i=0; i<elementArray.length; i++) {
            var elm = elementArray[i];
            elm.id = '';
            elm.setAttribute('id', '');
            elm.removeAttribute('id');
            if (SXE.inst.dom.getAttrib(elm, 'data-mce-new')) {
               elm.id = '';
               elm.setAttribute('id', '');
               elm.removeAttribute('id');
               elm.removeAttribute('data-mce-new');
            setAllCommonAttribs(elm);
               setAllCommonAttribs(elm);
            }
         }
      }
   } else {
@@ -186,7 +185,6 @@
   element_name = element_name.toLowerCase();
   elm = SXE.inst.dom.getParent(SXE.focusElement, element_name.toUpperCase());
   if(elm && elm.nodeName.toUpperCase() == element_name.toUpperCase()){
      tinyMCEPopup.execCommand('mceBeginUndoLevel');
      tinyMCE.execCommand('mceRemoveNode', false, elm);
      SXE.inst.nodeChanged();
      tinyMCEPopup.execCommand('mceEndUndoLevel');
@@ -194,7 +192,7 @@
}
SXE.showRemoveButton = function() {
      document.getElementById("remove").style.display = 'block';
      document.getElementById("remove").style.display = '';
}
SXE.containsClass = function(elm,cl) {
@@ -218,4 +216,14 @@
SXE.addClass = function(elm,cl) {
   if(!SXE.containsClass(elm,cl)) elm.className ? elm.className += " " + cl : elm.className = cl;
   return true;
}
}
function insertInlineElement(en) {
   var ed = tinyMCEPopup.editor, dom = ed.dom;
   ed.getDoc().execCommand('FontName', false, 'mceinline');
   tinymce.each(dom.select('span,font'), function(n) {
      if (n.style.fontFamily == 'mceinline' || n.face == 'mceinline')
         dom.replace(dom.create(en, {'data-mce-new' : 1}), n, 1);
   });
}