diff --git a/html/include/fusiondirectory.js b/html/include/fusiondirectory.js
index 09534f53f78d1537f83c60a8a0c3b8c728a34fb4..fa2e300c2f832ef020aa9774210e1ab3c9bf96a7 100644
--- a/html/include/fusiondirectory.js
+++ b/html/include/fusiondirectory.js
@@ -22,8 +22,6 @@
 Event.observe(window, 'resize', resizeHandler);
 Event.observe(window, 'load', resizeHandler);
 Event.observe(window, 'load', initProgressPie);
-Event.observe(window, 'keypress', keyHandler);
-
 
 /* Ask before switching a plugin with this function */
 function question(text, url)
@@ -100,80 +98,6 @@ function acl_toggle_all(regex)
   }
 }
 
-
-/* Global key handler to estimate which element gets the next focus if enter is pressed */
-function keyHandler(DnEvents) {
-  // determines whether Netscape or Internet Explorer
-  k = (Prototype.Browser.Gecko) ? DnEvents.keyCode : window.event.keyCode;
-  if (k == 13) { // enter key pressed
-    if(typeof(nextfield)!='undefined') {
-      if(nextfield == 'login') {
-        return true; // submit, we finished all fields
-      } else { // we are not done yet, send focus to next box
-        eval('document.mainform.' + nextfield + '.focus()');
-        return false;
-      }
-    } else {
-      if(Prototype.Browser.Gecko) {
-        if(DnEvents.target.type == 'textarea') {
-          return true;
-        } else if (DnEvents.target.type != 'submit') {
-          // TAB
-          var thisfield = document.getElementById(DnEvents.target.id);
-          for (i = 0; i < document.forms[0].elements.length; i++) {
-            if(document.forms[0].elements[i].id==thisfield.id) {
-              // Last form element on page?
-              if(i!=document.forms[0].elements.length-1) {
-                document.forms[0].elements[i+1].focus();
-              }
-            }
-          }
-          return false;
-        } else {
-          return true;
-        }
-        // Check for konqueror
-      } else if(document.clientWidth) {
-        // do nothing ATM
-      } else {
-        if(window.event.srcElement.type == 'textarea') {
-          return true;
-        } else if (window.event.srcElement.type != 'submit') {
-          // TAB
-          var thisfield = document.getElementById(window.event.srcElement.id);
-          for (i = 0; i < document.forms[0].elements.length; i++) {
-            if(document.forms[0].elements[i].id==thisfield.id) {
-              // Last form element on page?
-              if(i!=document.forms[0].elements.length-1) {
-                document.forms[0].elements[i+1].focus();
-              }
-            }
-          }
-          return false;
-        } else {
-          return true;
-        }
-      }
-    }
-  } else if (k==9) {
-    // Tab key pressed
-    if(Prototype.Browser.Gecko) {
-      if(DnEvents.target.type == 'textarea') {
-        document.getElementById(DnEvents.target.id).value+="\t";
-        return false;
-      }
-      // Check for konqueror
-    } else if(document.clientWidth) {
-      // do nothing ATM
-    } else {
-      if(window.event.srcElement.type == 'textarea') {
-        document.getElementById(window.event.srcElement.id).value+="\t";
-        return false;
-      }
-    }
-  }
-}
-
 function inArray(p_val, array) {
   var l = array.length;
   for (var i = 0; i < l; i++) {
@@ -232,14 +156,6 @@ function changeTripleSelectState_2nd_neg(firstTriggerField, secondTriggerField,
   }
 }
 
-// work together to analyze keystrokes
-if (Prototype.Browser.Gecko){
-  window.onkeypress= keyHandler;
-} else {
-  document.onkeydown= keyHandler;
-}
-
-
 function popup(target, name) {
   var mypopup=
     window.open(
@@ -579,7 +495,7 @@ function setProgressPie(context, percent)
     if (percent > 75) {
         r = "ED"
         g = "15"
-        b = "15"; 
+        b = "15";
     }
 
     context.strokeStyle = "#" + r  + g + b
diff --git a/html/index.php b/html/index.php
index 3847636362f4c34aea7da22cf1215012899c97b0..670368ffe6a5c7633f4e0dd29de3ce9a1a1efd1b 100644
--- a/html/index.php
+++ b/html/index.php
@@ -183,7 +183,7 @@ clean_smarty_compile_dir($smarty->compile_dir);
 
 initLanguage();
 
-$smarty->assign ('nextfield', 'username');
+$smarty->assign ('focusfield', 'username');
 
 if (isset($_POST['server'])) {
   $server = $_POST['server'];
@@ -223,7 +223,7 @@ if (isset($_REQUEST['message'])) {
 
 /* Class with a function for each login step
  * Each function can return a string to display an LDAP error, or FALSE to redirect to login
- * In this case it can set global $message and assign nextfield in smarty before hand */
+ * In this case it can set global $message and assign focusfield in smarty before hand */
 class Index {
   static protected $username;
   static protected $password;
@@ -279,7 +279,7 @@ class Index {
       return FALSE;
     } elseif (mb_strlen(self::$password, 'UTF-8') == 0) {
       $message = _('Please specify your password!');
-      $smarty->assign ('nextfield', 'password');
+      $smarty->assign ('focusfield', 'password');
       return FALSE;
     }
     return TRUE;
@@ -298,7 +298,7 @@ class Index {
         logging::log('security', 'login', '', array(), 'Authentication failed for user "'.self::$username.'"');
       }
       $message = _('Please check the username/password combination.');
-      $smarty->assign ('nextfield', 'password');
+      $smarty->assign ('focusfield', 'password');
       return FALSE;
     }
     return TRUE;
@@ -328,7 +328,7 @@ class Index {
       if ($expired == POSIX_ACCOUNT_EXPIRED) {
         logging::log('security', 'login', '', array(), 'Account for user "'.self::$username.'" has expired');
         $message = _('Account locked. Please contact your system administrator!');
-        $smarty->assign ('nextfield', 'password');
+        $smarty->assign ('focusfield', 'username');
         return FALSE;
       }
     }
diff --git a/ihtml/themes/breezy/login.tpl b/ihtml/themes/breezy/login.tpl
index aadc3769b236cbe211513218fef8d22fc1d88fad..295813b2a26ffcb7e6f9c08173ff4894a9c12ab5 100644
--- a/ihtml/themes/breezy/login.tpl
+++ b/ihtml/themes/breezy/login.tpl
@@ -25,20 +25,22 @@
     </div>
 
     <div>
-      <label for="username"><img class="center" src="{$personal_img|escape}" alt="{t}Username{/t}" title="{t}Username{/t}"/>&nbsp;</label>
-      <input type="text" name="username" id="username" maxlength="40" value="{$username|escape}"
-       title="{t}Username{/t}" onFocus="nextfield= 'password';" />
+      <label for="username">
+        <img class="center" src="{$personal_img|escape}" alt="{t}Username{/t}" title="{t}Username{/t}"/>&nbsp;
+      </label>
+      <input type="text" name="username" id="username" maxlength="40" value="{$username|escape}" title="{t}Username{/t}" />
       <br />
       <br />
-      <label for="password"><img class="center" src="{$password_img|escape}" alt="{t}Password{/t}" title="{t}Password{/t}" />&nbsp;</label>
-      <input type="password" name="password" id="password" maxlength="40" value=""
-         title="{t}Password{/t}" onFocus="nextfield= 'login';" />
+      <label for="password">
+        <img class="center" src="{$password_img|escape}" alt="{t}Password{/t}" title="{t}Password{/t}" />&nbsp;
+      </label>
+      <input type="password" name="password" id="password" maxlength="40" value="" title="{t}Password{/t}"/>
       <br />
       <a href="recovery.php">{t}I forgot my password{/t}</a>
     </div>
     <div>
       <img class="center" src="{$directory_img|escape}" alt="{t}Directory{/t}" title="{t}Directory{/t}" />&nbsp;
-      <select name="server" title="{t}Directory{/t}" onchange="javascript:document.mainform.submit();">
+      <select name="server" title="{t}Directory{/t}" onchange="javascript:document.loginform.submit();">
         {html_options options=$server_options selected=$server_id}
       </select>
     </div>
@@ -58,14 +60,12 @@
   </div>
   <div id="window_footer" class="plugbottom">
     <div>
-    {$message}
+      <!-- Display error message on demand -->
+      {$message}
     </div>
     <div>
-      <!-- Display error message on demand -->
-      <input type="submit" name="login" value="{t}Sign in{/t}"
-       title="{t}Click here to log in{/t}" onFocus="nextfield='login';" />
+      <input type="submit" name="login" value="{t}Sign in{/t}" title="{t}Click here to log in{/t}"/>
       <input type="hidden" name="javascript" value="false" />
-      <input type="hidden" name="login" value="{t}Sign in{/t}" />
     </div>
   </div>
 
@@ -79,8 +79,7 @@
 <script type="text/javascript">
 <!--
   enable_keyPress = false;
-  nextfield= "{$nextfield}";
-  focus_field("{$nextfield}");
+  focus_field("{$focusfield}");
   next_msg_dialog();
 -->
 </script>
diff --git a/ihtml/themes/breezy/recovery.tpl b/ihtml/themes/breezy/recovery.tpl
index a28b3a26a9bb3e7db0657bd74e378fea8e9b447f..9f3b5472ebb376e770d7922617f76370313dbfba 100644
--- a/ihtml/themes/breezy/recovery.tpl
+++ b/ihtml/themes/breezy/recovery.tpl
@@ -59,11 +59,11 @@
       </tr>
       <tr>
        <td><label for="new_password">{t}New password{/t}</label></td>
-       <td><input type="password" name="new_password" id="new_password" value="" title="{t}New password{/t}" onFocus="nextfield= 'new_password_repeated';" onkeyup="testPasswordCss(document.getElementById('new_password').value);"></td>
+       <td><input type="password" name="new_password" id="new_password" value="" title="{t}New password{/t}" onkeyup="testPasswordCss(document.getElementById('new_password').value);" /></td>
       </tr>
       <tr>
        <td><label for="new_password_repeated">{t}New password repeated{/t}</label></td>
-       <td><input type="password" name="new_password_repeated" id="new_password_repeated" maxlength="40" value="" title="{t}New password repeated{/t}" onFocus="nextfield= 'apply';"></td>
+       <td><input type="password" name="new_password_repeated" id="new_password_repeated" maxlength="40" value="" title="{t}New password repeated{/t}" /></td>
       </tr>
       <tr>
        <td>{t}Password strength{/t}</td>