From 29da6414db77512106250b9832a0b4a0168bd7eb Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Mon, 27 Apr 2009 03:36:26 -0400
Subject: [PATCH] - Updated TinyMCE to 3.2.3 version

---
 program/js/tiny_mce/plugins/paste/js/pasteword.js |   95 ++++++++++++++++++++++-------------------------
 1 files changed, 45 insertions(+), 50 deletions(-)

diff --git a/program/js/tiny_mce/plugins/paste/js/pasteword.js b/program/js/tiny_mce/plugins/paste/js/pasteword.js
index 6701b99..fe053a7 100644
--- a/program/js/tiny_mce/plugins/paste/js/pasteword.js
+++ b/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 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, h);
 		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);

--
Gitblit v1.9.1