jQuery(document).ready(function($){
var is_enfold=0;
if(typeof avia_framework_globals!=='undefined'){
is_enfold=1;
}
if(typeof jQuery.fn.select2=="function"){
$('select.wcplproselect2').select2({
placeholder: function(){ $(this).data('placeholder'); }});
$('select.wcplproselect2').on("select2:select select2:unselect change", function(e){
var bindto=$(this).attr('data-bindto');
$('input[name="'+bindto+'"]').val($(this).val());
});
}
$('.wcpl_page_wrap ul.page-numbers a').on('click', function(event){
event.preventDefault();
var curpage=parseInt($(this).closest('.wcpl_page_wrap').find('form.wcplpro_pagination_form input.wcpl_page').val());
if($(this).hasClass('next')){
$(this).closest('.wcpl_page_wrap').find('form.wcplpro_pagination_form input.wcpl_page').val(curpage + 1);
}else if($(this).hasClass('prev')){
$(this).closest('.wcpl_page_wrap').find('form.wcplpro_pagination_form input.wcpl_page').val(curpage - 1);
}else{
$(this).closest('.wcpl_page_wrap').find('form.wcplpro_pagination_form input.wcpl_page').val($(this).text().replace(',', '').replace('.', ''));
}
$(this).closest('.wcpl_page_wrap').find('form.wcplpro_pagination_form').submit()
return false;
});
$('.wcplpro_filters_form a.wcplpro_reset').on('click', function(event){
event.preventDefault();
var curform=$(this).closest('form.wcplpro_filters_form');
curform.find('input[name="wcpl_product_tag"]').val('');
curform.find('input[name="wcpl_product_cat"]').val('');
curform.find('input[name="wcpl_search"]').val('');
curform.submit();
return false;
});
var ajaxurl=wcplprovars.ajax_url;
var carturl=wcplprovars.cart_url;
var currency_symbol=wcplprovars.currency_symbol;
var thousand_separator=wcplprovars.thousand_separator;
var decimal_separator=wcplprovars.decimal_separator;
var decimal_decimals=wcplprovars.decimal_decimals;
var currency_pos=wcplprovars.currency_pos;
var price_display_suffix=wcplprovars.price_display_suffix;
var gclicked=0;
var glob_clicked=0;
var count=0;
var numofadded=0;
var wcplpro_ajax=wcplprovars.wcplpro_ajax;
var $fragment_refresh='';
var get_global_cart_id='';
var lightbox=wcplprovars.lightbox;
var formdata=new Array;
if(lightbox==1){
$(".wcpl_zoom").fancybox({
loop:false,
animationDuration:250,
thumbs:{
autoStart:true
}});
}
Number.prototype.formatMoney=function(c, d, t){
var n=this,
c=isNaN(c=Math.abs(c)) ? 2:c,
d=d==undefined ? ".":d,
t=t==undefined ? ",":t,
s=n < 0 ? "-":"",
i=parseInt(n=Math.abs(+n||0).toFixed(c)) + "",
j=(j=i.length) > 3 ? j % 3:0;
return s + (j ? i.substr(0, j) + t:"") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2):"");
};
function get_price_html(price){
price=parseFloat(price).formatMoney(decimal_decimals,decimal_separator,thousand_separator);
if(currency_pos=='left'){
price=currency_symbol + price;
}
if(currency_pos=='right'){
price=price + currency_symbol;
}
if(currency_pos=='left_space'){
price=currency_symbol +' '+price;
}
if(currency_pos=='right_space'){
price=price + ' ' + currency_symbol;
}
if(price_display_suffix!=''){
price=price +' '+ price_display_suffix;
}
return price;
}
$supports_html5_storage=('sessionStorage' in window&&window['sessionStorage']!==null);
if(wcplpro_ajax==1){
$fragment_refresh={
url: ajaxurl,
type: 'POST',
data: { action: 'woocommerce_get_refreshed_fragments' },
success: function(data){
if(data&&data.fragments){
$.each(data.fragments, function(key, value){
$(key).replaceWith(value);
});
if($supports_html5_storage){
sessionStorage.setItem("wc_fragments", JSON.stringify(data.fragments) );
sessionStorage.setItem("wc_cart_hash", data.cart_hash);
}
console.log('refresh');
$('body').trigger('wc_fragments_refreshed');
}}
};}
if($("#wcplpro_added_to_cart_notification").length > 0){
$('#wcplpro_added_to_cart_notification .slideup_panel').on('click', function(event){
event.preventDefault();
$('#wcplpro_added_to_cart_notification').stop(true).slideUp(200);
glob_clicked=0;
return false;
});
}
if($("table.wcplprotable").length > 0){
$("table.wcplprotable").each(function(index){
var wcplprotable=$(this);
var random_id=$(this).data('random');
var wcplprotable_ajax=$(this).data('wcplprotable_ajax');
var cartredirect=$(this).data('cartredirect');
var sorting=$(this).data('sort');
var wcplprotable_globalcart=$(this).data('globalcart');
var wcplprotable_uncheck=$(this).data('globaluncheck');
var preorder=$(this).data('preorder');
var preorder_direction=$(this).data('preorder_direction');
update_global_sum($(this).find('input[name="wcplpro_quantity"]'));
if(wcplprotable.find("input.wcplpro_gift_wrap").length > 0){
wcplprotable.find("input.wcplpro_gift_wrap").on("change", function(){
if($(this).is(":checked")){
$(this).closest('tr').find(".cartcol input.gift_wrap").val("yes");
}else{
$(this).closest('tr').find(".cartcol input.gift_wrap").attr("value", "");
}});
}
if(wcplprotable.find("table.qtywrap").length > 0){
$("#tb_"+ random_id +" table.qtywrap").each(function(){
var qtythis=$(this);
var valnum=parseInt(qtythis.find('input[name="wcplpro_quantity"]').val());
var valmin=qtythis.find('input[name="wcplpro_quantity"]').attr('min');
var valmax=qtythis.find('input[name="wcplpro_quantity"]').attr('max');
if(qtythis.find('input[name="wcplpro_quantity"]').attr("step")&&qtythis.find('input[name="wcplpro_quantity"]').attr("step") > 0){
var step=parseInt(qtythis.find('input[name="wcplpro_quantity"]').attr("step"));
}else{
var step=1;
}
qtythis.closest('tr.vtrow').find(".totalcol").text(get_price_html((valnum) * qtythis.closest('tr').data('price')));
qtythis.find(".minusqty, .minus").on("click", function(){
if($(this).closest('.qtywrap').hasClass('disablebtnjs') ){
return;
}
console.log('minus');
valnum=parseInt(qtythis.find('input[name="wcplpro_quantity"]').val());
if(typeof valmin==='undefined'||valmin===null||valmin===''){
valmin=0;
}
if(is_enfold==0){
var minus_val=valnum - step;
}else{
var minus_val=valnum;
}
if(minus_val >=valmin){
if(is_enfold==0){
qtythis.find('input[name="wcplpro_quantity"]').val(minus_val);
}
qtythis.closest('tr').find(".cartcol input[name='quantity']").val(minus_val);
qtythis.closest('tr').find(".totalcol").text(get_price_html((minus_val) * qtythis.closest('tr').data('price')));
qtythis.find('input[name="wcplpro_quantity"]').trigger("qty:change");
}});
qtythis.find(".plusqty, .plus").on("click", function(){
if($(this).closest('.qtywrap').hasClass('disablebtnjs') ){
return;
}
console.log('plus');
valnum=parseInt(qtythis.find('input[name="wcplpro_quantity"]').val());
if(typeof valmax==='undefined'||valmax===null||valmax===''){
valmax=-1;
}
if(is_enfold==0){
var plus_val=valnum + step;
}else{
var minus_val=valnum;
}
if((plus_val <=valmax)||valmax==-1){
if(is_enfold==0){
qtythis.find('input[name="wcplpro_quantity"]').val(plus_val);
}
qtythis.closest('tr').find(".cartcol input[name='quantity']").val(plus_val);
qtythis.closest('tr').find(".totalcol").text(get_price_html((plus_val) * qtythis.closest('tr').data('price')));
qtythis.find('input[name="wcplpro_quantity"]').trigger("qty:change");
}});
});
$('.qtywrap input[name="wcplpro_quantity"]').on('change', function(){
var qtythis=$(this);
var valnum=parseInt(qtythis.val());
var valmin=qtythis.attr('min');
var valmax=qtythis.attr('max');
if(valnum < valmin){
qtythis.val(valmin);
}
if(valnum > valmax){
qtythis.val(valmax);
}});
}
if(sorting=='yes'){
var $table=$("#tb_"+ random_id +"").stupidtable();
if(preorder!=''&&preorder!='custom'){
var $th_to_sort=$table.find("thead th."+preorder);
$th_to_sort.stupidsort();
}
if($th_to_sort!==undefined&&$th_to_sort!==null){
if(preorder_direction!=''&&preorder_direction!='custom'){
$th_to_sort.stupidsort(preorder_direction);
}else{
$th_to_sort.stupidsort('asc');
}}
$table.on('aftertablesort', function (event, data){
});
}
$("a#gc_"+ random_id +"_top, a#gc_"+ random_id +"_bottom").on("click", function(event){
gclicked=1;
});
});
$(document).on("submit", "form.vtajaxform", function(event){
event.preventDefault();
console.log("triggered");
if($(this).find("input[name='quantity']").val() > 0){
formdata=[];
formdata.length=0;
$formdata=get_form_data($(this));
if($('#add2cartbtn_'+formdata['thisbuttonid']).length > 0){
$('#add2cartbtn_'+formdata['thisbuttonid']).attr('disabled', 'disabled');
$('#add2cartbtn_'+formdata['thisbuttonid']).addClass('working');
$(".vtspinner_"+ formdata['thisbuttonid']).fadeIn(200);
}
numofadded=numofadded + parseInt($(this).find("input[name='quantity']").val());
wcplpro_request(formdata);
}
return false;
});
if($(".globalcartbtn.submit").length > 0){
$(".globalcartbtn.submit:not(.working)").on("click", function(event){
event.preventDefault();
glob_clicked=1;
gclicked=1;
numofadded=0;
if($(this).hasClass('working')){ return false; }
formdata=[];
formdata.length=0;
var clickthis=$(this);
var pid=clickthis.attr("id").split("_");
get_global_cart_id='';
get_global_cart_id=pid[1];
var wcplprotable=$('#tb_'+pid[1]);
var random_id=wcplprotable.data('random');
var wcplprotable_ajax=wcplprotable.data('wcplprotable_ajax');
var cartredirect=wcplprotable.data('cartredirect');
var sorting=wcplprotable.data('sort');
var wcplprotable_globalcart=wcplprotable.data('globalcart');
var wcplprotable_uncheck=wcplprotable.data('globaluncheck');
var preorder=wcplprotable.data('preorder');
var preorder_direction=wcplprotable.data('preorder_direction');
var position=$(this).data('position');
count=0;
var ajaxtrigger=0;
$("table#tb_"+ random_id +" tr").not(".descrow").each(function(index){
if($(this).find("input.globalcheck").length > 0&&$(this).find("input.globalcheck").is(":checked")&&$(this).find("input[name='quantity']").val() > 0){
count=count +1;
ajaxtrigger=count;
}});
if(count==0){ return false; }
clickthis.addClass('working').attr('disabled', 'disabled');
$(".vtspinner_"+ position +".vtspinner_"+ pid[1]).stop(true).fadeIn(100, function(){
console.log("rows: "+ count);
var trig=0;
var promises=[];
$("table#tb_"+ random_id +" tr").not(".descrow").each(function(index){
if($(this).find("input.globalcheck").length > 0&&$(this).find("input.globalcheck").is(":checked")&&$(this).find("input[name='quantity']").val() > 0){
var formobj=$(this).find("form.vtajaxform");
get_form_data(formobj, index);
numofadded=numofadded + parseInt($(this).find("input[name='quantity']").val());
if(!--ajaxtrigger){
var request=wcplpro_request(formdata);
promises.push(request);
}
trig=1;
}});
$(document).on('wcplpro_global_add_finished', function(){
jQuery.when.apply(null, promises).done(function(){
if(wcplprotable_uncheck=='1'){
$("table#tb_"+ random_id +" .globalcheck").prop("checked", false);
}
if(wcplprotable_ajax!=1||cartredirect=='yes'){
if(trig==1){
if(cartredirect=='yes'){
window.location.href=""+carturl+"";
}
if(cartredirect=='no'){
location.reload();
}}
}
if(trig==0){ $(".vtspinner_"+ pid[1]).stop(true, true).fadeOut(100); }
if(trig==1){
$(".added2cartglobal_"+ pid[1]).stop(true).fadeIn(200); $(".added2cartglobal_"+ pid[1]).delay(3000).fadeOut(200);
}
if(numofadded > 0){
$('#wcplpro_added_to_cart_notification span').text(numofadded);
$('#wcplpro_added_to_cart_notification').stop(true).slideDown(100, function(){
if($('#wcplpro_added_to_cart_notification').hasClass('autoclose')){
$('#wcplpro_added_to_cart_notification').delay(6000).slideUp(200);
}
glob_clicked=0;
});
}else{
glob_clicked=0;
}
clickthis.removeClass('working').removeAttr('disabled');
numofadded=0;
console.log('finished');
gclicked=0;
});
});
});
});
}}
$(".wcplprotable .qtycol input.input-text.qty").on("input change keyup", function(){
var valmin=$(this).attr('min');
var valmax=$(this).attr('max');
if(typeof valmin==='undefined'||valmin===null){
valmin=0;
}
if(typeof valmax==='undefined'||valmax===null){
valmax=-1;
}
if(parseInt($(this).val()) < valmin){
$(this).val(valmin);
}
if(parseInt($(this).val()) > valmax&&valmax!=-1){
$(this).val(valmax);
}
$(this).parents('tr').parents('tr').find(".totalcol").text(get_price_html($(this).val() * $(this).parents('tr').parents('tr').data('price')));
$(this).parents('tr').parents('tr').find(".cartcol input[name='quantity']").val($(this).val());
$(this).trigger("qty:change");
});
if($('.giftcol').length > 0){
$("input.wcplpro_gift_wrap").on("change", function(){
if($(this).is(":checked")){
$(this).closest('tr').find(".cartcol input.gift_wrap").val("yes");
}else{
$(this).closest('tr').find(".cartcol input.gift_wrap").attr("value", "");
}});
}
$('input[name="wcplpro_quantity"]').on('qty:change', function(){
update_global_sum($(this));
});
$('input.globalcheck').on('change', function(){
update_global_sum($(this));
});
if($('table.wcplprotable').length > 0){
$('table.wcplprotable').each(function(){
update_global_sum($(this));
});
}
function update_global_sum(object){
var random_id=object.closest('table.wcplprotable').data('random');
var numofchecked=0;
var tabletotal=0;
$("table#tb_"+random_id+" tr").each(function(row){
if($(this).find('.globalcheck').is(":checked")&&parseInt($(this).find('input[name="quantity"]').val()) > 0){
numofchecked=parseInt(numofchecked) + parseInt($(this).find('input[name="quantity"]').val());
tabletotal=parseFloat(tabletotal) + (parseFloat($(this).attr('data-price')) * parseInt($(this).find('input[name="quantity"]').val()));
}});
$('#gc_'+ random_id +'_top span.vt_products_count, #gc_'+ random_id +'_bottom span.vt_products_count').text(' ('+ numofchecked +')');
$('#gc_'+ random_id +'_top span.vt_total_count, #gc_'+ random_id +'_bottom span.vt_total_count').text(''+ get_price_html(tabletotal) +'');
}
$(".wcplprotable_selectall_check").on("change", function(event){
var said=$(this).attr("id").split("_");
if(this.checked){
$("table#tb_"+ said[1] +" tr").each(function(index){
if($(this).find("input.globalcheck").length > 0){
$(this).find("input.globalcheck").attr("checked", "checked");
}});
}else{
$("table#tb_"+ said[1] +" tr").each(function(index){
if($(this).find("input.globalcheck").length > 0){
$(this).find("input.globalcheck").removeAttr("checked");
}});
}
update_global_sum($(this));
});
function get_form_data(formobj, i){
i=typeof i!=='undefined' ? i:0;
if(typeof formdata['variation_id']==='undefined'){ formdata['variation_id']=new Array; }
if(typeof formdata['product_id']==='undefined'){ formdata['product_id']=new Array; }
if(typeof formdata['quantity']==='undefined'){ formdata['quantity']=new Array; }
if(typeof formdata['gift_wrap']==='undefined'){ formdata['gift_wrap']=new Array; }
if(typeof formdata['variations']==='undefined'){ formdata['variations']=new Array; }
if(typeof formdata['wcplprotable_ajax']==='undefined'){ formdata['wcplprotable_ajax']=new Array; }
if(typeof formdata['wcplprotable_globalcart']==='undefined'){ formdata['wcplprotable_globalcart']=new Array; }
if(typeof formdata['cartredirect']==='undefined'){ formdata['cartredirect']=new Array; }
if(typeof formdata['thisbuttonid']==='undefined'){ formdata['thisbuttonid']=new Array; }
formdata['variation_id'].push(formobj.find('input[name="variation_id"]').val());
formdata['product_id'].push(formobj.find('input[name="product_id"]').val());
formdata['quantity'].push(formobj.find('input[name="quantity"]').val());
formdata['gift_wrap'].push(formobj.find('input[name="gift_wrap"]').val());
formdata['variations'].push(formobj.find('input[name="form_wcplprotable_attribute_json"]').val());
formdata['wcplprotable_ajax']=formobj.closest('table.wcplprotable').data('wcplprotable_ajax');
formdata['wcplprotable_globalcart']=formobj.closest('table.wcplprotable').data('globalcart');
formdata['cartredirect']=formobj.closest('table.wcplprotable').data('cartredirect');
var thisbuttonid=formobj.find('.button.add_to_cart').attr('id').split('_');
formdata['thisbuttonid'].push(thisbuttonid[1]);
return formdata;
}
function wcplpro_request(formdata){
jQuery.ajaxQueue({
type:"POST",
url: ajaxurl,
data: {
"action":"add_product_to_cart",
"product_id":JSON.stringify(formdata['product_id']),
"variation_id":JSON.stringify(formdata['variation_id']),
"quantity":JSON.stringify(formdata['quantity']),
"gift_wrap":JSON.stringify(formdata['gift_wrap'])
},
success:function(data){
if(formdata['wcplprotable_ajax']==1){
$.ajax($fragment_refresh);
}
if(glob_clicked==0){
$('#wcplpro_added_to_cart_notification span').text(formdata['quantity']);
$('#wcplpro_added_to_cart_notification').stop(true, true).slideDown(200, function(){
if($('#wcplpro_added_to_cart_notification').hasClass('autoclose')){
$('#wcplpro_added_to_cart_notification').delay(6000).slideUp(200);
}});
$(".vtspinner_"+ formdata['thisbuttonid']).fadeOut(200, function(){
$('body').trigger('wcplpro_global_add_finished');
});
$("#added2cart_"+ formdata['thisbuttonid']).fadeIn(200, function(){
$("#added2cart_"+ formdata['thisbuttonid']).delay(1000).fadeOut(1000);
if($('#add2cartbtn_'+formdata['thisbuttonid']).length > 0){
$('#add2cartbtn_'+formdata['thisbuttonid']).removeAttr('disabled');
$('#add2cartbtn_'+formdata['thisbuttonid']).removeClass('working');
}
if((formdata['wcplprotable_ajax']!=1)||formdata['cartredirect']=='yes'){
if(formdata['cartredirect']=='yes'){
window.location.href=""+carturl+"";
}
if(formdata['cartredirect']=='no'){
location.reload();
}}
});
}
if(glob_clicked==1||gclicked==1){
$(".vtspinner_"+ get_global_cart_id).fadeOut(200, function(){
$('body').trigger('wcplpro_global_add_finished');
});
}},
error: function(data){
console.log(data);
}});
}
(function($){
var ajaxQueue=$({});
$.ajaxQueue=function(ajaxOpts){
var oldComplete=ajaxOpts.complete;
ajaxQueue.queue(function(next){
ajaxOpts.complete=function(){
if(oldComplete) oldComplete.apply(this, arguments);
next();
};
$.ajax(ajaxOpts);
});
};})(jQuery);
});