var usermailCheckTimer;
var usermailCheckusermail = '';

if (Drupal.jsEnabled) {
  $(document).ready(function() {
    var usermailPos = $('#usermail-check-wrapper input').position();
    var usermailWidth = $('#usermail-check-wrapper input').width();
    $('#usermail-check-informer').css({left: (usermailPos.left+usermailWidth+10)+'px', top: (usermailPos.top)+'px'}).show();
    
    $('#usermail-check-wrapper input').
      keyup(function() {
        if($('#usermail-check-wrapper input').val() != usermailCheckusermail) {
          clearTimeout(usermailCheckTimer);
          usermailCheckTimer = setTimeout('usermailCheck()', Drupal.settings.usermailCheck.delay*1000);
          
          if(!$("#usermail-check-informer").hasClass('usermail-check-informer-progress')) {
            $("#usermail-check-informer").
              removeClass('usermail-check-informer-accepted').
              removeClass('usermail-check-informer-rejected');
          }
              
          $("#usermail-check-message").
            hide();
        }
      }).
      blur(function() {
        if($('#usermail-check-wrapper input').val() != usermailCheckusermail) {
          usermailCheck();
        }
      });
  });
}

function usermailCheck() {
  clearTimeout(usermailCheckTimer);
  usermailCheckusermail = $('#usermail-check-wrapper input').val();

  $.ajax({
    url: Drupal.settings.usermailCheck.ajaxUrl,
    data: {usermail: usermailCheckusermail},
    dataType: 'json',
    beforeSend: function() {
      $("#usermail-check-informer").
        removeClass('usermail-check-informer-accepted').
        removeClass('usermail-check-informer-rejected').
        addClass('usermail-check-informer-progress');
    },
    success: function(ret){
      if(ret['allowed']){
        $("#usermail-check-informer").
          removeClass('usermail-check-informer-progress').
          addClass('usermail-check-informer-accepted');
        $("#usermail-check-wrapper input").
          removeClass('error');
      }
      else {
        $("#usermail-check-informer").
          removeClass('usermail-check-informer-progress').
          addClass('usermail-check-informer-rejected');
        
        $("#usermail-check-message").
            addClass('usermail-check-message-rejected').
            html(ret['msg']).
            show();
      }
    }
   });
}