drupal/core/modules/openid/openid.js

52 lines
1.7 KiB
JavaScript

(function ($) {
Drupal.behaviors.openid = {
attach: function (context) {
var $context = $(context);
var loginElements = $('.form-item-name, .form-item-pass, li.openid-link');
var openidElements = $('.form-item-openid-identifier, li.user-link');
var cookie = $.cookie('Drupal.visitor.openid_identifier');
// This behavior attaches by ID, so is only valid once on a page.
if (cookie || location.hash == '#openid-login') {
$edit_openid_identifier = $('#edit-openid-identifier');
if (cookie) {
$edit_openid_identifier.val(cookie);
}
$edit_openid_identifier.once('openid', function() {
loginElements.hide();
// Use .css('display', 'block') instead of .show() to be Konqueror friendly.
openidElements.css('display', 'block');
});
}
$context.find('li.openid-link')
.once('openid')
.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;
});
$context.find('li.user-link')
.once('openid')
.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);