(function($){
$(document).ready(function(){
var original_price=$('#pewc-product-price').val();
var original_price_html=$('.wcfad-main-price').html();
$('body').on('change','.checkout .input-radio',function(){
$('body').trigger('update_checkout');
});
$(document).bind('show_variation', function(event, variation, purchasable){
var id=variation.variation_id;
$('.wcfad-variation-table').hide();
$('.wcfad-variation-table-' + id).show();
$('#wcfad_product_id').val(id);
original_price=$('#pewc-product-price').val();
$('input.qty').trigger('change');
});
$('input.qty').on('change keyup pewc_qty_changed', function(){
if(typeof pewc_vars!='undefined'&&pewc_vars.disable_wcfad_label=='yes'){
return;
}
var current_id=$('#wcfad_product_id').val();
var all_prices=window.wcfad_all_prices;
if(all_prices==undefined){
return;
}
var product_prices=all_prices[current_id];
var qty=parseFloat($(this).val());
if($('#pewc-wcfad-total-child-product-quantity').length > 0){
qty +=parseFloat($('#pewc-wcfad-total-child-product-quantity').val());
}
for(var prop in product_prices){
var tier=product_prices[prop];
if(! tier.max||isNaN(tier.max) ){
tier.max=99999999999;
}
if(qty >=parseInt(tier.min)&&qty <=parseInt(tier.max) ){
var suffix=$('.wcfad-main-price').find('.woocommerce-price-suffix').html();
var label=$('.wcfad-main-price').find('.wcfad-rule-label').html();
if(suffix){
suffix=wcfad_add_price_suffix(suffix, tier.value);
}else{
suffix='';
}
if(label){
suffix +='<br><span class="wcfad-rule-label">' + label + '</span>';
}
var main_price='';
if(wcfad_params.include_original=='yes'){
main_price='<span class="wcfad-original-price"><del>' + wcfad_wc_price(wcfad_params.price, false) + '</del></span>&nbsp;';
}
main_price +=tier.price + suffix;
$('.wcfad-main-price').html(main_price);
$('#pewc-product-price').val(tier.value);
break;
}else{
$('.wcfad-main-price').html(original_price_html);
$('#pewc-product-price').val(original_price);
}}
$('body').trigger('pewc_do_percentages');
});
$('body').on('wcbvp_quantity_field_updated', function(e, input){
var variation_id=0;
$('#wcfad_product_id').val(variation_id);
$('.wcfad-variation-table').hide();
if(input.val() > 0){
var tmp=input.attr('name').replace('[', ',').replace(']', ',').split(',');
variation_id=tmp[1];
}else{
$('body').find('.wcbvp-grid-quantity-field').each(function(){
if($(this).val() > 0 ){
var tmp=$(this).attr('name').replace('[', ',').replace(']', ',').split(',');
variation_id=tmp[1];
return false;
}});
}
if(variation_id > 0){
$('.wcfad-variation-table-' + variation_id).show();
$('#wcfad_product_id').val(variation_id);
}});
function wcfad_add_price_suffix(suffix, base_price){
if(wcfad_params.price_suffix_setting!=''){
var price_suffix_setting=wcfad_params.price_suffix_setting;
if(price_suffix_setting.indexOf('{price_excluding_tax}') > -1){
var price_ex_tax=base_price *(wcfad_params.percent_exc_tax / 100);
suffix=price_suffix_setting.replace('{price_excluding_tax}', wcfad_wc_price(price_ex_tax.toFixed(wcfad_params.decimals) ));
}else if(price_suffix_setting.indexOf('{price_including_tax}') > -1){
var price_inc_tax=base_price *(wcfad_params.percent_inc_tax / 100);
suffix=price_suffix_setting.replace('{price_including_tax}', wcfad_wc_price(price_inc_tax.toFixed(wcfad_params.decimals) ));
}else{
suffix=wcfad_params.price_suffix;
}
suffix=' &nbsp;<small class="woocommerce-price-suffix">' + suffix + '</small>';
}
return suffix;
}
function wcfad_wc_price(price, price_only=false){
var return_html, price_html, formatted_price;
var decimal_separator=wcfad_params.decimal_separator;
var thousand_separator=wcfad_params.thousand_separator;
var decimal_string='';
if(wcfad_params.decimals > 0){
var string=price.toString();
decimal_string=string.split('.');
if(decimal_string[1]==undefined){
decimal_string='';
}else{
decimal_string=decimal_separator + decimal_string[1];
}}
var floor=Math.floor(price);
floor=wcfad_format_separator(floor);
floor=floor.replace(/,/g, thousand_separator);
price=floor + decimal_string;
if(wcfad_params.currency_pos=='left'){
formatted_price=wcfad_params.currency_symbol + '&#x200e;' + price;
}else if(wcfad_params.currency_pos=='right'){
formatted_price=price + wcfad_params.currency_symbol + '&#x200f;';
}else if(wcfad_params.currency_pos=='left_space'){
formatted_price=wcfad_params.currency_symbol + '&#x200e;&nbsp;' + price;
}else if(wcfad_params.currency_pos=='right_space'){
formatted_price=price + '&nbsp;' + wcfad_params.currency_symbol + '&#x200f;';
}
price_html='<span class="woocommerce-Price-currencySymbol">' + formatted_price + '</span>';
return_html='<span class="woocommerce-Price-amount amount"><bdi>' + price_html + '</bdi></span>';
if(price_only){
return $(return_html).text();
}
return return_html;
}
function wcfad_format_separator(num){
return num.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,');
}
function wcfad_update_payment_method(){
if($('input[name="radio-control-wc-payment-method-options"]:checked').length < 1){
return;
}
var chosen_payment_method=$('input[name="radio-control-wc-payment-method-options"]:checked').val();
const { extensionCartUpdate }=wc.blocksCheckout;
$('.wp-block-woocommerce-checkout-order-summary-totals-block').block({
message: null,
overlayCSS: {
background: '#fff',
opacity: 0.6
}});
extensionCartUpdate(
{
namespace: 'wcfad_update_payment_method',
data: {
payment_method: chosen_payment_method,
},
}
)
.then(()=> {
})
.finally(()=> {
$('.wp-block-woocommerce-checkout-order-summary-totals-block').unblock();
});
}
if('undefined'!==typeof wc&&wc?.blocksCheckout&&wcfad_params.payment_gateway_enabled=='yes'){
wcfad_update_payment_method();
$('input[name="radio-control-wc-payment-method-options"]').on('click', function(){
wcfad_update_payment_method();
});
}});
})(jQuery);