It might be nice to do it client-side.
var caps = null;
passwordField.onkeypress = function(e) {
if (caps !== false) {
var s = String.fromCharCode(e.keyCode || e.which);
caps = s.toUpperCase() == s && !e.shiftKey;
}
};
loginForm.onsubmit = function(e) {
if (caps) {
passwordField.value = invertCase(passwordField.value);
}
};