jQuery(document).ready(function($){var requestAjaxCalculatePrice;WooPriceCalculator={init:function(){if($('.wpc-cart-form').length){$('.wpc-cart-form').each(function(index,element){$('.wpc-cart-edit',element).click(function(){var productId=$('.wpc_product_id',element).val();var simulatorId=$('.wpc_simulator_id',element).val();var cartItemKey=$(element).attr('data-cart-item-key');var remodalInst=$('[data-remodal-id="wpc_cart_item_'+cartItemKey+'"]').remodal();var editButtons=$('[data-remodal-target="wpc_cart_item_'+cartItemKey+'"]');var data=$(element).find(WooPriceCalculator.getFieldSelector(),element).serialize();var quantity=0;if(WooPriceCalculator.getTargetEcommerce()=="woocommerce"){quantity=parseInt($("input[name='cart["+cartItemKey+"][qty]']").val());}else if(WooPriceCalculator.getTargetEcommerce()=="hikashop"){quantity=parseInt($("input[name='item["+cartItemKey+"]']").val());} $('.cart_item .product-price').html(WooPriceCalculator.htmlLoadingImage());WooPriceCalculator.ajaxEditCartItem(cartItemKey,productId,simulatorId,quantity,data);remodalInst.close();});});} $('.awspc-field-widget').each(function(index,element){var fieldId=$(element).attr('id');var fieldContainer=$(".awspc-field",element);var options=JSON.parse($('#'+fieldId+"_options").val());$(".aws_price_calc_date input",element).xdsoft_datetimepicker({timepicker:false,format:'Y-m-d',lazyInit:true,validateOnBlur:false,allowBlank:true,scrollInput:false,closeOnDateSelect:true,});$(".aws_price_calc_time input",element).xdsoft_datetimepicker({datepicker:false,format:'H:i:s',lazyInit:true,validateOnBlur:false,allowBlank:true,scrollInput:false,});$(".aws_price_calc_datetime input",element).xdsoft_datetimepicker({format:'Y-m-d H:i:s',lazyInit:true,validateOnBlur:false,allowBlank:true,scrollInput:false,});if(fieldContainer.hasClass('aws_price_calc_numeric')){var field=$('input',fieldContainer);var decimals=options['numeric']['decimals'];var decimalSeparator=options['numeric']['decimal_separator'];$(field).numeric({decimalPlaces:decimals,decimal:decimalSeparator,});}});WooPriceCalculator.initFieldEvents();setTimeout(function(){$('.remodal').remodal();},500);if(WPC_HANDLE_SCRIPT.is_cart==true){$(document).ajaxComplete(function(event,xhr,settings){if($('.woocommerce .cart_item').length){$('.remodal').remodal();}});}else{WooPriceCalculator.calculatePrice();}},hideOutputFields:function(){$('.awspc-output-product').hide();},showOutputFields:function(){$('.awspc-output-product').show();},hidePrice:function(cartItemKey){var priceSelector=WooPriceCalculator.getPriceSelector();if(cartItemKey!=null){var cartModalContainer=$('[data-cart-item-key="'+cartItemKey+'"]');$('.wpc-cart-item-price',cartModalContainer).hide();$('.wpc-cart-edit',cartModalContainer).prop('disabled',true);}else{$(priceSelector).hide();$('form[name="hikashop_product_form"] .hikashop_product_price_main').hide();} WooPriceCalculator.hideOutputFields();},showPrice:function(cartItemKey){var priceSelector=WooPriceCalculator.getPriceSelector();if(cartItemKey!=null){var cartModalContainer=$('[data-cart-item-key="'+cartItemKey+'"]');$('.wpc-cart-item-price',cartModalContainer).show();$('.wpc-cart-edit',cartModalContainer).prop('disabled',false);}else{$(priceSelector).show();$('form[name="hikashop_product_form"] .hikashop_product_price_main').show();} WooPriceCalculator.showOutputFields();},setFieldError:function(element,error){$(element).html(error);},getPriceSelector:function(){return'.product .summary .price, '+'.wpc-cart-form .price, '+'.product .price-box .amount, '+'form[name="hikashop_product_form"] .hikashop_product_price';},getFieldSelector:function(){return'.awspc-field input, '+'.awspc-field select';},htmlLoadingImage:function(){return"";},conditionalLogic:function(logic,cartItemKey){$.each(logic,function(fieldId,displayField){var fieldContainer=$('.awspc-field-row[data-field-id="'+fieldId+'"]');if(displayField==1){$(fieldContainer).show();}else{$(fieldContainer).hide();}});},getFieldContainer:function(fieldId,cartItemKey){if(cartItemKey!=null){var cartModalContainer=$('[data-cart-item-key="'+cartItemKey+'"]');var fieldContainer=$("#"+fieldId,cartModalContainer);}else{var fieldContainer=$("form.cart #"+fieldId+', form[name="hikashop_product_form"] #'+fieldId);} return fieldContainer;},ajaxCalculatePrice:function(productId,simulatorId,cartItemKey,data,outputEl){WooPriceCalculator.showPrice(cartItemKey);WooPriceCalculator.hideOutputFields();$(outputEl).html(WooPriceCalculator.htmlLoadingImage());$(".awspc-field-error").html("");if(requestAjaxCalculatePrice&&requestAjaxCalculatePrice.readyState!=4){requestAjaxCalculatePrice.abort();} requestAjaxCalculatePrice=$.ajax({method:"POST",url:WPC_HANDLE_SCRIPT.ajax_url+"&id="+productId+"&simulatorid="+simulatorId,dataType:'json',data:data,success:function(result,status,xhrRequest){WooPriceCalculator.conditionalLogic(result.conditionalLogic,cartItemKey);if(result.errorsCount==0){$(".awspc-output-product").html(result.outputFields);if(result.price==0){$(outputEl).html('Producto no disponible');$('.single_add_to_cart_button').prop("disabled",true);}else{$(outputEl).html(result.price);$('.single_add_to_cart_button').prop("disabled",false);} $(outputEl).show();WooPriceCalculator.showOutputFields();}else{WooPriceCalculator.hidePrice(cartItemKey);$.each(result.errors,function(fieldId,fieldErrors){$.each(fieldErrors,function(index,fieldError){var error=$(".awspc-field-error",WooPriceCalculator.getFieldContainer(fieldId,cartItemKey));$(error).html(fieldError);});});} $('.wpc-product-form').show();},error:function(xhrRequest,status,errorMessage){console.log("AWS Price Calculator Error: "+errorMessage);}});},ajaxEditCartItem:function(cartItemKey,productId,simulatorId,quantity,data){$.ajax({method:"POST",url:WPC_HANDLE_SCRIPT.ajax_url+"&id="+productId+"&simulatorid="+simulatorId+"&wpc_action=edit_cart_item"+"&cart_item_key="+cartItemKey+"&quantity="+quantity,data:data,success:function(result,status,xhrRequest){location.reload();},error:function(xhrRequest,status,errorMessage){console.log("Error: "+errorMessage);}});},wooCommerceUpdateCart:function(){$('[name="update_cart"]').trigger('click');},calculatePrice:function(){if(WPC_HANDLE_SCRIPT.is_cart==true){if($('.wpc-cart-form').length){WooPriceCalculator.calculateCartPrice();}}else{if($('.wpc-product-form').length){WooPriceCalculator.calculateProductPrice();}}},calculateCartPrice:function(){var element=window.wpcCurrentCartItem;var productId=$('.wpc_product_id',element).val();var simulatorId=$('.wpc_simulator_id',element).val();var data=$(element).find(WooPriceCalculator.getFieldSelector(),element).serialize();var cartItemKey=$(element).attr('data-cart-item-key');WooPriceCalculator.ajaxCalculatePrice(productId,simulatorId,cartItemKey,data,$('.price',element).first());},calculateProductPrice:function(){var productId=$('form.cart .wpc_product_id, [name="hikashop_product_form"] .wpc_product_id').val();var simulatorId=$('form.cart .wpc_simulator_id, [name="hikashop_product_form"] .wpc_simulator_id').val();var priceSelector=WooPriceCalculator.getPriceSelector();var data=$('form.cart .wpc-product-form, [name="hikashop_product_form"] .wpc-product-form').find(WooPriceCalculator.getFieldSelector()).serialize();WooPriceCalculator.ajaxCalculatePrice(productId,simulatorId,null,data,$(priceSelector));},getTargetEcommerce:function(){return WPC_HANDLE_SCRIPT.target_ecommerce;},initFieldEvents:function(){var timeout=false;var writingTimeout=250;if(WPC_HANDLE_SCRIPT.is_cart==true){$(document).on('opening','.remodal',function(){window.wpcCurrentCartItem=$(this);WooPriceCalculator.calculateCartPrice();});} $(document).on('keyup','.aws_price_calc_numeric input',function(){if(timeout){clearTimeout(timeout);} timeout=setTimeout(function(){WooPriceCalculator.calculatePrice();},writingTimeout);});$(document).on('change','.aws_price_calc_numeric input[type=range]',function(){if(timeout){clearTimeout(timeout);} timeout=setTimeout(function(){WooPriceCalculator.calculatePrice();},writingTimeout);});$(document).on('keyup','.aws_price_calc_text input',function(){if(timeout){clearTimeout(timeout);} timeout=setTimeout(function(){WooPriceCalculator.calculatePrice();},writingTimeout);});$(document).on('change','.aws_price_calc_date input',function(){WooPriceCalculator.calculatePrice();});$(document).on('change','.aws_price_calc_time input',function(){WooPriceCalculator.calculatePrice();});$(document).on('change','.aws_price_calc_datetime input',function(){WooPriceCalculator.calculatePrice();});$(document).on('change','.aws_price_calc_picklist select',function(){WooPriceCalculator.calculatePrice();});$(document).on('change','.aws_price_calc_radio input',function(){WooPriceCalculator.calculatePrice();});$(document).on('change','.aws_price_calc_checkbox input',function(){WooPriceCalculator.calculatePrice();});}};WooPriceCalculator.init();});