"use strict";
var woocs_loading_first_time=true;
var woocs_sumbit_currency_changing=true;
jQuery(function ($){
if(typeof woocs_array_of_get==='undefined'){
return;
}
woocs_array_of_get=JSON.parse(woocs_array_of_get);
if(Object.keys(woocs_array_of_get).length!==0){
if('currency' in woocs_array_of_get){
$('body.woocommerce-cart .shop_table.cart').closest('form').find('input[name="update_cart"]').prop('disabled', false);
$('body.woocommerce-cart .shop_table.cart').closest('form').find('input[name="update_cart"]').trigger('click');
}}
if(Object.keys(woocs_array_of_get).length==0){
woocs_array_of_get={};}
woocs_array_no_cents=JSON.parse(woocs_array_no_cents);
if(!parseInt(woocs_get_cookie('woocommerce_items_in_cart'), 10)){
$('.widget_shopping_cart_content').empty();
$(document.body).trigger('wc_fragment_refresh');
}
if(woocs_array_of_get.currency!=undefined||woocs_array_of_get.removed_item!=undefined||woocs_array_of_get.key!=undefined){
woocs_refresh_mini_cart(555);
}
if(woocs_redraw_cart){
jQuery(document).on("adding_to_cart", function (){
woocs_refresh_mini_cart(999);
});
}
jQuery('body').on('click', '.woocs_price_info', function (){
return false;
});
if(woocs_drop_down_view=='chosen'||woocs_drop_down_view=='chosen_dark'){
try {
if(jQuery("select.woocommerce-currency-switcher").not('.woocs_clean_select').length){
jQuery("select.woocommerce-currency-switcher").not('.woocs_clean_select').chosen({
disable_search_threshold: 10
});
jQuery.each(jQuery('.woocommerce-currency-switcher-form .chosen-container'), function (index, obj){
jQuery(obj).css({'width': jQuery(this).prev('select').data('width')});
});
}} catch (e){
console.log(e);
}}
if(woocs_drop_down_view=='ddslick'){
try {
woocs_init_ddslick_select();
} catch (e){
console.log(e);
}}
woocs_loading_first_time=false;
if(woocs_drop_down_view=='wselect'&&woocs_is_mobile!=1){
try {
jQuery('select.woocommerce-currency-switcher').not('.woocs_clean_select').wSelect({
size: 7
});
} catch (e){
console.log(e);
}}
jQuery('.woocs_flag_view_item').on("click", function (){
if(woocs_sumbit_currency_changing){
if(jQuery(this).hasClass('woocs_flag_view_item_current')){
return false;
}
if(Object.keys(woocs_array_of_get).length==0){
window.location=window.location.href + '?currency=' + jQuery(this).data('currency');
}else{
woocs_redirect(jQuery(this).data('currency'));
}}
return false;
});
if(jQuery('.woocs_converter_shortcode').length){
jQuery('.woocs_converter_shortcode_button').on("click", function (){
var amount=jQuery(this).parent('.woocs_converter_shortcode').find('.woocs_converter_shortcode_amount').eq(0).val();
var from=jQuery(this).parent('.woocs_converter_shortcode').find('.woocs_converter_shortcode_from').eq(0).val();
var to=jQuery(this).parent('.woocs_converter_shortcode').find('.woocs_converter_shortcode_to').eq(0).val();
var precision=jQuery(this).parent('.woocs_converter_shortcode').find('.woocs_converter_shortcode_precision').eq(0).val();
var results_obj=jQuery(this).parent('.woocs_converter_shortcode').find('.woocs_converter_shortcode_results').eq(0);
jQuery(results_obj).val(woocs_lang_loading + ' ...');
var data={
action: "woocs_convert_currency",
amount: amount,
from: from,
to: to,
precision: precision
};
jQuery.post(woocs_ajaxurl, data, function (value){
jQuery(results_obj).val(value);
});
return false;
});
}
if(jQuery('.woocs_rates_shortcode').length){
jQuery('body').on('change', '.woocs_rates_current_currency', function (){
var _this=this;
var data={
action: "woocs_rates_current_currency",
current_currency: jQuery(this).val(),
precision: jQuery(this).data('precision'),
exclude: jQuery(this).data('exclude')
};
jQuery.post(woocs_ajaxurl, data, function (html){
jQuery(_this).parent('.woocs_rates_shortcode').html(html);
});
return false;
});
}
if(typeof woocs_shop_is_cached!=='undefined'){
if(woocs_shop_is_cached){
setTimeout(function (){
woocs_sumbit_currency_changing=false;
if(typeof woocs_array_of_get.currency==='undefined'){
if(jQuery('body').hasClass('single')){
}
var custom_prices=[];
jQuery.each(jQuery('.woocs_amount_custom_price'), function (index, item){
let decimals=jQuery(item).data('decimals');
let value=jQuery(item).data('value');
let currency=jQuery(item).data('currency');
custom_prices.push({
decimals: decimals,
value: value,
currency: currency
});
});
if(custom_prices.length!=0){
var data={
action: "woocs_get_custom_price_html",
custom_prices: custom_prices,
current_currency: woocs_current_currency['name']
};
jQuery.post(woocs_ajaxurl, data, function (data){
data=JSON.parse(data);
if(!jQuery.isEmptyObject(data)){
jQuery.each(data, function (val, price){
jQuery(".woocs_amount_custom_price[data-value='" + val + "']").replaceWith(price);
});
}});
}
var variation_ids=[];
var var_data=jQuery("form.variations_form").data("product_variations");
if(typeof var_data!="undefined"){
jQuery.each(var_data, function (indx, attr){
variation_ids.push(attr['variation_id']);
});
if(variation_ids.length!=0){
var data_var={
action: "woocs_get_variation_products_price_html",
var_products_ids: variation_ids,
current_currency: woocs_current_currency['name']
};
jQuery.post(woocs_ajaxurl, data_var, function (data){
data=JSON.parse(data);
if(!jQuery.isEmptyObject(data)){
jQuery.each(var_data, function (indx, attr){
if(typeof data[attr['variation_id']]!="undefined"){
var_data[indx]['price_html']=data[attr['variation_id']];
}});
jQuery("form.variations_form").data("product_variations", var_data);
}});
}}
var products_ids={};
var products_currency={};
jQuery.each(jQuery('.woocs_price_code'), function (index, item){
products_ids[jQuery(item).data('redraw-id')]=jQuery(item).data('product-id');
if(jQuery(item).data('currency')){
products_currency[jQuery(item).data('redraw-id')]=jQuery(item).data('currency');
}});
if(Object.keys(products_ids).length===0){
woocs_sumbit_currency_changing=true;
return;
}
var data={
action: "woocs_get_products_price_html",
products_ids: products_ids,
products_currency: products_currency,
current_currency: woocs_current_currency['name']
};
jQuery.post(woocs_ajaxurl, data, function (data){
data=JSON.parse(data);
if(jQuery.isEmptyObject(data)){
woocs_sumbit_currency_changing=true;
}
if(!jQuery.isEmptyObject(data)){
jQuery('.woocs_price_info').remove();
jQuery('.woocs_price_approx.woocs_cart_item_price').remove();
jQuery.each(jQuery('.woocs_price_code'), function (index, item){
if(data.ids[jQuery(item).data('redraw-id')]!=undefined){
jQuery(item).replaceWith(data.ids[jQuery(item).data('redraw-id')]);
}});
jQuery('.woocs_price_code').removeClass('woocs_preloader_ajax');
jQuery('.woocommerce-currency-switcher').val(data.current_currency);
if(woocs_drop_down_view=='chosen'||woocs_drop_down_view=='chosen_dark'){
try {
if(jQuery("select.woocommerce-currency-switcher").not('.woocs_clean_select').length){
jQuery("select.woocommerce-currency-switcher").not('.woocs_clean_select').chosen({
disable_search_threshold: 10
});
jQuery('select.woocommerce-currency-switcher').trigger("chosen:updated");
}} catch (e){
console.log(e);
}}
if(typeof data.currency_data!="undefined"){
woocs_current_currency=data.currency_data;
var min=jQuery('.price_slider_amount #min_price').val();
var max=jQuery('.price_slider_amount #max_price').val();
if(typeof max!='undefined'&&typeof min!='undefined'){
max=woocs_convert_price_slider(max);
min=woocs_convert_price_slider(min);
jQuery(document.body).trigger('price_slider_create', [min, max]);
}}
if(woocs_drop_down_view=='ddslick'){
try {
jQuery('div.dd-container').ddslick('destroy');
jQuery('select.woocommerce-currency-switcher').not('.woocs_clean_select').val(data.current_currency);
woocs_init_ddslick_select();
} catch (e){
console.log(e);
}}
if(woocs_drop_down_view=='wselect'&&woocs_is_mobile!=1){
try {
jQuery('select.woocommerce-currency-switcher').not('.woocs_clean_select').val(data.current_currency).trigger("change");
} catch (e){
console.log(e);
}}
var auto_switcher=jQuery('.woocs_auto_switcher');
if(auto_switcher.length > 0){
woocs_auto_switcher_redraw(data.current_currency, auto_switcher);
}
woocs_sumbit_currency_changing=true;
var shortcode_currency=jQuery('strong.woocs_current_currency_code');
if(shortcode_currency.length){
shortcode_currency.text(data.current_currency);
}
document.dispatchEvent(new CustomEvent('after_woocs_get_products_price_html', {detail: {
current_currency: data.current_currency
}}));
}});
}else{
woocs_sumbit_currency_changing=true;
}
jQuery(".single_variation_wrap").on("show_variation", function (event, variation){
jQuery('.woocs_price_code').removeClass('woocs_preloader_ajax');
});
jQuery('.woocs_price_code').removeClass('woocs_preloader_ajax');
}, 300);
}}
setTimeout(function (){
}, 300);
setTimeout(function (){
if(typeof woocs_shop_is_cached!=='undefined'&&woocs_shop_is_cached){
function woocs_recalculate_custom_prices(){
jQuery('.woocs_amount_custom_price').each(function (){
var $item=jQuery(this);
var base_value=parseFloat($item.data('value'));
var decimals=parseInt($item.data('decimals'));
if(isNaN(base_value)){
return;
}
var converted_value=base_value * woocs_current_currency.rate;
if(decimals===-1||isNaN(decimals)){
decimals=parseInt(woocs_current_currency.decimals);
}
if(woocs_current_currency.hide_cents==1){
decimals=0;
}
var price_formatted=converted_value.toFixed(decimals);
if(woocs_current_currency.separators==="1"){
price_formatted=price_formatted.replace('.', ',');
var parts=price_formatted.split(',');
parts[0]=parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, '.');
price_formatted=parts.join(',');
}else{
var parts=price_formatted.split('.');
parts[0]=parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
price_formatted=parts.join('.');
}
var symbol=woocs_current_currency.symbol;
var position=woocs_current_currency.position;
var final_html='';
switch (position){
case 'left':
final_html=symbol + price_formatted;
break;
case 'left_space':
final_html=symbol + '&nbsp;' + price_formatted;
break;
case 'right':
final_html=price_formatted + symbol;
break;
case 'right_space':
final_html=price_formatted + '&nbsp;' + symbol;
break;
default:
final_html=symbol + price_formatted;
}
$item.find('.woocs_amount').html(final_html);
});
console.log('WOOCS custom prices recalculated');
}
woocs_recalculate_custom_prices();
jQuery(document).on('woocs_currencies_changed', function (){
setTimeout(woocs_recalculate_custom_prices, 100);
});
}}, 500);
});
function woocs_redirect(currency){
if(!woocs_sumbit_currency_changing){
return;
}
var l=window.location.href;
var l_tmp=l.split('#');
l=l_tmp[0];
var id_key="";
if(l_tmp.length > 1){
id_key="#" + l_tmp[1]
}
l=l.split('?');
l=l[0];
var string_of_get='?';
woocs_array_of_get.currency=currency;
/*
l=l.replace(/(\?currency=[a-zA-Z]+)/g, '?');
l=l.replace(/(&currency=[a-zA-Z]+)/g, '');
*/
if(woocs_special_ajax_mode){
string_of_get="";
var data={
action: "woocs_set_currency_ajax",
currency: currency
};
jQuery.post(woocs_ajaxurl, data, function (value){
location.reload();
});
}else{
if(Object.keys(woocs_array_of_get).length > 0){
let get_values=[];
jQuery.each(woocs_array_of_get, function (index, value){
get_values.push(index + "=" + value);
});
string_of_get +=get_values.join("&");
}
window.location=l + string_of_get + id_key;
}}
function woocs_refresh_mini_cart(delay){
setTimeout(function (){
try {
$fragment_refresh={
url: wc_cart_fragments_params.ajax_url,
type: 'POST',
data: {action: 'woocommerce_get_refreshed_fragments', woocs_woocommerce_before_mini_cart: 'mini_cart_refreshing'},
success: function (data){
if(data&&data.fragments){
jQuery.each(data.fragments, function (key, value){
jQuery(key).replaceWith(value);
});
try {
if($supports_html5_storage){
sessionStorage.setItem(wc_cart_fragments_params.fragment_name, JSON.stringify(data.fragments));
sessionStorage.setItem('wc_cart_hash', data.cart_hash);
}} catch (e){
}
jQuery('body').trigger('wc_fragments_refreshed');
}}
};
jQuery.ajax($fragment_refresh);
try {
if(woocs_get_cookie('woocommerce_items_in_cart') > 0){
jQuery('.hide_cart_widget_if_empty').closest('.widget_shopping_cart').show();
}else{
jQuery('.hide_cart_widget_if_empty').closest('.widget_shopping_cart').hide();
}} catch (e){
}
jQuery('body').on('adding_to_cart', function (){
jQuery('.hide_cart_widget_if_empty').closest('.widget_shopping_cart').show();
});
} catch (e){
}}, delay);
}
function woocs_get_cookie(name){
var matches=document.cookie.match(new RegExp(
"(?:^|;)" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]):undefined;
}
jQuery(function (){
jQuery('.woocs_auto_switcher_link').on('click', function (){
woocs_redirect(jQuery(this).data('currency'));
return false;
});
jQuery('.woocs_auto_switcher li').on('click', function (e){
woocs_redirect(jQuery(this).find('a.woocs_auto_switcher_link').data('currency'));
return false;
});
});
function woocs_auto_switcher_redraw(curr_curr, switcher){
var view=switcher.data('view');
switch (view){
case 'classic_blocks':
switcher.find('a').removeClass('woocs_curr_curr');
switcher.find('a[data-currency="' + curr_curr + '"]').addClass('woocs_curr_curr');
break;
case 'roll_blocks':
switcher.find('a').removeClass('woocs_curr_curr');
switcher.find('li').removeClass('woocs_auto_bg_woocs_curr_curr');
var current_link=switcher.find('a[data-currency="' + curr_curr + '"]');
current_link.addClass('woocs_curr_curr');
current_link.parents('li').addClass('woocs_auto_bg_woocs_curr_curr');
break;
case 'round_select':
switcher.find('a').removeClass('woocs_curr_curr');
var current_link=switcher.find('a[data-currency="' + curr_curr + '"]');
current_link.addClass('woocs_curr_curr');
jQuery('.woocs_current_text').html(current_link.find('.woocs_base_text').html());
break;
default:
break;
}}
function woocs_remove_link_param(key, sourceURL){
var rtn=sourceURL.split("?")[0],
param,
params_arr=[],
queryString=(sourceURL.indexOf("?")!==-1) ? sourceURL.split("?")[1]:"";
if(queryString!==""){
params_arr=queryString.split("&");
for (var i=params_arr.length - 1; i >=0; i -=1){
param=params_arr[i].split("=")[0];
if(param===key){
params_arr.splice(i, 1);
}}
rtn=rtn + "?" + params_arr.join("&");
}
return rtn;
}
function woocs_init_ddslick_select(){
jQuery.each(jQuery('select.woocommerce-currency-switcher').not('.woocs_clean_select'), function (index, obj){
var width=jQuery(obj).data('width');
var flag_position=jQuery(obj).data('flag-position');
jQuery(obj).ddslick({
width: width,
imagePosition: flag_position,
selectText: "Select currency",
onSelected: function (data){
if(!woocs_loading_first_time){
var form=jQuery(data.selectedItem).closest('form.woocommerce-currency-switcher-form');
jQuery(form).find('input[name="woocommerce-currency-switcher"]').eq(0).val(data.selectedData.value);
if(Object.keys(woocs_array_of_get).length==0){
woocs_redirect(data.selectedData.value);
}else{
woocs_redirect(data.selectedData.value);
}}
}});
});
};