To give you the best possible experience, this site uses cookies. Using your site means your agree to our use of cookies. We have published a new cookies policy, which you should need to find out more about the cookies we use. View Cookies Policy.
Mali's Jewellery | Personalized Gifts for the Special Someone in Your Life
Personalized Gifts

Looking for something unique and special? Something that will really show off your personality? Check out our customized jewelry! Each piece is handmade with the best handpicked materials so you know it's of the highest quality. Plus, it's anti-tarnish, allergy-free, and environmentally friendly. And because it's handmade in Canada, you know it's made with love and pride. So go ahead and treat yourself to something special - you deserve it!

View Left Column

20 products

Grid
Grid-2
List
List-2
Catelog

Active filters

  • new
Add To Compare
Sterling Silver Bar Necklace- | Mali's Canadian JewelrySterling Silver Bar Necklace- | Mali's Canadian Jewelry
  • new
    Add To Compare
    Sterling Silver Bar Necklace- | Mali's Canadian JewelrySterling Silver Bar Necklace- | Mali's Canadian Jewelry
    • new
      Home
      4 equal payments with  Klarna ...
      $71.84Price
      Add To Compare
      Sterling Silver Bar Necklace- | Mali's Canadian JewelrySterling Silver Bar Necklace- | Mali's Canadian Jewelry
      • New
        Home
        4 equal payments with  Klarna ...
        $71.84Price
        Add To Compare
          Add To Compare
          Sterling Silver Round Locket - | Mali's Canadian Jewelry Mali's 1 Metal Part: Sterling Silver - Engravable Sterling Silver RoundSterling Silver Round Locket - | Mali's Canadian Jewelry
              Add To Compare
              Sterling Silver Round Locket - | Mali's Canadian Jewelry Mali's 1 Metal Part: Sterling Silver - Engravable Sterling Silver RoundSterling Silver Round Locket - | Mali's Canadian Jewelry
                  Home
                  4 equal payments with  Klarna ...
                  $71.84Price
                  Add To Compare
                  Sterling Silver Round Locket - | Mali's Canadian Jewelry Mali's 1 Metal Part: Sterling Silver - Engravable Sterling Silver RoundSterling Silver Round Locket - | Mali's Canadian Jewelry
                      Home
                      4 equal payments with  Klarna ...
                      $71.84Price
                      Add To Compare
                        Add To Compare
                        Sterling Silver Heart Locket - | Mali's Canadian Jewelry Mali's 1 Metal Part: Sterling Silver - Engravable Sterling Silver HeartSterling Silver Heart Locket - | Mali's Canadian Jewelry
                            Add To Compare
                            Sterling Silver Heart Locket - | Mali's Canadian Jewelry Mali's 1 Metal Part: Sterling Silver - Engravable Sterling Silver HeartSterling Silver Heart Locket - | Mali's Canadian Jewelry
                                Home
                                4 equal payments with  Klarna ...
                                $71.84Price
                                Add To Compare
                                Sterling Silver Heart Locket - | Mali's Canadian Jewelry Mali's 1 Metal Part: Sterling Silver - Engravable Sterling Silver HeartSterling Silver Heart Locket - | Mali's Canadian Jewelry
                                    Home
                                    4 equal payments with  Klarna ...
                                    $71.84Price
                                    Add To Compare
                                    Mali's Sterling Silver Gucci Hollow Chain Necklace- Canadian Fine Jewellery  Mali's  1  Metal Part: Sterling Silver  - Silver GuMali's Sterling Silver Gucci Hollow Chain Necklace- Canadian Fine Jewellery
                                        Home
                                        4 equal payments with  Klarna ...
                                        $79.10Price
                                        Add To Compare
                                        Mali's Sterling Silver Gucci Hollow Chain Necklace- Canadian Fine Jewellery  Mali's  1  Metal Part: Sterling Silver  - Silver GuMali's Sterling Silver Gucci Hollow Chain Necklace- Canadian Fine Jewellery
                                            $79.10Price
                                            Add To Compare
                                            Mali's Sterling Silver Mariner Chain Necklace- Canadian Fine Jewellery  Mali's  1  Metal Part: Sterling Silver  - Mali's SterlinMali's Sterling Silver Mariner Chain Necklace- Canadian Fine Jewellery
                                                Home
                                                4 equal payments with  Klarna ...
                                                $71.84Price
                                                Add To Compare
                                                Mali's Sterling Silver Mariner Chain Necklace- Canadian Fine Jewellery  Mali's  1  Metal Part: Sterling Silver  - Mali's SterlinMali's Sterling Silver Mariner Chain Necklace- Canadian Fine Jewellery
                                                    $71.84Price
                                                    Add To Compare
                                                      Add To Compare
                                                      Sterling Silver vertical Bar - Mali's Canadian Jewellery  Mali's  1  Metal Part: Sterling Silver  - Engravable 3D Vertical NecklSterling Silver vertical Bar - Mali's Canadian Jewellery
                                                          Add To Compare
                                                          Sterling Silver vertical Bar - Mali's Canadian Jewellery  Mali's  1  Metal Part: Sterling Silver  - Engravable 3D Vertical NecklSterling Silver vertical Bar - Mali's Canadian Jewellery
                                                              Home
                                                              4 equal payments with  Klarna ...
                                                              $71.84Price
                                                              Add To Compare
                                                              Sterling Silver vertical Bar - Mali's Canadian Jewellery  Mali's  1  Metal Part: Sterling Silver  - Engravable 3D Vertical NecklSterling Silver vertical Bar - Mali's Canadian Jewellery
                                                                  Home
                                                                  4 equal payments with  Klarna ...
                                                                  $71.84Price
                                                                  Add To Compare
                                                                    Add To Compare
                                                                    Silver Medical ID Necklace - | Mali's Canadian Jewellery  Mali's  1  Metal Part: Sterling Silver  - Sterling Silver Medical ID ASilver Medical ID Necklace - | Mali's Canadian Jewellery
                                                                        Add To Compare
                                                                        Silver Medical ID Necklace - | Mali's Canadian Jewellery  Mali's  1  Metal Part: Sterling Silver  - Sterling Silver Medical ID ASilver Medical ID Necklace - | Mali's Canadian Jewellery
                                                                            Home
                                                                            Unisex Engravable sterling silver medical ID alert necklace - Durable  - Hypoallergenic - Pendant size : 25 * 25mm - Chain Length:  16'' - 20'' Crafted in Canada
                                                                            $64.59Price
                                                                            Add To Compare
                                                                            Silver Medical ID Necklace - | Mali's Canadian Jewellery  Mali's  1  Metal Part: Sterling Silver  - Sterling Silver Medical ID ASilver Medical ID Necklace - | Mali's Canadian Jewellery
                                                                                Home
                                                                                Unisex Engravable sterling silver medical ID alert necklace - Durable  - Hypoallergenic - Pendant size : 25 * 25mm - Chain Length:  16'' - 20'' Crafted in Canada
                                                                                $64.59Price
                                                                                Add To Compare
                                                                                  Add To Compare
                                                                                  Infinity Macrame Bracelet - | Mali's Canadian Jewellery  Mali's  1  Metal Part: Sterling Silver  - Infinity Silver macrame braceInfinity Macrame Bracelet - | Mali's Canadian Jewellery
                                                                                      Add To Compare
                                                                                      Infinity Macrame Bracelet - | Mali's Canadian Jewellery  Mali's  1  Metal Part: Sterling Silver  - Infinity Silver macrame braceInfinity Macrame Bracelet - | Mali's Canadian Jewellery
                                                                                          Home
                                                                                          4 equal payments with  Klarna ...
                                                                                          $64.59Price
                                                                                          Add To Compare
                                                                                          Infinity Macrame Bracelet - | Mali's Canadian Jewellery  Mali's  1  Metal Part: Sterling Silver  - Infinity Silver macrame braceInfinity Macrame Bracelet - | Mali's Canadian Jewellery
                                                                                              Home
                                                                                              4 equal payments with  Klarna ...
                                                                                              $64.59Price
                                                                                              Add To Compare
                                                                                                Add To Compare
                                                                                                Silver Medical ID Bracelet - | Mali's Canadian Jewellery  Mali's  1  Metal Part: Sterling Silver  - Sterling Silver Medical ID ASilver Medical ID Bracelet - | Mali's Canadian Jewellery
                                                                                                    Add To Compare
                                                                                                    Silver Medical ID Bracelet - | Mali's Canadian Jewellery  Mali's  1  Metal Part: Sterling Silver  - Sterling Silver Medical ID ASilver Medical ID Bracelet - | Mali's Canadian Jewellery
                                                                                                        Home
                                                                                                        Unisex Engravable sterling silver medical ID alert bracelet - Durable  - Hypoallergenic - Tag size : 45 * 10 mm - Available Sizes 5'' - 11'' Crafted in Canada
                                                                                                        $71.84Price
                                                                                                        Add To Compare
                                                                                                        Silver Medical ID Bracelet - | Mali's Canadian Jewellery  Mali's  1  Metal Part: Sterling Silver  - Sterling Silver Medical ID ASilver Medical ID Bracelet - | Mali's Canadian Jewellery
                                                                                                            Home
                                                                                                            Unisex Engravable sterling silver medical ID alert bracelet - Durable  - Hypoallergenic - Tag size : 45 * 10 mm - Available Sizes 5'' - 11'' Crafted in Canada
                                                                                                            $71.84Price
                                                                                                            Add To Compare
                                                                                                            Sterling Silver CZ Birthstone Post Earrings- | Mali's Canadian Jewellery Mali's 5 Metal Part: Sterling Silver - Sterling Silver Sterling Silver CZ Birthstone Post Earrings- | Mali's Canadian Jewellery
                                                                                                                Home
                                                                                                                4 equal payments with  Klarna ...
                                                                                                                $35.56Price
                                                                                                                Add To Compare
                                                                                                                Sterling Silver CZ Birthstone Post Earrings- | Mali's Canadian Jewellery Mali's 5 Metal Part: Sterling Silver - Sterling Silver Sterling Silver CZ Birthstone Post Earrings- | Mali's Canadian Jewellery
                                                                                                                    $35.56Price
                                                                                                                    Add To Compare
                                                                                                                    14K Solid Gold Initial Paperclip Bracelet - Mali's Canadian Jewellery  Mali's  1  Metal Part: 14K Yellow Gold  - Gold Calligraph14K Solid Gold Initial Paperclip Bracelet - Mali's Canadian Jewellery
                                                                                                                        MERCHANTS
                                                                                                                        4 equal payments with  Klarna <p...
                                                                                                                        $199.56Price
                                                                                                                        Add To Compare
                                                                                                                        14K Solid Gold Initial Paperclip Bracelet - Mali's Canadian Jewellery  Mali's  1  Metal Part: 14K Yellow Gold  - Gold Calligraph14K Solid Gold Initial Paperclip Bracelet - Mali's Canadian Jewellery
                                                                                                                            MERCHANTS
                                                                                                                            4 equal payments with  Klarna <p...
                                                                                                                            $199.56Price
                                                                                                                            Add To Compare
                                                                                                                            Sterling Silver Birthstone Name Bracelet - | Mali's Customized Jewellery  Mali's  1  Metal Part: Sterling Silver  - Silver BirthSterling Silver Birthstone Name Bracelet - | Mali's Customized Jewellery
                                                                                                                                Home
                                                                                                                                4 equal payments with  Klarna ...
                                                                                                                                $57.33Price
                                                                                                                                Add To Compare
                                                                                                                                Sterling Silver Birthstone Name Bracelet - | Mali's Customized Jewellery  Mali's  1  Metal Part: Sterling Silver  - Silver BirthSterling Silver Birthstone Name Bracelet - | Mali's Customized Jewellery
                                                                                                                                    $57.33Price
                                                                                                                                    Add To Compare
                                                                                                                                    Mali's Sterling Silver Paperclip Chain Necklace- Canadian Fine Jewellery  Mali's  1  Metal Part: Sterling Silver  - Mali's SterlMali's Sterling Silver Paperclip Chain Necklace- Canadian Fine Jewellery
                                                                                                                                        Home
                                                                                                                                        4 equal payments with  Klarna ...
                                                                                                                                        $64.59Price
                                                                                                                                        Add To Compare
                                                                                                                                        Mali's Sterling Silver Paperclip Chain Necklace- Canadian Fine Jewellery  Mali's  1  Metal Part: Sterling Silver  - Mali's SterlMali's Sterling Silver Paperclip Chain Necklace- Canadian Fine Jewellery
                                                                                                                                            $64.59Price
                                                                                                                                            Add To Compare
                                                                                                                                            Sterling Silver Zodiac Necklace -| Mali's Canadian Jewellery Mali's 11 Metal Part: Sterling Silver - Round Silver Zodiac Silver Sterling Silver Zodiac Necklace -| Mali's Canadian Jewellery
                                                                                                                                                Home
                                                                                                                                                4 equal payments with  Klarna ...
                                                                                                                                                $71.84Price
                                                                                                                                                Add To Compare
                                                                                                                                                Sterling Silver Zodiac Necklace -| Mali's Canadian Jewellery Mali's 11 Metal Part: Sterling Silver - Round Silver Zodiac Silver Sterling Silver Zodiac Necklace -| Mali's Canadian Jewellery
                                                                                                                                                    $71.84Price
                                                                                                                                                    Add To Compare
                                                                                                                                                    Half Round Sterling Silver Band- | Mali's Canadian Jewellery  Mali's  1  Metal Part: Sterling Silver  - 4mm Sterling Silver weddHalf Round Sterling Silver Band- | Mali's Canadian Jewellery
                                                                                                                                                        Home
                                                                                                                                                        Engravable Sterling silver wedding band  Width: 4 mm Thickness: 2 mm Size 3 - 12.5 Free Engraving Crafted in Canada
                                                                                                                                                        $42.81Price
                                                                                                                                                        Add To Compare
                                                                                                                                                        Half Round Sterling Silver Band- | Mali's Canadian Jewellery  Mali's  1  Metal Part: Sterling Silver  - 4mm Sterling Silver weddHalf Round Sterling Silver Band- | Mali's Canadian Jewellery
                                                                                                                                                            Home
                                                                                                                                                            Engravable Sterling silver wedding band  Width: 4 mm Thickness: 2 mm Size 3 - 12.5 Free Engraving Crafted in Canada
                                                                                                                                                            $42.81Price
                                                                                                                                                            Add To Compare
                                                                                                                                                              Add To Compare
                                                                                                                                                              EngraveName Leather Bracelet- | Mali's Canadian Jewellery  Mali's  1  Metal Part: Stainless Steel  - Engravable Braided Leather EngraveName Leather Bracelet- | Mali's Canadian Jewellery
                                                                                                                                                                  Add To Compare
                                                                                                                                                                  EngraveName Leather Bracelet- | Mali's Canadian Jewellery  Mali's  1  Metal Part: Stainless Steel  - Engravable Braided Leather EngraveName Leather Bracelet- | Mali's Canadian Jewellery
                                                                                                                                                                      MERCHANTS
                                                                                                                                                                      4 equal payments with  <span class="logo" style="font-family:'Klarna...
                                                                                                                                                                      $71.84Price
                                                                                                                                                                      Add To Compare
                                                                                                                                                                      EngraveName Leather Bracelet- | Mali's Canadian Jewellery  Mali's  1  Metal Part: Stainless Steel  - Engravable Braided Leather EngraveName Leather Bracelet- | Mali's Canadian Jewellery
                                                                                                                                                                          MERCHANTS
                                                                                                                                                                          4 equal payments with  <span class="logo" style="font-family:'Klarna...
                                                                                                                                                                          $71.84Price
                                                                                                                                                                          Add To Compare
                                                                                                                                                                            Add To Compare
                                                                                                                                                                            Sterling Silver Oval Locket - | Mali's Fashion Jewelry Mali's 1 Metal Part: Sterling Silver - Engravable Sterling Silver Oval LoSterling Silver Oval Locket - | Mali's Canadian Jewelry
                                                                                                                                                                                Add To Compare
                                                                                                                                                                                Sterling Silver Oval Locket - | Mali's Fashion Jewelry Mali's 1 Metal Part: Sterling Silver - Engravable Sterling Silver Oval LoSterling Silver Oval Locket - | Mali's Canadian Jewelry
                                                                                                                                                                                    Home
                                                                                                                                                                                    4 equal payments with  Klarna ...
                                                                                                                                                                                    $71.84Price
                                                                                                                                                                                    Add To Compare
                                                                                                                                                                                    Sterling Silver Oval Locket - | Mali's Fashion Jewelry Mali's 1 Metal Part: Sterling Silver - Engravable Sterling Silver Oval LoSterling Silver Oval Locket - | Mali's Canadian Jewelry
                                                                                                                                                                                        Home
                                                                                                                                                                                        4 equal payments with  Klarna ...
                                                                                                                                                                                        $71.84Price
                                                                                                                                                                                        Add To Compare
                                                                                                                                                                                          Add To Compare
                                                                                                                                                                                          Birth Flower Stud Earrings- | Mali's Fashion Jewelry  Mali's  9  Metal Part: Sterling Silver  - Birth Month Flower and blossom eBirth Flower Stud Earrings- | Mali's Canadian Jewelry
                                                                                                                                                                                              Add To Compare
                                                                                                                                                                                              Birth Flower Stud Earrings- | Mali's Fashion Jewelry  Mali's  9  Metal Part: Sterling Silver  - Birth Month Flower and blossom eBirth Flower Stud Earrings- | Mali's Canadian Jewelry
                                                                                                                                                                                                  MERCHANTS
                                                                                                                                                                                                  4 equal payments with  Klarna ...
                                                                                                                                                                                                  $35.56Price
                                                                                                                                                                                                  Add To Compare
                                                                                                                                                                                                  Birth Flower Stud Earrings- | Mali's Fashion Jewelry  Mali's  9  Metal Part: Sterling Silver  - Birth Month Flower and blossom eBirth Flower Stud Earrings- | Mali's Canadian Jewelry
                                                                                                                                                                                                      MERCHANTS
                                                                                                                                                                                                      4 equal payments with  Klarna ...
                                                                                                                                                                                                      $35.56Price
                                                                                                                                                                                                      Add To Compare
                                                                                                                                                                                                        Add To Compare
                                                                                                                                                                                                        Personalized Gifts
                                                                                                                                                                                                        $71.84
                                                                                                                                                                                                        Personalized Name Necklace - | Mali's Canadian Jewelry Mali's 1 Metal Part: Gold Vermeil - Personalized Name Necklace - | Mali'sPersonalized  Name Necklace - | Mali's Canadian Jewelry
                                                                                                                                                                                                            Add To Compare
                                                                                                                                                                                                            Personalized Gifts
                                                                                                                                                                                                            $71.84
                                                                                                                                                                                                            Personalized Name Necklace - | Mali's Canadian Jewelry Mali's 1 Metal Part: Gold Vermeil - Personalized Name Necklace - | Mali'sPersonalized  Name Necklace - | Mali's Canadian Jewelry
                                                                                                                                                                                                                Personalized Gifts
                                                                                                                                                                                                                4 equal payments with  <span class="logo" style="font-family:'Klarna...
                                                                                                                                                                                                                $71.84Price
                                                                                                                                                                                                                Add To Compare
                                                                                                                                                                                                                Personalized Name Necklace - | Mali's Canadian Jewelry Mali's 1 Metal Part: Gold Vermeil - Personalized Name Necklace - | Mali'sPersonalized  Name Necklace - | Mali's Canadian Jewelry
                                                                                                                                                                                                                    Personalized Gifts
                                                                                                                                                                                                                    4 equal payments with  <span class="logo" style="font-family:'Klarna...
                                                                                                                                                                                                                    $71.84Price
                                                                                                                                                                                                                    Add To Compare
                                                                                                                                                                                                                      Add To Compare
                                                                                                                                                                                                                      MERCHANTS
                                                                                                                                                                                                                      $86.36
                                                                                                                                                                                                                      Birth Flower Necklace - | Mali's Canadian Jewelry Mali's 1 Metal Part: Sterling Silver - Birth Flower Necklace - Engraved SilverBirth Flower Necklace - | Mali's Canadian Jewelry
                                                                                                                                                                                                                          Add To Compare
                                                                                                                                                                                                                          MERCHANTS
                                                                                                                                                                                                                          $86.36
                                                                                                                                                                                                                          Birth Flower Necklace - | Mali's Canadian Jewelry Mali's 1 Metal Part: Sterling Silver - Birth Flower Necklace - Engraved SilverBirth Flower Necklace - | Mali's Canadian Jewelry
                                                                                                                                                                                                                              MERCHANTS
                                                                                                                                                                                                                              4 equal payments with  Klarna ...
                                                                                                                                                                                                                              $86.36Price
                                                                                                                                                                                                                              Add To Compare
                                                                                                                                                                                                                              Birth Flower Necklace - | Mali's Canadian Jewelry Mali's 1 Metal Part: Sterling Silver - Birth Flower Necklace - Engraved SilverBirth Flower Necklace - | Mali's Canadian Jewelry
                                                                                                                                                                                                                                  MERCHANTS
                                                                                                                                                                                                                                  4 equal payments with  Klarna ...
                                                                                                                                                                                                                                  $86.36Price
                                                                                                                                                                                                                                  Add To Compare
                                                                                                                                                                                                                                  '); } else if (el.find('input[name="captcha_type"]').first().val() == 'v3') { var captchaKey = el.find('input[name="captcha_site_key"]').first().val(); el.prepend(''); } } } function isIE() { ua = navigator.userAgent; /* MSIE used to detect old browsers and Trident used to newer ones*/ var is_ie = ua.indexOf("MSIE ") > -1 || ua.indexOf("Trident/") > -1; return is_ie; } function ets_abancart_mouseleave(event) { var y, _ie = isIE(); if (_ie) { y = event.clientY || event.screenY || event.pageY; } else { y = event.clientY; } if ((y > -5 && !_ie) || (_ie && y > 5)) { return; } ets_abancart_timeout = setTimeout(ets_abancart_leavewebsite, 0); } function ets_abancart_mouseenter() { if (ets_abancart_timeout) { clearTimeout(ets_abancart_timeout); ets_abancart_timeout = null; } } function ets_abancart_keydown(e) { if (ets_abancart_disable_keydown || !e.metaKey || e.keyCode !== 76) { return; } ets_abancart_disable_keydown = true; ets_abancart_timeout = setTimeout(ets_abancart_leavewebsite, ets_abancart_delay); } //display a success/error/notice message function showSuccessMessage(msg) { $.growl.notice({title: "", message: msg}); } function showErrorMessage(msg) { $.growl.error({title: "", message: msg}); } /*----------END LEAVE WEBSITE----------*/ var ets_ab_fn = { init: function () { if (typeof ETSFavico !== "undefined") { window.favicon = new ETSFavico({ animation: 'popFade', bgColor: ETS_ABANCART_BACKGROUND_COLOR, textColor: ETS_ABANCART_TEXT_COLOR, }); ets_ab_fn.loadAjax(true); } ets_ab_fn.initCampaign(); ets_ab_fn.saveCart(); }, initCampaign: function () { if (ETS_ABANCART_CAMPAIGNS) { ETS_ABANCART_CAMPAIGNS.forEach(function (item) { ets_ab_fn.setCampaign(item); }); } if (ETS_ABANCART_COOKIE_CAMPAIGNS) { ETS_ABANCART_COOKIE_CAMPAIGNS.forEach(function (item) { ets_ab_fn.setCampaignCookie(item); }); } }, clearTimeout: function (id, isRemove) { if (typeof ETS_ABANCART_QUEUE[id] !== "undefined") { clearTimeout(ETS_ABANCART_QUEUE[id]); if (isRemove) delete ETS_ABANCART_QUEUE[id]; } }, setCampaign: function (item) { ets_ab_fn.clearTimeout(item.id_ets_abancart_reminder); ETS_ABANCART_QUEUE[item.id_ets_abancart_reminder] = setTimeout( function () { ets_ab_fn.request(parseInt(item.id_ets_abancart_reminder), item.campaign_type); } , parseInt((parseFloat(item.lifetime) > 0 ? parseFloat(item.lifetime) * 1000 : 0)) ); }, setCampaignCookie: function (item) { ets_ab_fn.clearTimeout(item.id_ets_abancart_reminder); var timeOut = 0; if (typeof item.lifetime !== "undefined" || parseFloat(item.redisplay) >= 0) { if (typeof item.lifetime !== "undefined") { timeOut = item.lifetime * 1000; } else { timeOut = parseFloat(item.redisplay) > 0 ? parseFloat(item.redisplay) * 1000 : 0; } ETS_ABANCART_QUEUE[item.id_ets_abancart_reminder] = setTimeout( function () { ets_ab_fn.request(parseInt(item.id_ets_abancart_reminder), item.type); } , timeOut ); } }, mergeCampaign: function (reminder, campaigns, action, isCookie) { var flag = 0; if (campaigns.length > 0) { campaigns.forEach(function (item) { if (isCookie) { if (item.length > 0) { item.forEach(function (rem) { if (parseInt(rem.id_ets_abancart_reminder) === parseInt(reminder.id_ets_abancart_reminder)) { flag = 1; return true; } }); } } else { if (parseInt(item.id_ets_abancart_reminder) === parseInt(reminder.id_ets_abancart_reminder)) { flag = 1; } } if (flag > 0) return true; }); } if (flag < 1) { switch (action) { case 'add': if (isCookie) ets_ab_fn.setCampaignCookie(reminder); else ets_ab_fn.setCampaign(reminder); break; case 'delete': ets_ab_fn.removeCampaign(reminder); break; } } }, restCampaigns: function (campaigns) { if (ETS_ABANCART_CAMPAIGNS.length > 0) { ETS_ABANCART_CAMPAIGNS.forEach(function (item) { ets_ab_fn.mergeCampaign(item, campaigns, 'delete'); }) } if (campaigns.length > 0) { campaigns.forEach(function (item) { ets_ab_fn.mergeCampaign(item, ETS_ABANCART_CAMPAIGNS, 'add'); }); } }, restCookieCampaigns: function (campaigns) { if (ETS_ABANCART_COOKIE_CAMPAIGNS.length > 0) { ETS_ABANCART_COOKIE_CAMPAIGNS.forEach(function (item) { ets_ab_fn.mergeCampaign(item, campaigns, 'delete', true); }); } if (campaigns.length > 0) { campaigns.forEach(function (item) { if (item.length > 0) { item.forEach(function (rem) { ets_ab_fn.mergeCampaign(rem, ETS_ABANCART_COOKIE_CAMPAIGNS, 'add'); }); } }); } }, removeCampaign: function (id) { ets_ab_fn.clearTimeout(id, true); delete ETS_ABANCART_REQUEST[id]; }, ajaxState: function () { var flag = 0, first = 0, requestQueue = Object.keys(ETS_ABANCART_REQUEST); if (requestQueue.length > 0) { requestQueue.forEach(function (key) { if (parseInt(first) <= 0) first = ETS_ABANCART_REQUEST[key].id; if (ETS_ABANCART_REQUEST[key].state > 0) { flag = 1; return true; } }); } return flag <= 0 ? first : 0; }, request: function (id, campaign_type) { if (ETS_ABANCART_LINK_AJAX && parseInt(id) > 0) { ETS_ABANCART_REQUEST[id] = { type: 'post', url: ETS_ABANCART_LINK_AJAX, dataType: 'json', data: 'renderDisplay&id_ets_abancart_reminder=' + id + '&campaign_type=' + campaign_type, state: 0, id: id }; var nextId = ets_ab_fn.ajaxState(); if (parseInt(nextId) > 0) ets_ab_fn.doRequestAjax(id); } }, doRequestAjax: function (id) { var request = ETS_ABANCART_REQUEST[id]; request.state = 1; request.success = function (json) { delete ETS_ABANCART_REQUEST[id]; if (json) { if (json.campaigns) ets_ab_fn.restCampaigns(json.campaigns); if (json.cookies) ets_ab_fn.restCookieCampaigns(json.cookies); if (json.redisplay < 0 && json.id_ets_abancart_reminder > 0) { ets_ab_fn.removeCampaign(json.id_ets_abancart_reminder); } else { switch (json.type) { case 'popup': ets_ab_fn.popup(json, id); break; case 'bar': ets_ab_fn.bar(json, id); break; case 'browser': ets_ab_fn.browser(json, id); break; } } } } $.ajax(request); }, views: function (id, json, group_class) { if (id && json) { // FIRST: var overloadEl = '.ets_abancart_' + json.type + '_overload'; if ($('.ets_abancart_' + json.type + '_overload').length <= 0) { $('body').prepend('
                                                                                                                                                                                                                                  '); } // NEXT: var _container = $('body .ets_abancart_' + json.type + '_overload'); _container .attr({'data-id': id, 'data-type': json.type}) .addClass('active') .find('.ets_abancart_wrapper') .html('
                                                                                                                                                                                                                                  ' + json.html + '
                                                                                                                                                                                                                                  ') .prepend((json.type === 'popup' ? '

                                                                                                                                                                                                                                  ' + json.title + '

                                                                                                                                                                                                                                  ' : '')) ; /*---HIGHLIGHT BAR---*/ if (json.type !== 'popup') { _container.attr('style', 'background-color: ' + json.background_color + '; color: ' + json.text_color); } var selectorContainer = _container.find('.ets_abancart_container'); if (json.type === 'bar') { selectorContainer = _container.find('.ets_abancart_width'); } selectorContainer.css('margin', '0 auto'); if (json.popup_width) selectorContainer.css('width', json.popup_width + 'px'); if (json.popup_height) { selectorContainer.css('height', json.popup_height + 'px'); selectorContainer.css('min-height', json.popup_height + 'px'); } if (json.border_radius) selectorContainer.css('border-radius', json.border_radius + 'px'); if (json.border_width) { selectorContainer.css('border-width', json.border_width + 'px'); selectorContainer.css('border-style', 'solid'); } if (json.border_color) selectorContainer.css('border-color', json.border_color); if (json.close_btn_color) { _container.find('.ets_abancart_close').find('style').remove(); _container.find('.ets_abancart_close').append(''); } if (json.vertical_align) { $(overloadEl + ' .ets-ac-popup-body p, ' + overloadEl + ' .ets-ac-popup-body a,' + overloadEl + ' .ets-ac-popup-body div:not(.ets_abancart_product_list_table)').css('text-align', 'inherit'); $(overloadEl + ' .ets-ac-popup-body').css('text-align', json.vertical_align); } if (json.font_size) { $('' + overloadEl + ' .ets-ac-popup-body,' + overloadEl + ' .ets-ac-popup-body p, ' + overloadEl + ' .ets-ac-popup-body a,' + overloadEl + ' .ets-ac-popup-body div').css('font-size', json.font_size + 'px'); } if (json.padding) { if (json.popup_width) { if (json.type === 'bar') { selectorContainer.css('padding', json.padding + 'px'); } else $('' + overloadEl + ' .ets-ac-popup-body').css('padding', json.padding + 'px'); } } if (json.overlay_bg) { var color = json.overlay_bg; if (json.overlay_bg_opacity) { var rgbColor = etsAcHexToRgb(json.overlay_bg); color = 'rgba(' + rgbColor.r + ',' + rgbColor.g + ',' + rgbColor.b + ',' + json.overlay_bg_opacity + ')'; } $('.ets_abancart_popup_overload').css('background-color', color); } ets_ab_fn.countdown(); ets_ab_fn.countdown2(); if ($('.ets_ac_datepicker').length) { $('.ets_ac_datepicker').removeClass('hasDatepicker'); $('.ets_ac_datepicker').datepicker({dateFormat: 'yy-mm-dd'}); } if ($('.ets_ac_datetimepicker').length) { $('.ets_ac_datetimepicker').removeClass('hasDatepicker'); $('.ets_ac_datetimepicker').datetimepicker({ prevText: '', nextText: '', dateFormat: 'yy-mm-dd', currentText: 'Now', closeText: 'Done', ampm: false, amNames: ['AM', 'A'], pmNames: ['PM', 'P'], timeFormat: 'hh:mm:ss tt', formatTime: 'hh:mm:ss tt', timeSuffix: '', timeOnlyTitle: 'Choose Time', timeText: 'Time', hourText: 'Hour', minuteText: 'Minute', }); } etsAcOnLoadRecaptcha(); } }, popup: function (json, id) { ets_ab_fn.views(id, json, 'ets_abancart_popup'); }, bar: function (json, id) { ets_ab_fn.views(id, json, ''); }, browser: function (json, id) { if (json && id) { var notification; if (!("Notification" in window)) { //alert("This browser does not support desktop notification 1"); } else if (Notification.permission === "granted") { ets_ab_fn.setNotification(notification, json, id); } else if (Notification.permission !== "denied" && ETS_ABANCART_HAS_BROWSER) { Notification.requestPermission().then(function (permission) { if (permission === "granted") { ets_ab_fn.setNotification(notification, json, id); } }); } } }, setNotification: function (notification, json, id) { // New notification. notification = new Notification(json.title, {icon: json.icon, body: json.html}); // Event click. notification.onclick = function () { if (typeof json.code !== "undefined" && json.code) { $.ajax({ type: 'post', url: ETS_ABANCART_LINK_AJAX, dataType: 'json', data: 'add_cart_rule&discount_code=' + json.code, success: function (json) { if (json) { if (json.errors) { showErrorMessage(json.errors) } else { window.location.href = json.link_checkout; } } }, }); } }; // Event close. notification.onclose = function () { if (id) { $.ajax({ type: 'post', url: ETS_ABANCART_LINK_AJAX, dataType: 'json', data: 'type=browser&redisplay=1&id=' + id, }); } }; }, close: function (type, json) { $('body .ets_abancart_' + type + '_overload.active').remove(); if (parseFloat(json.redisplay) > 0) { ETS_ABANCART_QUEUE[json.id_ets_abancart_reminder] = setTimeout(function () { ets_ab_fn.request(json.id_ets_abancart_reminder, type); }, parseFloat(json.redisplay) * 1000); } }, countdown: function () { var clock = $('.ets_abancart_count_down_clock'); var style = clock.attr('data-style') || ''; if (clock.length > 0) { clock.countdown(parseInt(clock.data('date')) * 1000).on('update.countdown', function (event) { $(this).html(event.strftime('' + (event.offset.weeks > 0 ? '%-w week%!w ' : '') + (event.offset.days > 0 ? '%-d day%!d ' : '') + '%H hr ' + '%M min ' + '%S sec ')); }); } }, countdown2: function () { var clock = $('.ets_ac_evt_countdown2'); var style = clock.attr('data-style') || ''; if (clock.length > 0) { clock.countdown(parseInt(clock.data('date')) * 1000).on('update.countdown', function (event) { $(this).html(event.strftime('' + (event.offset.weeks > 0 ? '%-w week%!w ' : '') + (event.offset.days > 0 ? '%-d day%!d ' : '') + '%H hr ' + '%M min ' + '%S sec ')); }); } }, saveCart: function () { if ((ETS_ABANCART_LIFE_TIME >= 0 || $('#ets_abancart_cart_save.active').length > 0) && ETS_ABANCART_LINK_SHOPPING_CART) { setTimeout(function () { $.ajax({ type: 'POST', dataType: 'json', url: ETS_ABANCART_LINK_SHOPPING_CART, data: 'init', success: function (json) { $('#ets_abancart_cart_save.active').removeClass('active'); if (json) { if ($('body .ets_abancart_shopping_cart_overload').length <= 0) { $('body').prepend('
                                                                                                                                                                                                                                  '); } if (json.html) $('body .ets_abancart_shopping_cart_overload').addClass('active').find('.ets_abancart_wrapper').html(json.html); } }, error: function () { $('#ets_abancart_cart_save.active').removeClass('active'); } }); }, $('#ets_abancart_cart_save.active').length > 0 ? 0 : ETS_ABANCART_LIFE_TIME * 1000); } }, exitPopupSaveCart: function (notReDisplay) { var notReDisplay = notReDisplay || true; $('.ets_abancart_shopping_cart_overload.active').removeClass('active'); if (notReDisplay && ETS_ABANCART_LINK_SHOPPING_CART) { $('#save_cart_form .bootstrap').remove(); $.ajax({ type: 'post', url: ETS_ABANCART_LINK_SHOPPING_CART, dataType: 'json', data: 'ajax=1&offCart', success: function () { }, error: function () { } }); } }, exitPopupCart: function () { $('.ets_abancart_display_shopping_cart_overload.active').removeClass('active'); }, loadAjax: function (initialized) { if (typeof ETS_ABANCART_BROWSER_TAB_ENABLED === "undefined" || !ETS_ABANCART_BROWSER_TAB_ENABLED) return; if (initialized) { favicon.badge(parseInt(ETS_ABANCART_PRODUCT_TOTAL)); } else if (ETS_ABANCART_LINK_AJAX && typeof favicon !== "undefined") { $.ajax({ type: 'POST', dataType: 'JSON', url: ETS_ABANCART_LINK_AJAX, data: 'favicon&ajax=1', success: function (json) { if (json) { favicon.badge(parseInt(json.product_total)); } } }); } }, exitPopupLeave: function () { $('.ets_abancart_leave_website_overload.active').removeClass('active'); $('.ets_abancart_leave_website_overload .ets_abancart_wrapper.active').remove(); }, copyToClipboard: function (el) { var $temp = $(""); $("body").append($temp); $temp.val(el.text().trim()).select(); document.execCommand("copy"); $temp.remove(); showSuccessMessage(ETS_ABANCART_COPIED_MESSAGE); setTimeout(function () { el.removeClass('copy'); }, 300); }, }; $(document).ready(function () { if ($('.ets_ac_datepicker').length) { $('.ets_ac_datepicker').datepicker({dateFormat: 'yy-mm-dd'}); } if ($('.ets_ac_datetimepicker').length) { $('.ets_ac_datetimepicker').datetimepicker({ prevText: '', nextText: '', dateFormat: 'yy-mm-dd', currentText: 'Now', closeText: 'Done', ampm: false, amNames: ['AM', 'A'], pmNames: ['PM', 'P'], timeFormat: 'hh:mm:ss tt', formatTime: 'hh:mm:ss tt', timeSuffix: '', timeOnlyTitle: 'Choose Time', timeText: 'Time', hourText: 'Hour', minuteText: 'Minute', }); } if ($('.ets_speed_dynamic_hook').length < 1) { ets_ab_fn.init(); } $(document).on("hooksLoaded", function () { Object.keys(ETS_ABANCART_QUEUE).forEach(function (i) { clearTimeout(ETS_ABANCART_QUEUE[i]); delete ETS_ABANCART_QUEUE[i]; }); ets_ab_fn.init(); }); /*---favicon---*/ $(document).ajaxComplete(function (event, xhr, settings) { if (typeof settings.data !== "undefined" && (settings.data.toString().match(/(qty=\d+)/i) && settings.data.toString().match(/(add=\d+)/i) || settings.url.match(/(id_product=\d+)/i) && settings.url.match(/(update=\d+)/i) || settings.url.match(/(id_product=\d+)/i) && settings.url.match(/(delete=\d+)/i))) { ets_ab_fn.loadAjax(false); } var nextId = ets_ab_fn.ajaxState(); if (parseInt(nextId) > 0) ets_ab_fn.doRequestAjax(nextId); }); /*---end favicon---*/ $(document).on('click', '.ets_abancart_box .ets_abancart_box_discount', function (ev) { ev.preventDefault(); ets_ab_fn.copyToClipboard($(this)); }); $(document).on('click', '.ets_abancart_leave_website_overload .ets_abancart_close', function (ev) { ev.preventDefault(); ets_ab_fn.exitPopupLeave(); var btn = $(this); if (!btn.hasClass('active') && ETS_ABANCART_LINK_AJAX) { $.ajax({ type: 'post', url: ETS_ABANCART_LINK_AJAX, dataType: 'json', data: 'leave_closed', success: function (json) { btn.removeClass('active'); }, }); } }); $(document).on('click', '.ets_abancart_shopping_cart_overload .ets_abancart_create_account', function (ev) { ev.preventDefault(); if ($('#id_customer').length > 0 && parseInt($('#id_customer').val()) <= 0) { $('.ets_abancart_form_login').fadeOut(); $('.ets_abancart_form_create').fadeIn(); } }); $(document).on('click', '.ets_abancart_view_shopping_cart', function (ev) { ev.preventDefault(); var btn = $(this); if (!btn.hasClass('active') && btn.attr('href') != '') { btn.addClass('active'); $.ajax({ type: 'POST', url: btn.attr('href'), dataType: 'json', data: 'ajax=1', success: function (json) { btn.removeClass('active'); if (json) { if ($('body .ets_abancart_display_shopping_cart_overload').length <= 0) { $('body').prepend('
                                                                                                                                                                                                                                  '); } $('body .ets_abancart_display_shopping_cart_overload').addClass('active').find('.ets_abancart_wrapper').html(json.html); } }, error: function () { btn.removeClass('active'); } }); } }); $(document).on('click', '.ets_abancart_display_shopping_cart_overload .ets_abancart_close, .ets_abancart_display_shopping_cart_overload .ets_abancart_cancel', function (ev) { ev.preventDefault(); ets_ab_fn.exitPopupCart(); }); $(document).on('click', '.ets_abancart_load_this_cart', function (ev) { ev.preventDefault(); var btn = $(this); if (!btn.hasClass('active') && btn.attr('href') != '') { btn.addClass('active'); $.ajax({ type: 'POST', url: btn.attr('href'), dataType: 'json', data: 'ajax=1', success: function (json) { btn.removeClass('active'); if (json) { if (json.errors) $('body .ets_abancart_display_shopping_cart_overload').prepend(json.errors); else window.location.href = json.link_checkout; } }, error: function () { btn.removeClass('active'); } }); } }); $(document).on('click', '.ets_abancart_shopping_cart_overload .ets_abancart_close', function (ev) { ev.preventDefault(); ets_ab_fn.exitPopupSaveCart(); }); $(document).on('click', '.ets_abancart_shopping_cart_overload button[id=submit_cart]', function (ev) { ev.preventDefault(); var btn = $(this), form = $('#save_cart_form'); btn.parents('form#save_cart_form').find('input.cart_name').removeClass('error'); if (!btn.hasClass('active') && form.attr('action')) { btn.addClass('active'); var formData = new FormData(form.get(0)); formData.append('ajax', 1); $('#save_cart_form .bootstrap').remove(); $.ajax({ type: 'post', url: form.attr('action'), dataType: 'json', data: formData, processData: false, contentType: false, success: function (json) { btn.removeClass('active'); if (json) { if (json.not_logged && parseInt($('#id_customer').val()) <= 0) { $('.ets_abancart_form_login').fadeIn(); $('.ets_abancart_form_save_cart').fadeOut(); } else if (json.errors) { form.prepend(json.errors); btn.parents('form#save_cart_form').find('input#cart_name').addClass('error').focus(); } else { if (json.msg) showSuccessMessage(json.msg); $('#ets_abancart_cart_save').remove(); ets_ab_fn.exitPopupSaveCart(false); } } }, error: function () { btn.removeClass('active'); } }); } }); $(document).on('change', 'input#cart_name', function (e) { if ($(this).val() != '') { $(this).removeClass('error'); } else { $(this).addClass('error'); } }); $(document).on('click', '.ets_abancart_shopping_cart_overload button[name=submitLogin]', function (ev) { ev.preventDefault(); var btn = $(this), form = $('#login_form'); if (!btn.hasClass('active') && form.attr('action')) { btn.addClass('active'); var formData = new FormData(form.get(0)); formData.append('cart_name', $('#cart_name').val()); formData.append('ajax', 1); $('#login_form .bootstrap').remove(); $.ajax({ type: 'post', url: form.attr('action'), dataType: 'json', data: formData, processData: false, contentType: false, success: function (json) { btn.removeClass('active'); if (json) { if (json.errors) form.prepend(json.errors); else window.location.reload(); } }, error: function () { btn.removeClass('active'); } }); } }); $(document).on('click', '.ets_abancart_shopping_cart_overload button[name=submitCreate]', function (ev) { ev.preventDefault(); var btn = $(this), form = $('#create_form'); if (!btn.hasClass('active') && form.attr('action')) { btn.addClass('active'); var formData = new FormData(form.get(0)); formData.append('cart_name', $('#cart_name').val()); formData.append('ajax', 1); $('#login_form .bootstrap').remove(); $.ajax({ type: 'post', url: form.attr('action'), dataType: 'json', data: formData, processData: false, contentType: false, success: function (json) { btn.removeClass('active'); if (json) { if (json.errors) form.prepend(json.errors); else window.location.reload(); } }, error: function () { btn.removeClass('active'); window.location.reload(); } }); } }); $(document).on('click', '#ets_abancart_cart_save', function (ev) { ev.preventDefault(); if (!$(this).hasClass('active')) { $(this).addClass('active'); ets_ab_fn.saveCart(); } }); $(document).on('click', '.ets_abancart_close:not(.leave), .ets_abancart_no_thanks', function (ev) { ev.preventDefault(); var btn = $(this), overload = btn.parents('.ets_abancart_overload'), id = overload.attr('data-id'), type = overload.attr('data-type'); $('body .ets_abancart_' + type + '_overload.active').remove(); if (!btn.hasClass('active') && ETS_ABANCART_LINK_AJAX && id) { $.ajax({ type: 'post', url: ETS_ABANCART_LINK_AJAX, dataType: 'json', data: 'type=' + type + '&redisplay=1&id=' + id + (btn.hasClass('ets_abancart_no_thanks') ? '&closed=1' : ''), success: function (json) { if (json) { ets_ab_fn.close(type, json); } } }); } }); $(document).on('click', '.ets_abancart_leave_website_overload .ets_abancart_no_thanks', function (ev) { ev.preventDefault(); var btn = $(this), overload = btn.parents('.ets_abancart_overload'); overload.remove(); if (!btn.hasClass('active') && ETS_ABANCART_LINK_AJAX) { btn.addClass('active'); $.ajax({ type: 'post', url: ETS_ABANCART_LINK_AJAX, dataType: 'json', data: 'offLeave', success: function (json) { btn.removeClass('active'); if (json) { } }, error: function () { btn.removeClass('active'); } }); } }); $(document).on('click', '.ets_abancart_overload .ets_abancart_add_discount', function (ev) { ev.preventDefault(); var btn = $(this), overload = btn.parents('.ets_abancart_overload'), discount_code = btn.data('code'); if (!btn.hasClass('active') && ETS_ABANCART_LINK_AJAX) { $.ajax({ type: 'post', url: ETS_ABANCART_LINK_AJAX, dataType: 'json', data: 'add_cart_rule&discount_code=' + discount_code, success: function (json) { if (json) { if (json.errors) { //overload.prepend(json.errors); showErrorMessage(json.errors); } else window.location.href = json.link_checkout; } } }); } }); $(document).keyup(function (e) { if (e.keyCode === 27) { ets_ab_fn.exitPopupCart(); ets_ab_fn.exitPopupSaveCart(); } }); $(document).mouseup(function (e) { var displayShoppingCart = $('.ets_abancart_display_shopping_cart_overload.active .ets_abancart_container'), displayCartSave = $('.ets_abancart_shopping_cart_overload.active .ets_abancart_shopping_cart'); if (displayShoppingCart.length > 0 && !displayShoppingCart.is(e.target) && displayShoppingCart.has(e.target).length === 0) { ets_ab_fn.exitPopupCart(); } if (displayCartSave.length > 0 && !displayCartSave.is(e.target) && displayCartSave.has(e.target).length === 0) { ets_ab_fn.exitPopupSaveCart(); } }); $(document).on('click', '.ets_abancart_delete_cart, .ets_abancart_delete', function (ev) { var btn = $(this); if (!confirm(btn.data('confirm'))) { ev.preventDefault(); } }); $(document).on('click', '.js-ets-ac-btn-submit-lead-form', function (e) { var $this = $(this); if ($this.hasClass('loading')) { return false; } if ($this.closest('form').find('.ets_ac_captchav2').length && typeof grecaptcha !== 'undefined') { if (!grecaptcha.getResponse()) { $this.closest('.ets-ac-lead-form-field-shortcode').find('.form-errors').html('
                                                                                                                                                                                                                                  '); return false; } } var formData = new FormData(); var inputDatas = $this.closest('form').serializeArray(); $.each(inputDatas, function (i, el) { if ($this.closest('form').find('[name="' + el.name + '"]').attr('type') == 'file') { var fileItem = $this.closest('form').find('[name=' + el.name + ']')[0].files; if (fileItem.length) { formData.append(el.name, fileItem[0]); } } else { formData.append(el.name, el.value); } }); $this.closest('form').find('input[type=file]').each(function () { var fileItem = $(this)[0].files; if (fileItem.length) { formData.append($(this).attr('name'), fileItem[0]); } }); formData.append('submitEtsAcLeadForm', 1); $.ajax({ url: ETS_AC_LINK_SUBMIT_LEAD_FORM + (ETS_AC_LINK_SUBMIT_LEAD_FORM.indexOf('?') !== -1 ? '&ajax=1' : '?ajax=1'), type: 'POST', dataType: 'json', data: formData, processData: false, contentType: false, dataType: 'json', beforeSend: function () { $this.addClass('loading'); $this.prop('disabled', true); }, success: function (res) { if (res.success) { if (res.display_thankyou_page) { $this.closest('.ets_abancart_wrapper').html(res.thankyou); if ($('.ets_abancart_popup_overload .ets_abancart_close').length) { $('.ets_abancart_popup_overload .ets_abancart_close').addClass('thankyou-page'); } } else { $this.closest('.ets-ac-lead-form-field-shortcode').html('
                                                                                                                                                                                                                                  ' + res.message + '
                                                                                                                                                                                                                                  '); } } else { var msg = ''; $.each(res.message, function (i, el) { msg += '
                                                                                                                                                                                                                                • ' + el + '
                                                                                                                                                                                                                                • '; }); $this.closest('.ets-ac-lead-form-field-shortcode').find('.form-errors').html('
                                                                                                                                                                                                                                  '); } }, complete: function () { $this.removeClass('loading'); $this.prop('disabled', false); } }); return false; }); $(document).on('click', '.ets-ac-btn-submit-lead-form ', function () { var $this = $(this); if ($this.closest('form').find('.ets_ac_captchav2').length && typeof grecaptcha !== 'undefined') { if (!grecaptcha.getResponse()) { $this.closest('form').find('.ets_ac_captchav2').parent().find('.form-error-item').remove(); $this.closest('form').find('.ets_ac_captchav2').after('

                                                                                                                                                                                                                                  ' + ETS_AC_TRANS.captchv2_invalid + '

                                                                                                                                                                                                                                  '); return false; } } }); $(document).mouseleave(function () { setTimeout(ets_abancart_leavewebsite, 0) }); }); function etsAcHexToRgb(hex) { // Expand shorthand form (e.g. "03F") to full form (e.g. "0033FF") var shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i; hex = hex.replace(shorthandRegex, function (m, r, g, b) { return r + r + g + g + b + b; }); var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex); return result ? { r: parseInt(result[1], 16), g: parseInt(result[2], 16), b: parseInt(result[3], 16) } : null; }
                                                                                                                                                                                                                                  ", "gi"), ''); next_head = next_head.replace(new RegExp("", "gi"), ''); next_head = next_head.replace(new RegExp("", "gi"), ''); return next_head; }, updateUrlHead: function(updateAll, i) { tv_log('updateUrlHead'); if (!this.isBlocklayeredActiv) { $('head').find('title').remove(); $('head').find('meta').remove(); } if (updateAll) { if (!this.isBlocklayeredActiv) { if (this.pushStateAvailable) { window.history.pushState({ tvcmsinfinitescroll: 1 }, '', this.ajaxUrl); } $('head').prepend(this.next_head); } else { if (this.pushStateAvailable) { window.history.pushState({ tvcmsinfinitescroll: 1 }, '', this.ajaxUrl); } this.busy = true; } if ('object' == typeof _gaq) _gaq.push(['_trackPageview', this.ajaxUrl]); } else { if (this.pushStateAvailable) { window.history.pushState({ tvcmsinfinitescroll: 1 }, '', this.offset_pages[i].url); } if (typeof this.offset_pages[i].head == 'object') $('head').prepend(this.offset_pages[i].head.html()); else $('head').prepend(this.offset_pages[i].head); } }, determineURL: function() { tv_log('determineURL'); var location = window.location.href; var current = -1; for (var i = this.offset_pages.length - 1; i >= 0; i--) { if ($(window).scrollTop() <= this.offset_pages[i].offset) current = i; } if (current > -1 && location != this.offset_pages[current].url && location != this.offset_pages[current].url + '#') this.updateUrlHead(false, current); customImgLazyLoad(); }, getAjaxUrlFromPagination: function() { var url = $(this.pagination_wrapper + ' ' + this.next_button + ':not(.disabled)').attr('href'); if (url !== '' && url !== window.location.href) { this.ajaxUrl = url; this.offset = $(this.product_wrapper + ' ' + this.product_elem + ':last').offset(); } else { this.ajaxUrl = false; this.offset = false; } tv_log('getAjaxUrlFromPagination ajaxUrl: ' + this.ajaxUrl); tv_log(this.offset); }, getUrlParamPage: function() { var currentUrl = window.location.href; var p = 1; if (this.has_facetedSearch) { var page = currentUrl.substring(currentUrl.indexOf('?') + 1, currentUrl.length); var page_split = page.split('&'); for (var i = 0; i < page_split.length; i++) { if (page_split[i].indexOf('page=') != -1) { p = page_split[i].substring(5, page_split[i].length); } } } else if (!this.isBlocklayeredActiv) { var page = currentUrl.substring(currentUrl.indexOf('?') + 1, currentUrl.length); var page_split = page.split('&'); for (var i = 0; i < page_split.length; i++) { if (page_split[i].indexOf('p=') != -1) { p = page_split[i].substring(2, page_split[i].length); } } } else { var page = currentUrl.substring(currentUrl.indexOf('#/') + 2, currentUrl.length); var page_split = page.split('/'); for (var i = 0; i < page_split.length; i++) { if (page_split[i].indexOf('page-') != -1) { p = page_split[i].substring(5, currentUrl.length); } } } tv_log('getUrlParamPage: ' + p); return parseInt(p); }, makeUrlWithPage: function(p) { var the_url = ''; var baseUrl = ''; var paramsUrl = ''; var currentUrl = window.location.href; if (this.has_facetedSearch) { baseUrl = currentUrl.substring(0, currentUrl.indexOf('?')); paramsUrl = currentUrl.substring(currentUrl.indexOf('?') + 1, currentUrl.length); var paramsSplit = paramsUrl.split('&'); paramsUrl = ''; for (var i = 0; i < paramsSplit.length; i++) { if (paramsSplit[i].indexOf('page=') != -1) { if (p > 1) { if (paramsUrl !== '') { paramsUrl += '&'; } paramsUrl += 'page=' + p; } } else { if (paramsUrl !== '') { paramsUrl += '&'; } paramsUrl += paramsSplit[i]; } } the_url = baseUrl; if (paramsUrl !== '') { the_url += '?' + paramsUrl; } } else if (!this.isBlocklayeredActiv) { baseUrl = window.location.href.substring(0, window.location.href.indexOf('?')); paramsUrl = currentUrl.substring(currentUrl.indexOf('?') + 1, currentUrl.length); var paramsSplit = paramsUrl.split('&'); paramsUrl = ''; for (var i = 0; i < paramsSplit.length; i++) { if (paramsSplit[i].indexOf('p=') != -1) { if (p > 1) { if (paramsUrl !== '') { paramsUrl += '&'; } paramsUrl += 'p=' + p; } } else { if (paramsUrl !== '') { paramsUrl += '&'; } paramsUrl += paramsSplit[i]; } } the_url = baseUrl; if (paramsUrl !== '') { the_url += '?' + paramsUrl; } } else { baseUrl = window.location.href.substring(0, window.location.href.indexOf('#/')); paramsUrl = currentUrl.substring(currentUrl.indexOf('#/') + 2, currentUrl.length); var paramsSplit = paramsUrl.split('/'); paramsUrl = ''; for (var i = 0; i < paramsSplit.length; i++) { if (paramsSplit[i].indexOf('page-') != -1) { if (paramsUrl !== '') { if (i > 0) { paramsUrl += '/'; } paramsUrl += 'page-' + p; } } else { if (paramsUrl !== '') { paramsUrl += '/'; } paramsUrl += paramsSplit[i]; } } the_url = baseUrl; if (paramsUrl !== '') { the_url += '#/' + paramsUrl; } } tv_log('makeUrlWithPage (i = ' + p + '): ' + the_url); return the_url; }, reassign_offset: function() { this.offset = $(this.product_wrapper + ':visible ' + this.product_elem + ':last').offset(); if (this.offset_pages.length === 0) { return; } for (var i = 0; i < this.offset_pages.length; i++) { if ($(this.product_wrapper + ' ' + '.tv-last-' + i).length > 0) { this.offset_pages[i].offset = $(this.product_wrapper + ' ' + '.tv-last-' + i).offset().top + $(this.product_wrapper + ' ' + this.product_elem + ':last').height() - $(window).height(); } } tv_log('reassign_offset done'); }, redefineOffset: function() { var self = this; if (this.offset) { this.timerOffset = setInterval(function() { var lastOffsetTop = self.offset.top; tv_log('lastOffsetTop : ' + lastOffsetTop); tv_log('redefineOffset'); self.reassign_offset(); var new_lastOffsetTop = self.offset.top; tv_log('new_lastOffsetTop : ' + new_lastOffsetTop); if (new_lastOffsetTop == lastOffsetTop) { clearInterval(self.timerOffset); } }, 400); } customImgLazyLoad();}, stopActivity: function() { if (this.ajax_request) this.ajax_request.abort(); this.busy = false; this.products = false; this.offset_pages = []; this.current_page = 1; this.loader.fadeOut('fast'); this.button.fadeOut('fast'); this.back_top_button.fadeOut('fast'); tv_log('stopActivity'); }, bindPopstate: function() { var self = this; $(window).on('popstate', function(event) { tv_log('popstate'); var state = event.originalEvent.state; if (state !== null && state.tvcmsinfinitescroll && !self.isBlocklayeredActiv) { window.location = document.location.pathname; } }); }, newXHR: function() { var self = TvcmsInfiniteScroll; var realXHR = new oldXHR(); realXHR.addEventListener("load", function(event) { var req_xhr = event.target; var xhr_response_header = req_xhr.getResponseHeader("content-type") || ""; if (req_xhr.readyState == 4 && req_xhr.status == 200) { if (xhr_response_header && xhr_response_header == 'application/json') { var json = JSON.parse(req_xhr.responseText); if (json.rendered_facets !== undefined) { tv_log('bind xhr request. Stop activity'); setTimeout(function() { self.init(); }, 25); } } } }, false); realXHR.addEventListener("send", function(event) { tv_log('send'); }); return realXHR; }, init_blocklayered: function() { var self = this; tv_log('init_blocklayered'); if (!self.isBlocklayeredActiv) { self.stopActivity(); } self.busy = false; $(self.pagination_wrapper).hide(); var $first = $(self.product_wrapper + ' ' + self.product_elem + ':first'); var currentUrl = window.location.href; var currentBaseUrl = currentUrl.substring(0, currentUrl.indexOf('#/')); var currentLayeredUrl = currentUrl.substring(currentUrl.indexOf('#/'), currentUrl.length); if (currentLayeredUrl == '#/' || !currentLayeredUrl) { if (self.pushStateAvailable) { window.history.pushState({ tvcmsinfinitescroll: 1 }, '', currentUrl.replace('#/', '')); } self.init(); return false; } if (self.current_page && self.layeredProducts && currentUrl.indexOf('/page-') != -1 && (self.current_page + 1) == self.getUrlParamPage()) { self.busy = true; $(self.product_wrapper).prepend(self.layeredProducts); $('html,body').stop().animate({ scrollTop: $first.offset().top }, 400); setTimeout(function() { self.busy = false; }, 450); } self.layeredProducts = $(self.product_wrapper + ' ' + self.product_elem); if (currentUrl.indexOf('/page-') != -1 || currentUrl.indexOf('?page=') != -1) self.current_page = self.current_page + 1; else self.current_page = 1; self.checkScrollMethod(); self.offset = $(self.product_wrapper + ' ' + self.product_elem + ':last').offset(); self.redefineOffset(); self.ajaxUrl = $(self.pagination_wrapper + ' ' + self.next_button + ':not(.disabled)').attr('href'); tv_log('ajaxUrl from the pagination next button : ' + self.ajaxUrl); if (self.ajaxUrl) { var next_url = ''; if (currentLayeredUrl.indexOf('/page-') == -1) next_url = currentLayeredUrl + '/page-2'; else { var urlSplit = currentLayeredUrl.split('/'); p = 1; for (var i = 0; i < urlSplit.length; i++) { if (urlSplit[i].indexOf('page-') != -1) { p = parseInt(urlSplit[i].substring(5, urlSplit[i].length)); p++; urlSplit[i] = 'page-' + p; } if (urlSplit[i] != '#') next_url += '/'; next_url += urlSplit[i]; } } self.ajaxUrl = currentBaseUrl + next_url; tv_log('ajaxUrl after custom edit : ' + self.ajaxUrl); if (self.method == 'button' && self.shouldDisplayButton()) { self.button.fadeIn(); } } else { self.addEndButton(); } } }; if (typeof tv_params != 'undefined' && $(tv_params.product_wrapper).length !== 0 && $(tv_params.pagination_wrapper).length !== 0) { TvcmsInfiniteScroll = $.extend(TvcmsInfiniteScroll, tv_params); TvcmsInfiniteScroll.initialize(); } function tv_log(text) { if (TvcmsInfiniteScroll.debug) { console.log(text); } } });