]> git.proxmox.com Git - mirror_novnc.git/blobdiff - vnc_auto.html
API changes/cleanup.
[mirror_novnc.git] / vnc_auto.html
index cb699292ed8f24c103a45a6c9189ae93ae89b6c6..8851605e8b60361f64339ea6c4ea13e5bd74ded6 100644 (file)
 
         var rfb;
 
+        function passwordRequired(rfb) {
+            var msg;
+            msg = '<form onsubmit="return setPassword();"';
+            msg += '  style="margin-bottom: 0px">';
+            msg += 'Password Required: ';
+            msg += '<input type=password size=10 id="password_input" class="VNC_status">';
+            msg += '<\/form>';
+            $D('VNC_status_bar').setAttribute("class", "VNC_status_warn");
+            $D('VNC_status').innerHTML = msg;
+        }
         function setPassword() {
             rfb.sendPassword($D('password_input').value);
             return false;
             return false;
         }
         function updateState(rfb, state, oldstate, msg) {
-            var s, sb, cad, klass;
+            var s, sb, cad, level;
             s = $D('VNC_status');
             sb = $D('VNC_status_bar');
             cad = $D('sendCtrlAltDelButton');
             switch (state) {
-                case 'failed':
-                case 'fatal':
-                    klass = "VNC_status_error";
-                    break;
-                case 'normal':
-                    klass = "VNC_status_normal";
-                    break;
-                case 'disconnected':
-                case 'loaded':
-                    klass = "VNC_status_normal";
-                    break;
-                case 'password':
-                    msg = '<form onsubmit="return setPassword();"';
-                    msg += '  style="margin-bottom: 0px">';
-                    msg += 'Password Required: ';
-                    msg += '<input type=password size=10 id="password_input" class="VNC_status">';
-                    msg += '<\/form>';
-                    klass = "VNC_status_warn";
-                    break;
-                default:
-                    klass = "VNC_status_warn";
+                case 'failed':       level = "error";  break;
+                case 'fatal':        level = "error";  break;
+                case 'normal':       level = "normal"; break;
+                case 'disconnected': level = "normal"; break;
+                case 'loaded':       level = "normal"; break;
+                default:             level = "warn";   break;
             }
 
             if (state === "normal") { cad.disabled = false; }
             else                    { cad.disabled = true; }
 
             if (typeof(msg) !== 'undefined') {
-                sb.setAttribute("class", klass);
+                sb.setAttribute("class", "VNC_status_" + level);
                 s.innerHTML = msg;
             }
         }
                            'true_color':   WebUtil.getQueryVar('true_color', true),
                            'local_cursor': WebUtil.getQueryVar('cursor', true),
                            'shared':       WebUtil.getQueryVar('shared', true),
-                           'updateState':  updateState});
+                           'updateState':  updateState,
+                           'onPasswordRequired':  passwordRequired});
             rfb.connect(host, port, password);
         };
         </script>