Fixed top placement of popup window on FF2
[fa-stable.git] / js / inserts.js
index 489a4b42ff08dbd0d9ffe9ee64277d2ccb41328f..4cfee260b3f83be96fb4e0e500c2441c8ac072e6 100644 (file)
@@ -140,14 +140,17 @@ function _set_combo_select(e) {
                }
 }              
 
+var _w;
+
 function callEditor(key) {
   var el = document.getElementsByName(editors[key][1])[0]; 
-  w = open(editors[key][0]+el.value+'&popup=1',
+  if(_w) _w.close(); // this is really necessary to have window on top in FF2 :/
+  _w = open(editors[key][0]+el.value+'&popup=1',
          "edit","Scrollbars=0,resizable=0,width=800,height=600");
-  if (w.opener == null)
-         w.opener = self;
+  if (_w.opener == null)
+         _w.opener = self;
   editors._call = key; // store call point for passBack 
-  w.focus();
+  _w.focus();
 }
 
 function passBack(value) {
@@ -271,17 +274,6 @@ var inserts = {
                        _set_combo_select(e);
                }
        },
-       'textarea,a': function(e) {
-               if(e.onfocus==undefined) {
-                       e.onfocus = function() {
-                           save_focus(this);
-                       };
-                       e.onmouseover = function(e) {
-                       setFocus(this);
-                               return false;
-                       }
-               }
-       },
        'a.printlink':  function(l) {
                l.onclick = function() {
                    save_focus(this);
@@ -393,7 +385,7 @@ function setHotKeys() {
                                for (var i=0; i<form.elements.length; i++){
                                        var el = form.elements[i];
                                        var asp = el.getAttribute('aspect');
-                                       if ((asp=='selector') && (key==13 || key==27)) {
+                                       if (el.className!='editbutton' && asp=='selector' && (key==13 || key==27)) {
                                                passBack(key==13 ? el.getAttribute('rel') : false);
                                                ev.returnValue = false;
                                                return false;