summaryrefslogtreecommitdiff
path: root/modules/openid/openid.js
blob: 1511348c8005bc9bf726740778bab79584dcaa65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// $Id$
(function($) {

Drupal.behaviors.openid = {
  attach: function(context) {
    var $loginElements = $("#edit-name-wrapper, #edit-pass-wrapper, li.openid-link");
    var $openidElements = $("#edit-openid-identifier-wrapper, li.user-link");

    // This behavior attaches by ID, so is only valid once on a page.
    if (!$("#edit-openid-identifier.openid-processed").size() && $("#edit-openid-identifier").val()) {
      $("#edit-openid-identifier").addClass('openid-processed');
      $loginElements.hide();
      // Use .css("display", "block") instead of .show() to be Konqueror friendly.
      $openidElements.css("display", "block");
    }
    $("li.openid-link:not(.openid-processed)", context)
      .addClass('openid-processed')
      .click( function() {
         $loginElements.hide();
         $openidElements.css("display", "block");
        // Remove possible error message.
        $("#edit-name, #edit-pass").removeClass("error");
        $("div.messages.error").hide();
        // Set focus on OpenID Identifier field.
        $("#edit-openid-identifier")[0].focus();
        return false;
      });
    $("li.user-link:not(.openid-processed)", context)
      .addClass('openid-processed')
      .click(function() {
         $openidElements.hide();
         $loginElements.css("display", "block");
        // Clear OpenID Identifier field and remove possible error message.
        $("#edit-openid-identifier").val('').removeClass("error");
        $("div.messages.error").css("display", "block");
        // Set focus on username field.
        $("#edit-name")[0].focus();
        return false;
      });
  }
};

})(jQuery);