### Eclipse Workspace Patch 1.0 #P chiq2008 Index: sites/default/modules/username_check/username_check_auto.js =================================================================== --- sites/default/modules/username_check/username_check_auto.js (revision 302) +++ sites/default/modules/username_check/username_check_auto.js (working copy) @@ -1,43 +1,49 @@ var usernameCheckTimer; var usernameCheckUsername = ''; -if (Drupal.jsEnabled) { - $(document).ready(function() { - var usernamePos = $('#edit-name').position(); - var usernameWidth = $('#edit-name').width(); - $('#username-check-informer').css({left: (usernamePos.left+usernameWidth+10)+'px', top: (usernamePos.top)+'px'}).show(); +Drupal.behaviors.attachUsernameCheckBehavior = attachUsernameCheckBehavior; + +function attachUsernameCheckBehavior (context) { + // we will really get only one edit-name id, because we are querying on certain form id + $('#user-register #edit-name:not(.edit-username-check-processed)', context).each(function () { + var $this = $(this); + var usernamePos = $this.position(); + var usernameWidth = $this.width(); + $('#username-check-informer').css({left: (usernamePos.left + usernameWidth + 5)+'px', top: (usernamePos.top + 5)+'px'}).show(); - $('#edit-name'). - keyup(function() { - if($('#edit-name').val() != usernameCheckUsername) { - clearTimeout(usernameCheckTimer); - usernameCheckTimer = setTimeout('usernameCheck()', Drupal.settings.usernameCheck.delay*1000); - - if(!$("#username-check-informer").hasClass('username-check-informer-progress')) { - $("#username-check-informer"). - removeClass('username-check-informer-accepted'). - removeClass('username-check-informer-rejected'); - } - - $("#username-check-message"). - hide(); + // attach behaviours for keyup and blur + $this.keyup(function() { + if($this.val() != usernameCheckUsername) { + clearTimeout(usernameCheckTimer); + usernameCheckTimer = setTimeout(function () { + usernameCheck($this); + }, Drupal.settings.usernameCheck.delay * 1000); + + if(!$("#username-check-informer").hasClass('username-check-informer-progress')) { + $("#username-check-informer"). + removeClass('username-check-informer-accepted'). + removeClass('username-check-informer-rejected'); } - }). - blur(function() { - if($('#edit-name').val() != usernameCheckUsername) { - usernameCheck(); - } - }); + + $("#username-check-message").hide(); + } + }).blur(function() { + if($this.val() != usernameCheckUsername) { + usernameCheck($this); + } + }); + + $this.addClass('edit-username-check-processed'); }); } -function usernameCheck() { +function usernameCheck($edit_name) { clearTimeout(usernameCheckTimer); - usernameCheckUsername = $('#edit-name').val(); + usernameCheckUsername = $edit_name.val(); $.ajax({ url: Drupal.settings.usernameCheck.ajaxUrl, - data: {username: usernameCheckUsername}, + data: {username:usernameCheckUsername}, dataType: 'json', beforeSend: function() { $("#username-check-informer"). @@ -50,18 +56,12 @@ $("#username-check-informer"). removeClass('username-check-informer-progress'). addClass('username-check-informer-accepted'); - $("#edit-name"). - removeClass('error'); + $edit_name.removeClass('error'); } else { - $("#username-check-informer"). - removeClass('username-check-informer-progress'). - addClass('username-check-informer-rejected'); + $("#username-check-informer").removeClass('username-check-informer-progress').addClass('username-check-informer-rejected'); - $("#username-check-message"). - addClass('username-check-message-rejected'). - html(ret['msg']). - show(); + $("#username-check-message").addClass('username-check-message-rejected').html(ret['msg']).show(); } } });