Wrong include file path in /includes/ui/items_cart.inc changed /inventory/includes...
[fa-stable.git] / js / inserts.js
index 18c016b8f103d4aeaba245e62baae0413f3dbb0a..9d00636dff27cba9b04be6c8d5f6f92763a7ce97 100644 (file)
@@ -2,7 +2,7 @@
  Behaviour definitions
 */
 var inserts = {
-  '.amount': function(element) {
+    '.amount': function(element) {
                if(element.onblur==undefined) {
                  var dec = element.getAttribute("dec");
                  element.onblur = function() {
@@ -13,19 +13,38 @@ var inserts = {
        'select': function(element) {
                if(element.onfocus==undefined) {
                        element.onfocus = function() {
-                               document.getElementById('_focus').value = element.name;
+                               document.getElementsByName('_focus')[0].value = element.name;
                        };
+                       element.onkeydown = function(event) { 
+                         if (event.keyCode==32) {
+                          if(this.init_size==undefined)
+                               this.init_size = this.size;
+                         if(this.init_size<=1) {
+                          if(this.size>1) {
+                               this.size = 1;
+                          } else{
+                               var sel = this.selectedIndex;
+                               this.size = this.options.length;
+                               if(this.size>10) this.size = 10;
+                               this.selectedIndex = sel;
+                          }
+                         }
+                        }
+                       }
+                       element.onblur = function(event) { 
+                           if(this.init_size<=1)
+                               this.size = 1;
+                       }
                }
        },
-       'input': function(element) {
-               if(element.onfocus==undefined) {
+       'input': function(element) { // we do not want to change focus on submit
+               if(element.type!='submit' && element.onfocus==undefined) {
                        element.onfocus = function() {
-                               document.getElementById('_focus').value = element.name;
+                               document.getElementsByName('_focus')[0].value = element.name;
                        };
                }
-       
        },
-       // combo: text input and related selector in next <TD> cell
+       // combo: text input and related selector
        'input.combo': function(element) {
          if(element.onkeydown==undefined) {
                  element.onkeydown=function(event) { 
@@ -36,54 +55,60 @@ var inserts = {
                        var len = select.length;
                        var ac = this.value;
                        var txt;
-                       var i = 'dupa';
                        select.options[select.selectedIndex].selected = false;
                        for (i = 0; i < len; i++) {
 //                       txt = select.options[i].text;
                          txt = select.options[i].value;
-                         if (txt.indexOf(ac) == 0) {
+                         if (txt.indexOf(ac) >= 0) {
                                select.options[i].selected = true;
                                break;
                          }
                        }
                  };
-                 if(element.onblur==undefined) {  // onblur can be set to submit(); here
-                       element.onblur = function() {
+                 element.onblur = function() {
+                         var button = document.getElementsByName(this.name+'_button')[0];
                          var select = document.getElementsByName(this.getAttribute('rel'))[0];
+//                       var val = select.options[select.selectedIndex].text;
+                         var val = select.options[select.selectedIndex].value; TODO
                          if (this.value != "")
-                               this.value = select.options[select.selectedIndex].value;
-//                                     myForm.$next_name.focus();
+                                 this.value = val;
                          return true;
-                       };
-                 }
+                 };
                }
        },
        'select.combo': function(element) {
-               if(element.onchange==undefined) { 
-                         element.onchange = function() {
-                         var input = document.getElementsByName(this.getAttribute('rel'))[0];
-                               input.value = this.options[this.selectedIndex].value;
-//                             myForm.$next_name.focus();
+                         element.onblur = function() {
+                               var box = document.getElementsByName(this.getAttribute('rel'))[0];
+                               val = this.options[this.selectedIndex].value;
+                               box.value = val; 
+                               this.size = 1;
                                return true;
-                         };
-               }
+                        }
+       },
+       'input.combo_submit': function(element) {
+           // this hides search button for js enabled browsers
+           element.style.display = 'none';
        }
-
 };
 
 Behaviour.register(inserts);
 
-function setFocus(name, form) {
-  if(form==null)
-       input = document.getElementById(name).focus();
+function setFocus(name, byId) {
+  if(byId)
+       input = document.getElementById(name);
   else
-       input = document.forms[form].getElementsByName(name)[0].focus();
+       input = document.getElementsByName(name)[0];
+  if(input.focus)
+       input.focus();
 }
 
-//Behaviour.addLoadEvent(function() {
-//if(window.StartFocus) {
-//  setFocus(StartFocus.name, StartFocus.form);
-//}
-//}
-//);
+
+Behaviour.addLoadEvent(function() {
+    var inp = document.getElementsByName('_focus')[0];
+if(inp!=null) {
+  setFocus(inp.value, 0);
+} else {
+}
+}
+);