Fixed javascript focus problem when first accessing login page. Also fixes errors...
[squirrelmail.git] / src / login.php
index d60f77d282b79b3f2dca0fa4198235cd14b5bd25..f41bb1dac99b7c18214ec139505bbd2ab7bc1292 100644 (file)
@@ -43,7 +43,7 @@ $base_uri = sqm_baseuri();
  * In case the last session was not terminated properly, make sure
  * we get a new one.
  */
+
 sqsession_destroy();
  
 header('Pragma: no-cache');
@@ -56,7 +56,16 @@ $header = "<script language=\"JavaScript\" type=\"text/javascript\">\n" .
           "<!--\n".
           "  function squirrelmail_loginpage_onload() {\n".
           "    document.forms[0].js_autodetect_results.value = '" . SMPREF_JS_ON . "';\n".
-          '    document.forms[0].elements[' . (isset($loginname) ? 1 : 0) . "].focus();\n".
+          "    var textElements = 0;\n".
+          "    for (i = 0; i < document.forms[0].elements.length; i++) {\n".
+          "      if (document.forms[0].elements[i].type == \"text\" || document.forms[0].elements[i].type == \"password\") {\n".
+          "        textElements++;\n".
+          "        if (textElements == " . (isset($loginname) ? 2 : 1) . ") {\n".
+          "          document.forms[0].elements[i].focus();\n".
+          "          break;\n".
+          "        }\n".
+          "      }\n".
+          "    }\n".
           "  }\n".
           "// -->\n".
           "</script>\n";
@@ -69,7 +78,7 @@ $username_form_name = 'login_username';
 $password_form_name = 'secretkey';
 do_hook('login_top');
 
-$loginname_value = (isset($loginname) ? htmlspecialchars($loginname) : '');
+$loginname_value = (sqGetGlobalVar('loginname', $loginname) ? htmlspecialchars($loginname) : '');
 
 /* If they don't have a logo, don't bother.. */
 if (isset($org_logo) && $org_logo) {
@@ -136,10 +145,9 @@ html_tag( 'table',
             '', '#ffffff', 'border="0" width="350"' ) . '</center>',
         'center' )
     ) ,
-'', '#ffffff', 'border="0" cellspacing="0" cellpadding="0" width="100%"' ) .
-'</form>' . "\n";
-
+'', '#ffffff', 'border="0" cellspacing="0" cellpadding="0" width="100%"' );
 do_hook('login_form');
+echo '</form>' . "\n";
 
 do_hook('login_bottom');
 echo "</body>\n".