// htmlArea v3.0 - Copyright (c) 2002, 2003 interactivetools.com, inc. // This copyright notice MUST stay intact for use (see license.txt). // // Portions (c) dynarch.com, 2003 // // A free WYSIWYG editor replacement for fields. // For full source code and docs, visit http://www.interactivetools.com/ // // Version 3.0 developed by Mihai Bazon. // http://dynarch.com/mishoo // // $Id:popup.js 929 2008-01-09 21:10:59Z ray $ if(typeof Xinha == 'undefined') Xinha = window.opener.Xinha; // Backward compatibility will be removed some time or not? HTMLArea = Xinha; function getAbsolutePos(el) { var r = { x: el.offsetLeft, y: el.offsetTop }; if (el.offsetParent) { var tmp = getAbsolutePos(el.offsetParent); r.x += tmp.x; r.y += tmp.y; } return r; } function comboSelectValue(c, val) { var ops = c.getElementsByTagName("option"); for (var i = ops.length; --i >= 0;) { var op = ops[i]; op.selected = (op.value == val); } c.value = val; } function __dlg_onclose() { opener.Dialog._return(null); } // ray: I mark this on deprecated, because bottom is never used function __dlg_init( bottom, win_dim ) { __xinha_dlg_init(win_dim); } function __xinha_dlg_init( win_dim ) { if(window.__dlg_init_done) return true; if(window.opener._editor_skin) { var head = document.getElementsByTagName("head")[0]; var link = document.createElement("link"); link.type = "text/css"; link.href = window.opener._editor_url + 'skins/' + window.opener._editor_skin + '/skin.css'; link.rel = "stylesheet"; head.appendChild(link); } if (!window.dialogArguments && opener.Dialog._arguments) { window.dialogArguments = opener.Dialog._arguments; } var page = Xinha.pageSize(window); if ( !win_dim ) { win_dim = {width:page.x, height: page.y}; } window.resizeTo(win_dim.width, win_dim.height); var dim = Xinha.viewportSize(window); window.resizeBy(0, page.y - dim.y); if(win_dim.top && win_dim.left) { window.moveTo(win_dim.left,win_dim.top); } else { if (!Xinha.is_ie) { var x = opener.screenX + (opener.outerWidth - win_dim.width) / 2; var y = opener.screenY + (opener.outerHeight - win_dim.height) / 2; } else {//IE does not have window.outer... , so center it on the screen at least var x = (self.screen.availWidth - win_dim.width) / 2; var y = (self.screen.availHeight - win_dim.height) / 2; } window.moveTo(x,y); } Xinha.addDom0Event(document.body, 'keypress', __dlg_close_on_esc); window.__dlg_init_done = true; } function __dlg_translate(context) { var types = ["input", "select", "legend", "span", "option", "td", "th", "button", "div", "label", "a", "img"]; for (var type = 0; type < types.length; ++type) { var spans = document.getElementsByTagName(types[type]); for (var i = spans.length; --i >= 0;) { var span = spans[i]; if (span.firstChild && span.firstChild.data) { var txt = Xinha._lc(span.firstChild.data, context); if (txt) { span.firstChild.data = txt; } } if (span.title) { var txt = Xinha._lc(span.title, context); if (txt) { span.title = txt; } } if (span.tagName.toLowerCase() == 'input' && (/^(button|submit|reset)$/i.test(span.type))) { var txt = Xinha._lc(span.value, context); if (txt) { span.value = txt; } } } } document.title = Xinha._lc(document.title, context); } // closes the dialog and passes the return info upper. function __dlg_close(val) { opener.Dialog._return(val); window.close(); } function __dlg_close_on_esc(ev) { ev || (ev = window.event); if (ev.keyCode == 27) { __dlg_close(null); return false; } return true; }