- f = DOM.getParent(ed.id, 'form');\r
- el = f.elements;\r
-\r
- if (f) {\r
- each(el, function(e, i) {\r
- if (e.id == ed.id) {\r
- x = i;\r
- return false;\r
- }\r
- });\r
-\r
- if (d > 0) {\r
- for (i = x + 1; i < el.length; i++) {\r
- if (el[i].type != 'hidden')\r
- return el[i];\r
- }\r
- } else {\r
- for (i = x - 1; i >= 0; i--) {\r
- if (el[i].type != 'hidden')\r
- return el[i];\r
- }\r
+ el = DOM.select(':input:enabled,*[tabindex]');\r
+ function canSelect(e) {\r
+ return e.type != 'hidden' && \r
+ e.tabIndex != '-1' && \r
+ !(el[i].style.display == "none") && \r
+ !(el[i].style.visibility == "hidden");\r
+ }\r
+\r
+ each(el, function(e, i) {\r
+ if (e.id == ed.id) {\r
+ x = i;\r
+ return false;\r
+ }\r
+ });\r
+\r
+ if (d > 0) {\r
+ for (i = x + 1; i < el.length; i++) {\r
+ if (canSelect(el[i]))\r
+ return el[i];\r
+ }\r
+ } else {\r
+ for (i = x - 1; i >= 0; i--) {\r
+ if (canSelect(el[i]))\r
+ return el[i];\r