site.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. $(function () {
  2. $("#newsletter").validate();
  3. var ads = [
  4. {
  5. quote: "September is your last chance to get FA Pro and <strong>ALL</strong> KS rewards for $40.",
  6. class: "fa5",
  7. url: "https://fontawesome.com/?utm_source=font_awesome_homepage&utm_medium=display&utm_campaign=september_last_chance&utm_content=banner",
  8. btn_text: "Check out FA Pro! &nbsp;<i class='fas fas-external-link'></i>",
  9. },
  10. ];
  11. selectAd();
  12. // start the icon carousel
  13. $('#icon-carousel').carousel({
  14. interval: 5000
  15. });
  16. $('[data-toggle="tooltip"]').tooltip();
  17. $('[data-toggle="popover"]').popover();
  18. if (storageAvailable('localStorage') && !localStorage.seenFA5Modal3) {
  19. $('#modal-fa5')
  20. .modal('toggle')
  21. .on('hidden.bs.modal', function (e) {
  22. $('#fa5-iframe').remove();
  23. });
  24. ;
  25. }
  26. if (storageAvailable('localStorage')) {
  27. localStorage.seenFA5Modal3 = true;
  28. // Yippee! We can use localStorage awesomeness
  29. }
  30. function timeLeft() {
  31. var now, ksEndsAt, hoursLeft, minutesLeft, humanized;
  32. try {
  33. now = moment();
  34. ksEndsAt = moment("2017-10-01 00:00:00-05");
  35. hoursLeft = ksEndsAt.diff(now, "hours");
  36. minutesLeft = ksEndsAt.diff(now, "minutes") - hoursLeft * 60;
  37. } catch (e) {}
  38. if (hoursLeft < 0 || minutesLeft < 0) {
  39. return;
  40. }
  41. humanized = hoursLeft + " " + ((hoursLeft === 1) ? "hour" : "hours") + ", " + minutesLeft + " " + ((minutesLeft === 1) ? "minute" : "minutes");
  42. $('#time-left-message').html('Just <span class="duration">' + humanized + '</span> left before the price goes up!');
  43. setTimeout(timeLeft, 2000);
  44. }
  45. function storageAvailable(type) {
  46. try {
  47. var storage = window[type],
  48. x = '__storage_test__';
  49. storage.setItem(x, x);
  50. storage.removeItem(x);
  51. return true;
  52. }
  53. catch(e) {
  54. return false;
  55. }
  56. }
  57. function selectAd() {
  58. random_number = Math.floor(Math.random() * ads.length);
  59. random_ad = ads[random_number];
  60. timeLeft();
  61. $('#banner').addClass(random_ad.class);
  62. $('#rotating-message').html(random_ad.quote);
  63. $('#rotating-url').attr("href", random_ad.url);
  64. $('#rotating-url').html(random_ad.btn_text);
  65. $('#banner').collapse('show');
  66. }
  67. });