scripts.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. (function(window, $) {
  2. var frontend = function(window, $) {
  3. var ShopProductsLightGalleryLastImage = '';
  4. // Private
  5. function ShopProductsInitLightGallery() {
  6. $('#product_thumbnails').lightGallery({
  7. pager: false,
  8. showThumbByDefault: false,
  9. toogleThumb: false,
  10. controls: false,
  11. download: false
  12. });
  13. $('#product_image img').css('cursor', 'pointer').click(function() {
  14. $($('#product_thumbnails a.thumbnail').get($(this).data('index'))).click();
  15. });
  16. $('#product_thumbnails a.thumbnail').each(function() {
  17. $(this).mouseover(function() {
  18. if($(this).data('hover') != ShopProductsLightGalleryLastImage) {
  19. ShopProductsLightGalleryLastImage = $(this).data('hover');
  20. $('#product_image img').attr('src', $(this).data('hover'));
  21. $('#product_image img').data('index', $(this).data('index'));
  22. }
  23. });
  24. });
  25. };
  26. function ShopSetBasketNavBtnProductsCount(value) {
  27. $('#basket-nav-btn .badge').html(value);
  28. };
  29. function Initialize() {
  30. // Check if jQuery was loaded
  31. if(typeof $ == 'function') {
  32. ShopProductsInitLightGallery();
  33. } else {
  34. console.log('Error: jQuery is not loaded!');
  35. }
  36. };
  37. // Initialize
  38. if(window.addEventListener) {
  39. // W3C standard
  40. window.addEventListener('load', Initialize, false);
  41. } else if(window.attachEvent) {
  42. // Microsoft
  43. window.attachEvent('onload', Initialize);
  44. };
  45. // Public
  46. return {
  47. ShopBasketOpen: function(object) {
  48. if(!$(object).hasClass('click-blocked')) {
  49. $(object).addClass('click-blocked');
  50. // ShopSetBasketNavBtnProductsCount(0);
  51. console.log('ShopOpenBasket', object);
  52. $(object).removeClass('click-blocked');
  53. }
  54. return false;
  55. },
  56. ShopBasketProductPlus: function(object, product_id) {
  57. if(!$(object).hasClass('click-blocked')) {
  58. $(object).addClass('click-blocked');
  59. $.ajax({
  60. type: "GET",
  61. url: '/shop/basket/plus/' + product_id + '/'
  62. }).done(function(data) {
  63. console.log('AJAX', data, product_id);
  64. }).fail(function(xhr, status, error) {
  65. console.log('AJAX', xhr.responseText, product_id);
  66. }).always(function() {
  67. $(object).removeClass('click-blocked');
  68. });
  69. }
  70. return false;
  71. },
  72. ShopBasketProductMinus: function(object, product_id) {
  73. if(!$(object).hasClass('click-blocked')) {
  74. $(object).addClass('click-blocked');
  75. $.ajax({
  76. type: "GET",
  77. url: '/shop/basket/minus/' + product_id + '/'
  78. }).done(function(data) {
  79. console.log('AJAX', data, product_id);
  80. }).fail(function(xhr, status, error) {
  81. console.log('AJAX', xhr.responseText, product_id);
  82. }).always(function() {
  83. $(object).removeClass('click-blocked');
  84. });
  85. }
  86. return false;
  87. },
  88. };
  89. }(window, $);
  90. window.frontend = frontend;
  91. }(window, jQuery));