jQuery(function($) { function APIloader() { if(!window.frontAPI) { setTimeout(APIloader,0); } else { var hotbasket_config = {"id":"125","0":"125","shop_id":"0fe0078fdc92ba08ef3ac037e38a5d9ae4a2ccc3","1":"0fe0078fdc92ba08ef3ac037e38a5d9ae4a2ccc3","active":"1","2":"1","border":"1","3":"1","border_thickness":"1","4":"1","border_color":"#000000","5":"#000000","font_color":"#000000","6":"#000000","font_size":"0","7":"0","custom_container":"","8":"","date_modified":"2020-07-30 10:22:23","9":"2020-07-30 10:22:23"}; var hotbasket_products = [{"id":"953","0":"953","shop_id":"0fe0078fdc92ba08ef3ac037e38a5d9ae4a2ccc3","1":"0fe0078fdc92ba08ef3ac037e38a5d9ae4a2ccc3","active":"1","2":"1","shoper_product_id":"7690","3":"7690","shoper_product_name":"2 Metry za 5z\u0142","4":"2 Metry za 5z\u0142","shoper_category_id":"0","5":"0","shoper_category_name":"","6":"","limit_category":"0","7":"0","hbprod_title":"Tkanina Niespodzianka!","8":"Tkanina Niespodzianka!","hbprod_description":"2 metry tkaniny wybranej losowo za 9,99z\u0142 !","9":"2 metry tkaniny wybranej losowo za 9,99z\u0142 !","hbprod_tooltip":"","10":"","hbprod_icon":"<\/i>","11":"<\/i>","date_modified":"2021-07-20 11:39:24","12":"2021-07-20 11:39:24"},{"id":"1195","0":"1195","shop_id":"0fe0078fdc92ba08ef3ac037e38a5d9ae4a2ccc3","1":"0fe0078fdc92ba08ef3ac037e38a5d9ae4a2ccc3","active":"1","2":"1","shoper_product_id":"9957","3":"9957","shoper_product_name":"Mix 6 metr\u00f3w tkanin i dzianin","4":"Mix 6 metr\u00f3w tkanin i dzianin","shoper_category_id":"0","5":"0","shoper_category_name":"","6":"","limit_category":"0","7":"0","hbprod_title":"Mix tkanin i dzianin 6 metr\u00f3w","8":"Mix tkanin i dzianin 6 metr\u00f3w","hbprod_description":"Tajemnicze pude\u0142ko, a w nim mix 6 tkanin!\r\n","9":"Tajemnicze pude\u0142ko, a w nim mix 6 tkanin!\r\n","hbprod_tooltip":"","10":"","hbprod_icon":"<\/i>","11":"<\/i>","date_modified":"2022-03-28 10:00:47","12":"2022-03-28 10:00:47"},{"id":"1539","0":"1539","shop_id":"0fe0078fdc92ba08ef3ac037e38a5d9ae4a2ccc3","1":"0fe0078fdc92ba08ef3ac037e38a5d9ae4a2ccc3","active":"1","2":"1","shoper_product_id":"9839","3":"9839","shoper_product_name":"Mix podszewek 5m","4":"Mix podszewek 5m","shoper_category_id":"0","5":"0","shoper_category_name":"","6":"","limit_category":"0","7":"0","hbprod_title":"Mix 5m podszewek","8":"Mix 5m podszewek","hbprod_description":"Co\u015b co zawsze si\u0119 przyda! <3","9":"Co\u015b co zawsze si\u0119 przyda! <3","hbprod_tooltip":"","10":"","hbprod_icon":"<\/i>","11":"<\/i>","date_modified":"2022-12-02 12:02:07","12":"2022-12-02 12:02:07"},{"id":"1540","0":"1540","shop_id":"0fe0078fdc92ba08ef3ac037e38a5d9ae4a2ccc3","1":"0fe0078fdc92ba08ef3ac037e38a5d9ae4a2ccc3","active":"1","2":"1","shoper_product_id":"10167","3":"10167","shoper_product_name":"Zestaw tkanin premium na kilogramy","4":"Zestaw tkanin premium na kilogramy","shoper_category_id":"0","5":"0","shoper_category_name":"","6":"","limit_category":"0","7":"0","hbprod_title":"Zestaw tkanin premium na kilogramy","8":"Zestaw tkanin premium na kilogramy","hbprod_description":"Kilka metr\u00f3w tkanin wchodzi na 1 kilogram. To si\u0119 op\u0142aca !","9":"Kilka metr\u00f3w tkanin wchodzi na 1 kilogram. To si\u0119 op\u0142aca !","hbprod_tooltip":"","10":"","hbprod_icon":"<\/i>","11":"<\/i>","date_modified":"2022-12-02 12:18:52","12":"2022-12-02 12:18:52"},{"id":"1542","0":"1542","shop_id":"0fe0078fdc92ba08ef3ac037e38a5d9ae4a2ccc3","1":"0fe0078fdc92ba08ef3ac037e38a5d9ae4a2ccc3","active":"1","2":"1","shoper_product_id":"10168","3":"10168","shoper_product_name":"Zestaw tkanin standard na kilogramy","4":"Zestaw tkanin standard na kilogramy","shoper_category_id":"0","5":"0","shoper_category_name":"","6":"","limit_category":"0","7":"0","hbprod_title":"Zestaw tkanin standard na kilogramy","8":"Zestaw tkanin standard na kilogramy","hbprod_description":"Tkaniny do 30 z\u0142 w \u015bwietnej cenie. Pozw\u00f3l si\u0119 zaskoczy\u0107!\r\n","9":"Tkaniny do 30 z\u0142 w \u015bwietnej cenie. Pozw\u00f3l si\u0119 zaskoczy\u0107!\r\n","hbprod_tooltip":"","10":"","hbprod_icon":"<\/i>","11":"<\/i>","date_modified":"2022-12-02 12:44:29","12":"2022-12-02 12:44:29"},{"id":"1606","0":"1606","shop_id":"0fe0078fdc92ba08ef3ac037e38a5d9ae4a2ccc3","1":"0fe0078fdc92ba08ef3ac037e38a5d9ae4a2ccc3","active":"1","2":"1","shoper_product_id":"10215","3":"10215","shoper_product_name":"10 sztuk Nici overlock 5000m","4":"10 sztuk Nici overlock 5000m","shoper_category_id":"0","5":"0","shoper_category_name":"","6":"","limit_category":"0","7":"0","hbprod_title":"Nici Overlock 5000m X 10 szpulek","8":"Nici Overlock 5000m X 10 szpulek","hbprod_description":"Kup na zapas. To si\u0119 op\u0142aca!","9":"Kup na zapas. To si\u0119 op\u0142aca!","hbprod_tooltip":"","10":"","hbprod_icon":"<\/i>","11":"<\/i>","date_modified":"2023-01-04 09:22:13","12":"2023-01-04 09:22:13"}]; //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" } ); //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(); });