From f85946fb2f1f762242beb8469a4cf0e21c2fadcc Mon Sep 17 00:00:00 2001
From: Lari Taskula <larit@student.uef.fi>
Date: Fri, 25 Sep 2015 14:06:40 +0000
Subject: [PATCH] Bug 14880: Keyboard shortcuts don't work after setting
 CircAutocompl to "Don't try"

The issue is that CircAutocompl loads a script element under #header_search
element. When this element is missing, it also messes up the indexing,
because we were calculating the indexing of the found element by subtracting
one from the found element's index (to eliminate the <script> element).

Thats why the shortcut key problem in this bug takes you one too to the left,
because we are still subtracting one from the index even though there is no
<script> element anymore.

This patches selects only the div elements and gets the index from them.
No subtractions needed.

To test keys:
1. Set CircAutocompl system preference to Don't try.
2. Try the shortcut keys. They will work incorrectly like this:
   Alt+U = Search catalogue
   Alt+R = Check out
   Alt+Q = Check in
3. Set CircAutocompl system preference to Try.
4. Try the shortcut keys. They will work correctly like this:
   Alt+U = Check out
   Alt+R = Check in
   ALt+Q = Search catalogue
5. Apply patch
6. Repeat step 1 and 4.
7. Repeat step 3 and 4.
8. Observe that regardless of CircAutocompl, shortcut keys worked correctly.
---
 koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js b/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js
index c553a6d..12f0a3a 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js
+++ b/koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js
@@ -18,7 +18,7 @@ function formatstr(str, col) {
 
 // http://stackoverflow.com/questions/14859281/select-tab-by-name-in-jquery-ui-1-10-0/16550804#16550804
 $.fn.tabIndex = function () {
-    return $(this).parent().find(this).index() - 1;
+    return $(this).parent().children('div').index(this);
 };
 $.fn.selectTabByID = function (tabID) {
     $(this).tabs("option", "active", $(tabID).tabIndex());
-- 
1.9.1