Set autocorrect and autocapitalize off for username/password.
[guacamole.git] / src / main / webapp / index.xhtml
index 463d90b..9e4ed55 100644 (file)
@@ -23,6 +23,7 @@
 
     <head>
         <link rel="icon" type="image/png" href="images/guacamole-logo-64.png"/>
+        <link rel="apple-touch-icon" type="image/png" href="images/guacamole-logo-64.png"/>
         <link rel="stylesheet" type="text/css" href="styles/login.css"/>
         <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, target-densitydpi=device-dpi"/>
         <title>Guacamole ${project.version}</title>
         <!-- Init -->
         <script type="text/javascript"> /* <![CDATA[ */
 
+            // Constructs the URL for a client which connects to the connection
+            // with the given id.
+            function getClientURL(id) {
+                
+                // Construct URL for client with given id
+                return "client.xhtml?id=" + encodeURIComponent(id);
+                
+            }
+
+            // Resets the interface such that the login UI is displayed if
+            // the user is not authenticated (or authentication fails) and
+            // the connection list UI (or the client for the only available
+            // connection, if there is only one) is displayed if the user is
+            // authenticated.
             function resetUI() {
 
+                // Get parameters from query string
+                var parameters = window.location.search.substring(1);
+
                 var configs;
                 try {
-                    configs = getConfigList();
+                    configs = getConfigList(parameters);
                 }
                 catch (e) {
 
 
                 // If only one connection, redirect to that.
                 if (configs.length == 1) {
-                    window.location.href = "client.xhtml?" + encodeURIComponent(configs[0].id);
+                    window.location.href = getClientURL(configs[0].id);
                     return;
                 }
 
 
                     // Create link to client
                     var clientLink = document.createElement("a");
-                    clientLink.setAttribute("href",
-                        "client.xhtml?" + encodeURIComponent(configs[i].id));
+                    clientLink.setAttribute("href", getClientURL(configs[i].id));
 
                     // Set cell contents
                     protocol.appendChild(protocolIcon);
             var loginUI = document.getElementById("login-ui");
             var connectionListUI = document.getElementById("connection-list-ui");
             var logout = document.getElementById("logout");
+            var username = document.getElementById("username");
+            var password = document.getElementById("password");
 
             logout.onclick = function() {
                 window.location.href = "logout";
 
             loginForm.onsubmit = function() {
 
-                var username = document.getElementById("username");
-                var password = document.getElementById("password");
+                // Get parameters from query string
+                var parameters = window.location.search.substring(1);
 
+                // Get username and password from form
                 var data =
                        "username=" + encodeURIComponent(username.value)
                     + "&password=" + encodeURIComponent(password.value)
 
+                // Include query parameters in submission data
+                if (parameters) data += "&" + parameters;
+
                 try {
 
                     // Log in
 
             }
 
+            // Turn off autocorrect and autocapitalization on usename 
+            username.setAttribute("autocorrect", "off");
+            username.setAttribute("autocapitalize", "off");
+
             resetUI();
 
             /* ]]> */ </script>