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

21 products

Grid
Grid-2
List
List-2
Catelog

Active filters

    Add To Compare
    Personalized Gifts
    $99.00
    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
        $99.00
        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...
            $99.00Price
            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...
                $99.00Price
                Add To Compare
                  Add To Compare
                  MERCHANTS
                  $119.00
                  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
                      $119.00
                      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 ...
                          $119.00Price
                          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 ...
                              $119.00Price
                              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 ...
                                        $99.00Price
                                        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 ...
                                            $99.00Price
                                            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 ...
                                                      $49.00Price
                                                      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 ...
                                                          $49.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
                                                                        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
                                                                            $59.00Price
                                                                            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
                                                                                $59.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
                                                                                            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
                                                                                                        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 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
                                                                                                                                                                                      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...
                                                                                                                                                                                              $99.00Price
                                                                                                                                                                                              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...
                                                                                                                                                                                                  $99.00Price
                                                                                                                                                                                                  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 ...
                                                                                                                                                                                                            $89.00Price
                                                                                                                                                                                                            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 ...
                                                                                                                                                                                                                $89.00Price
                                                                                                                                                                                                                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...
                                                                                                                                                                                                                    $275.00Price
                                                                                                                                                                                                                    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...
                                                                                                                                                                                                                        $275.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); } } });