When a username/password auth fails, restore the username/password dialog instead...
[citadel.git] / webcit / static / authmethods.js
index 8ad1e29fa14c44cb5d7bc9af8a2e29c4e3d799a3..a80543fdbbbedcff21bee5c02313ef7e80c8ad6a 100644 (file)
@@ -58,6 +58,10 @@ function authtoggle(show_which_div) {
        $('authbox_userpass').style.display = 'none';
        $('authbox_newuser').style.display = 'none';
        $('authbox_openid').style.display = 'none';
+       $('authbox_google').style.display = 'none';
+       $('authbox_yahoo').style.display = 'none';
+       $('authbox_aol').style.display = 'none';
+       $('authbox_success').style.display = 'none';
        $(show_which_div).style.display = 'block';
 }
 
@@ -81,6 +85,7 @@ function do_auth_popout(popout_url) {
 function ajax_try_username_and_password() {
 
        $('login_errmsg').innerHTML = "";
+       authtoggle('authbox_success');
         $('ajax_username_password_form').request({
                onSuccess: function(ctdlresult) {
                        if (ctdlresult.responseText.substr(0,1) == '2') {
@@ -88,6 +93,7 @@ function ajax_try_username_and_password() {
                        }
                        else {
                                $('login_errmsg').innerHTML = ctdlresult.responseText.substr(4) ;
+                               authtoggle('authbox_userpass');
                        }
                }
        });
@@ -122,6 +128,7 @@ function ajax_try_newuser() {
         $('ajax_newuser_form').request({
                onSuccess: function(ctdlresult) {
                        if (ctdlresult.responseText.substr(0,1) == '2') {
+                               authtoggle('authbox_success');
                                window.location = 'pop';
                        }
                        else {
@@ -176,7 +183,64 @@ function openid_onkeypress(e) {
        }
        if (keynum == 13) {             /* enter/return key */
                ajax_try_openid();
+               return false;
        }
+       return true;
+}
+
+
+/****************** GOOGLE ***********************/
+
+/*
+ * Attempt login with Google, called from modal dialog
+ */
+function ajax_try_google() {
+       $('login_errmsg').innerHTML = "";
+       openid_url = encodeURI("https://www.google.com/accounts/o8/id");
+       do_auth_popout("openid_login?openid_url=" + openid_url);
+}
+
+
+/****************** GOOGLE ***********************/
+
+/*
+ * Attempt login with Yahoo, called from modal dialog
+ */
+function ajax_try_yahoo() {
+       $('login_errmsg').innerHTML = "";
+       openid_url = encodeURI("http://yahoo.com");
+       do_auth_popout("openid_login?openid_url=" + openid_url);
+}
+
+
+/****************** AOL ***********************/
+
+/*
+ * Attempt login with AOL, called from modal dialog
+ */
+function ajax_try_aol() {
+       $('login_errmsg').innerHTML = "";
+       openid_url = encodeURI($('ajax_aol_form').elements["aol_screenname"].value);
+       do_auth_popout("openid_login?openid_url=http://openid.aol.com/" + openid_url);
+}
+
+
+/*
+ * The user pressed a key while in the AOL login box.
+ * Is it the enter/return key?  Submit the form.
+ */
+function aol_onkeypress(e) {
+       if (window.event) {             /* IE */
+               keynum = e.keyCode;
+       }
+       else if (e.which) {             /* real browsers */
+               keynum = e.which;
+       }
+       if (keynum == 13) {             /* enter/return key */
+               ajax_try_aol();
+               return false;
+       }
+       return true;
 }