Fixed print link selection and default focus on list selectors.
[fa-stable.git] / js / inserts.js
index 0c0067fdfcd2486315717f544c6fc09f500656e1..8e18e5c38afb3312585165982910e3adb2e9c242 100644 (file)
@@ -170,6 +170,7 @@ var inserts = {
                        ev = ev||window.event;
                        key = ev.keyCode||ev.which;
                        if((ev.ctrlKey && key == 13) || key == 27) {
+                               _hotkeys.alt = false;
                                ev.cancelBubble = true;
                        if(ev.stopPropagation) ev.stopPropagation();
 // here ctrl-enter/escape support
@@ -317,17 +318,15 @@ function setHotKeys() {
        document.onkeydown = function(ev) {
                ev = ev||window.event;
                key = ev.keyCode||ev.which;
-               if (key == 18 && !ev.ctrlKey) { // start selection, skip Win AltGr
-                       _hotkeys.alt = true;
-                       _hotkeys.focus = -1;
-                       return stopEv(ev);
-               } else
-               if (key == 27) { // cancel selection
+
+               if (key == 27 && ev.altKey) { // cancel selection
                        _hotkeys.alt = false;
                        _hotkeys.focus = -1;
                        return stopEv(ev);
                } 
-               else if (_hotkeys.alt && ((key>47 && key<58) || (key>64 && key<91))) {
+               else 
+               if (ev.altKey && !ev.ctrlKey && ((key>47 && key<58) || (key>64 && key<91))) {
+                       _hotkeys.alt = true;
                        var n = _hotkeys.focus;
                        var l = document.links;
                        var cnt = l.length;
@@ -356,14 +355,17 @@ function setHotKeys() {
                                _hotkeys.alt = false;
                                if (_hotkeys.focus>=0) {
                                        var link = document.links[_hotkeys.focus];
-                                       if (link.target=='_blank') {
-//                                             window.open(link.href,'','toolbar=no,scrollbar=no,resizable=yes,menubar=no,width=900,height=500');
-                                               openWindow(link.href,'_blank');
-                                       } else
-                                               window.location = link.href;
+                                       if(link.onclick) 
+                                               link.onclick();
+                                       else
+                                               if (link.target=='_blank') {
+                                                       window.open(link.href,'','toolbar=no,scrollbar=no,resizable=yes,menubar=no,width=900,height=500');
+                                                       openWindow(link.href,'_blank');
+                                               } else
+                                                       window.location = link.href;
                                }
-                       } 
                        return stopEv(ev);
+                       } 
                }
                return true;
        }