scripts.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. ShopOpenBasket: 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. // TODO: add product to basket or count++ if already in basket
  57. // Update products counter in header nav bar button
  58. // Automatically open basket popup
  59. ShopAddProductToBasket: function(object, product_id) {
  60. if(!$(object).hasClass('click-blocked')) {
  61. $(object).addClass('click-blocked');
  62. ShopSetBasketNavBtnProductsCount(product_id);
  63. console.log('ShopAddProductToBasket', object, product_id);
  64. $(object).removeClass('click-blocked');
  65. }
  66. return false;
  67. },
  68. };
  69. }(window, $);
  70. window.frontend = frontend;
  71. }(window, jQuery));