diff options
Diffstat (limited to 'modules/openid/openid.js')
-rw-r--r-- | modules/openid/openid.js | 27 |
1 files changed, 16 insertions, 11 deletions
diff --git a/modules/openid/openid.js b/modules/openid/openid.js index 5f27b66f5..688ba47c5 100644 --- a/modules/openid/openid.js +++ b/modules/openid/openid.js @@ -1,14 +1,17 @@ // $Id$ -$(document).ready( - function() { - if ($("#edit-openid-url").val()) { - $("#edit-name-wrapper").hide(); - $("#edit-pass-wrapper").hide(); - $("#edit-openid-url-wrapper").show(); - $("a.openid-link").hide(); - } - $("a.openid-link").click( function() { +Drupal.behaviors.openid = function (context) { + // This behavior attaches by ID, so is only valid once on a page. + if (!$("#edit-openid-url.openid-processed").size() && $("#edit-openid-url").val()) { + $("#edit-openid-url").addClass('openid-processed'); + $("#edit-name-wrapper").hide(); + $("#edit-pass-wrapper").hide(); + $("#edit-openid-url-wrapper").show(); + $("a.openid-link").hide(); + } + $("a.openid-link:not(.openid-processed)", context) + .addClass('openid-processed') + .click( function() { $("#edit-pass-wrapper").hide(); $("#edit-name-wrapper").fadeOut('medium', function() { $("#edit-openid-url-wrapper").fadeIn('medium'); @@ -17,7 +20,9 @@ $(document).ready( $("a.user-link").show(); return false; }); - $("a.user-link").click( function() { + $("a.user-link:not(.openid-processed)", context) + .addClass('openid-processed') + .click(function() { $("#edit-openid-url-wrapper").hide(); $("#edit-pass-wrapper").show(); $("#edit-name-wrapper").show(); @@ -25,5 +30,5 @@ $(document).ready( $("a.openid-link").show(); return false; }); - }); +}; |