Additional Chrome related fix in hotkeys support.
[fa-stable.git] / js / inserts.js
index a4181a1b5ac42ba19df74e1a58a940ab269cc9eb..3448c86949691da79ffa36722467b7e72b8caadc 100644 (file)
@@ -228,11 +228,32 @@ function fix_date(date, last)
                day = dat[0]; month = dat[1]; year = dat[2];
        } else {
                day = dat[2]; month = dat[1]; year = dat[0];
-       }       
-       if (cur[0] != undefined && cur[0] != "") // day entered
-               day = cur[0];
-       if (cur[1] != undefined && cur[1] != "") // month entered
-               month = cur[1];
+       }
+       if (cur[1] != undefined && cur[1] != "") // day or month entered, could be string 3
+       { 
+               if (user.datefmt == 0 || user.datefmt == 3 || ((user.datefmt == 2 || user.datefmt == 5) && (cur[2] == undefined || cur[2] == "")))
+                       day = cur[1];
+               else    
+                       month = cur[1];
+       }               
+       if (cur[0] != undefined && cur[0] != "") // day or month entered. could be string 3
+       {
+               if (cur[1] == undefined || cur[1] == "")
+                       day = cur[0];
+               else if (user.datefmt == 0 || user.datefmt == 3 || ((user.datefmt == 2 || user.datefmt == 5) && (cur[2] == undefined || cur[2] == "")))
+                       month = cur[0];
+               else if (user.datefmt == 2 || user.datefmt == 5)
+                       year = cur[0];
+               else    
+                       day = cur[0];
+       }
+       if (cur[2] != undefined && cur[2] != "") // year,
+       {
+               if (user.datefmt == 2 || user.datefmt == 5)
+                       day = cur[2];
+               else
+                       year = cur[2];
+       }               
        if (user.datefmt<3) {
                if (day<10) day = '0'+parseInt(day, 10);
                if (month<10) month = '0'+parseInt(month, 10);
@@ -433,7 +454,9 @@ var inserts = {
                                        ev.returnValue = false;
                                        return false;
                                }
-                               window.location = e.href;
+                               if (_hotkeys.alt)       // ommit Chrome accesskeys 
+                                       return false;
+                               window.location = e.href;
                        }
        },
        'ul.ajaxtabs':  function(ul) {
@@ -444,7 +467,8 @@ var inserts = {
 // ?  var modifiedurl=ulistlink.getAttribute("href").replace(/^http:\/\/[^\/]+\//i, "http://"+window.location.hostname+"/")
                    var url = tab.form.action
                    tab.onclick=function(){
-                       _expand(this);
+                   if (!_hotkeys.alt && !tab.disabled)
+                               _expand(this);
                        return false;
                    }
                }
@@ -517,7 +541,7 @@ function setHotKeys() {
                        for (var i=0; i<cnt; i++) { 
                                n = (n+1)%cnt;
                                // check also if the link is visible
-                               if (l[n].accessKey==key && l[n].scrollWidth) {
+                               if (l[n].accessKey==key && (l[n].offsetWidth || l[n].offsetHeight)) {
                                        _hotkeys.focus = n;
            // The timeout is needed to prevent unpredictable behaviour on IE.
                                        var tmp = function() {l[_hotkeys.focus].focus();};