jQuery(function($) { function APIloader() { if(!window.frontAPI) { setTimeout(APIloader,0); } else { var hotbasket_config = {"id":"34","0":"34","shop_id":"60173d5f306f096450193683689e4ad83dd9d38a","1":"60173d5f306f096450193683689e4ad83dd9d38a","active":"1","2":"1","border":"1","3":"1","border_thickness":"1","4":"1","border_color":"#808080","5":"#808080","font_color":"#000000","6":"#000000","font_size":"12","7":"12","custom_container":"","8":"","date_modified":"2019-08-26 18:43:03","9":"2019-08-26 18:43:03"}; var hotbasket_products = [{"id":"132","0":"132","shop_id":"60173d5f306f096450193683689e4ad83dd9d38a","1":"60173d5f306f096450193683689e4ad83dd9d38a","active":"0","2":"0","shoper_product_id":"3159","3":"3159","shoper_product_name":"Bo\u017ce Kr\u00f3wki - cukierki z cytatami \u015bwi\u0119tych 250g","4":"Bo\u017ce Kr\u00f3wki - cukierki z cytatami \u015bwi\u0119tych 250g","shoper_category_id":"0","5":"0","shoper_category_name":"","6":"","limit_category":"0","7":"0","hbprod_title":"Co\u015b pysznego do paczki ? :)","8":"Co\u015b pysznego do paczki ? :)","hbprod_description":"Bo\u017ce Kr\u00f3wki - Cukierki z cytatami \u015bwi\u0119tych, s\u0105 pyszne ! ","9":"Bo\u017ce Kr\u00f3wki - Cukierki z cytatami \u015bwi\u0119tych, s\u0105 pyszne ! ","hbprod_tooltip":"","10":"","hbprod_icon":"<\/i>","11":"<\/i>","date_modified":"2019-08-26 18:46:58","12":"2019-08-26 18:46:58"},{"id":"133","0":"133","shop_id":"60173d5f306f096450193683689e4ad83dd9d38a","1":"60173d5f306f096450193683689e4ad83dd9d38a","active":"1","2":"1","shoper_product_id":"3898","3":"3898","shoper_product_name":"Ubezpieczenie przesy\u0142ki w promocyjnej cenie","4":"Ubezpieczenie przesy\u0142ki w promocyjnej cenie","shoper_category_id":"0","5":"0","shoper_category_name":"","6":"","limit_category":"0","7":"0","hbprod_title":"Ubezpieczenie przesy\u0142ki w promocyjnej cenie","8":"Ubezpieczenie przesy\u0142ki w promocyjnej cenie","hbprod_description":"Pewno\u015b\u0107 dor\u0119czenia oraz brak konieczno\u015bci rozpatrywania reklamacji z dostawc\u0105. W razie zagubienia lub uszkodzenia paczki, wy\u015blemy Ci now\u0105. ","9":"Pewno\u015b\u0107 dor\u0119czenia oraz brak konieczno\u015bci rozpatrywania reklamacji z dostawc\u0105. W razie zagubienia lub uszkodzenia paczki, wy\u015blemy Ci now\u0105. ","hbprod_tooltip":"","10":"","hbprod_icon":"<\/i>","11":"<\/i>","date_modified":"2019-08-26 19:04:08","12":"2019-08-26 19:04:08"},{"id":"247","0":"247","shop_id":"60173d5f306f096450193683689e4ad83dd9d38a","1":"60173d5f306f096450193683689e4ad83dd9d38a","active":"1","2":"1","shoper_product_id":"4108","3":"4108","shoper_product_name":"Bo\u017ce Kr\u00f3wki - cukierki z cytatami \u015bwi\u0119tych 180g","4":"Bo\u017ce Kr\u00f3wki - cukierki z cytatami \u015bwi\u0119tych 180g","shoper_category_id":"0","5":"0","shoper_category_name":"","6":"","limit_category":"0","7":"0","hbprod_title":"Co\u015b pysznego do paczki ? :)","8":"Co\u015b pysznego do paczki ? :)","hbprod_description":"Bo\u017ce Kr\u00f3wki - Cukierki z cytatami \u015bwi\u0119tych, s\u0105 pyszne ! ","9":"Bo\u017ce Kr\u00f3wki - Cukierki z cytatami \u015bwi\u0119tych, s\u0105 pyszne ! ","hbprod_tooltip":"","10":"","hbprod_icon":"<\/i>","11":"<\/i>","date_modified":"2019-12-16 12:35:16","12":"2019-12-16 12:35:16"},{"id":"248","0":"248","shop_id":"60173d5f306f096450193683689e4ad83dd9d38a","1":"60173d5f306f096450193683689e4ad83dd9d38a","active":"0","2":"0","shoper_product_id":"3898","3":"3898","shoper_product_name":"Ubezpieczenie przesy\u0142ki w promocyjnej cenie","4":"Ubezpieczenie przesy\u0142ki w promocyjnej cenie","shoper_category_id":"0","5":"0","shoper_category_name":"","6":"","limit_category":"0","7":"0","hbprod_title":"Ubezpieczenie przesy\u0142ki w promocyjnej cenie","8":"Ubezpieczenie przesy\u0142ki w promocyjnej cenie","hbprod_description":"Pewno\u015b\u0107 dor\u0119czenia oraz brak konieczno\u015bci rozpatrywania reklamacji z dostawc\u0105. W razie zagubienia lub uszkodzenia paczki, wy\u015blemy Ci now\u0105. ","9":"Pewno\u015b\u0107 dor\u0119czenia oraz brak konieczno\u015bci rozpatrywania reklamacji z dostawc\u0105. W razie zagubienia lub uszkodzenia paczki, wy\u015blemy Ci now\u0105. ","hbprod_tooltip":"","10":"","hbprod_icon":"<\/i>","11":"<\/i>","date_modified":"2019-12-16 12:37:30","12":"2019-12-16 12:37:30"},{"id":"346","0":"346","shop_id":"60173d5f306f096450193683689e4ad83dd9d38a","1":"60173d5f306f096450193683689e4ad83dd9d38a","active":"1","2":"1","shoper_product_id":"4330","3":"4330","shoper_product_name":"EkoPaczka \u267b ZERO WASTE","4":"EkoPaczka \u267b ZERO WASTE","shoper_category_id":"0","5":"0","shoper_category_name":"","6":"","limit_category":"0","7":"0","hbprod_title":"","8":"","hbprod_description":"Pom\u00f3\u017c chroni\u0107 \u015brodowisko i u\u017cyj opakowania z materia\u0142u recyklingu bez plastiku. EkoPaczka \ud83d\udce6 To wspania\u0142a alternatywa dla os\u00f3b chc\u0105cych zadba\u0107 o \u015brodowisko naturalne.","9":"Pom\u00f3\u017c chroni\u0107 \u015brodowisko i u\u017cyj opakowania z materia\u0142u recyklingu bez plastiku. EkoPaczka \ud83d\udce6 To wspania\u0142a alternatywa dla os\u00f3b chc\u0105cych zadba\u0107 o \u015brodowisko naturalne.","hbprod_tooltip":"","10":"","hbprod_icon":"<\/i>","11":"<\/i>","date_modified":"2020-04-09 20:22:16","12":"2020-04-09 20:22:16"}]; //przygotowanie zmiennych konfiguracyjnych var active = null; var border = null; var border_thickness = null; var border_color = null; var font_color = null; var font_size = null; var custom_container = null; $.each(hotbasket_config, function(index, value){ //each po tablicy z konfiguracja if(index == 'active')active=value; if(index == 'border')border=value; if(index == 'border_thickness')border_thickness=value; if(index == 'border_color')border_color=value; if(index == 'font_color')font_color=value; if(index == 'font_size')font_size=value; if(index == 'custom_container')custom_container=value; }); if(active == 1 && $('body').hasClass('shop_basket')){ //jesli dodatek jest wlaczony oraz skrypt znajduje sie w koszyku //tworzenie elementów hotbasket i ustawienie podstawowej konfiguracji $.each(hotbasket_products, function(index, value){ //each po tablicy z produktami hotbasket var active_product = parseInt(value['active']); var product_id = parseInt(value['shoper_product_id']); if(active_product){ //jesli produkt jest aktywny //pobieranie informacji o produkcie z API var product = frontAPI.getProduct({ id: product_id }); if(!product['name']){ console.log("Maxsote Hotbasket Error - Product not found, ERROR CODE: PID"+product_id); }else{ var product_price = product['price']['gross']['final']; var shoper_product_name = product['name']; //tworzenie elementu var hotbasket_element = $('
').attr( { 'data-name': "maxsote_hotbasket" }).css( { "width": "100%", "padding": "10px 0", "margin": "10px 0", "color": font_color, "font-size": font_size+"pt", "position" : "static", "box-sizing" : "initial", "display" : "flex", "align-items" : "center" } ); //czekanie na soobasket, jesli istnieje if(typeof GlobalSoolutionSoobasket != 'undefined'){ shoper.addEvent("soobasket:loaded", function(event, basket){ hotbasket_element.insertAfter(".el-table__body"); }); } //ustalenie pozycji hotbasket if(custom_container!=="" || custom_container!=false){ //jesli jest ustalony custom container hotbasket_element.appendTo(custom_container); }else{ hotbasket_element.insertAfter("table.productlist"); } //sprawdzenie czy jest limit do kategorii if(value['shoper_category_id']!=0){ hotbasket_element.attr('data-limit_category', value['shoper_category_id']); } //uzupelnianie hotbasket trescia if($.trim(value['hbprod_icon']) != ""){ $("
").html(value['hbprod_icon']).appendTo(hotbasket_element); } $("
").appendTo(hotbasket_element); var hotbasket_kaprow = hotbasket_element.find(".kap_row"); $("
").appendTo(hotbasket_kaprow); var hotbasket_kaprow_upper = hotbasket_kaprow.find(".kr_upper"); $("").appendTo(hotbasket_kaprow_upper); var hotbasket_kaprow_cwrap = hotbasket_kaprow_upper.find(".checkbox-wrap"); var additional_product_id = product_id; var checked = ""; $(".productlist tbody tr").each(function(){ var basket_product_id = $(this).data("product-id"); if(parseInt(additional_product_id) == parseInt(basket_product_id)){ checked = "checked='checked'"; } }); $("").appendTo(hotbasket_kaprow_cwrap); $("").appendTo(hotbasket_kaprow_cwrap); $("").appendTo(hotbasket_kaprow_upper); var hotbasket_kaprow_desc = hotbasket_kaprow_upper.find(".desc"); //sprawdzanie czy jest wpisana nazwa produktu if($.trim(value['hbprod_title'])!==""){ $("").html(value['hbprod_title']).appendTo(hotbasket_kaprow_desc); }else{ $("").html(shoper_product_name).appendTo(hotbasket_kaprow_desc); } $("").text(product_price).appendTo(hotbasket_kaprow_upper); if($.trim(value['hbprod_description'])!=""){ $("
").appendTo(hotbasket_kaprow); var hotbasket_kaprow_lower = hotbasket_kaprow.find(".kr_lower"); $("
").appendTo(hotbasket_kaprow_lower).text(value['hbprod_description']); } //dodanie elementu do html if(custom_container!=="" || custom_container!=false){ //jesli jest ustalony custom container hotbasket_element.appendTo(custom_container); }else{ hotbasket_element.insertAfter("table.productlist"); } } } // end if active product }); //sprawdzenie czy dodatek ma mieć obramowanie i inne cssy if(border==1){ $(".maxsote_hotbasket").css("border","1px solid "+border_color); if(border_thickness){ border_thickness = parseInt(border_thickness); $(".maxsote_hotbasket").css("border-width",border_thickness+"px"); } } $(".kap_icon").css({ "padding" : "10px 15px", "padding-right" : "0px", "display" : "inline-block", "float" : "left", "font-family": "fontAwesome", "font-size" : "25pt", "min-width" : "60px", "text-align" : "center", "vertical-align" : "middle" }); $(".kap_row").css({ "vertical-align":"middle", "padding": "10px 20px", "display": "inline-block", "vertical-align": "middle" }); $(".kap_icon i").css("font-style","normal").addClass("fa"); $(".kap_price").css({ "font-weight":"bold", "margin-left":"10px" }); $(".kap_description").css({ "margin": "10px 0px", "font-size": "10pt" }); $(".maxsote_hotbasket .desc").css({ "margin-left" : "5px" }); //obsluga zaznaczenia wybranej opcji i ukrycia w tabeli $(".k_additional_product").each(function(){ var additional_product_id = $(this).data('product_id'); $(".productlist tbody tr").each(function(){ var basket_product_id = $(this).data("product-id"); if(parseInt(additional_product_id) == parseInt(basket_product_id)){ $("#k_additional_product["+additional_product_id+"]").attr("checked","true"); } }); }); //obsluga dodawania do koszyka $(".k_additional_product").change(function(){ var checked = $(this).is(":checked"); if(checked == true){ var product_id = $(this).data("product_id"); var product = frontAPI.getProduct({ id: product_id }); var stock_id = product.stockId; var addInfo = frontAPI.addToBasket({ lang: 'pl_PL', // optional currency: 'PLN', // optional data: { stock_id: stock_id, quantity: 1 } }); // console.log(addInfo); location.reload(); }else{ //deselect checkbox var current_product_id = $(this).data("product_id"); //id produktu (dodatek) var basket = frontAPI.getBasketInfo({ }); var basket_products = basket['products']; var basket_product_id = null; $.each(basket_products,function(key, value) { product_id = value['product_id']; if(product_id == current_product_id){ //znalazlem ten produkt dodatkowy w koszyku basket_product_id = value['id']; } }); if(basket_product_id){ var removeInfo = frontAPI.removeFromBasket({ id: basket_product_id }); location.reload(); } } }); //obsluga ograniczania do kategorii var basket = frontAPI.getBasketInfo({ }); var basket_products = basket['products']; var shoper_products_ids = new Array(); //populowana tablica z id produktow z koszyka $.each(basket_products,function(key, value) { shoper_products_ids.push(value['product_id']); }); var products = frontAPI.getProducts({ ids: shoper_products_ids }); $(".maxsote_hotbasket").each(function(){ var limit_category = parseInt($(this).data("limit_category")); if(limit_category){ //jest limit to sprawdz czy jest kategoria var remove_hotbasket_element = true; $.each(products['list'],function(index, el) { category_id_in_basket = el['category']['id']; if(category_id_in_basket == limit_category){ //jest kategoria w koszyku - nie usuwaj remove_hotbasket_element = false; } }); if(remove_hotbasket_element == true){ $(this).detach(); } } }); } //end if enabled } } APIloader(); });