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.
View Left Column

53 products

Grid
Grid-2
List
List-2
Catelog

Active filters

Sterling Silver Vertical Bar With Birthstone- Mali's Canadian JewellerySterling Silver Vertical Bar With Birthstone- Mali's Canadian Jewellery
  • new
    Home
    4 equal payments with  Klarna ...
    $109.00Price
    Add To Compare
    Sterling Silver Vertical Bar With Birthstone- Mali's Canadian JewellerySterling Silver Vertical Bar With Birthstone- Mali's Canadian Jewellery
    • New
      $109.00Price
      Add To Compare
      • new
      Add To Compare
      Home
      $119.00
      Men's Engravable Silver Dog Tag NecklaceMen's Engravable Silver Dog Tag Necklace
      • new
        Add To Compare
        Home
        $119.00
        Men's Engravable Silver Dog Tag NecklaceMen's Engravable Silver Dog Tag Necklace
        • new
          Home
          4 equal payments with  Klarna ...
          $119.00Price
          Add To Compare
          Men's Engravable Silver Dog Tag NecklaceMen's Engravable Silver Dog Tag Necklace
          • New
            Home
            4 equal payments with  Klarna ...
            $119.00Price
            Add To Compare
            • new
            Add To Compare
            Home
            $594.00
            Mali's 14K Gold Hammered Comfort-Fit BandMali's 14K Gold Hammered Comfort-Fit Band
            • new
              Add To Compare
              Home
              $594.00
              Mali's 14K Gold Hammered Comfort-Fit BandMali's 14K Gold Hammered Comfort-Fit Band
              • new
                Home
                4 equal payments with  Klarna ...
                $594.00Price
                Add To Compare
                Mali's 14K Gold Hammered Comfort-Fit BandMali's 14K Gold Hammered Comfort-Fit Band
                • New
                  Home
                  4 equal payments with  Klarna ...
                  $594.00Price
                  Add To Compare
                  • new
                  Add To Compare
                  Siblings Name Necklace| Mali's Canadian JewelrySiblings Name Necklace| Mali's Canadian Jewelry
                  • new
                    Add To Compare
                    Siblings Name Necklace| Mali's Canadian JewelrySiblings Name Necklace| Mali's Canadian Jewelry
                    • new
                      Home
                      4 equal payments with  Klarna ...
                      $99.00Price
                      Add To Compare
                      Siblings Name Necklace| Mali's Canadian JewelrySiblings Name Necklace| Mali's Canadian Jewelry
                      • New
                        Home
                        4 equal payments with  Klarna ...
                        $99.00Price
                        Add To Compare
                        • 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 ...
                            $99.00Price
                            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 ...
                              $99.00Price
                              Add To Compare
                              • new
                              Add To Compare
                              Mali's Sterling Silver Round King Chain NecklaceMali's Sterling Silver Round King Chain Necklace
                              • new
                                Add To Compare
                                Mali's Sterling Silver Round King Chain NecklaceMali's Sterling Silver Round King Chain Necklace
                                • new
                                  Home
                                  Oxidized Sterling Silver Chain Necklace Thickness: 3 mm Length: 20''
                                  $109.00Price
                                  Add To Compare
                                  Mali's Sterling Silver Round King Chain NecklaceMali's Sterling Silver Round King Chain Necklace
                                  • New
                                    Home
                                    Oxidized Sterling Silver Chain Necklace Thickness: 3 mm Length: 20''
                                    $109.00Price
                                    Add To Compare
                                    • new
                                    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
                                    • new
                                      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
                                      • new
                                        Home
                                        4 equal payments with  Klarna ...
                                        $99.00Price
                                        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
                                        • New
                                          Home
                                          4 equal payments with  Klarna ...
                                          $99.00Price
                                          Add To Compare
                                          • new
                                          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
                                          • new
                                            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
                                            • new
                                              Home
                                              4 equal payments with  Klarna ...
                                              $99.00Price
                                              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
                                              • New
                                                Home
                                                4 equal payments with  Klarna ...
                                                $99.00Price
                                                Add To Compare
                                                Sterling Silver Angel Wing Earrings- Mali's Canadian Fine Jewellery Mali's 1 Metal Part: Sterling Silver - Oxidized 925 Sterling
                                                • new
                                                  Home
                                                  Oxidized 925 Sterling Silver  Angel Wing Earrings  <span class="logo" style="font-family:'Klarna...
                                                  $44.00Price
                                                  Add To Compare
                                                  Sterling Silver Angel Wing Earrings- Mali's Canadian Fine Jewellery Mali's 1 Metal Part: Sterling Silver - Oxidized 925 Sterling
                                                  • New
                                                    Home
                                                    Oxidized 925 Sterling Silver  Angel Wing Earrings  <span class="logo" style="font-family:'Klarna...
                                                    $44.00Price
                                                    Add To Compare
                                                    Sterling Silver Angel Wing Necklace- Mali's Canadian Fine Jewellery Mali's 1 Metal Part: Sterling Silver - Oxidized 925 SterlingSterling Silver Angel Wing Necklace- Mali's Canadian Fine Jewellery
                                                    • new
                                                      Home
                                                      Oxidized 925 Sterling Silver  Angel Wing Necklace <span class="logo" style="font-family:'Klarna...
                                                      $59.00Price
                                                      Add To Compare
                                                      Sterling Silver Angel Wing Necklace- Mali's Canadian Fine Jewellery Mali's 1 Metal Part: Sterling Silver - Oxidized 925 SterlingSterling Silver Angel Wing Necklace- Mali's Canadian Fine Jewellery
                                                      • New
                                                        Home
                                                        Oxidized 925 Sterling Silver  Angel Wing Necklace <span class="logo" style="font-family:'Klarna...
                                                        $59.00Price
                                                        Add To Compare
                                                        Sterling Silver Dangle Fish Hook Earrings- | Mali's Canadian Jewellery
                                                        • new
                                                          Home
                                                          925 Sterling Silver Dangle Fish Hook Earrings <span class="logo" style="font-family:'Klarna...
                                                          $79.00Price
                                                          Add To Compare
                                                          Sterling Silver Dangle Fish Hook Earrings- | Mali's Canadian Jewellery
                                                          • New
                                                            Home
                                                            925 Sterling Silver Dangle Fish Hook Earrings <span class="logo" style="font-family:'Klarna...
                                                            $79.00Price
                                                            Add To Compare
                                                              Add To Compare
                                                              925 Sterling Silver Snowflake Necklace with Cubic Zirconia925 Sterling Silver Snowflake Necklace with Cubic Zirconia
                                                                  Add To Compare
                                                                  925 Sterling Silver Snowflake Necklace with Cubic Zirconia925 Sterling Silver Snowflake Necklace with Cubic Zirconia
                                                                      Home
                                                                      4 equal payments with  Klarna ...
                                                                      $69.00Price
                                                                      Add To Compare
                                                                      925 Sterling Silver Snowflake Necklace with Cubic Zirconia925 Sterling Silver Snowflake Necklace with Cubic Zirconia
                                                                          Home
                                                                          4 equal payments with  Klarna ...
                                                                          $69.00Price
                                                                          Add To Compare
                                                                          Gold Vermeil Natural Pearl Paperclip Necklace - Mali's Canadian JewelleryGold Vermeil Natural Pearl Paperclip Necklace - Mali's Canadian Jewellery
                                                                              Home
                                                                              4 equal payments with  Klarna ...
                                                                              $79.00Price
                                                                              Add To Compare
                                                                              Gold Vermeil Natural Pearl Paperclip Necklace - Mali's Canadian JewelleryGold Vermeil Natural Pearl Paperclip Necklace - Mali's Canadian Jewellery
                                                                                  $79.00Price
                                                                                  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 ...
                                                                                      $109.00Price
                                                                                      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
                                                                                          $109.00Price
                                                                                          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 ...
                                                                                              $99.00Price
                                                                                              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
                                                                                                  $99.00Price
                                                                                                  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 ...
                                                                                                            $99.00Price
                                                                                                            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 ...
                                                                                                                $99.00Price
                                                                                                                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 ...
                                                                                                                    $99.00Price
                                                                                                                    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
                                                                                                                        $99.00Price
                                                                                                                        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 ...
                                                                                                                            $89.00Price
                                                                                                                            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
                                                                                                                                $89.00Price
                                                                                                                                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 ...
                                                                                                                                    $79.00Price
                                                                                                                                    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
                                                                                                                                        $79.00Price
                                                                                                                                        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 ...
                                                                                                                                            $49.00Price
                                                                                                                                            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
                                                                                                                                                $49.00Price
                                                                                                                                                Add To Compare
                                                                                                                                                  Add To Compare
                                                                                                                                                  Silver Medical ID Ring - | Mali's Canadian Jewellery  Mali's  2  Metal Part: Sterling Silver  - Sterling Silver Medical ID AdjusSilver Medical ID Ring - | Mali's Canadian Jewellery
                                                                                                                                                      Add To Compare
                                                                                                                                                      Silver Medical ID Ring - | Mali's Canadian Jewellery  Mali's  2  Metal Part: Sterling Silver  - Sterling Silver Medical ID AdjusSilver Medical ID Ring - | Mali's Canadian Jewellery
                                                                                                                                                          Home
                                                                                                                                                          Unisex Engravable sterling silver medical ID alert ring - Durable  - Hypoallergenic - Thickness: 1.5 mm - Ring width: 6.3 mm - Adjustable Size :6''- 8'' - Material : Sterling Silver Crafted in Canada
                                                                                                                                                          $79.00Price
                                                                                                                                                          Add To Compare
                                                                                                                                                          Silver Medical ID Ring - | Mali's Canadian Jewellery  Mali's  2  Metal Part: Sterling Silver  - Sterling Silver Medical ID AdjusSilver Medical ID Ring - | Mali's Canadian Jewellery
                                                                                                                                                              Home
                                                                                                                                                              Unisex Engravable sterling silver medical ID alert ring - Durable  - Hypoallergenic - Thickness: 1.5 mm - Ring width: 6.3 mm - Adjustable Size :6''- 8'' - Material : Sterling Silver Crafted in Canada
                                                                                                                                                              $79.00Price
                                                                                                                                                              Add To Compare
                                                                                                                                                              Silver Medical ID Kids Bracelet - | Mali's Canadian Jewellery  Mali's  1  Metal Part: Sterling Silver  - Sterling Silver MedicalSilver Medical ID Kids Bracelet - | Mali's Canadian Jewellery
                                                                                                                                                                  Home
                                                                                                                                                                  Unisex Engravable sterling silver medical ID alert bracelet for kids  - Durable  - Hypoallergenic - Tag size : 25 * 10 mm - Available Sizes 4.5'' - 7'' - Material : Sterling Silver, S-lon cord Crafted in Canada
                                                                                                                                                                  $79.00Price
                                                                                                                                                                  Add To Compare
                                                                                                                                                                  Silver Medical ID Kids Bracelet - | Mali's Canadian Jewellery  Mali's  1  Metal Part: Sterling Silver  - Sterling Silver MedicalSilver Medical ID Kids Bracelet - | Mali's Canadian Jewellery
                                                                                                                                                                      Home
                                                                                                                                                                      Unisex Engravable sterling silver medical ID alert bracelet for kids  - Durable  - Hypoallergenic - Tag size : 25 * 10 mm - Available Sizes 4.5'' - 7'' - Material : Sterling Silver, S-lon cord Crafted in Canada
                                                                                                                                                                      $79.00Price
                                                                                                                                                                      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
                                                                                                                                                                                $89.00Price
                                                                                                                                                                                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
                                                                                                                                                                                    $89.00Price
                                                                                                                                                                                    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
                                                                                                                                                                                              $99.00Price
                                                                                                                                                                                              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
                                                                                                                                                                                                  $99.00Price
                                                                                                                                                                                                  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); } } });