From e901f948f25db35a2639130a4d95df34dba58db2 Mon Sep 17 00:00:00 2001
From: svncommit <devs@roundcube.net>
Date: Tue, 21 Nov 2006 07:34:28 -0500
Subject: [PATCH] Updated Russian localization

---
 program/js/tiny_mce/tiny_mce_popup.js |  448 +++++++++++++++++++++++++++++---------------------------
 1 files changed, 232 insertions(+), 216 deletions(-)

diff --git a/program/js/tiny_mce/tiny_mce_popup.js b/program/js/tiny_mce/tiny_mce_popup.js
index ff9ef49..c738e4b 100644
--- a/program/js/tiny_mce/tiny_mce_popup.js
+++ b/program/js/tiny_mce/tiny_mce_popup.js
@@ -1,270 +1,286 @@
-
-
 // Some global instances, this will be filled later
 var tinyMCE = null, tinyMCELang = null;
-
 
 function TinyMCE_Popup() {
 };
 
+TinyMCE_Popup.prototype = {
+	findWin : function(w) {
+		var c;
 
-TinyMCE_Popup.prototype.init = function() {
-	var win = window.opener ? window.opener : window.dialogArguments;
-	var inst;
+		// Check parents
+		c = w;
+		while (c && (c = c.parent) != null) {
+			if (typeof(c.tinyMCE) != "undefined")
+				return c;
+		}
 
-	if (!win) {
-		// Try parent
-		win = parent.parent;
+		// Check openers
+		c = w;
+		while (c && (c = c.opener) != null) {
+			if (typeof(c.tinyMCE) != "undefined")
+				return c;
+		}
 
 		// Try top
-		if (typeof(win.tinyMCE) == "undefined")
-			win = top;
-	}
+		if (typeof(top.tinyMCE) != "undefined")
+			return top;
 
-	window.opener = win;
-	this.windowOpener = win;
-	this.onLoadEval = "";
+		return null;
+	},
 
-	// Setup parent references
-	tinyMCE = win.tinyMCE;
-	tinyMCELang = win.tinyMCELang;
+	init : function() {
+		var win = window.opener ? window.opener : window.dialogArguments, c;
+		var inst;
 
-	if (!tinyMCE) {
-		alert("tinyMCE object reference not found from popup.");
-		return;
-	}
+		if (!win)
+			win = this.findWin(window);
 
-	inst = tinyMCE.selectedInstance;
-	this.isWindow = tinyMCE.getWindowArg('mce_inside_iframe', false) == false;
-	this.storeSelection = (tinyMCE.isMSIE && !tinyMCE.isOpera) && !this.isWindow && tinyMCE.getWindowArg('mce_store_selection', true);
-
-	if (this.isWindow)
-		window.focus();
-
-	// Store selection
-	if (this.storeSelection)
-		inst.selectionBookmark = inst.selection.getBookmark(true);
-
-	// Setup dir
-	if (tinyMCELang['lang_dir'])
-		document.dir = tinyMCELang['lang_dir'];
-
-	// Setup title
-	var re = new RegExp('{|\\\$|}', 'g');
-	var title = document.title.replace(re, "");
-	if (typeof tinyMCELang[title] != "undefined") {
-		var divElm = document.createElement("div");
-		divElm.innerHTML = tinyMCELang[title];
-		document.title = divElm.innerHTML;
-
-		if (tinyMCE.setWindowTitle != null)
-			tinyMCE.setWindowTitle(window, divElm.innerHTML);
-	}
-
-	// Output Popup CSS class
-	document.write('<link href="' + tinyMCE.getParam("popups_css") + '" rel="stylesheet" type="text/css">');
-
-	tinyMCE.addEvent(window, "load", this.onLoad);
-};
-
-
-TinyMCE_Popup.prototype.onLoad = function() {
-	var dir, i, elms, body = document.body;
-
-	if (tinyMCE.getWindowArg('mce_replacevariables', true))
-		body.innerHTML = tinyMCE.applyTemplate(body.innerHTML, tinyMCE.windowArgs);
-
-	dir = tinyMCE.selectedInstance.settings['directionality'];
-	if (dir == "rtl" && document.forms && document.forms.length > 0) {
-		elms = document.forms[0].elements;
-		for (i=0; i<elms.length; i++) {
-			if ((elms[i].type == "text" || elms[i].type == "textarea") && elms[i].getAttribute("dir") != "ltr")
-				elms[i].dir = dir;
+		if (!win) {
+			alert("tinyMCE object reference not found from popup.");
+			return;
 		}
-	}
 
-	if (body.style.display == 'none')
-		body.style.display = 'block';
+		window.opener = win;
+		this.windowOpener = win;
+		this.onLoadEval = "";
 
-	// Execute real onload (Opera fix)
-	if (tinyMCEPopup.onLoadEval != "")
-		eval(tinyMCEPopup.onLoadEval);
-};
+		// Setup parent references
+		tinyMCE = win.tinyMCE;
+		tinyMCELang = win.tinyMCELang;
 
+		inst = tinyMCE.selectedInstance;
+		this.isWindow = tinyMCE.getWindowArg('mce_inside_iframe', false) == false;
+		this.storeSelection = (tinyMCE.isRealIE) && !this.isWindow && tinyMCE.getWindowArg('mce_store_selection', true);
 
-TinyMCE_Popup.prototype.executeOnLoad = function(str) {
-	if (tinyMCE.isOpera)
-		this.onLoadEval = str;
-	else
-		eval(str);
-};
+		if (this.isWindow)
+			window.focus();
 
+		// Store selection
+		if (this.storeSelection)
+			inst.selectionBookmark = inst.selection.getBookmark(true);
 
-TinyMCE_Popup.prototype.resizeToInnerSize = function() {
-	// Netscape 7.1 workaround
-	if (this.isWindow && tinyMCE.isNS71) {
-		window.resizeBy(0, 10);
-		return;
-	}
+		// Setup dir
+		if (tinyMCELang['lang_dir'])
+			document.dir = tinyMCELang['lang_dir'];
 
-	if (this.isWindow) {
-		var doc = document;
-		var body = doc.body;
-		var oldMargin, wrapper, iframe, nodes, dx, dy;
+		// Setup title
+		var re = new RegExp('{|\\\$|}', 'g');
+		var title = document.title.replace(re, "");
+		if (typeof tinyMCELang[title] != "undefined") {
+			var divElm = document.createElement("div");
+			divElm.innerHTML = tinyMCELang[title];
+			document.title = divElm.innerHTML;
+
+			if (tinyMCE.setWindowTitle != null)
+				tinyMCE.setWindowTitle(window, divElm.innerHTML);
+		}
+
+		// Output Popup CSS class
+		document.write('<link href="' + tinyMCE.getParam("popups_css") + '" rel="stylesheet" type="text/css">');
+
+		if (tinyMCE.getParam("popups_css_add")) {
+			c = tinyMCE.getParam("popups_css_add");
+
+			// Is relative
+			if (c.indexOf('://') == -1 && c.charAt(0) != '/')
+				c = tinyMCE.documentBasePath + "/" + c;
+
+			document.write('<link href="' + c + '" rel="stylesheet" type="text/css">');
+		}
+
+		tinyMCE.addEvent(window, "load", this.onLoad);
+	},
+
+	onLoad : function() {
+		var dir, i, elms, body = document.body;
+
+		if (tinyMCE.getWindowArg('mce_replacevariables', true))
+			body.innerHTML = tinyMCE.applyTemplate(body.innerHTML, tinyMCE.windowArgs);
+
+		dir = tinyMCE.selectedInstance.settings['directionality'];
+		if (dir == "rtl" && document.forms && document.forms.length > 0) {
+			elms = document.forms[0].elements;
+			for (i=0; i<elms.length; i++) {
+				if ((elms[i].type == "text" || elms[i].type == "textarea") && elms[i].getAttribute("dir") != "ltr")
+					elms[i].dir = dir;
+			}
+		}
 
 		if (body.style.display == 'none')
 			body.style.display = 'block';
 
-		// Remove margin
-		oldMargin = body.style.margin;
-		body.style.margin = '0';
+		// Execute real onload (Opera fix)
+		if (tinyMCEPopup.onLoadEval != "")
+			eval(tinyMCEPopup.onLoadEval);
+	},
 
-		// Create wrapper
-		wrapper = doc.createElement("div");
-		wrapper.id = 'mcBodyWrapper';
-		wrapper.style.display = 'none';
-		wrapper.style.margin = '0';
+	executeOnLoad : function(str) {
+		if (tinyMCE.isOpera)
+			this.onLoadEval = str;
+		else
+			eval(str);
+	},
 
-		// Wrap body elements
-		nodes = doc.body.childNodes;
-		for (var i=nodes.length-1; i>=0; i--) {
-			if (wrapper.hasChildNodes())
-				wrapper.insertBefore(nodes[i].cloneNode(true), wrapper.firstChild);
-			else
-				wrapper.appendChild(nodes[i].cloneNode(true));
-
-			nodes[i].parentNode.removeChild(nodes[i]);
+	resizeToInnerSize : function() {
+		// Netscape 7.1 workaround
+		if (this.isWindow && tinyMCE.isNS71) {
+			window.resizeBy(0, 10);
+			return;
 		}
 
-		// Add wrapper
-		doc.body.appendChild(wrapper);
+		if (this.isWindow) {
+			var doc = document;
+			var body = doc.body;
+			var oldMargin, wrapper, iframe, nodes, dx, dy;
 
-		// Create iframe
-		iframe = document.createElement("iframe");
-		iframe.id = "mcWinIframe";
-		iframe.src = document.location.href.toLowerCase().indexOf('https') == -1 ? "about:blank" : tinyMCE.settings['default_document'];
-		iframe.width = "100%";
-		iframe.height = "100%";
-		iframe.style.margin = '0';
+			if (body.style.display == 'none')
+				body.style.display = 'block';
 
-		// Add iframe
-		doc.body.appendChild(iframe);
+			// Remove margin
+			oldMargin = body.style.margin;
+			body.style.margin = '0';
 
-		// Measure iframe
-		iframe = document.getElementById('mcWinIframe');
-		dx = tinyMCE.getWindowArg('mce_width') - iframe.clientWidth;
-		dy = tinyMCE.getWindowArg('mce_height') - iframe.clientHeight;
+			// Create wrapper
+			wrapper = doc.createElement("div");
+			wrapper.id = 'mcBodyWrapper';
+			wrapper.style.display = 'none';
+			wrapper.style.margin = '0';
 
-		// Resize window
-		// tinyMCE.debug(tinyMCE.getWindowArg('mce_width') + "," + tinyMCE.getWindowArg('mce_height') + " - " + dx + "," + dy);
-		window.resizeBy(dx, dy);
+			// Wrap body elements
+			nodes = doc.body.childNodes;
+			for (var i=nodes.length-1; i>=0; i--) {
+				if (wrapper.hasChildNodes())
+					wrapper.insertBefore(nodes[i].cloneNode(true), wrapper.firstChild);
+				else
+					wrapper.appendChild(nodes[i].cloneNode(true));
 
-		// Hide iframe and show wrapper
-		body.style.margin = oldMargin;
-		iframe.style.display = 'none';
-		wrapper.style.display = 'block';
-	}
-};
+				nodes[i].parentNode.removeChild(nodes[i]);
+			}
 
+			// Add wrapper
+			doc.body.appendChild(wrapper);
 
-TinyMCE_Popup.prototype.resizeToContent = function() {
-	var isMSIE = (navigator.appName == "Microsoft Internet Explorer");
-	var isOpera = (navigator.userAgent.indexOf("Opera") != -1);
+			// Create iframe
+			iframe = document.createElement("iframe");
+			iframe.id = "mcWinIframe";
+			iframe.src = document.location.href.toLowerCase().indexOf('https') == -1 ? "about:blank" : tinyMCE.settings['default_document'];
+			iframe.width = "100%";
+			iframe.height = "100%";
+			iframe.style.margin = '0';
 
-	if (isOpera)
-		return;
+			// Add iframe
+			doc.body.appendChild(iframe);
 
-	if (isMSIE) {
-		try { window.resizeTo(10, 10); } catch (e) {}
+			// Measure iframe
+			iframe = document.getElementById('mcWinIframe');
+			dx = tinyMCE.getWindowArg('mce_width') - iframe.clientWidth;
+			dy = tinyMCE.getWindowArg('mce_height') - iframe.clientHeight;
 
-		var elm = document.body;
-		var width = elm.offsetWidth;
-		var height = elm.offsetHeight;
-		var dx = (elm.scrollWidth - width) + 4;
-		var dy = elm.scrollHeight - height;
+			// Resize window
+			// tinyMCE.debug(tinyMCE.getWindowArg('mce_width') + "," + tinyMCE.getWindowArg('mce_height') + " - " + dx + "," + dy);
+			window.resizeBy(dx, dy);
 
-		try { window.resizeBy(dx, dy); } catch (e) {}
-	} else {
-		window.scrollBy(1000, 1000);
-		if (window.scrollX > 0 || window.scrollY > 0) {
-			window.resizeBy(window.innerWidth * 2, window.innerHeight * 2);
-			window.sizeToContent();
-			window.scrollTo(0, 0);
-			var x = parseInt(screen.width / 2.0) - (window.outerWidth / 2.0);
-			var y = parseInt(screen.height / 2.0) - (window.outerHeight / 2.0);
-			window.moveTo(x, y);
+			// Hide iframe and show wrapper
+			body.style.margin = oldMargin;
+			iframe.style.display = 'none';
+			wrapper.style.display = 'block';
 		}
-	}
-};
+	},
 
+	resizeToContent : function() {
+		var isMSIE = (navigator.appName == "Microsoft Internet Explorer");
+		var isOpera = (navigator.userAgent.indexOf("Opera") != -1);
 
-TinyMCE_Popup.prototype.getWindowArg = function(name, default_value) {
-	return tinyMCE.getWindowArg(name, default_value);
-};
+		if (isOpera)
+			return;
 
+		if (isMSIE) {
+			try { window.resizeTo(10, 10); } catch (e) {}
 
-TinyMCE_Popup.prototype.restoreSelection = function() {
-	if (this.storeSelection) {
+			var elm = document.body;
+			var width = elm.offsetWidth;
+			var height = elm.offsetHeight;
+			var dx = (elm.scrollWidth - width) + 4;
+			var dy = elm.scrollHeight - height;
+
+			try { window.resizeBy(dx, dy); } catch (e) {}
+		} else {
+			window.scrollBy(1000, 1000);
+			if (window.scrollX > 0 || window.scrollY > 0) {
+				window.resizeBy(window.innerWidth * 2, window.innerHeight * 2);
+				window.sizeToContent();
+				window.scrollTo(0, 0);
+				var x = parseInt(screen.width / 2.0) - (window.outerWidth / 2.0);
+				var y = parseInt(screen.height / 2.0) - (window.outerHeight / 2.0);
+				window.moveTo(x, y);
+			}
+		}
+	},
+
+	getWindowArg : function(name, default_value) {
+		return tinyMCE.getWindowArg(name, default_value);
+	},
+
+	restoreSelection : function() {
+		if (this.storeSelection) {
+			var inst = tinyMCE.selectedInstance;
+
+			inst.getWin().focus();
+
+			if (inst.selectionBookmark)
+				inst.selection.moveToBookmark(inst.selectionBookmark);
+		}
+	},
+
+	execCommand : function(command, user_interface, value) {
 		var inst = tinyMCE.selectedInstance;
 
-		inst.getWin().focus();
+		this.restoreSelection();
+		inst.execCommand(command, user_interface, value);
 
-		if (inst.selectionBookmark)
-			inst.selection.moveToBookmark(inst.selectionBookmark);
+		// Store selection
+		if (this.storeSelection)
+			inst.selectionBookmark = inst.selection.getBookmark(true);
+	},
+
+	close : function() {
+		tinyMCE.closeWindow(window);
+	},
+
+	pickColor : function(e, element_id) {
+		tinyMCE.selectedInstance.execCommand('mceColorPicker', true, {
+			element_id : element_id,
+			document : document,
+			window : window,
+			store_selection : false
+		});
+	},
+
+	openBrowser : function(element_id, type, option) {
+		var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback"));
+		var url = document.getElementById(element_id).value;
+
+		tinyMCE.setWindowArg("window", window);
+		tinyMCE.setWindowArg("document", document);
+
+		// Call to external callback
+		if (eval('typeof(tinyMCEPopup.windowOpener.' + cb + ')') == "undefined")
+			alert("Callback function: " + cb + " could not be found.");
+		else
+			eval("tinyMCEPopup.windowOpener." + cb + "(element_id, url, type, window);");
+	},
+
+	importClass : function(c) {
+		window[c] = function() {};
+
+		for (var n in window.opener[c].prototype)
+			window[c].prototype[n] = window.opener[c].prototype[n];
+
+		window[c].constructor = window.opener[c].constructor;
 	}
-};
 
-
-TinyMCE_Popup.prototype.execCommand = function(command, user_interface, value) {
-	var inst = tinyMCE.selectedInstance;
-
-	this.restoreSelection();
-	inst.execCommand(command, user_interface, value);
-
-	// Store selection
-	if (this.storeSelection)
-		inst.selectionBookmark = inst.selection.getBookmark(true);
-};
-
-
-TinyMCE_Popup.prototype.close = function() {
-	tinyMCE.closeWindow(window);
-};
-
-
-TinyMCE_Popup.prototype.pickColor = function(e, element_id) {
-	tinyMCE.selectedInstance.execCommand('mceColorPicker', true, {
-		element_id : element_id,
-		document : document,
-		window : window,
-		store_selection : false
-	});
-};
-
-
-TinyMCE_Popup.prototype.openBrowser = function(element_id, type, option) {
-	var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback"));
-	var url = document.getElementById(element_id).value;
-
-	tinyMCE.setWindowArg("window", window);
-	tinyMCE.setWindowArg("document", document);
-
-	// Call to external callback
-	if (eval('typeof(tinyMCEPopup.windowOpener.' + cb + ')') == "undefined")
-		alert("Callback function: " + cb + " could not be found.");
-	else
-		eval("tinyMCEPopup.windowOpener." + cb + "(element_id, url, type, window);");
-};
-
-
-TinyMCE_Popup.prototype.importClass = function(c) {
-	window[c] = function() {};
-
-	for (var n in window.opener[c].prototype)
-		window[c].prototype[n] = window.opener[c].prototype[n];
-
-	window[c].constructor = window.opener[c].constructor;
-};
+	};
 
 // Setup global instance
 var tinyMCEPopup = new TinyMCE_Popup();

--
Gitblit v1.9.1