(function privAppAgroczakReflinks($){let App=function App(){this.sessionId='54299qdahi0a190c1n5geoa415';this.sessionToken='09fa26d1109944182cb8bb2974668415ba46ac9fd64eed0abae2584081ab2628';this.shopId=2;this.translations_array={"add_text":{"__default":"Dodaj do koszyka"}};this.newOrderFieldId=7;this.holdingNumberFieldId=4;this.partnerHashFieldId=6;this.farmerHashFieldId=5;this.check_holding_number_link="https://agroczak.maxserver.pl/privAppAgroczakReflinks/check_holding_number.php";this.get_farmer_data_link="https://agroczak.maxserver.pl/privAppAgroczakReflinks/get_farmer_data.php";this.create_farmer_link_link="https://agroczak.maxserver.pl/privAppAgroczakReflinks/create_farmer_link.php";this.farmer_count_click_link="https://agroczak.maxserver.pl/privAppAgroczakReflinks/farmer_count_click.php";this.farmer_send_url_link="https://agroczak.maxserver.pl/privAppAgroczakReflinks/farmer_send_url.php";this.create_farmer_settlement_link="https://agroczak.maxserver.pl/privAppAgroczakReflinks/create_farmer_settlement.php";this.create_farmer_settlement_promocode_link="https://agroczak.maxserver.pl/privAppAgroczakReflinks/create_farmer_settlement_promocode.php";this.get_partner_data_link="https://agroczak.maxserver.pl/privAppAgroczakReflinks/get_partner_data.php";this.partner_count_click_link="https://agroczak.maxserver.pl/privAppAgroczakReflinks/partner_count_click.php";this.partner_send_url_link="https://agroczak.maxserver.pl/privAppAgroczakReflinks/partner_send_url.php";this.create_partner_settlement_link="https://agroczak.maxserver.pl/privAppAgroczakReflinks/create_partner_settlement.php";this.create_partner_settlement_promocode_link="https://agroczak.maxserver.pl/privAppAgroczakReflinks/create_partner_settlement_promocode.php";this.dropzone_css_link="https://agroczak.maxserver.pl/privAppAgroczakReflinks/css/dropzone.min.css";this.dropzone_js_link="https://agroczak.maxserver.pl/privAppAgroczakReflinks/scripts/dropzone.min.js";this.upload_file_link="https://agroczak.maxserver.pl/privAppAgroczakReflinks/gfx/upload_file.png";this.promocode_no_code_html=`
`;this.lang=Shop.lang.name?Shop.lang.name:"pl_PL";this.currency=Shop.values.currency?Shop.values.currency:"PLN";this.$style=$('').appendTo('head');this.insertStyle();this.collectPartnerCode();if($('body').hasClass('shop_login_register')){this.loginRegister();} if($('body').hasClass('shop_basket')){this.basketIndex();} if($('body').hasClass('shop_basket_address')){this.basketAddress();} if($('body').hasClass('shop_panel')){this.userPanel();} if($('body').hasClass('shop_panel_edit')){this.userPanelEdit();}};App.prototype.collectPartnerCode=function collectPartnerCode(){let partnerCode='';let urlString=decodeURIComponent(location.search.substr(1));urlString.split('&').forEach(function(item){if(item.indexOf('mxref')!=-1){partnerCode=item.split('/')[1].trim();}});if(partnerCode!=''){localStorage.privAppAgroczakReflinksPartnerCode=partnerCode;alert(`Użyłeś/aś reflinku ${partnerCode}`);} this.partnerCode='';if('privAppAgroczakReflinksPartnerCode'in localStorage){this.partnerCode=localStorage.privAppAgroczakReflinksPartnerCode;}};App.prototype.loginRegister=function loginRegister(){if($(`#additional_${this.holdingNumberFieldId}`).length>0){$('h4.separator.additional').html(`Kup zbiornik Swimer Agro Tank 22000L, poleć go swoim znajomym i zyskaj zwrot nawet do 100% wartości produktu!`);let holdingNumberHeader=$(`

Program Poleceń dla Rolników

`).insertBefore('.bottombuttons');let holdingNumberContainer=$(`
`).insertAfter(holdingNumberHeader);let holdingNumberLabel=$(``).appendTo(holdingNumberContainer);let holdingNumberInput=$(``).appendTo(holdingNumberContainer);holdingNumberInput.wrap(`
`);holdingNumberInput.wrap(``);let holdingNumberButton=$(``).appendTo(holdingNumberContainer);let holdingNumberOutput=$(`
`).insertAfter(holdingNumberContainer);let holdingNumberTerms=$(`
`).insertAfter(holdingNumberOutput);holdingNumberTerms.css({'display':'block'});holdingNumberTerms.append(`Chcesz wiedzieć więcej o naszym Programie Poleceń? `);holdingNumberTerms.append(`Kliknij TUTAJ.`);holdingNumberButton.on('click',function(e){$(`#additional_${this.holdingNumberFieldId}`).val('');let holdingNumber=holdingNumberInput.val().trim();if(holdingNumber.length>0){if(!/^[0-9]{9}$/.test(holdingNumber)){holdingNumberOutput.empty();$(`Nieprawidłowy numer gospodarstwa. Numer powinien się składać tylko z 9 cyfr.`).css({'color':'#e60c54'}).hide().fadeIn().delay(5000).fadeOut().appendTo(holdingNumberOutput);} else{let link=this.check_holding_number_link;let postData={sessionId:this.sessionId,sessionToken:this.sessionToken,holdingNumber:holdingNumber};$.post(link,postData).done(function(response){if(response=='notExist'){$(`#additional_${this.holdingNumberFieldId}`).val(holdingNumber);holdingNumberOutput.empty();$(`Po rejestracji zostaniesz dodany do programu poleceń`).hide().fadeIn().appendTo(holdingNumberOutput);} else{holdingNumberOutput.empty();$(`Ten numer gospodarstwa jest już dodany`).css({'color':'#e60c54'}).hide().fadeIn().delay(5000).fadeOut().appendTo(holdingNumberOutput);}}.bind(this)).fail(function(response){holdingNumberOutput.empty();$(`Nie udało się sprawdzić, czy jest już dodany ten numer gospodarstwa. Kliknij ponownie przycisk lub skontaktuj się z administratorem sklepu.`).css({'color':'#e60c54'}).hide().fadeIn().delay(5000).fadeOut().appendTo(holdingNumberOutput);}.bind(this));}}}.bind(this));}};App.prototype.userPanelEdit=function userPanelEdit(){if($(`#additional_${this.holdingNumberFieldId}`).length>0){if($(`#additional_${this.holdingNumberFieldId}`).val().trim().length>0)return;if($(`#additional_${this.farmerHashFieldId}`).val().trim().length>0)return;if($(`#additional_${this.partnerHashFieldId}`).val().trim().length>0)return;$('h4.separator.additional').html(`Kup zbiornik Swimer Agro Tank 22000L, poleć go swoim znajomym i zyskaj zwrot nawet do 100% wartości produktu!`);let holdingNumberHeader=$(`

Program Poleceń dla Rolników

`).insertBefore('.bottombuttons');let holdingNumberContainer=$(`
`).insertAfter(holdingNumberHeader);let holdingNumberLabel=$(``).appendTo(holdingNumberContainer);let holdingNumberInput=$(``).appendTo(holdingNumberContainer);holdingNumberInput.wrap(`
`);holdingNumberInput.wrap(``);let holdingNumberButton=$(``).appendTo(holdingNumberContainer);let holdingNumberOutput=$(`
`).insertAfter(holdingNumberContainer);let holdingNumberTerms=$(`
`).insertAfter(holdingNumberOutput);holdingNumberTerms.css({'display':'block'});holdingNumberTerms.append(`Chcesz wiedzieć więcej o naszym Programie Poleceń? `);holdingNumberTerms.append(`Kliknij TUTAJ.`);holdingNumberButton.on('click',function(e){$(`#additional_${this.holdingNumberFieldId}`).val('');let holdingNumber=holdingNumberInput.val().trim();if(holdingNumber.length>0){if(!/^[0-9]{9}$/.test(holdingNumber)){holdingNumberOutput.empty();$(`Nieprawidłowy numer gospodarstwa. Numer powinien się składać tylko z 9 cyfr.`).css({'color':'#e60c54'}).hide().fadeIn().delay(5000).fadeOut().appendTo(holdingNumberOutput);} else{let link=this.check_holding_number_link;let postData={sessionId:this.sessionId,sessionToken:this.sessionToken,holdingNumber:holdingNumber};$.post(link,postData).done(function(response){if(response=='notExist'){$(`#additional_${this.holdingNumberFieldId}`).val(holdingNumber);holdingNumberOutput.empty();$(`Po rejestracji zostaniesz dodany do programu poleceń`).hide().fadeIn().appendTo(holdingNumberOutput);} else{holdingNumberOutput.empty();$(`Ten numer gospodarstwa jest już dodany`).css({'color':'#e60c54'}).hide().fadeIn().delay(5000).fadeOut().appendTo(holdingNumberOutput);}}.bind(this)).fail(function(response){holdingNumberOutput.empty();$(`Nie udało się sprawdzić, czy jest już dodany ten numer gospodarstwa. Kliknij ponownie przycisk lub skontaktuj się z administratorem sklepu.`).css({'color':'#e60c54'}).hide().fadeIn().delay(5000).fadeOut().appendTo(holdingNumberOutput);}.bind(this));}}}.bind(this));}};App.prototype.basketIndex=function basketIndex(){this.waitFor(function(){return typeof window.frontAPI==='object'&&typeof window.frontAPI.getUser==='function';},function(){frontAPI.getUser(function(user){if('error_description'in user)return;let farmerHash='';for(let additionalField of user.additional_fields){if(additionalField.field_id==this.farmerHashFieldId){farmerHash=additionalField.value;}} if(farmerHash.length>0){let link=this.get_farmer_data_link;let postData={sessionId:this.sessionId,sessionToken:this.sessionToken,shopId:this.shopId,userId:user.user_id,userHash:farmerHash};$.post(link,postData).done(function(response){response=JSON.parse(response);if('error'in response)return false;let maxQuantity=0;$('.productlist [data-product-id]').each(function(index,item){item=$(item);if(item.data('product-id')==30){let quantity=item.find('.quantity input').val();if(maxQuantity{if(!response.ok)throw new Error(`Network error ${response.status}`);return response.text();}).then(response=>{$('.promo-container').html($(response).find('.promo-container').html());}).catch(error=>console.error(error));} else{fetch('/webapi/front/pl_PL/basket/PLN/',{method:'PUT',body:JSON.stringify({promocode:null}),}).then(response=>{if(!response.ok)throw new Error(`Network error ${response.status}`);return response.text();}).then(response=>{$('.promo-container').html(this.promocode_no_code_html);}).catch(error=>console.error(error));}};App.prototype.basketAddress=function basketAddress(){$(`#additional_${this.newOrderFieldId}`).val(this.partnerCode);if($(`#additional_${this.holdingNumberFieldId}`).length>0){let holdingNumberHeader=$(`

Program promowania dla rolników

`).appendTo('.client-add-info');holdingNumberHeader.css({'margin-bottom':0,'margin-top':'1em'});let holdingNumberContainer=$(`
`).insertAfter(holdingNumberHeader);let holdingNumberLabel=$(``).appendTo(holdingNumberContainer);let holdingNumberInput=$(``).appendTo(holdingNumberContainer);holdingNumberInput.wrap(`
`);holdingNumberInput.wrap(``);let holdingNumberButton=$(``).appendTo(holdingNumberContainer);let holdingNumberOutput=$(`
`).insertAfter(holdingNumberContainer);holdingNumberButton.on('click',function(e){$(`#additional_${this.holdingNumberFieldId}`).val('');let holdingNumber=holdingNumberInput.val().trim();if(holdingNumber.length>0){if(!/^[0-9]{9}$/.test(holdingNumber)){holdingNumberOutput.empty();$(`Nieprawidłowy numer gospodarstwa. Numer powinien się składać tylko z 9 cyfr.`).css({'color':'#e60c54'}).hide().fadeIn().delay(5000).fadeOut().appendTo(holdingNumberOutput);} else{let link=this.check_holding_number_link;let postData={sessionId:this.sessionId,sessionToken:this.sessionToken,holdingNumber:holdingNumber};$.post(link,postData).done(function(response){if(response=='notExist'){$(`#additional_${this.holdingNumberFieldId}`).val(holdingNumber);holdingNumberOutput.empty();$(`Dziękujemy, po opłaceniu zamówienia możesz polecać zbiornik innym rolnikom.`).hide().fadeIn().appendTo(holdingNumberOutput);} else{holdingNumberOutput.empty();$(`Ten numer gospodarstwa jest już dodany`).css({'color':'#e60c54'}).hide().fadeIn().delay(5000).fadeOut().appendTo(holdingNumberOutput);}}.bind(this)).fail(function(response){holdingNumberOutput.empty();$(`Nie udało się sprawdzić, czy jest już dodany ten numer gospodarstwa. Kliknij ponownie przycisk lub skontaktuj się z administratorem sklepu.`).css({'color':'#e60c54'}).hide().fadeIn().delay(5000).fadeOut().appendTo(holdingNumberOutput);}.bind(this));}}}.bind(this));}};App.prototype.userPanel=function userPanel(){$('head').append(``);$('head').append(``);this.waitFor(function(){return typeof window.frontAPI==='object'&&typeof window.frontAPI.getUser==='function'&&typeof window.Dropzone==='function';},function(){frontAPI.getUser(function(user){if('error_description'in user)return;let farmerHash='';let partnerHash='';for(let additionalField of user.additional_fields){if(additionalField.field_id==this.farmerHashFieldId){farmerHash=additionalField.value;} if(additionalField.field_id==this.partnerHashFieldId){partnerHash=additionalField.value;}} if(farmerHash.length>0){let link=this.get_farmer_data_link;let postData={sessionId:this.sessionId,sessionToken:this.sessionToken,shopId:this.shopId,userId:user.user_id,userHash:farmerHash};$.post(link,postData).done(function(response){response=JSON.parse(response);if('error'in response){let reflinkContainer=$(`