alecpl
2009-12-15 58fb6502e3550e59afa8799d36dfce61a18f8b1b
program/js/tiny_mce/plugins/paste/js/pasteword.js
@@ -1,56 +1,51 @@
tinyMCEPopup.requireLangPack();
function saveContent() {
   var html = document.getElementById("frmData").contentWindow.document.body.innerHTML;
var PasteWordDialog = {
   init : function() {
      var ed = tinyMCEPopup.editor, el = document.getElementById('iframecontainer'), ifr, doc, css, cssHTML = '';
   if (html == ''){
      // Create iframe
      el.innerHTML = '<iframe id="iframe" src="javascript:\'\';" frameBorder="0" style="border: 1px solid gray"></iframe>';
      ifr = document.getElementById('iframe');
      doc = ifr.contentWindow.document;
      // Force absolute CSS urls
      css = [ed.baseURI.toAbsolute("themes/" + ed.settings.theme + "/skins/" + ed.settings.skin + "/content.css")];
      css = css.concat(tinymce.explode(ed.settings.content_css) || []);
      tinymce.each(css, function(u) {
         cssHTML += '<link href="' + ed.documentBaseURI.toAbsolute('' + u) + '" rel="stylesheet" type="text/css" />';
      });
      // Write content into iframe
      doc.open();
      doc.write('<html><head>' + cssHTML + '</head><body class="mceContentBody" spellcheck="false"></body></html>');
      doc.close();
      doc.designMode = 'on';
      this.resize();
      window.setTimeout(function() {
         ifr.contentWindow.focus();
      }, 10);
   },
   insert : function() {
      var h = document.getElementById('iframe').contentWindow.document.body.innerHTML;
      tinyMCEPopup.editor.execCommand('mceInsertClipboardContent', false, {content : h, wordContent : true});
      tinyMCEPopup.close();
      return false;
   },
   resize : function() {
      var vp = tinyMCEPopup.dom.getViewPort(window), el;
      el = document.getElementById('iframe');
      if (el) {
         el.style.width  = (vp.w - 20) + 'px';
         el.style.height = (vp.h - 90) + 'px';
      }
   }
};
   tinyMCEPopup.execCommand('mcePasteWord', false, html);
   tinyMCEPopup.close();
}
function onLoadInit() {
   tinyMCEPopup.resizeToInnerSize();
   // Fix for endless reloading in FF
   window.setTimeout(createIFrame, 10);
}
function createIFrame() {
   document.getElementById('iframecontainer').innerHTML = '<iframe id="frmData" name="frmData" class="sourceIframe" src="blank.htm" height="280" width="400" frameborder="0" style="background-color:#FFFFFF; width:100%;" dir="ltr" wrap="soft"></iframe>';
}
var wHeight=0, wWidth=0, owHeight=0, owWidth=0;
function initIframe(doc) {
   var dir = tinyMCEPopup.editor.settings.directionality;
   doc.body.dir = dir;
   // Remove Gecko spellchecking
   if (tinymce.isGecko)
      doc.body.spellcheck = tinyMCEPopup.getParam("gecko_spellcheck");
   resizeInputs();
}
function resizeInputs() {
   if (!tinymce.isIE) {
      wHeight = self.innerHeight - 80;
      wWidth = self.innerWidth - 18;
   } else {
      wHeight = document.body.clientHeight - 80;
      wWidth = document.body.clientWidth - 18;
   }
   var elm = document.getElementById('frmData');
   if (elm) {
      elm.style.height = Math.abs(wHeight) + 'px';
      elm.style.width  = Math.abs(wWidth) + 'px';
   }
}
tinyMCEPopup.onInit.add(onLoadInit);
tinyMCEPopup.onInit.add(PasteWordDialog.init, PasteWordDialog);