1 line
14 KiB
JavaScript
1 line
14 KiB
JavaScript
var sensbitinpost=function($,w,d){var options={module:"",text_choose_point:"",text_point_cod:"",text_phone_required:"",loaded:!1,id_interval:!1,use_desintifier:!1,carriers:[],carriers_cod:[],point:"",point_label:"",carrier_selector:".delivery_option_radio",point_required:!1,validate_cod:0,map_is_open:!1,x13opc:!1,onepagecheckout:!1,supercheckout:!1,onepagecheckoutps:!1,wkonepagecheckout:!1,spstepcheckout:!1,steasycheckout:!1,easypay:!1,bestkit_opc:!1,google_key:"AIzaSyDZc6Ajf0PqhUAzbktozQyHFpi5V7TZW_o",use_interval:!1,conf_btn:"button[name=processCarrier]",ps17:!1,ajax_url:"",show_chooser_below_list:!1,easypack_init:!1,map_type:"google",delivery_block:null,validate_fields:", input#cgv, input#cgv2, input#privacy_policy, input#kb_super_policy_1, input#kb_super_policy_2, #conditions_to_approve\\[terms-and-conditions\\], input[required][id^=conditions_to_approve], input[required][id^=agreement], input[name=psgdpr], input[name=required-checkbox-1], input[name='conditions_to_approve[terms-and-conditions]']"},last_customer_place="",last_validate_cod="",fastcheck=!0;function formatParcel(t){return t.text}function desintifier(t){t=t.toString();var e=parseInt(t[0]);return strrev((t=strrev(t.substr(1))).split("0".repeat(e+1)).join(","))}function strrev(t){return t.split("").reverse().join("")}function checkSelected(){0<$(".delivery-option.sensbitinpost").length&&$(".delivery-option.sensbitinpost").removeClass("sensbitinpost");var t=$(options.carrier_selector).filter(":checked");if(t.hasClass("wk_selected_shipping")&&void 0!==t.data("idCarrier"))var e=parseInt(t.data("idCarrier"));else e=parseInt(t.val());if(options.use_desintifier&&3<e.toString().length&&e.toString().indexOf(",")<=-1&&(e=parseInt(desintifier(e))),-1!==$.inArray(e,options.carriers)){options.point_required=!0;var o="append";if(options.show_chooser_below_list){if(options.onepagecheckoutps)(i=t.closest(".delivery-options")).length||(i=t.closest(".delivery_options_address")),o="append";else if(options.onepagecheckout){var i=$("#carriers_section");o="after"}else if(options.supercheckout)i=$("#shipping-method");else if(options.spstepcheckout)i=$("#shipping_container");else if(options.steasycheckout){i=$("#js-delivery");o="after"}else{(i=$(options.ps17?".delivery-options-list .delivery-options":".delivery_options_address")).length||(i=$(".delivery-options-list .r-options")),o="append"}i.is("table")&&(o="after")}else{if(options.x13opc)(i=t.closest(".delivery_option")).length||(i=t.closest("tr"));else if(options.onepagecheckout){(i=t.closest("tr")).length||(i=t.closest(".delivery_option"))}else if(options.onepagecheckoutps){i=t.closest(".delivery-option, .delivery_option");o="after"}else if(options.supercheckout){(i=t.closest("tr")).length<=0&&(i=t.closest("li"))}else if(options.easypay)i=t.closest("tr");else if(options.wkonepagecheckout){o="after",(i=$(options.carrier_selector).closest(".wk-shipping-list")).length<=0&&(i=$(options.carrier_selector).closest("#wk_shipping_section"),o="append")}else if(options.bestkit_opc)i=t.closest("tr");else{(i=t.closest(options.ps17?".delivery-option":".delivery_option")).length||(i=t.closest(options.ps17?".delivery_option":".delivery-option")),i.length||(i=t.closest(".r-option")),i.length||(i=t.closest(".form-group")),i.length||(i=t.closest(".tablecart")),i.length||(i=t.next("label")),o="after"}}if(options.validate_cod=-1!==$.inArray(e,options.carriers_cod)?1:0,i.is("tr")&&(o="after"),"after"===o)var n=i.parent().find("."+options.module+"."+options.validate_cod).length;else n=i.find("."+options.module+"."+options.validate_cod).length;if(!n){var s=$("#"+options.module).clone(!0);if(s.removeAttr("id"),s.addClass(options.validate_cod.toString()),options.show_chooser_below_list&&options.ps17?s.css("margin-top","0"):options.ps17&&i.is("label")&&s.css("margin-top","20px").css("margin-left",0).css("margin-right",0),options.show_chooser_below_list||!options.x13opc&&!i.is("tr"))"append"===o?i.append(s):"after"===o&&i.after(s);else{var p=i;i.is("tr")||(i=i.find("tr")),s.css("margin","0");var a=i.find("td").length;i.find("td").css("border","0");var l=$('<tr class="'+options.module+'-tr"><td colspan="'+a+'" style="border:0;padding:0;" class="'+options.module+'-td"></td></tr>');l.find("td").append(s),i.after(l);var r=i.next("."+options.module+"-tr").find("."+options.module+"-td");p.width()<r.width()&&!options.supercheckout?r.css("max-width","0"):options.supercheckout?(i.next(".sensbitinpost-tr").css("display","block"),r.css("display","block"),r.css("width","100%")):options.bestkit_opc&&r.css("max-width","0")}initSelect(s),options.point.length<=0&&$(options.conf_btn+options.validate_fields).filter(":checkbox").each(function(){$(this).prop("checked",!1),void 0!==$.uniform&&$.uniform.update(this),"function"!=typeof updatePaymentMethodsDisplay||options.bestkit_opc||updatePaymentMethodsDisplay()})}$("."+options.module).not("."+options.validate_cod).hide(),$("."+options.module+"."+options.validate_cod).show(),options.validate_cod&&options.point_required&&0<options.point.length&&public.updatePoint(options.point,"."+options.module+"-point-select"),getFastList()}else fastcheck=!0,$("."+options.module).hide(),options.point_required=!1;updateAddress()}function initSelect(t){$(t).find("."+options.module+"-point-select").not(".active").addClass("active").select2sensbitinpost({language:"pl",allowClear:!1,closeOnSelect:!0,selectOnClose:!1,width:300,ajax:{url:options.ajax_url,dataType:"json",delay:250,data:function(t){return{ajax:1,action:"searchPoints",q:t.term,is_cod:options.validate_cod,page:t.page||1}},processResults:function(t,e){return e.page=e.page||1,{results:$.map(t.items,function(t){return t.id=t.name,t.text=t.label,t}),pagination:{more:30*e.page<t.total_count}}},cache:!0},escapeMarkup:function(t){return t},minimumInputLength:1,templateResult:formatParcel,templateSelection:formatParcel})}function showAlert(t){$.prototype.fancybox?$.fancybox.open([{type:"inline",autoScale:!0,minHeight:30,content:'<p class="fancybox-error">'+t+"</p>"}],{padding:0,helpers:{overlay:{locked:!1}}}):alert(t)}function initMap(){options.hide_map||($("."+options.module+"-map-container").remove(),$("body").append("<div class='"+options.module+"-map-container'><div id='sensbiteasypack-map'></div></div>"),$("."+options.module+"-map-container").click(function(t){$(t.target).parents("."+options.module+"-map-container").length||($(this).fadeOut(),options.map_is_open=!1)}))}function validate(t){var e=!1;if(options.point_required&&options.point.length<=0)e=!0,t.preventDefault(),t.stopPropagation(),alert(options.text_choose_point),$("."+options.module+"-map-btn").trigger("click");else if(options.point_required&&$("."+options.module+"-phone-input:visible").length){9!==$("."+options.module+"-phone-input:visible").val().replace(/\D/g,"").length&&(e=!0,t.preventDefault(),t.stopPropagation(),alert(options.text_phone_required))}e?($("."+options.module).addClass("error"),$(this).is(":checkbox")&&$(this).is(":visible")&&($(this).prop("checked",!1),void 0!==$.uniform&&$.uniform.update(this)),$("html, body").animate({scrollTop:$("."+options.module+":visible").offset().top-150},500)):$("."+options.module).removeClass("error")}function updateAddress(){if(1<=$("#order-summary-content .addresshead").first().length)if(null===options.delivery_block&&(options.delivery_block=$("#order-summary-content .addresshead").first().closest("div").html()),options.point_required&&0<options.point.length){var t=$("#order-summary-content .addresshead").first()[0].outerHTML;t+=options.point_address,$("#order-summary-content .addresshead").first().closest("div").html(t)}else $("#order-summary-content .addresshead").first().closest("div").html(options.delivery_block)}function getFastList(){fastcheck&&(fastcheck=!1,setTimeout(function(){if(void 0!==options.customer_place&&3<options.customer_place.length)if($(".sensbitinpost_points_list:visible").length<=0||options.customer_place!==last_customer_place||options.validate_cod!==last_validate_cod){last_customer_place=options.customer_place,last_validate_cod=options.validate_cod;var e={sort_by:"distance_to_relative_point",max_distance:1e4,limit:5,type:"parcel_locker"};1===options.validate_cod&&(e.payment_available=!0,e.payment_type=2),$.ajax({url:options.url_osm_search,type:"GET",data:{format:"jsonv2",q:options.customer_place,limit:1},dataType:"json",success:function(t){"object"==typeof t&&void 0!==t[0]&&void 0!==t[0].lat&&void 0!==t[0].lon&&(options.location=t[0].lat+","+t[0].lon,e.relative_point=options.location,$.ajax({url:options.url_inpost_points,type:"GET",data:e,dataType:"json",success:function(t){if(void 0!==t&&void 0!==t.items&&0<t.items.length){var n=$("<ul></ul>");if($.each(t.items,function(){var t=this.name,e=this.address.line1+", "+this.address.line2,o=t.startsWith("POP")?"pop":"parcel_locker",i="<strong>"+t+"</strong>"+this.address.line1+"<br/>"+this.address.line2;n.append('<li><label class="'+o+'"><input data-label="'+t+", "+e+'" type="radio" name="sensbitinpost_points_fast_list" value="'+t+'"/>'+i+"</label></li>")}),0<$(".sensbitinpost_points_list ul").length&&$(".sensbitinpost_points_list ul").remove(),n.append('<li><label><input type="radio" name="sensbitinpost_points_fast_list" value="sensbitother"/>'+options.label_other_point+"</label></li>"),3<options.point.length){var e=n.find("input[value="+options.point+"]"),o=options.point.startsWith("POP")?"pop":"parcel_locker";0===e.length&&n.prepend('<li><label class="'+o+'"><input data-label="'+options.point_label+'" type="radio" name="sensbitinpost_points_fast_list" value="'+options.point+'"/><strong>'+options.point+"</strong>"+options.point_address_only+"</label></li>"),n.find("input[value="+options.point+"]").prop("checked",!0).closest("label").addClass("active")}$(".sensbitinpost_points_list").append(n).slideDown(),$(".sensbitinpost-search").hide()}else $(".sensbitinpost_points_list").hide(),$(".sensbitinpost-search:hidden").slideDown()}}))}})}else $(".sensbitinpost_points_list").is(":visible")&&($(".sensbitinpost_points_list").slideDown(),$(".sensbitinpost-search:visible").hide(),$(".sensbitinpost_show_nearby").hide());else $(".sensbitinpost_points_list").hide(),$(".sensbitinpost-search:hidden").slideDown()},1e3))}String.prototype.repeat=function(t){return new Array(t+1).join(this)},$(function(){$(document).on("change, click","input[name=sensbitinpost_points_fast_list]",function(){$("input[name=sensbitinpost_points_fast_list]").parent("label").removeClass("active"),$(this).parent("label").addClass("active");var t=$(this).val();"sensbitother"===t?(fastcheck=!1,public.updatePoint(""),$("."+options.select2+"-selection__rendered").text($(".sensbitinpost_points_list > strong").first().text()),$(".sensbitinpost_points_list").slideUp(400,function(){$(".sensbitinpost-search:hidden").slideDown(400,function(){$("."+options.module+"-point-select.active:visible").select2sensbitinpost("open"),$(".sensbitinpost_show_nearby").css("display","block")})})):($("."+options.select2+"-selection__rendered").text($(this).data("label")),public.updatePoint(t),$(".sensbitinpost_show_nearby").hide())}),$(document).on("click",".sensbitinpost_show_nearby",function(t){t.preventDefault(),$(".sensbitinpost_points_list label.active").removeClass("active"),$(".sensbitinpost-search").slideUp(400,function(){$(".sensbitinpost_points_list").slideDown()})})});var public={setOptions:function(t){void 0!==t.point&&(null!==t.point&&t.point||(t.point="")),$.extend(options,t),0<options.point.length&&public.updatePoint(options.point,"."+options.module+"-point-select"),$("input.multi_carrier_poland").length?options.carrier_selector="input.multi_carrier_poland":$(options.carrier_selector).length<=0&&($("input[name^='delivery_option']").length&&(options.carrier_selector="input[name^='delivery_option']"),$("input[name^='id_carrier']").length&&(options.carrier_selector="input[name^='id_carrier']")),$(options.conf_btn+options.validate_fields).length<=0&&(options.conf_btn="button[name=confirmDeliveryOption]")},debug:function(){console.log(options)},init:function(t){options.loaded||(void 0!==t&&public.setOptions(t),options.loaded=!0,options.id_interval=setInterval(function(){void 0!==$&&($(function(){if(console.log(options.text_console,"font-size:18px;color:#c00;"),initMap(),checkSelected(),$(document).on("change",options.carrier_selector,function(){checkSelected()}),options.use_interval)setInterval(function(){checkSelected()},500);$(document).on("change","."+options.module+"-point-select",function(){var t=$(this);public.updatePoint(t.val(),t)}),$(document).on("keyup","."+options.module+"-phone-input",function(){$(this).val($(this).val().replace(/\D/g,""))}),$(document).on("change","."+options.module+"-phone-input",function(){public.updatePoint(options.point,"."+options.module+"-point-select")}),$(document).on("submit","form[name=carrier_area]",function(t){validate(t)}),$(document).on("click touch",options.conf_btn+options.validate_fields,function(t){validate(t)})}),clearInterval(options.id_interval))},300))},openMap:function(target,place){if(!options.map_is_open){options.map_is_open=!0;var paymentFilter={visible:!1,defaultEnabled:!1};1===options.validate_cod&&(paymentFilter.visible=!0,paymentFilter.showOnlyWithPayment=!1);var params={defaultLocale:"pl",closeTooltip:!0,points:{types:["parcel_locker"],function:["parcel_collect"]},mapType:options.map_type,searchType:options.map_type,map:{googleKey:options.google_key,initialTypes:["parcel_locker"],initialZoom:13},closestLimit:500,paymentFilter:paymentFilter};with(void 0!==options.location&&(params.map.defaultLocation=options.location.split(",")),document.getElementById("sensbiteasypack-map"))for(;0<childNodes.length;)removeChild(childNodes[0]);SensbitInpostEasyPack.init(params);var map=SensbitInpostEasyPack.mapWidget("sensbiteasypack-map",function(e){$(target).filter(":visible").each(function(){var t=$(this);t.hasClass(".paczkomat-select")||t.val(e.name),$(target).parents("."+options.module).find("."+options.select2+"-selection__rendered").text([e.name,e.address.line1,e.address.line2].join(", ")),public.updatePoint(e.name,target)}),$("."+options.module+"-map-container").fadeOut(),options.map_is_open=!1});void 0!==place&&3<=place.length&&map.searchPlace(place),$("."+options.module+"-map-container").fadeIn()}},updatePoint:function(e,o){var t=$("."+options.module+"-phone-input:visible");t.length||(t=$("."+options.module+"-phone-input").eq(0)),$.ajax({url:options.ajax_url,type:"POST",data:{ajax:1,action:"updatePoint",point:e,check_cod:options.validate_cod,phone:t.length?t.val():""},success:function(t){"0"===t?(options.point="",$(o).closest("."+options.module).find("."+options.select2+"-selection__rendered").text(""),showAlert(options.text_point_cod)):(options.point_address=t,options.point=e,$("."+options.module).removeClass("error"))}})}};return public}($,window,document); |