You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
3.7 KiB

1 year ago
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
  1. /*
  2. notifyMe jQuery Plugin v1.0.0
  3. Copyright (c)2014 Sergey Serafimovich
  4. Licensed under The MIT License.
  5. */
  6. (function(e) {
  7. e.fn.notifyMe = function(t) {
  8. var r = e(this);
  9. var i = e(this).find("input[name=email]");
  10. var s = e(this).attr("action");
  11. var o = e(this).find(".note");
  12. e(this).on("submit", function(t) {
  13. t.preventDefault();
  14. var h = i.val();
  15. var p = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
  16. if (p.test(h)) {
  17. $(".message").removeClass("error bad-email success-full");
  18. $(".message").hide().html('').fadeIn();
  19. $(".fa-spinner").addClass("fa-spin").removeClass("opacity-0");
  20. o.show();
  21. e.ajax({
  22. type: "POST",
  23. url: s,
  24. data: {
  25. email: h
  26. },
  27. dataType: "json",
  28. error: function(e) {
  29. o.hide();
  30. $(".fa-spinner").addClass("opacity-0").removeClass("fa-spin");
  31. $(".block-message").addClass("show-block-error").removeClass("show-block-valid");
  32. if (e.status == 404) {
  33. $(".message").html('<p class="notify-valid">Service is not available at the moment.<br>Please check your internet connection or try again later.</p>').fadeIn();
  34. } else {
  35. $(".message").html('<p class="notify-valid">Oops. Looks like something went wrong.<br>Please try again later.</p>').fadeIn();
  36. }
  37. }
  38. }).done(function(e) {
  39. o.hide();
  40. if (e.status == "success") {
  41. $(".fa-spinner").addClass("opacity-0").removeClass("fa-spin");
  42. $(".message").removeClass("bad-email").addClass("success-full");
  43. $(".block-message").addClass("show-block-valid").removeClass("show-block-error");
  44. $(".message").html('<p class="notify-valid">Congrats! You are in list.<br>We will inform you as soon as we finish.</p>').fadeIn();
  45. } else {
  46. if (e.type == "ValidationError") {
  47. $(".fa-spinner").addClass("opacity-0").removeClass("fa-spin");
  48. $(".message").html('<p class="notify-valid">This email address looks fake or invalid.<br>Please enter a real email address.</p>').fadeIn();
  49. } else {
  50. $(".fa-spinner").addClass("opacity-0").removeClass("fa-spin");
  51. $(".message").html('<p class="notify-valid">Oops. Looks like something went wrong.<br>Please try again later.</p>').fadeIn();
  52. }
  53. }
  54. })
  55. } else {
  56. $(".fa-spinner").addClass("opacity-0").removeClass("fa-spin");
  57. $(".message").addClass("bad-email").removeClass("success-full");
  58. $(".block-message").addClass("show-block-error").removeClass("show-block-valid");
  59. $(".message").html('<p class="notify-valid">Your e-mail address is incorrect.<br>Please check it and try again.</p>').fadeIn();
  60. o.hide();
  61. }
  62. // Reset and hide all messages on .keyup()
  63. $("#notifyMe input").keyup(function() {
  64. $(".block-message").addClass("").removeClass("show-block-valid show-block-error");
  65. $(".message").fadeOut();
  66. });
  67. })
  68. }
  69. })(jQuery)