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.

A marvelous necklace will add that final touch to your outfit. The princess length is well suited for wear with crew collars and high necklines. The Japanese Miyuki beads and Preciousa Crystal will add the finest extra effect to your necklace and add just the right hint of femininity. This product is handmade with love and attention, not mass-produced and the multi-color beads create an interesting look. The colors make these necklaces  ultramodern. Gifts that are handmade with love are the best gifts to give. Even gifts to yourself! Indulge in something that will please you!

View Left Column

18 products

Grid
Grid-2
List
List-2
Catelog

Active filters

  • Metal Part: Sterling Silver
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
      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
          Home
          Oxidized 925 Sterling Silver  Angel Wing Necklace <span class="logo" style="font-family:'Klarna...
          $59.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
                          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
                                      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
                                                Add To Compare
                                                Lavender Necklace- | Mali's Canadian Handmade Jewellery  Mali's  1  Metal Part: Sterling Silver  - Lavender Silver Pearl NecklacLavender Necklace- | Mali's Canadian Handmade Jewellery
                                                    Add To Compare
                                                    Lavender Necklace- | Mali's Canadian Handmade Jewellery  Mali's  1  Metal Part: Sterling Silver  - Lavender Silver Pearl NecklacLavender Necklace- | Mali's Canadian Handmade Jewellery
                                                        Home
                                                        4 equal payments with  Klarna ...
                                                        $119.00Price
                                                        Add To Compare
                                                        Lavender Necklace- | Mali's Canadian Handmade Jewellery  Mali's  1  Metal Part: Sterling Silver  - Lavender Silver Pearl NecklacLavender Necklace- | Mali's Canadian Handmade Jewellery
                                                            Home
                                                            4 equal payments with  Klarna ...
                                                            $119.00Price
                                                            Add To Compare
                                                              Add To Compare
                                                              Infiniti Necklace- | Mali's Canadian Handmade Jewellery  Mali's  1  Metal Part: Sterling Silver  - Infinity Silver Pearl NecklacInfiniti Necklace- | Mali's Canadian Handmade Jewellery
                                                                  Add To Compare
                                                                  Infiniti Necklace- | Mali's Canadian Handmade Jewellery  Mali's  1  Metal Part: Sterling Silver  - Infinity Silver Pearl NecklacInfiniti Necklace- | Mali's Canadian Handmade Jewellery
                                                                      Home
                                                                      4 equal payments with  Klarna ...
                                                                      $119.00Price
                                                                      Add To Compare
                                                                      Infiniti Necklace- | Mali's Canadian Handmade Jewellery  Mali's  1  Metal Part: Sterling Silver  - Infinity Silver Pearl NecklacInfiniti Necklace- | Mali's Canadian Handmade Jewellery
                                                                          Home
                                                                          4 equal payments with  Klarna ...
                                                                          $119.00Price
                                                                          Add To Compare
                                                                            Add To Compare
                                                                            Laurel Necklace- | Mali's Canadian Handmade Jewellery  Mali's  1  Metal Part: Sterling Silver  - Laurel Silver Pearl Necklace- |Laurel Necklace- | Mali's Canadian Handmade Jewellery
                                                                                Add To Compare
                                                                                Laurel Necklace- | Mali's Canadian Handmade Jewellery  Mali's  1  Metal Part: Sterling Silver  - Laurel Silver Pearl Necklace- |Laurel Necklace- | Mali's Canadian Handmade Jewellery
                                                                                    Home
                                                                                    4 equal payments with  Klarna ...
                                                                                    $119.00Price
                                                                                    Add To Compare
                                                                                    Laurel Necklace- | Mali's Canadian Handmade Jewellery  Mali's  1  Metal Part: Sterling Silver  - Laurel Silver Pearl Necklace- |Laurel Necklace- | Mali's Canadian Handmade Jewellery
                                                                                        Home
                                                                                        4 equal payments with  Klarna ...
                                                                                        $119.00Price
                                                                                        Add To Compare
                                                                                          Add To Compare
                                                                                          Lily Necklace- | Mali's Canadian Handmade Jewellery  Mali's  1  Metal Part: Sterling Silver  - Lily Silver Pearl Necklace- | MalLily Necklace- | Mali's Canadian Handmade Jewellery
                                                                                              Add To Compare
                                                                                              Lily Necklace- | Mali's Canadian Handmade Jewellery  Mali's  1  Metal Part: Sterling Silver  - Lily Silver Pearl Necklace- | MalLily Necklace- | Mali's Canadian Handmade Jewellery
                                                                                                  Home
                                                                                                  4 equal payments with  Klarna ...
                                                                                                  $129.00Price
                                                                                                  Add To Compare
                                                                                                  Lily Necklace- | Mali's Canadian Handmade Jewellery  Mali's  1  Metal Part: Sterling Silver  - Lily Silver Pearl Necklace- | MalLily Necklace- | Mali's Canadian Handmade Jewellery
                                                                                                      Home
                                                                                                      4 equal payments with  Klarna ...
                                                                                                      $129.00Price
                                                                                                      Add To Compare
                                                                                                        Add To Compare
                                                                                                        Rose Necklace- | Mali's Canadian Handmade Jewellery  Mali's  1  Metal Part: Sterling Silver  - Rose Silver Pearl Necklace- | MalRose Necklace- | Mali's Canadian Handmade Jewellery
                                                                                                            Add To Compare
                                                                                                            Rose Necklace- | Mali's Canadian Handmade Jewellery  Mali's  1  Metal Part: Sterling Silver  - Rose Silver Pearl Necklace- | MalRose Necklace- | Mali's Canadian Handmade Jewellery
                                                                                                                Home
                                                                                                                4 equal payments with  Klarna ...
                                                                                                                $119.00Price
                                                                                                                Add To Compare
                                                                                                                Rose Necklace- | Mali's Canadian Handmade Jewellery  Mali's  1  Metal Part: Sterling Silver  - Rose Silver Pearl Necklace- | MalRose Necklace- | Mali's Canadian Handmade Jewellery
                                                                                                                    Home
                                                                                                                    4 equal payments with  Klarna ...
                                                                                                                    $119.00Price
                                                                                                                    Add To Compare
                                                                                                                      Add To Compare
                                                                                                                      Home
                                                                                                                      $119.00
                                                                                                                      Trinity Necklace- | Mali's Canadian Jewellery  Mali's  1  Metal Part: Sterling Silver  - Trinity Silver Pearl Necklace- | Mali'sTrinity Necklace- | Mali's Canadian Jewellery
                                                                                                                          Add To Compare
                                                                                                                          Home
                                                                                                                          $119.00
                                                                                                                          Trinity Necklace- | Mali's Canadian Jewellery  Mali's  1  Metal Part: Sterling Silver  - Trinity Silver Pearl Necklace- | Mali'sTrinity Necklace- | Mali's Canadian Jewellery
                                                                                                                              Home
                                                                                                                              4 equal payments with  Klarna ...
                                                                                                                              $119.00Price
                                                                                                                              Add To Compare
                                                                                                                              Trinity Necklace- | Mali's Canadian Jewellery  Mali's  1  Metal Part: Sterling Silver  - Trinity Silver Pearl Necklace- | Mali'sTrinity Necklace- | Mali's Canadian Jewellery
                                                                                                                                  Home
                                                                                                                                  4 equal payments with  Klarna ...
                                                                                                                                  $119.00Price
                                                                                                                                  Add To Compare
                                                                                                                                    Add To Compare
                                                                                                                                    Generation Necklace- | Mali's Canadian Jewellery  Mali's  1  Metal Part: Sterling Silver  - Generation Silver Necklace- | Mali'sGeneration Necklace- | Mali's Canadian Jewellery
                                                                                                                                        Add To Compare
                                                                                                                                        Generation Necklace- | Mali's Canadian Jewellery  Mali's  1  Metal Part: Sterling Silver  - Generation Silver Necklace- | Mali'sGeneration Necklace- | Mali's Canadian Jewellery
                                                                                                                                            Home
                                                                                                                                            4 equal payments with  Klarna ...
                                                                                                                                            $169.00Price
                                                                                                                                            Add To Compare
                                                                                                                                            Generation Necklace- | Mali's Canadian Jewellery  Mali's  1  Metal Part: Sterling Silver  - Generation Silver Necklace- | Mali'sGeneration Necklace- | Mali's Canadian Jewellery
                                                                                                                                                Home
                                                                                                                                                4 equal payments with  Klarna ...
                                                                                                                                                $169.00Price
                                                                                                                                                Add To Compare
                                                                                                                                                  Add To Compare
                                                                                                                                                  MERCHANTS
                                                                                                                                                  $119.00
                                                                                                                                                  Floral Paperclip Necklace - | Mali's Canadian Jewelry  Mali's  1  Metal Part: Sterling Silver  - Floral Paperclip Silver NecklacFloral Paperclip Necklace - | Mali's Canadian Jewelry
                                                                                                                                                      Add To Compare
                                                                                                                                                      MERCHANTS
                                                                                                                                                      $119.00
                                                                                                                                                      Floral Paperclip Necklace - | Mali's Canadian Jewelry  Mali's  1  Metal Part: Sterling Silver  - Floral Paperclip Silver NecklacFloral Paperclip Necklace - | Mali's Canadian Jewelry
                                                                                                                                                          MERCHANTS
                                                                                                                                                          4 equal payments with  Klarna ...
                                                                                                                                                          $119.00Price
                                                                                                                                                          Add To Compare
                                                                                                                                                          Floral Paperclip Necklace - | Mali's Canadian Jewelry  Mali's  1  Metal Part: Sterling Silver  - Floral Paperclip Silver NecklacFloral Paperclip Necklace - | Mali's Canadian Jewelry
                                                                                                                                                              MERCHANTS
                                                                                                                                                              4 equal payments with  Klarna ...
                                                                                                                                                              $119.00Price
                                                                                                                                                              Add To Compare
                                                                                                                                                                Add To Compare
                                                                                                                                                                MERCHANTS
                                                                                                                                                                $149.00
                                                                                                                                                                Teardrop Silver Necklace- | Mali's Canadian Jewelry  Mali's  1  Metal Part: Sterling Silver  - Teardrop crystal & silver necklacTeardrop Silver Necklace- | Mali's Canadian Jewelry
                                                                                                                                                                    Add To Compare
                                                                                                                                                                    MERCHANTS
                                                                                                                                                                    $149.00
                                                                                                                                                                    Teardrop Silver Necklace- | Mali's Canadian Jewelry  Mali's  1  Metal Part: Sterling Silver  - Teardrop crystal & silver necklacTeardrop Silver Necklace- | Mali's Canadian Jewelry
                                                                                                                                                                        MERCHANTS
                                                                                                                                                                        4 equal payments with  Klarna ...
                                                                                                                                                                        $149.00Price
                                                                                                                                                                        Add To Compare
                                                                                                                                                                        Teardrop Silver Necklace- | Mali's Canadian Jewelry  Mali's  1  Metal Part: Sterling Silver  - Teardrop crystal & silver necklacTeardrop Silver Necklace- | Mali's Canadian Jewelry
                                                                                                                                                                            MERCHANTS
                                                                                                                                                                            4 equal payments with  Klarna ...
                                                                                                                                                                            $149.00Price
                                                                                                                                                                            Add To Compare
                                                                                                                                                                              Add To Compare
                                                                                                                                                                              Mother's Love Necklace| Mali's Canadian Jewelry  Mali's  1  Metal Part: Sterling Silver  - Mothe's love silve necklce - Mali's CMother's Love Necklace| Mali's Canadian Jewelry
                                                                                                                                                                                  Add To Compare
                                                                                                                                                                                  Mother's Love Necklace| Mali's Canadian Jewelry  Mali's  1  Metal Part: Sterling Silver  - Mothe's love silve necklce - Mali's CMother's Love Necklace| Mali's Canadian Jewelry
                                                                                                                                                                                      Home
                                                                                                                                                                                      4 equal payments with  Klarna ...
                                                                                                                                                                                      $99.00Price
                                                                                                                                                                                      Add To Compare
                                                                                                                                                                                      Mother's Love Necklace| Mali's Canadian Jewelry  Mali's  1  Metal Part: Sterling Silver  - Mothe's love silve necklce - Mali's CMother's Love Necklace| Mali's Canadian Jewelry
                                                                                                                                                                                          Home
                                                                                                                                                                                          4 equal payments with  Klarna ...
                                                                                                                                                                                          $99.00Price
                                                                                                                                                                                          Add To Compare
                                                                                                                                                                                            Add To Compare
                                                                                                                                                                                            MERCHANTS
                                                                                                                                                                                            $169.00
                                                                                                                                                                                            Snowflake Necklace - | Mali's Canadian Jewelry  Mali's  1  Metal Part: Gold Vermeil  - Snowflake necklace - Mali's Jewelry Snowflake Necklace - | Mali's Canadian Jewelry
                                                                                                                                                                                                Add To Compare
                                                                                                                                                                                                MERCHANTS
                                                                                                                                                                                                $169.00
                                                                                                                                                                                                Snowflake Necklace - | Mali's Canadian Jewelry  Mali's  1  Metal Part: Gold Vermeil  - Snowflake necklace - Mali's Jewelry Snowflake Necklace - | Mali's Canadian Jewelry
                                                                                                                                                                                                    MERCHANTS
                                                                                                                                                                                                    Snowflake necklace  Metal : Sterling silver or Gold Vermeil Chain Length: 16''-18'' Element size: 15mm *15mm Free Shipping  14-days Satisfaction warranty Crafted in Canada
                                                                                                                                                                                                    $169.00Price
                                                                                                                                                                                                    Add To Compare
                                                                                                                                                                                                    Snowflake Necklace - | Mali's Canadian Jewelry  Mali's  1  Metal Part: Gold Vermeil  - Snowflake necklace - Mali's Jewelry Snowflake Necklace - | Mali's Canadian Jewelry
                                                                                                                                                                                                        MERCHANTS
                                                                                                                                                                                                        Snowflake necklace  Metal : Sterling silver or Gold Vermeil Chain Length: 16''-18'' Element size: 15mm *15mm Free Shipping  14-days Satisfaction warranty Crafted in Canada
                                                                                                                                                                                                        $169.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
                                                                                                                                                                                                                        MERCHANTS
                                                                                                                                                                                                                        $640.00
                                                                                                                                                                                                                        Pearl and Silver Necklace - | Mali's Canadian Jewelry  Mali's  1  Metal Part: 14K Yellow Gold  - Cultured pearl and silver necklPearl and Silver Necklace - | Mali's Canadian Jewelry
                                                                                                                                                                                                                            Add To Compare
                                                                                                                                                                                                                            MERCHANTS
                                                                                                                                                                                                                            $640.00
                                                                                                                                                                                                                            Pearl and Silver Necklace - | Mali's Canadian Jewelry  Mali's  1  Metal Part: 14K Yellow Gold  - Cultured pearl and silver necklPearl and Silver Necklace - | Mali's Canadian Jewelry
                                                                                                                                                                                                                                MERCHANTS
                                                                                                                                                                                                                                Fresh water cultured  pearl and Sterling Silver Necklace Necklace Size: 18'' Materials :  White pearl: 6 - 6.5 mm, Grade A Sterling Silver beads: 2.5mm, 6mm and 8mm Sterling Silver clasp: 11.1 * 5.3 mm Handcrafted in Canada
                                                                                                                                                                                                                                $640.00Price
                                                                                                                                                                                                                                Add To Compare
                                                                                                                                                                                                                                Pearl and Silver Necklace - | Mali's Canadian Jewelry  Mali's  1  Metal Part: 14K Yellow Gold  - Cultured pearl and silver necklPearl and Silver Necklace - | Mali's Canadian Jewelry
                                                                                                                                                                                                                                    MERCHANTS
                                                                                                                                                                                                                                    Fresh water cultured  pearl and Sterling Silver Necklace Necklace Size: 18'' Materials :  White pearl: 6 - 6.5 mm, Grade A Sterling Silver beads: 2.5mm, 6mm and 8mm Sterling Silver clasp: 11.1 * 5.3 mm Handcrafted in Canada
                                                                                                                                                                                                                                    $640.00Price
                                                                                                                                                                                                                                    Add To Compare
                                                                                                                                                                                                                                      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
                                                                                                                                                                                                                                                  '); } 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); } } });