Odd Validate plug-in behavior with IE8

Odd Validate plug-in behavior with IE8

I have an odd problem with the Validate 1.8 plug-in with JQuery 1.5.1.  I have a form that validates 2 fields upon the submit button being clicked.  Under Firefox 4 the form validation works great with no problems.  But with IE8, the submitHandler seems to keep firing and the errorPlacement function is called if I click on anything (meaning inside or outside the browser window, even the desktop) after the submit button is first clicked.  It's really bizarre.  I don't know where to start to see why this is happening.

The form does not actually submit but calls an ajax routines to process the form data and it does the work.

Validation code:
  1. var validator = $('#subscribeForm').validate({
  2.    errorClass: "highlight",
  3.    submitHandler: function (form) {
  4.       $('#continue').attr('disabled', true);
  5.       $('#acceptTerms').attr('checked', false);
  6.       $('input[name=mDialogAck]').attr('checked', false);
  7.       ajaxData = checkLdap();
  8.       if (ajaxData == USERVALID) { // We are good to go
  9.          ajaxData = dbRequest('SEL');
  10.          if (ajaxData.indexOf('@') != -1) { // Opps, an eMail address already exists!
  11.             formStatus('You have an existing address.');
  12.             $('#mDialogInfo').val(ajaxData);
  13.             if ($('#mExtEmailAddr').val() === '') { $('#mExtEmailAddr').val(ajaxData); }
  14.             $('#mExtEmailAddr').addClass('highlight').focus();
  15.             $('#aarDialog').dialog('open');
  16.          } else {
  17.             $('#mExtEmailAddr').rules('add', { required: true });
  18.             if ($(form).validate().element("#mExtEmailAddr")) {
  19.                $('#mExtEmailAddr').removeClass('highlight');
  20.                $('#polDialog').dialog('open');
  21.                dbRequestType = 'ADD';
  22.             }
  23.          }
  24.       } else {  // Some LDAP lookup error.  Index into our error msg array
  25.          formStatus(ldapMsgs[(parseInt(ajaxData, 10) - 1) * 2 + 1]);
  26.       }
  27.       $('#continue').attr('disabled', false);
  28.    },
  29.    rules: {
  30.       mUPI: {
  31.          required: true,
  32.          number: true,
  33.          range: [10000000, 99999999]
  34.       },
  35.       mLastName: 'required',
  36.       mExtEmailAddr: 'email'
  37.    },
  38.    messages: {
  39.       mUPI: {
  40.          required: 'Your UPI number is required.',
  41.          mUPI: 'Invalid Abbott UPI value.',
  42.          range: 'Invalid Abbott UPI value.'
  43.       },
  44.       mLastName: {
  45.          required: 'Your Last Name is required.',
  46.          mLastName: 'Invalid Last Name.'
  47.       },
  48.       mExtEmailAddr: {
  49.          required: 'Your external eMail address is required.',
  50.          email: 'Invalid eMail address format.'
  51.       }
  52.    },
  53.    errorPlacement: function (error, element) {
  54.       formStatus(error.html());
  55.    },
  56.    highlight: function (element, errorClass) {
  57.       $(element).addClass(errorClass).focus();
  58.       haveHighlight = true;
  59.    },
  60.    unhighlight: function (element, errorClass) {
  61.       $(element).removeClass(errorClass);
  62.       if (haveHighlight) {
  63.          haveHighlight = false;
  64.       }
  65.    }
  66. });