!function(b){var h=function(){this.defined="undefined"!==typeof localStorage};h.prototype={constructor:h,get:function(a,b){return localStorage.getItem(a)?localStorage.getItem(a):"undefined"!==typeof b?b:null},has:function(a){return localStorage.getItem(a)?!0:!1},set:function(a,b,d){"string"===typeof b&&(""===b?this.destroy(a):localStorage.setItem(a,b));return"function"===typeof d?d():!0},destroy:function(a,b){localStorage.removeItem(a);return"function"===typeof b?b():!0},clean:function(a){for(var b=
localStorage.length-1;0<=b;b--)"undefined"===typeof Array.indexOf&&-1!==localStorage.key(b).indexOf("garlic:")&&localStorage.removeItem(localStorage.key(b));return"function"===typeof a?a():!0},clear:function(a){localStorage.clear();return"function"===typeof a?a():!0}};var j=function(a,b,d){this.init("garlic",a,b,d)};j.prototype={constructor:j,init:function(a,c,d,f){this.type=a;this.$element=b(c);this.options=this.getOptions(f);this.storage=d;this.path=this.options.getPath(this.$element)||this.getPath();
this.parentForm=this.$element.closest("form");this.$element.addClass("garlic-auto-save");this.expiresFlag=!this.options.expires?!1:(this.$element.data("expires")?this.path:this.getPath(this.parentForm))+"_flag";this.$element.on(this.options.events.join("."+this.type+" "),!1,b.proxy(this.persist,this));if(this.options.destroy)b(this.parentForm).on("submit reset",!1,b.proxy(this.destroy,this));this.retrieve()},getOptions:function(a){return b.extend({},b.fn[this.type].defaults,a,this.$element.data())},
persist:function(){this.val!==this.getVal()&&(this.val=this.getVal(),this.options.expires&&this.storage.set(this.expiresFlag,((new Date).getTime()+1E3*this.options.expires).toString()),this.storage.set(this.path,this.getVal()))},getVal:function(){return!this.$element.is("input[type=checkbox]")?this.$element.val():this.$element.prop("checked")?"checked":"unchecked"},retrieve:function(){if(this.storage.has(this.path)){if(this.options.expires){var a=(new Date).getTime();if(this.storage.get(this.expiresFlag)<
a.toString()){this.storage.destroy(this.path);return}this.$element.attr("expires-in",Math.floor((parseInt(this.storage.get(this.expiresFlag))-a)/1E3))}a=this.storage.get(this.path);if(this.options.conflictManager.enabled&&this.detectConflict())return this.conflictManager();if(this.$element.is("input[type=radio], input[type=checkbox]")){if("checked"===a||this.$element.val()===a)return this.$element.attr("checked",!0);"unchecked"===a&&this.$element.attr("checked",!1)}else this.$element.val(a),this.options.onRetrieve(this.$element,
a)}},detectConflict:function(){var a=this;if(this.$element.is("input[type=checkbox], input[type=radio]"))return!1;if(this.$element.val()&&this.storage.get(this.path)!==this.$element.val()){if(this.$element.is("select")){var c=!1;this.$element.find("option").each(function(){0!==b(this).index()&&(b(this).attr("selected")&&b(this).val()!==a.storage.get(this.path))&&(c=!0)});return c}return!0}return!1},conflictManager:function(){if("function"===typeof this.options.conflictManager.onConflictDetected&&
!this.options.conflictManager.onConflictDetected(this.$element,this.storage.get(this.path)))return!1;this.options.conflictManager.garlicPriority?(this.$element.data("swap-data",this.$element.val()),this.$element.data("swap-state","garlic"),this.$element.val(this.storage.get(this.path))):(this.$element.data("swap-data",this.storage.get(this.path)),this.$element.data("swap-state","default"));this.swapHandler();this.$element.addClass("garlic-conflict-detected");this.$element.closest("input[type=submit]").attr("disabled",
!0)},swapHandler:function(){var a=b(this.options.conflictManager.template);this.$element.after(a.text(this.options.conflictManager.message));a.on("click",!1,b.proxy(this.swap,this))},swap:function(){var a=this.$element.data("swap-data");this.$element.data("swap-state","garlic"===this.$element.data("swap-state")?"default":"garlic");this.$element.data("swap-data",this.$element.val());b(this.$element).val(a)},destroy:function(){this.storage.destroy(this.path)},remove:function(){this.remove();this.$element.is("input[type=radio], input[type=checkbox]")?
b(this.$element).prop("checked",!1):this.$element.val("")},getPath:function(a){"undefined"===typeof a&&(a=this.$element);if(this.options.getPath(a))return this.options.getPath(a);if(1!=a.length)return!1;for(var c="",d=a.is("input[type=checkbox]"),f=a;f.length;){a=f[0];var e=a.nodeName;if(!e)break;var e=e.toLowerCase(),f=f.parent(),g=f.children(e);if(b(a).is("form, input, select, textarea")||d)if(e+=b(a).attr("name")?"."+b(a).attr("name"):"",1<g.length&&!b(a).is("input[type=radio]")&&(e+=":eq("+g.index(a)+
")"),c=e+(c?">"+c:""),"form"==a.nodeName.toLowerCase())break}return"garlic:"+document.domain+(this.options.domain?"*":window.location.pathname)+">"+c},getStorage:function(){return this.storage}};b.fn.garlic=function(a,c){function d(c){var d=b(c),g=d.data("garlic"),h=b.extend({},f,d.data());if(("undefined"===typeof h.storage||h.storage)&&"password"!==b(c).attr("type"))if(g||d.data("garlic",g=new j(c,e,h)),"string"===typeof a&&"function"===typeof g[a])return g[a]()}var f=b.extend(!0,{},b.fn.garlic.defaults,
a,this.data()),e=new h,g=!1;if(!e.defined)return!1;this.each(function(){b(this).is("form")?b(this).find(f.inputs).each(function(){g=d(b(this))}):b(this).is(f.inputs)&&(g=d(b(this)))});return"function"===typeof c?c():g};b.fn.garlic.Constructor=j;b.fn.garlic.defaults={destroy:!0,inputs:"input, textarea, select",events:"DOMAttrModified textInput input change click keypress paste focus".split(" "),domain:!1,expires:!1,conflictManager:{enabled:!1,garlicPriority:!0,template:'<span class="garlic-swap"></span>',
message:"This is your saved data. Click here to see default one",onConflictDetected:function(){return!0}},getPath:function(){},onRetrieve:function(){}};b(window).on("load",function(){b('[data-persist="garlic"]').each(function(){b(this).garlic()})})}(window.jQuery||window.Zepto);
jQuery(document).ready(function($){
$('form.woocommerce-checkout').garlic();
function ezship_hide_address(){
var selected_method=$('select.shipping_method, input[name^="shipping_method"][type="radio"]:checked').val(),
keep_field_billing=$('#billing_first_name_field, #billing_phone_field, #billing_email_field'),
keep_field_shipping=$('#shipping_first_name_field, #shipping_phone_field, #shipping_email_field');
if(selected_method==='woocommerce_ezship_shipping_method'){
$('p#billing_company_field, p#shipping_company_field, p.address-field').hide();
keep_field_billing.show();
keep_field_shipping.show();
$('.ezship_address_table').show();
}else{
$('p#billing_company_field, p#shipping_company_field, p.address-field').show();
$('.ezship_address_table').hide();
}}
function ezship_show_address_button(){
var selected_method=$('select.shipping_method, input[name^="shipping_method[0]"][type="radio"]:checked').val();
var url=ezship_vars.ezship_map_url;
var selected=$('input[name="stCate"]').val();
if(selected_method==='woocommerce_ezship_shipping_method'){
if(!selected){
$html=$('<div id="ezship_select_store" class="woocommerce-info">' + ezship_vars.strings.choose_store + '<a class="button btn btn-default" href="' + url +
'">' + ezship_vars.strings.choose_store_button + '</a></div>');
}else{
$html=$(
'<div id="ezship_select_store" class="woocommerce-info">' + ezship_vars.strings.error_store + '<a class="button btn btn-default" href="' + url + '">' + ezship_vars.strings.reselect_store + '</a></div>');
}
$html.insertAfter('table.woocommerce-checkout-review-order-table');
}else{
$('#ezship_select_store').remove();
}
if(selected_method!=='woocommerce_ezship_shipping_method'){
$('table#woocommerce-ezship-seleted-store').hide();
}else{
$('table#woocommerce-ezship-seleted-store').show();
}}
$('form.woocommerce-checkout').on('change', 'input[name^="shipping_method"][type="radio"]', function(){
ezship_show_address_button();
});
ezship_show_address_button();
$('input[name^="shipping_method[0]"][type="radio"]').on('change', function(){
var selected_method=$('select.shipping_method, input[name^="shipping_method[0]"][type="radio"]:checked').val();
if(selected_method!=='woocommerce_ezship_shipping_method'){
$('table.ezship_address_table').hide();
}else{
$('table.ezship_address_table').show();
}});
$('body').on('update_checkout', function(){
if($('#woocommerce-ezship-seleted-store').length > 0){
$('input#payment_method_woocommerce-ezship').prop('checked', true);
}});
});
!function(){"use strict";function e(e){e.fn._fadeIn=e.fn.fadeIn;var t=e.noop||function(){},o=/MSIE/.test(navigator.userAgent),n=/MSIE 6.0/.test(navigator.userAgent)&&!/MSIE 8.0/.test(navigator.userAgent),i=(document.documentMode,"function"==typeof document.createElement("div").style.setExpression&&document.createElement("div").style.setExpression);e.blockUI=function(e){d(window,e)},e.unblockUI=function(e){a(window,e)},e.growlUI=function(t,o,n,i){var s=e('<div class="growlUI"></div>');t&&s.append("<h1>"+t+"</h1>"),o&&s.append("<h2>"+o+"</h2>"),n===undefined&&(n=3e3);var l=function(t){t=t||{},e.blockUI({message:s,fadeIn:"undefined"!=typeof t.fadeIn?t.fadeIn:700,fadeOut:"undefined"!=typeof t.fadeOut?t.fadeOut:1e3,timeout:"undefined"!=typeof t.timeout?t.timeout:n,centerY:!1,showOverlay:!1,onUnblock:i,css:e.blockUI.defaults.growlCSS})};l();s.css("opacity");s.on("mouseover",function(){l({fadeIn:0,timeout:3e4});var t=e(".blockMsg");t.stop(),t.fadeTo(300,1)}).on("mouseout",function(){e(".blockMsg").fadeOut(1e3)})},e.fn.block=function(t){if(this[0]===window)return e.blockUI(t),this;var o=e.extend({},e.blockUI.defaults,t||{});return this.each(function(){var t=e(this);o.ignoreIfBlocked&&t.data("blockUI.isBlocked")||t.unblock({fadeOut:0})}),this.each(function(){"static"==e.css(this,"position")&&(this.style.position="relative",e(this).data("blockUI.static",!0)),this.style.zoom=1,d(this,t)})},e.fn.unblock=function(t){return this[0]===window?(e.unblockUI(t),this):this.each(function(){a(this,t)})},e.blockUI.version=2.7,e.blockUI.defaults={message:"<h1>Please wait...</h1>",title:null,draggable:!0,theme:!1,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#000",border:"3px solid #aaa",backgroundColor:"#fff",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#000",opacity:.6,cursor:"wait"},cursorReset:"default",growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",opacity:.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:!1,baseZ:1e3,centerX:!0,centerY:!0,allowBodyStretch:!0,bindEvents:!0,constrainTabKey:!0,fadeIn:200,fadeOut:400,timeout:0,showOverlay:!0,focusInput:!0,focusableElements:":input:enabled:visible",onBlock:null,onUnblock:null,onOverlayClick:null,quirksmodeOffsetHack:4,blockMsgClass:"blockMsg",ignoreIfBlocked:!1};var s=null,l=[];function d(d,c){var u,b,h=d==window,k=c&&c.message!==undefined?c.message:undefined;if(!(c=e.extend({},e.blockUI.defaults,c||{})).ignoreIfBlocked||!e(d).data("blockUI.isBlocked")){if(c.overlayCSS=e.extend({},e.blockUI.defaults.overlayCSS,c.overlayCSS||{}),u=e.extend({},e.blockUI.defaults.css,c.css||{}),c.onOverlayClick&&(c.overlayCSS.cursor="pointer"),b=e.extend({},e.blockUI.defaults.themedCSS,c.themedCSS||{}),k=k===undefined?c.message:k,h&&s&&a(window,{fadeOut:0}),k&&"string"!=typeof k&&(k.parentNode||k.jquery)){var y=k.jquery?k[0]:k,m={};e(d).data("blockUI.history",m),m.el=y,m.parent=y.parentNode,m.display=y.style.display,m.position=y.style.position,m.parent&&m.parent.removeChild(y)}e(d).data("blockUI.onUnblock",c.onUnblock);var g,v,I,w,U=c.baseZ;g=o||c.forceIframe?e('<iframe class="blockUI" style="z-index:'+U+++';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+c.iframeSrc+'"></iframe>'):e('<div class="blockUI" style="display:none"></div>'),v=c.theme?e('<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:'+U+++';display:none"></div>'):e('<div class="blockUI blockOverlay" style="z-index:'+U+++';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>'),c.theme&&h?(w='<div class="blockUI '+c.blockMsgClass+' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+(U+10)+';display:none;position:fixed">',c.title&&(w+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(c.title||"&nbsp;")+"</div>"),w+='<div class="ui-widget-content ui-dialog-content"></div>',w+="</div>"):c.theme?(w='<div class="blockUI '+c.blockMsgClass+' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+(U+10)+';display:none;position:absolute">',c.title&&(w+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(c.title||"&nbsp;")+"</div>"),w+='<div class="ui-widget-content ui-dialog-content"></div>',w+="</div>"):w=h?'<div class="blockUI '+c.blockMsgClass+' blockPage" style="z-index:'+(U+10)+';display:none;position:fixed"></div>':'<div class="blockUI '+c.blockMsgClass+' blockElement" style="z-index:'+(U+10)+';display:none;position:absolute"></div>',I=e(w),k&&(c.theme?(I.css(b),I.addClass("ui-widget-content")):I.css(u)),c.theme||v.css(c.overlayCSS),v.css("position",h?"fixed":"absolute"),(o||c.forceIframe)&&g.css("opacity",0);var x=[g,v,I],C=e(h?"body":d);e.each(x,function(){this.appendTo(C)}),c.theme&&c.draggable&&e.fn.draggable&&I.draggable({handle:".ui-dialog-titlebar",cancel:"li"});var S=i&&(!e.support.boxModel||e("object,embed",h?null:d).length>0);if(n||S){if(h&&c.allowBodyStretch&&e.support.boxModel&&e("html,body").css("height","100%"),(n||!e.support.boxModel)&&!h)var E=p(d,"borderTopWidth"),O=p(d,"borderLeftWidth"),T=E?"(0 - "+E+")":0,M=O?"(0 - "+O+")":0;e.each(x,function(e,t){var o=t[0].style;if(o.position="absolute",e<2)h?o.setExpression("height","Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:"+c.quirksmodeOffsetHack+') + "px"'):o.setExpression("height",'this.parentNode.offsetHeight + "px"'),h?o.setExpression("width",'jQuery.support.boxModel&&document.documentElement.clientWidth||document.body.clientWidth + "px"'):o.setExpression("width",'this.parentNode.offsetWidth + "px"'),M&&o.setExpression("left",M),T&&o.setExpression("top",T);else if(c.centerY)h&&o.setExpression("top",'(document.documentElement.clientHeight||document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah=document.documentElement.scrollTop ? document.documentElement.scrollTop:document.body.scrollTop) + "px"'),o.marginTop=0;else if(!c.centerY&&h){var n="((document.documentElement.scrollTop ? document.documentElement.scrollTop:document.body.scrollTop) + "+(c.css&&c.css.top?parseInt(c.css.top,10):0)+') + "px"';o.setExpression("top",n)}})}if(k&&(c.theme?I.find(".ui-widget-content").append(k):I.append(k),(k.jquery||k.nodeType)&&e(k).show()),(o||c.forceIframe)&&c.showOverlay&&g.show(),c.fadeIn){var B=c.onBlock?c.onBlock:t,j=c.showOverlay&&!k?B:t,H=k?B:t;c.showOverlay&&v._fadeIn(c.fadeIn,j),k&&I._fadeIn(c.fadeIn,H)}else c.showOverlay&&v.show(),k&&I.show(),c.onBlock&&c.onBlock.bind(I)();if(r(1,d,c),h?(s=I[0],l=e(c.focusableElements,s),c.focusInput&&setTimeout(f,20)):function(e,t,o){var n=e.parentNode,i=e.style,s=(n.offsetWidth-e.offsetWidth)/2-p(n,"borderLeftWidth"),l=(n.offsetHeight-e.offsetHeight)/2-p(n,"borderTopWidth");t&&(i.left=s>0?s+"px":"0");o&&(i.top=l>0?l+"px":"0")}(I[0],c.centerX,c.centerY),c.timeout){var z=setTimeout(function(){h?e.unblockUI(c):e(d).unblock(c)},c.timeout);e(d).data("blockUI.timeout",z)}}}function a(t,o){var n,i,d=t==window,a=e(t),u=a.data("blockUI.history"),f=a.data("blockUI.timeout");f&&(clearTimeout(f),a.removeData("blockUI.timeout")),o=e.extend({},e.blockUI.defaults,o||{}),r(0,t,o),null===o.onUnblock&&(o.onUnblock=a.data("blockUI.onUnblock"),a.removeData("blockUI.onUnblock")),i=d?e(document.body).children().filter(".blockUI").add("body > .blockUI"):a.find(">.blockUI"),o.cursorReset&&(i.length>1&&(i[1].style.cursor=o.cursorReset),i.length>2&&(i[2].style.cursor=o.cursorReset)),d&&(s=l=null),o.fadeOut?(n=i.length,i.stop().fadeOut(o.fadeOut,function(){0==--n&&c(i,u,o,t)})):c(i,u,o,t)}function c(t,o,n,i){var s=e(i);if(!s.data("blockUI.isBlocked")){t.each(function(e,t){this.parentNode&&this.parentNode.removeChild(this)}),o&&o.el&&(o.el.style.display=o.display,o.el.style.position=o.position,o.el.style.cursor="default",o.parent&&o.parent.appendChild(o.el),s.removeData("blockUI.history")),s.data("blockUI.static")&&s.css("position","static"),"function"==typeof n.onUnblock&&n.onUnblock(i,n);var l=e(document.body),d=l.width(),a=l[0].style.width;l.width(d-1).width(d),l[0].style.width=a}}function r(t,o,n){var i=o==window,l=e(o);if((t||(!i||s)&&(i||l.data("blockUI.isBlocked")))&&(l.data("blockUI.isBlocked",t),i&&n.bindEvents&&(!t||n.showOverlay))){var d="mousedown mouseup keydown keypress keyup touchstart touchend touchmove";t?e(document).on(d,n,u):e(document).off(d,u)}}function u(t){if("keydown"===t.type&&t.keyCode&&9==t.keyCode&&s&&t.data.constrainTabKey){var o=l,n=!t.shiftKey&&t.target===o[o.length-1],i=t.shiftKey&&t.target===o[0];if(n||i)return setTimeout(function(){f(i)},10),!1}var d=t.data,a=e(t.target);return a.hasClass("blockOverlay")&&d.onOverlayClick&&d.onOverlayClick(t),a.parents("div."+d.blockMsgClass).length>0||0===a.parents().children().filter("div.blockUI").length}function f(e){if(l){var t=l[!0===e?l.length-1:0];t&&t.trigger("focus")}}function p(t,o){return parseInt(e.css(t,o),10)||0}}"function"==typeof define&&define.amd&&define.amd.jQuery?define(["jquery"],e):e(jQuery)}();
jQuery(function(t){if("undefined"==typeof wc_add_to_cart_params)return!1;var a=function(){this.requests=[],this.addRequest=this.addRequest.bind(this),this.run=this.run.bind(this),this.$liveRegion=this.createLiveRegion(),t(document.body).on("click",".add_to_cart_button:not(.wc-interactive)",{addToCartHandler:this},this.onAddToCart).on("keydown",".add_to_cart_button:not(.wc-interactive)",{addToCartHandler:this},t=>{" "===t.key&&(t.preventDefault(),t.target.click())}).on("click",".remove_from_cart_button",{addToCartHandler:this},this.onRemoveFromCart).on("keydown",".remove_from_cart_button",this.onKeydownRemoveFromCart).on("added_to_cart",{addToCartHandler:this},this.onAddedToCart).on("removed_from_cart",{addToCartHandler:this},this.onRemovedFromCart).on("ajax_request_not_sent.adding_to_cart",this.updateButton)};a.prototype.addRequest=function(t){this.requests.push(t),1===this.requests.length&&this.run()},a.prototype.run=function(){var a=this,e=a.requests[0].complete;a.requests[0].complete=function(){"function"==typeof e&&e(),a.requests.shift(),a.requests.length>0&&a.run()},t.ajax(this.requests[0])},a.prototype.onAddToCart=function(a){var e=t(this);if(e.is(".ajax_add_to_cart")){if(!e.attr("data-product_id"))return!0;if(a.data.addToCartHandler.$liveRegion.text("").removeAttr("aria-relevant"),a.preventDefault(),e.removeClass("added"),e.addClass("loading"),!1===t(document.body).triggerHandler("should_send_ajax_request.adding_to_cart",[e]))return t(document.body).trigger("ajax_request_not_sent.adding_to_cart",[!1,!1,e]),!0;var r={};t.each(e.data(),function(t,a){r[t]=a}),t.each(e[0].dataset,function(t,a){r[t]=a}),t(document.body).trigger("adding_to_cart",[e,r]),a.data.addToCartHandler.addRequest({type:"POST",url:wc_add_to_cart_params.wc_ajax_url.toString().replace("%%endpoint%%","add_to_cart"),data:r,success:function(a){a&&(a.error&&a.product_url?window.location=a.product_url:"yes"!==wc_add_to_cart_params.cart_redirect_after_add?t(document.body).trigger("added_to_cart",[a.fragments,a.cart_hash,e]):window.location=wc_add_to_cart_params.cart_url)},dataType:"json"})}},a.prototype.onRemoveFromCart=function(a){var e=t(this),r=e.closest(".woocommerce-mini-cart-item");a.data.addToCartHandler.$liveRegion.text("").removeAttr("aria-relevant"),a.preventDefault(),r.block({message:null,overlayCSS:{opacity:.6}}),a.data.addToCartHandler.addRequest({type:"POST",url:wc_add_to_cart_params.wc_ajax_url.toString().replace("%%endpoint%%","remove_from_cart"),data:{cart_item_key:e.data("cart_item_key")},success:function(a){a&&a.fragments?t(document.body).trigger("removed_from_cart",[a.fragments,a.cart_hash,e]):window.location=e.attr("href")},error:function(){window.location=e.attr("href")},dataType:"json"})},a.prototype.onKeydownRemoveFromCart=function(a){" "===a.key&&(a.preventDefault(),t(this).trigger("click"))},a.prototype.updateButton=function(a,e,r,o){if(o=void 0!==o&&o){if(o.removeClass("loading"),e&&o.addClass("added"),e&&!wc_add_to_cart_params.is_cart&&0===o.parent().find(".added_to_cart").length){var d=document.createElement("a");d.href=wc_add_to_cart_params.cart_url,d.className="added_to_cart wc-forward",d.title=wc_add_to_cart_params.i18n_view_cart,d.textContent=wc_add_to_cart_params.i18n_view_cart,o.after(d)}t(document.body).trigger("wc_cart_button_updated",[o])}},a.prototype.updateFragments=function(a,e){e&&(t.each(e,function(a){t(a).addClass("updating").fadeTo("400","0.6").block({message:null,overlayCSS:{opacity:.6}})}),t.each(e,function(a,e){t(a).replaceWith(e),t(a).stop(!0).css("opacity","1").unblock()}),t(document.body).trigger("wc_fragments_loaded"))},a.prototype.alertCartUpdated=function(t,a,e,r){if(r=void 0!==r&&r){var o=r.data("success_message");if(!o)return;t.data.addToCartHandler.$liveRegion.delay(1e3).text(o).attr("aria-relevant","all")}},a.prototype.createLiveRegion=function(){var a=t(".widget_shopping_cart_live_region");return a.length?a:t('<div class="widget_shopping_cart_live_region screen-reader-text" role="status"></div>').appendTo("body")},a.prototype.onAddedToCart=function(t,a,e,r){t.data.addToCartHandler.updateButton(t,a,e,r),t.data.addToCartHandler.updateFragments(t,a),t.data.addToCartHandler.alertCartUpdated(t,a,e,r)},a.prototype.onRemovedFromCart=function(t,a,e,r){t.data.addToCartHandler.updateFragments(t,a),t.data.addToCartHandler.alertCartUpdated(t,a,e,r)},new a});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self,function(){var n=e.Cookies,o=e.Cookies=t();o.noConflict=function(){return e.Cookies=n,o}}())}(this,function(){"use strict";function e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)e[o]=n[o]}return e}return function t(n,o){function r(t,r,i){if("undefined"!=typeof document){"number"==typeof(i=e({},o,i)).expires&&(i.expires=new Date(Date.now()+864e5*i.expires)),i.expires&&(i.expires=i.expires.toUTCString()),t=encodeURIComponent(t).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var c="";for(var u in i)i[u]&&(c+="; "+u,!0!==i[u]&&(c+="="+i[u].split(";")[0]));return document.cookie=t+"="+n.write(r,t)+c}}return Object.create({set:r,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var t=document.cookie?document.cookie.split("; "):[],o={},r=0;r<t.length;r++){var i=t[r].split("="),c=i.slice(1).join("=");try{var u=decodeURIComponent(i[0]);if(o[u]=n.read(c,u),e===u)break}catch(f){}}return e?o[e]:o}},remove:function(t,n){r(t,"",e({},n,{expires:-1}))},withAttributes:function(n){return t(this.converter,e({},this.attributes,n))},withConverter:function(n){return t(e({},this.converter,n),this.attributes)}},{attributes:{value:Object.freeze(o)},converter:{value:Object.freeze(n)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"})});
function on_keydown_remove_from_cart(e){" "===e.key&&(e.preventDefault(),e.currentTarget.click())}function focus_populate_live_region(){var e=["woocommerce-message","woocommerce-error","wc-block-components-notice-banner"].map(function(e){return"."+e+'[role="alert"]'}).join(", "),o=document.querySelectorAll(e);if(0!==o.length){var t=o[0];t.setAttribute("tabindex","-1");var n=setTimeout(function(){t.focus(),clearTimeout(n)},500)}}function refresh_sorted_by_live_region(){var e=document.querySelector(".woocommerce-result-count");if(e){var o=e.innerHTML;e.setAttribute("aria-hidden","true");var t=setTimeout(function(){e.setAttribute("aria-hidden","false"),e.innerHTML="",e.innerHTML=o,clearTimeout(t)},2e3)}}function on_document_ready(){focus_populate_live_region(),refresh_sorted_by_live_region()}jQuery(function(e){e(".woocommerce-ordering").on("change","select.orderby",function(){e(this).closest("form").trigger("submit")}),e("input.qty:not(.product-quantity input.qty)").each(function(){var o=parseFloat(e(this).attr("min"));o>=0&&parseFloat(e(this).val())<o&&e(this).val(o)});var o="store_notice"+(e(".woocommerce-store-notice").data("noticeId")||"");if("hidden"===Cookies.get(o))e(".woocommerce-store-notice").hide();else{function t(o){["Enter"," "].includes(o.key)&&(o.preventDefault(),e(".woocommerce-store-notice__dismiss-link").click())}e(".woocommerce-store-notice").show(),e(".woocommerce-store-notice__dismiss-link").on("click",function n(r){Cookies.set(o,"hidden",{path:"/"}),e(".woocommerce-store-notice").hide(),r.preventDefault(),e(".woocommerce-store-notice__dismiss-link").off("click",n).off("keydown",t)}).on("keydown",t)}e(".woocommerce-input-wrapper span.description").length&&e(document.body).on("click",function(){e(".woocommerce-input-wrapper span.description:visible").prop("aria-hidden",!0).slideUp(250)}),e(".woocommerce-input-wrapper").on("click",function(e){e.stopPropagation()}),e(".woocommerce-input-wrapper :input").on("keydown",function(o){var t=e(this).parent().find("span.description");if(27===o.which&&t.length&&t.is(":visible"))return t.prop("aria-hidden",!0).slideUp(250),o.preventDefault(),!1}).on("click focus",function(){var o=e(this).parent(),t=o.find("span.description");o.addClass("currentTarget"),e(".woocommerce-input-wrapper:not(.currentTarget) span.description:visible").prop("aria-hidden",!0).slideUp(250),t.length&&t.is(":hidden")&&t.prop("aria-hidden",!1).slideDown(250),o.removeClass("currentTarget")}),e.scroll_to_notices=function(o){o.length&&e("html, body").animate({scrollTop:o.offset().top-100},1e3)},e('.woocommerce form .woocommerce-Input[type="password"]').wrap('<span class="password-input"></span>'),e(".woocommerce form input").filter(":password").parent("span").addClass("password-input"),e(".password-input").each(function(){const o=e(this).find("input").attr("id");e(this).append('<button type="button" class="show-password-input" aria-label="'+woocommerce_params.i18n_password_show+'" aria-describedBy="'+o+'"></button>')}),e(".show-password-input").on("click",function(o){o.preventDefault(),e(this).hasClass("display-password")?(e(this).removeClass("display-password"),e(this).attr("aria-label",woocommerce_params.i18n_password_show)):(e(this).addClass("display-password"),e(this).attr("aria-label",woocommerce_params.i18n_password_hide)),e(this).hasClass("display-password")?e(this).siblings(['input[type="password"]']).prop("type","text"):e(this).siblings('input[type="text"]').prop("type","password"),e(this).siblings("input").focus()}),e("a.coming-soon-footer-banner-dismiss").on("click",function(o){var t=e(o.target);e.ajax({type:"post",url:t.data("rest-url"),data:{woocommerce_meta:{coming_soon_banner_dismissed:"yes"}},beforeSend:function(e){e.setRequestHeader("X-WP-Nonce",t.data("rest-nonce"))},complete:function(){e("#coming-soon-footer-banner").hide()}})}),"undefined"==typeof wc_add_to_cart_params&&e(document.body).on("keydown",".remove_from_cart_button",on_keydown_remove_from_cart),e(document.body).on("item_removed_from_classic_cart updated_wc_div",focus_populate_live_region)}),document.addEventListener("DOMContentLoaded",on_document_ready);
jQuery(document).ready(function ($){
'use strict';
let $cur, $n, parent;
$(document).on('click', '.reviews-images-item', function (){
let $item=$(this);
let $container=$item.closest('.kt-reviews-image-container');
if($container.hasClass('kt-reviews-image-container-image-popup-below_thumb')){
let currentRotate, rotateItem;
parent=$(this).parent().parent();
currentRotate=parseInt(parent.find('.wcpr-rotate-value').val());
let $big_review_images=parent.find('.big-review-images');
if($(this).hasClass('active-image')){
$big_review_images.hide();
$(this).removeClass('active-image');
}else{
$cur=$(this).data('index');
$n=$(this).parent().find('.reviews-images-item').length;
$(this).parent().find('.reviews-images-item').removeClass('active-image');
$(this).addClass('active-image');
let temp='';
if($(this).find('.reviews-iframe').length){
temp=`<iframe class="reviews-images reviews-iframe" src="` + $(this).data('image_src') + `" frameborder="0" style="float:left;display: block;border-radius: 3px;" allowfullscreen></iframe>`;
}else if($(this).find('.review-videos').length){
temp=`<video class="reviews-images reviews-videos" width="100%" src="` + $(this).data('image_src') + `" controls></video>`;
}else{
temp='<img class="big-review-images-content-img" style="float:left;display: block;border-radius: 3px;" src="' + $(this).data('image_src') + '">';
}
parent.find('.big-review-images-content').html(temp);
$big_review_images.css({'display': 'table'});
parent.find('.wcpr-review-image-caption').html($(this).data('image_caption'));
}
if(currentRotate){
rotateItem=parent.find('.big-review-images-content-container');
rotateItem.css({'transform': 'rotate(' + currentRotate + 'deg)'});
}}else{
let this_image=$item.find('.review-images');
let $image_container=this_image.closest('.kt-wc-reviews-images-wrap-wrap');
let data=[];
$image_container.find('.reviews-images-item').map(function (){
let current_image=$(this).find('.review-images');
let href=$(this).data('image_src') ? $(this).data('image_src'):current_image.attr('src');
let title=$(this).data('image_caption') ? $(this).data('image_caption'):((parseInt($(this).data('index')) + 1) + '/' + $image_container.find('.reviews-images-item').length);
data.push({href: href, title: title});
});
$.swipebox(data, {hideBarsDelay: 100000, initialIndexOnArray: $item.data('index')})
}});
$(document).on('click', '.big-review-images-content-img', function (){
let $image_container=$(this).closest('.kt-reviews-image-container').find('.kt-wc-reviews-images-wrap-wrap');
let data=[];
$image_container.find('.reviews-images-item').map(function (){
let current_image=$(this).find('.review-images');
let href=$(this).data('image_src') ? $(this).data('image_src'):current_image.attr('src');
let title=$(this).data('image_caption') ? $(this).data('image_caption'):((parseInt($(this).data('index')) + 1) + '/' + $image_container.find('.reviews-images-item').length);
data.push({href: href, title: title});
});
$.swipebox(data, {
hideBarsDelay: 100000,
initialIndexOnArray: $image_container.find('.active-image').data('index')
})
});
$(document).on('click', '.wcpr-next-normal', function (){
let currentRotate, rotateItem;
parent=$(this).parent().parent();
currentRotate=parseInt(parent.find('.wcpr-rotate-value').val());
$cur=parent.find('.active-image').data('index');
$n=parent.find('.reviews-images-item').length;
parent.find('.reviews-images-item').removeClass('active-image');
if($cur < $n - 1){
$cur++;
}else{
$cur=0;
}
parent.find('.reviews-images-item').eq($cur).addClass('active-image');
parent.find('.big-review-images-content').html('');
let $big_review_images=parent.find('.big-review-images');
let temp='';
if(parent.find('.active-image .reviews-iframe').length){
temp=`<iframe class="reviews-images reviews-iframe" src="` +  parent.find('.reviews-images-item').eq($cur).data('image_src') + `" frameborder="0" style="float:left;display: block;border-radius: 3px;" allowfullscreen></iframe>`;
}else if(parent.find('.active-image .review-videos').length){
temp=`<video class="reviews-images reviews-videos" width="100%" src="` +  parent.find('.reviews-images-item').eq($cur).data('image_src') + `" controls></video>`;
}else{
temp='<img class="big-review-images-content-img" style="float:left;display: block;border-radius: 3px;" src="' + parent.find('.reviews-images-item').eq($cur).data('image_src') + '">';
}
$big_review_images.find('.big-review-images-content').append(temp);
$big_review_images.css({'display': 'table'});
parent.find('.wcpr-review-image-caption').html(parent.find('.reviews-images-item').eq($cur).data('image_caption'));
if(currentRotate){
rotateItem=parent.find('.big-review-images-content-container');
rotateItem.css({'transform': 'rotate(' + currentRotate + 'deg)'});
}});
$(document).on('click', '.wcpr-prev-normal', function (){
let currentRotate, rotateItem;
parent=$(this).parent().parent();
currentRotate=parseInt(parent.find('.wcpr-rotate-value').val());
$cur=parent.find('.active-image').data('index');
$n=parent.find('.reviews-images-item').length;
parent.find('.reviews-images-item').removeClass('active-image');
if($cur > 0){
$cur--;
}else{
$cur=$n - 1;
}
parent.find('.reviews-images-item').eq($cur).addClass('active-image');
parent.find('.big-review-images-content').html('');
let $big_review_images=parent.find('.big-review-images');
let temp='';
if(parent.find('.active-image .reviews-iframe').length){
temp=`<iframe class="reviews-images reviews-iframe" src="` +  parent.find('.reviews-images-item').eq($cur).data('image_src') + `" frameborder="0" style="float:left;display: block;border-radius: 3px;" allowfullscreen></iframe>`;
}else if(parent.find('.active-image .review-videos').length){
temp=`<video class="reviews-images reviews-videos" width="100%" src="` +  parent.find('.reviews-images-item').eq($cur).data('image_src') + `" controls></video>`;
}else{
temp='<img class="big-review-images-content-img" style="float:left;display: block;border-radius: 3px;" src="' + parent.find('.reviews-images-item').eq($cur).data('image_src') + '">';
}
$big_review_images.find('.big-review-images-content').append(temp)
$big_review_images.css({'display': 'table'});
parent.find('.wcpr-review-image-caption').html(parent.find('.reviews-images-item').eq($cur).data('image_caption'));
if(currentRotate){
rotateItem=parent.find('.big-review-images-content-container');
rotateItem.css({'transform': 'rotate(' + currentRotate + 'deg)'});
}});
$(document).on('click', '.wcpr-close-normal', function (){
parent=$(this).parent().parent();
$(this).parent().hide();
parent.find('.kt-wc-reviews-images-wrap-wrap').find('.active-image').removeClass('active-image');
});
$(document).on('click', '.wcpr-rotate-left', function (){
let currentRotate, rotateItem;
parent=$(this).parent().parent();
currentRotate=parseInt(parent.find('.wcpr-rotate-value').val());
rotateItem=parent.find('.big-review-images-content-container');
currentRotate +=-90;
parent.find('.wcpr-rotate-value').val(currentRotate);
rotateItem.css({'transform': 'rotate(' + currentRotate + 'deg)'});
});
$(document).on('click', '.wcpr-rotate-right', function (){
let currentRotate, rotateItem;
parent=$(this).parent().parent();
currentRotate=parseInt(parent.find('.wcpr-rotate-value').val());
rotateItem=parent.find('.big-review-images-content-container');
currentRotate +=90;
parent.find('.wcpr-rotate-value').val(currentRotate);
rotateItem.css({'transform': 'rotate(' + currentRotate + 'deg)'});
});
let comments=woocommerce_photo_reviews_params.hasOwnProperty('comments_container_id') ? woocommerce_photo_reviews_params.comments_container_id:'comments';
let $filters=$('.wcpr-filter-container');
let $comments=$('#' + comments);
$comments.prepend($filters).prepend($('.wcpr-overall-rating-and-rating-count')).prepend($('.woocommerce-Reviews-title').eq(0));
});
(function ($){
'use strict';
$(window).on('elementor/frontend/init', ()=> {
elementorFrontend.hooks.addAction('frontend/element_ready/woocommerce-photo-reviews.default', function ($scope){
if(!window.elementor){
return;
}
wcpr_helpful_button();
viwcpr_flexslider();
});
});
$(document).ready(function ($){
let image_caption_enable=woocommerce_photo_reviews_params.image_caption_enable==1;
let i18n_image_caption=woocommerce_photo_reviews_params.i18n_image_caption;
function getSelectedImageHtml(src, name, error='', index){
let selectImageHtml;
let temp=`<img title="${name}" src="${src}" class="wcpr-selected-image-preview">`;
if(src.indexOf('data:video/') > -1){
temp=`<video class="wcpr-selected-image-preview" height="100%" width="100%" src="${src}" controls >${name}</video>`;
}
if(error){
selectImageHtml=`<div class="wcpr-selected-image">${temp}<div class="wcpr-selected-image-info"><div class="wcpr-selected-image-name wcpr-comment-form-error" >${error}</div></div></div>`;
}else if(image_caption_enable){
selectImageHtml=`<div class="wcpr-selected-image">${temp}<div class="wcpr-selected-image-info"><div class="wcpr-selected-image-name" title="${name}">${name}</div><input class="wcpr-selected-image-caption" type="text" name="wcpr_image_caption[${index}]" placeholder="${i18n_image_caption}"></div></div>`;
}else{
selectImageHtml=`<div class="wcpr-selected-image">${temp}<div class="wcpr-selected-image-info"><div class="wcpr-selected-image-name" title="${name}">${name}</div></div></div>`;
}
return selectImageHtml;
}
function readURL(input){
let max_file_size=1024 * parseFloat(woocommerce_photo_reviews_params.max_file_size);
for (let i=0; i < input.files.length; i++){
var reader=new FileReader();
const dt=new DataTransfer();
const file=input.files[i];
dt.items.add(file);
reader.onload=function (e){
let error='';
if(input.files[i].size > max_file_size){
error=woocommerce_photo_reviews_params.warning_max_file_size.replace('%file_name%', input.files[i].name);
}else if(woocommerce_photo_reviews_params.upload_allow.indexOf(input.files[i].type)===-1){
error=woocommerce_photo_reviews_params.warning_upload_allow.replace('%file_name%', input.files[i].name);
}
if(woocommerce_photo_reviews_params.image_caption_enable==1){
const fileInput=$('<input>')
.attr('type', 'file')
.attr('class', 'wcpr-hidden')
.attr('name', `wcpr_image_upload[${i}]`)[0];
fileInput.files=dt.files;
$(input).parent().find('.wcpr-selected-image-container').append(getSelectedImageHtml(e.target.result, input.files[i].name, error, i)).append(fileInput)
}else{
$(input).parent().find('.wcpr-selected-image-container').append(getSelectedImageHtml(e.target.result, input.files[i].name, error, i))
}};
reader.readAsDataURL(input.files[i]);
}}
wcpr_helpful_button();
viwcpr_flexslider();
let max_files=woocommerce_photo_reviews_params.max_files;
$('#commentform').on('change', '.wcpr_image_upload', function (e){
$(this).parent().find('.wcpr-selected-image-container').html('');
if(this.files.length > max_files){
$('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_params.warning_max_files);
$(this).val('');
return false;
}else if(this.files.length > 0){
$('.wcpr-comment-form-error-wraps').addClass('wcpr-hidden');
readURL(this);
}});
$(document).on('click', '.wcpr_image_upload_button', function (e){
e.preventDefault();
e.stopPropagation();
$(this).parent().find('.wcpr_image_upload').trigger('click');
});
$('#commentform').find('input[type="submit"]').on('click', function (e){
let $button=$(this);
if($button.hasClass('viwcpr_form_checked')||!$('#wcpr_image_upload_nonce').length){
return true;
}
let $container=$button.closest('form');
let $content=$container.find('textarea[id="comment"]')||$container.find('textarea[name="comment"]');
let $name=$container.find('input[name="author"]');
let $email=$container.find('input[name="email"]');
$('.wcpr-comment-form-error-wraps').addClass('wcpr-hidden');
$('.wcpr-comment-form-notify-wraps').addClass('wcpr-hidden');
let $rating=$container.find('#rating'),
rating=$rating.val();
if($rating.length > 0&&!rating&&woocommerce_photo_reviews_params.review_rating_required==='yes'){
$('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_params.i18n_required_rating_text);
e.preventDefault();
return false;
}
if($content.length > 0){
let comment=$content.val();
if(!comment&&woocommerce_photo_reviews_params.allow_empty_comment!=1){
$('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_params.i18n_required_comment_text);
e.preventDefault();
$content.focus();
return false;
}
let minimum_comment_length=parseInt(woocommerce_photo_reviews_params.minimum_comment_length);
if(minimum_comment_length&&minimum_comment_length > comment.length){
$('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_params.i18n_minimum_comment_text);
e.preventDefault();
$content.focus();
return false;
}}
if($name.length > 0&&$name.attr('required')&&!$name.val()){
$('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_params.i18n_required_name_text);
e.preventDefault();
$name.focus();
return false;
}
if($email.length > 0&&$email.attr('required')&&!$email.val()){
$('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_params.i18n_required_email_text);
e.preventDefault();
$email.focus();
return false;
}
if($container.find('input[name="wcpr_gdpr_checkbox"]').prop('checked')===false){
$('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_params.warning_gdpr);
e.preventDefault();
return false;
}
if('on'===woocommerce_photo_reviews_params.enable_photo){
if(!$container.attr('enctype')||$container.attr('enctype')!=='multipart/form-data'){
$container.attr('enctype', 'multipart/form-data');
}
let $fileUpload=$container.find('.wcpr_image_upload');
if($fileUpload.length > 0){
let file_upload=$fileUpload.get(0).files;
let imagesCount=parseInt(file_upload.length);
if('on'===woocommerce_photo_reviews_params.required_image&&imagesCount===0){
$('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_params.warning_required_image);
e.preventDefault();
return false;
}
if(imagesCount > max_files){
$('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_params.warning_max_files);
e.preventDefault();
return false;
}
let error=[], max_file_size=1024 * parseFloat(woocommerce_photo_reviews_params.max_file_size);
$.each(file_upload, function (k, v){
if(v.size > max_file_size){
error.push('<p>' + woocommerce_photo_reviews_params.warning_max_file_size.replace('%file_name%', v.name) + '</p>');
return true;
}
if(woocommerce_photo_reviews_params.upload_allow.indexOf(v.type)===-1){
error.push('<p>' + woocommerce_photo_reviews_params.warning_upload_allow.replace('%file_name%', v.name) + '</p>');
}});
if(error.length){
$('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(error.join(''));
e.preventDefault();
return false;
}}else if('on'===woocommerce_photo_reviews_params.required_image){
$('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_params.warning_required_image);
e.preventDefault();
return false;
}}
$('.wcpr-comment-form-notify-wraps').removeClass('wcpr-hidden');
if(woocommerce_photo_reviews_params.restrict_number_of_reviews){
$button.attr('type', 'button');
let restrict_number_of_reviews=async function (){
let error='', data=new FormData($container[0]);
if($content.val()&&!$container.find('textarea[name="comment"]').val()){
data.set('comment', $content.val());
}
await new Promise(function (resolve){
$.ajax({
type: 'post',
url: woocommerce_photo_reviews_params.wc_ajax_url.toString().replace('%%endpoint%%', 'viwcpr_restrict_number_of_reviews'),
processData: false,
cache: false,
contentType: false,
data: data,
success: function (response){
if(response.error){
error=response.error;
}else{
if(response.remove_upload_file){
$container.find('.wcpr_image_upload').val('');
}
if(response.img_id){
$container.append(`<input type="hidden" name="wcpr_image_upload_id" value="${response.img_id}">`);
}}
resolve(error);
},
error: function (err){
error=err.responseText==='-1' ? err.statusText:err.responseText;
resolve(error)
}});
});
return error;
};
restrict_number_of_reviews().then(function (error){
$button.attr('type', 'submit');
if(error){
$('.wcpr-comment-form-notify-wraps').addClass('wcpr-hidden');
$('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(error);
e.preventDefault();
return false;
}else{
$button.addClass('viwcpr_form_checked').trigger('click');
}});
}});
let comments=woocommerce_photo_reviews_params.hasOwnProperty('comments_container_id') ? woocommerce_photo_reviews_params.comments_container_id:'comments';
let $comments=$('#' + comments);
if($comments.length > 0){
append_filters_and_overall_rating();
handle_ajax_pagination_and_loadmore();
}else{
$(document).on('skeleton-loaded', function (){
$comments=$('#' + comments);
append_filters_and_overall_rating();
handle_ajax_pagination_and_loadmore();
});
}
$(document).on('click', '.reviews_tab', function (){
$comments=$('#' + comments);
append_filters_and_overall_rating();
});
function handle_ajax_pagination_and_loadmore(){
if(woocommerce_photo_reviews_params.pagination_ajax&&$comments.length){
let $pagination_container=$comments.find('.woocommerce-pagination');
if(woocommerce_photo_reviews_params.loadmore_button){
$pagination_container.html($('.wcpr-load-more-reviews-button-modal').html());
wcpr_pagination_loadmore($comments, $comments.find('.woocommerce-pagination'));
}else{
wcpr_pagination_basic($comments, $comments.find('.woocommerce-pagination'));
}}else if($('.et_divi_theme').length){
$('a.wcpr-filter-button').on('click', function (){
location.href=$(this).attr('href');
})
}}
function append_filters_and_overall_rating(){
$comments.prepend($('.wcpr-filter-container')).prepend($('.wcpr-overall-rating-and-rating-count')).prepend($('.woocommerce-Reviews-title').eq(0));
}
function wcpr_pagination_basic($comments, $pagination_container){
$comments=$($comments);
$pagination_container=$($pagination_container);
let ajax_pagination_running=false;
$(document).on('click', '.woocommerce-pagination a', function (e){
if(ajax_pagination_running){
return false;
}
e.preventDefault();
e.stopPropagation();
let $container=woocommerce_photo_reviews_params.display==='1' ? $comments.find('.wcpr-grid'):$comments.find(woocommerce_photo_reviews_params.container);
let scrollTop=parseInt($container.offset().top) - 200;
window.scrollTo({top: scrollTop, behavior: 'smooth'});
ajax_pagination_running=true;
let url=$(this).attr('href');
if(!$container.find('.wcpr-grid-overlay').length){
$container.append('<div class="wcpr-grid-overlay wcpr-hidden"></div>');
}
let $overlay=$container.find('.wcpr-grid-overlay');
$overlay.removeClass('wcpr-hidden');
$.ajax({
url: url,
type: 'get',
success: function (response){
if(response){
let $reg;
let temp_html=$(response);
if(woocommerce_photo_reviews_params.display==='1'){
$container.html(temp_html.find('.wcpr-grid').html());
}else{
$container.html(temp_html.find(woocommerce_photo_reviews_params.container).html());
}
if(temp_html.find('.woocommerce-pagination').length){
$pagination_container.html(temp_html.find('.woocommerce-pagination').html())
}
$(document.body).trigger('wcpr_ajax_pagination_end');
}
$overlay.addClass('wcpr-hidden');
ajax_pagination_running=false;
},
error: function (err){
ajax_pagination_running=false;
$overlay.addClass('wcpr-hidden');
}});
});
let $filters=$comments.find('.wcpr-filter-container');
if(!$filters.length){
return false;
}
if($('.et_divi_theme').length){
$('a.wcpr-filter-button').on('click', function (e){
e.preventDefault();
e.stopPropagation();
let $button=$(this);
if(ajax_pagination_running||(parseInt($button.find('.wcpr-filter-button-count').html())===0&&!$button.hasClass('wcpr-active'))){
return false;
}
ajax_pagination_running=true;
e.preventDefault();
let url=$(this).attr('href');
let $container=woocommerce_photo_reviews_params.display==='1' ? $comments.find('.wcpr-grid'):$comments.find(woocommerce_photo_reviews_params.container);
if($container.length===0){
if(woocommerce_photo_reviews_params.display==='1'){
$comments.append('<div class="' + woocommerce_photo_reviews_params.grid_class + '"><div class="wcpr-grid-overlay"></div></div>');
$container=$comments.find('.wcpr-grid');
}else{
let first_char=woocommerce_photo_reviews_params.container.substr(0, 1);
if(first_char==='.'){
$comments.append('<ol class="' + woocommerce_photo_reviews_params.container.substr(1) + '"></ol>');
}else{
$comments.append('<ol id="' + woocommerce_photo_reviews_params.container.substr(1) + '"></ol>');
}
$container=$comments.find(woocommerce_photo_reviews_params.container);
}
$comments.find('.woocommerce-noreviews').hide();
}
if(!$container.find('.wcpr-grid-overlay').length){
$container.append('<div class="wcpr-grid-overlay wcpr-hidden"></div>');
}
let $overlay=$container.find('.wcpr-grid-overlay');
$overlay.removeClass('wcpr-hidden');
$filters.addClass('wcpr-filter-loading');
$.ajax({
url: url,
type: 'get',
data: {
'wcpr_is_ajax': 1
},
success: function (response){
if(response){
response=response.replace(/(\r\n\t|\n|\r\t)/gm, "");
let $reg, match;
let temp_html=$(response);
if(woocommerce_photo_reviews_params.display==='1'){
$container.html(temp_html.find('.wcpr-grid').html());
}else{
$container.html(temp_html.find(woocommerce_photo_reviews_params.container).html());
}
if(temp_html.find('.woocommerce-pagination').length){
if($pagination_container&&$pagination_container.length){
$pagination_container.html(temp_html.find('.woocommerce-pagination').html())
}else{
$comments.append('<nav class="woocommerce-pagination">' + temp_html.find('.woocommerce-pagination').html() + '</nav>');
$pagination_container=$comments.find('.woocommerce-pagination');
}}else{
if($pagination_container&&$pagination_container.length > 0){
$pagination_container.remove();
$pagination_container=null;
}}
if(typeof woocommerce_photo_reviews_params.wrap_filters!=='undefined'){
const className=woocommerce_photo_reviews_params.wrap_filters.trim();
const classRegexSafe=className
.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&')
.replace(/\s+/g, '\\s+');
$reg=new RegExp(
`<div class="${classRegexSafe}"\\s*style="display:\\s*none;">([^]+?)<\\/div>`,
'gm'
);
}else{
$reg=/<div class="wcpr-filter-container" style="display: none;">([^]+?)<\/div>/gm;
}
match=$reg.exec(response);
if(match!=null){
$filters.html(match[1]);
}
$(document.body).trigger('wcpr_ajax_pagination_end');
}},
error: function (err){
console.log(err);
},
complete: function (){
ajax_pagination_running=false;
$overlay.addClass('wcpr-hidden');
$filters.removeClass('wcpr-filter-loading');
}});
});
}else{
$(document).on('click', 'a.wcpr-filter-button', function (e){
e.preventDefault();
e.stopPropagation();
let $button=$(this);
if(ajax_pagination_running||(parseInt($button.find('.wcpr-filter-button-count').html())===0&&!$button.hasClass('wcpr-active'))){
return false;
}
ajax_pagination_running=true;
e.preventDefault();
let url=$(this).attr('href');
let $container=woocommerce_photo_reviews_params.display==='1' ? $comments.find('.wcpr-grid'):$comments.find(woocommerce_photo_reviews_params.container);
if($container.length===0){
if(woocommerce_photo_reviews_params.display==='1'){
$comments.append('<div class="' + woocommerce_photo_reviews_params.grid_class + '"><div class="wcpr-grid-overlay"></div></div>');
$container=$comments.find('.wcpr-grid');
}else{
let first_char=woocommerce_photo_reviews_params.container.substr(0, 1);
if(first_char==='.'){
$comments.append('<ol class="' + woocommerce_photo_reviews_params.container.substr(1) + '"></ol>');
}else{
$comments.append('<ol id="' + woocommerce_photo_reviews_params.container.substr(1) + '"></ol>');
}
$container=$comments.find(woocommerce_photo_reviews_params.container);
}
$comments.find('.woocommerce-noreviews').hide();
}
if(!$container.find('.wcpr-grid-overlay').length){
$container.append('<div class="wcpr-grid-overlay wcpr-hidden"></div>');
}
let $overlay=$container.find('.wcpr-grid-overlay');
$overlay.removeClass('wcpr-hidden');
$filters.addClass('wcpr-filter-loading');
$.ajax({
url: url,
type: 'get',
data: {
'wcpr_is_ajax': 1
},
success: function (response){
if(response){
response=response.replace(/(\r\n\t|\n|\r\t)/gm, "");
let $reg, match;
let temp_html=$(response);
if(woocommerce_photo_reviews_params.display==='1'){
$container.html(temp_html.find('.wcpr-grid').html());
}else{
$container.html(temp_html.find(woocommerce_photo_reviews_params.container).html());
}
if(temp_html.find('.woocommerce-pagination').length){
if($pagination_container&&$pagination_container.length){
$pagination_container.html(temp_html.find('.woocommerce-pagination').html())
}else{
$comments.append('<nav class="woocommerce-pagination">' + temp_html.find('.woocommerce-pagination').html() + '</nav>');
$pagination_container=$comments.find('.woocommerce-pagination');
}}else{
if($pagination_container&&$pagination_container.length > 0){
$pagination_container.remove();
$pagination_container=null;
}}
if(typeof woocommerce_photo_reviews_params.wrap_filters!=='undefined'){
const className=woocommerce_photo_reviews_params.wrap_filters.trim();
const classRegexSafe=className
.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&')
.replace(/\s+/g, '\\s+');
$reg=new RegExp(
`<div class="${classRegexSafe}"\\s*style="display:\\s*none;">([^]+?)<\\/div>`,
'gm'
);
}else{
$reg=/<div class="wcpr-filter-container" style="display: none;">([^]+?)<\/div>/gm;
}
match=$reg.exec(response);
if(match!=null){
$filters.html(match[1]);
}
$(document.body).trigger('wcpr_ajax_pagination_end');
}},
error: function (err){
console.log(err);
},
complete: function (){
ajax_pagination_running=false;
$overlay.addClass('wcpr-hidden');
$filters.removeClass('wcpr-filter-loading');
}});
});
}}
function wcpr_pagination_loadmore($comments, $pagination_container){
$comments=$($comments);
$pagination_container=$($pagination_container);
let $filters=$comments.find('.wcpr-filter-container'),
cpage=$('.wcpr-load-more-reviews-cpage').val(),
max_page=$('.wcpr-load-more-reviews-cpage').data('max_page'),
parent_post_id=$('.wcpr-load-more-reviews-product-id').val(),
rating=$('.wcpr-load-more-reviews-rating').val(),
verified=$('.wcpr-load-more-reviews-verified').val(),
image=$('.wcpr-load-more-reviews-image').val(),
$no_review=$comments.find('.woocommerce-noreviews'),
$container=woocommerce_photo_reviews_params.display==='1' ? $comments.find('.wcpr-grid'):$comments.find(woocommerce_photo_reviews_params.container);
function handle_missing_container(){
if($container.length===0){
let first_char=woocommerce_photo_reviews_params.display==='1' ? '.':woocommerce_photo_reviews_params.container.substr(0, 1);
if(first_char==='.'){
$container=woocommerce_photo_reviews_params.display==='1' ? $('<div class="' + woocommerce_photo_reviews_params.grid_class + '"></div>'):$('<ol class="' + woocommerce_photo_reviews_params.container.substr(1) + '"></ol>');
}else{
$container=$('<ol id="' + woocommerce_photo_reviews_params.container.substr(1) + '"></ol>');
}
$comments.append($container);
}}
function handle_missing_pagination(){
if($pagination_container.length===0){
$comments.append('<nav class="woocommerce-pagination"></nav>');
$pagination_container=$comments.find('.woocommerce-pagination');
}}
if(cpage&&parent_post_id){
$(document).on('click', '.wcpr-load-more-reviews-button:not(.shortcode-wcpr-load-more-reviews-button):not(.wcpr-loading)', function (){
let $button=$(this);
if($button.parent().hasClass('wcpr-hidden')){
return false;
}
if(cpage > -1){
$.ajax({
url: woocommerce_photo_reviews_params.ajaxurl,
data: {
'action': 'wcpr_ajax_load_more_reviews',
'nonce': woocommerce_photo_reviews_params.nonce,
'post_id': parent_post_id,
'cpage': cpage,
'rating': rating,
'verified': verified,
'image': image,
'is_shortcode': '',
'frontend_style': woocommerce_photo_reviews_params.display,
},
type: 'POST',
beforeSend: function (xhr){
$button.addClass('wcpr-loading');
},
success: function (response){
if(response.html){
if(woocommerce_photo_reviews_params.display=='2'){
$container.append(response.html);
if(woocommerce_photo_reviews_params.default_comments_page!=='oldest'){
if(cpage < max_page){
cpage++;
}else{
$button.parent().addClass('wcpr-hidden');
}}else{
if(cpage > 1){
cpage--;
}else{
$button.parent().addClass('wcpr-hidden');
}}
}else{
let $html=$(response.html);
let review_html=$html.find('div[id^="comment-"]');
if($container.find('.wcpr-list').length){
$container.find('.wcpr-list').append(review_html);
}else{
$container.append(review_html);
}
if(woocommerce_photo_reviews_params.default_comments_page==='oldest'){
if(cpage < max_page){
cpage++;
}else{
$button.parent().addClass('wcpr-hidden');
}}else{
if(cpage > 1){
cpage--;
}else{
$button.parent().addClass('wcpr-hidden');
}}
}}else{
$button.parent().addClass('wcpr-hidden');
}
$(document.body).trigger('wcpr_ajax_load_more_reviews_end');
},
complete: function (){
$button.removeClass('wcpr-loading');
}});
}
return false;
});
let ajax_pagination_running=false;
if($filters.length){
let $filters_rating=$filters.find('.wcpr-filter-button-ul');
$(document).on('click', 'a.wcpr-filter-button', function (e){
let $button=$(this);
let load_more_button=$button.closest('#comments').find(".wcpr-load-more-reviews-button:not(.shortcode-wcpr-load-more-reviews-button):not(.wcpr-loading)");
if(ajax_pagination_running||(parseInt($button.find('.wcpr-filter-button-count').html())===0&&!$button.hasClass('wcpr-active'))){
return false;
}
if(woocommerce_photo_reviews_params.default_comments_page==='oldest'){
cpage=1;
}else{
cpage='';
}
let filter_type=$button.data('filter_type');
switch (filter_type){
case 'all':
if($button.hasClass('wcpr-active')){
return false;
}else{
rating='';
}
break;
case 'image':
if($button.hasClass('wcpr-active')){
image='';
}else{
image=1;
}
break;
case 'verified':
if($button.hasClass('wcpr-active')){
verified='';
}else{
verified=1;
}
break;
default:
if($button.hasClass('wcpr-active')){
return false;
}else{
rating=parseInt(filter_type);
}}
ajax_pagination_running=true;
e.preventDefault();
$filters.addClass('wcpr-filter-loading');
$.ajax({
url: woocommerce_photo_reviews_params.ajaxurl,
type: 'POST',
data: {
'action': 'wcpr_ajax_load_more_reviews',
'post_id': parent_post_id,
'cpage': cpage,
'rating': rating,
'verified': verified,
'image': image,
'filter_type': filter_type,
'is_shortcode': '',
'frontend_style': woocommerce_photo_reviews_params.display,
},
success: function (response){
if(response.html){
$no_review.hide();
handle_missing_container();
}
if(woocommerce_photo_reviews_params.display=='2'){
$container.html(response.html);
}else{
let $html=$(response.html);
let review_html=$html.find('div[id^="comment-"]');
if($container.find('.wcpr-list').length){
$container.find('.wcpr-list').html(review_html);
}else{
$container.html(review_html);
}}
handle_missing_pagination();
max_page=parseInt(response.max_page);
cpage=parseInt(response.cpage);
if(!load_more_button.length){
handle_ajax_pagination_and_loadmore();
}
$pagination_container.find('.wcpr-load-more-reviews-button').parent().removeClass('wcpr-hidden');
if(woocommerce_photo_reviews_params.default_comments_page==='oldest'){
if(cpage < max_page){
cpage++;
}else{
load_more_button.parent().addClass('wcpr-hidden');
}}else{
if(cpage > 1){
cpage--;
}else if(!cpage){
load_more_button.parent().addClass('wcpr-hidden');
}}
let update_count=response.update_count;
if(update_count){
for (let i in update_count){
if(update_count.hasOwnProperty(i)){
$filters.find('.wcpr-filter-button[data-filter_type="' + i + '"]').find('.wcpr-filter-button-count').html(update_count[i]);
}}
}
$filters.find('.wcpr-filter-rating-placeholder .wcpr-filter-button-count').html(update_count.all);
switch (filter_type){
case 'all':
$filters_rating.find('.wcpr-filter-button').removeClass('wcpr-active');
$button.addClass('wcpr-active');
$filters.find('.wcpr-filter-rating-placeholder').html($button.html());
break;
case 'image':
case 'verified':
if($button.hasClass('wcpr-active')){
$button.removeClass('wcpr-active');
}else{
$button.addClass('wcpr-active');
}
break;
default:
$filters_rating.find('.wcpr-filter-button').removeClass('wcpr-active');
$button.addClass('wcpr-active');
$filters.find('.wcpr-filter-rating-placeholder').html($button.html());
}
$(document.body).trigger('wcpr_ajax_load_more_reviews_end');
},
error: function (err){
console.log(err);
},
complete: function (){
ajax_pagination_running=false;
$filters.removeClass('wcpr-filter-loading');
}});
});
}}
}
function viSwipeDetect(el, callback){
var touchsurface=el,
swipedir,
startX,
startY,
distX,
distY,
threshold=150,
restraint=100,
allowedTime=300,
elapsedTime,
startTime,
handleswipe=callback||function (swipedir){
};
touchsurface.addEventListener("touchstart",
function (e){
var touchobj=e.changedTouches[0];
swipedir="none";
startX=touchobj.pageX;
startY=touchobj.pageY;
startTime=new Date().getTime();
},
false
);
touchsurface.addEventListener("touchmove",
function (e){
e.preventDefault();
},
false
);
touchsurface.addEventListener("touchend",
function (e){
var touchobj=e.changedTouches[0];
distX=touchobj.pageX - startX;
distY=touchobj.pageY - startY;
elapsedTime=new Date().getTime() - startTime;
if(elapsedTime <=allowedTime){
if(Math.abs(distX) >=threshold&&Math.abs(distY) <=restraint){
swipedir=distX < 0 ? "left":"right";
}else if(Math.abs(distY) >=threshold &&
Math.abs(distX) <=restraint
){
swipedir=distY < 0 ? "up":"down";
}}
handleswipe(swipedir);
},
false
);
}});
function viwcpr_flexslider(){
if(!$('.woocommerce-photo-reviews-shortcode, .wcpr-review-title').length){
setTimeout(function (){
viwcpr_flexslider();
}, 100);
return false;
}
$('.woocommerce-photo-reviews-shortcode:not(.woocommerce-photo-reviews-slide)').each(function (){
$(this).addClass('woocommerce-photo-reviews-slide');
if(!$(this).data('wcpr_slide')){
$(this).addClass('woocommerce-photo-reviews-slide-none');
return true;
}
let rtl=false,
now=Date.now(),
params=$(this).data('reviews_shortcode'),
selector='.shortcode-wcpr-grid .shortcode-wcpr-grid-item';
if($(this).find('.shortcode-wcpr-reviews').length){
selector='.commentlist li';
}
if(!$(this).find('.viwcpr-slide-wrap').length){
$(this).append('<div class="viwcpr-slide-wrap viwcpr-slide-wrap-' + now + '" data-id_css="viwcpr-slide-wrap-' + now + '"></div>');
let tmp=$(selector).parent().clone();
$(selector).parent().remove();
$(this).find('.viwcpr-slide-wrap').css({'width': '100%', 'position': 'relative'}).append(tmp);
}
if($(this).closest('.rtl').length){
rtl=true;
}
let wrap=$(this).find('.viwcpr-slide-wrap');
let wrap_width=wrap.innerWidth() ? $(this).parent().width():0,
gap=parseInt(params.cols_gap||20),
colums=parseInt(params.cols||4),
colums_mobile=parseInt(params.cols_mobile||1);
if(wrap_width < 600&&wrap_width >=480){
colums=colums > 3 ? 3:colums;
}
if(wrap_width < 480){
colums=colums_mobile;
}
$(this).addClass('woocommerce-photo-reviews-slide-init');
let itemWidth=wrap_width ? (wrap_width - gap * colums) / colums:200;
wrap.addClass('viwcpr-slide-wrap-init').removeData("flexslider").viwcaio_flexslider({
namespace: 'villatheme-slider-',
selector: selector,
animation: 'slide',
animationLoop: 1,
itemWidth: itemWidth,
itemMargin: gap,
controlNav: false,
maxItems: colums,
reverse: false,
rtl: rtl,
move: colums,
touch: true,
slideshow: false,
start: function (slider){
if(slider.count===slider.move){
get_reviews(slider, 1, params, selector).then(function (){
slider.setProps(0);
});
}
let id_css=slider.data('id_css'),
css=`.${id_css} .viwse-suggestion-product-wrap{width: ${itemWidth}px !important;}`,
h=0;
for (let i=0; i < slider.move; i++){
if(h < slider.find(selector).eq(i).innerHeight()){
h=slider.find(selector).eq(i).innerHeight();
}
if(slider.find(selector).eq(i).find('.shortcode-reviews-images-wrap-right img').length){
slider.find(selector).eq(i).find('.shortcode-reviews-images-wrap-right img').on('load', function (){
if(!$('#' + id_css).length){
$('head').append(`<style id="${id_css}"></style>`);
}
if($(this).closest(selector + ':visible').length&&$(this).closest(selector).innerHeight()&&slider.data('current_height')){
let h_tmp=slider.find(selector).eq(i).innerHeight() + 30;
if($(this).closest(selector).innerHeight() > parseFloat(slider.data('current_height'))){
let css_tmp=`.${id_css} .viwse-suggestion-product-wrap{width: ${itemWidth}px !important;}`;
css_tmp +=`.${id_css} .villatheme-slider-viewport{height: ${h_tmp}px !important;}`;
$('#' + id_css).html(css_tmp);
slider.data('current_height', h_tmp);
}}
});
}}
if(h){
h +=30;
css +=`.${id_css} .villatheme-slider-viewport{height: ${h}px !important;}`;
}
if(!$('#' + id_css).length){
$('head').append(`<style id="${id_css}"></style>`);
}
$('#' + id_css).html(css);
slider.data('current_height', h);
},
before: function (slider){
slider.removeClass('viwcpr-slide-wrap-init');
},
after: function (slider){
if(slider.hasClass('viwcpr-slide-wrap-init')){
return true;
}
slider.addClass('viwcpr-slide-wrap-init');
let id_css=slider.data('id_css'),
css=`.${id_css} .viwse-suggestion-product-wrap{width: ${itemWidth}px !important;}`,
first=slider.currentSlide * slider.move,
last=(slider.currentSlide + 1) * slider.move,
h=0;
slider.find(selector).css({'margin-bottom': '0', 'margin-top': '0', 'width': `${itemWidth}px !important;`});
if(first===last){
h=slider.find(selector).eq(first).innerHeight();
if(slider.find(selector).eq(first).find('.shortcode-reviews-images-wrap-right img').length){
slider.find(selector).eq(first).find('.shortcode-reviews-images-wrap-right img').on('load', function (){
if(!$('#' + id_css).length){
$('head').append(`<style id="${id_css}"></style>`);
}
if($(this).closest(selector + ':visible').length&&$(this).closest(selector).innerHeight()&&slider.data('current_height')){
let h_tmp=slider.find(selector).eq(i).innerHeight() + 30;
if($(this).closest(selector).innerHeight() > parseFloat(slider.data('current_height'))){
let css_tmp=`.${id_css} .viwse-suggestion-product-wrap{width: ${itemWidth}px !important;}`;
css_tmp +=`.${id_css} .villatheme-slider-viewport{height: ${h_tmp}px !important;}`;
$('#' + id_css).html(css_tmp);
slider.data('current_height', h_tmp);
}}
});
}}else{
for (let i=first; i < last; i++){
if(h < slider.find(selector).eq(i).innerHeight()){
h=slider.find(selector).eq(i).innerHeight();
}
if(slider.find(selector).eq(i).find('.shortcode-reviews-images-wrap-right img').length){
slider.find(selector).eq(i).find('.shortcode-reviews-images-wrap-right img').on('load', function (){
if(!$('#' + id_css).length){
$('head').append(`<style id="${id_css}"></style>`);
}
if($(this).closest(selector + ':visible').length&&$(this).closest(selector).innerHeight()&&slider.data('current_height')){
let h_tmp=slider.find(selector).eq(i).innerHeight() + 30;
if($(this).closest(selector).innerHeight() > parseFloat(slider.data('current_height'))){
let css_tmp=`.${id_css} .viwse-suggestion-product-wrap{width: ${itemWidth}px !important;}`;
css_tmp +=`.${id_css} .villatheme-slider-viewport{height: ${h_tmp}px !important;}`;
$('#' + id_css).html(css_tmp);
slider.data('current_height', h_tmp);
}}
});
}}
}
if(h){
h +=30;
css +=`.${id_css} .villatheme-slider-viewport{height: ${h}px !important;}`;
slider.data('current_height', h);
}
if(!$('#' + id_css).length){
$('head').append(`<style id="${id_css}"></style>`);
}
$('#' + id_css).html(css);
},
end: function (slider){
let total_pages=parseInt(slider.find('.wcpr-reviews-total-pages').html()||slider.closest('.woocommerce-photo-reviews-shortcode').find('.wcpr-reviews-total-pages').html()),
current_page=Math.ceil(slider.find(selector).length / parseInt(params.comments_per_page||1));
if(total_pages > current_page){
let current=slider.limit;
get_reviews(slider, current_page, params, selector).then(function (){
slider.setProps(current);
});
}}
});
});
let get_reviews=async function (slider, current_page, params, selector){
await new Promise(function (resolve){
$.ajax({
url: woocommerce_photo_reviews_params.ajaxurl,
type: 'get',
data: {
action: 'woocommerce_photo_reviews_shortcode_ajax_get_reviews',
nonce: woocommerce_photo_reviews_params.nonce,
reviews_shortcode: JSON.stringify(params),
wcpr_page: current_page + 1,
wcpr_image: slider.data('wcpr_image'),
wcpr_verified: slider.data('wcpr_verified'),
wcpr_rating: slider.data('wcpr_rating'),
},
beforeSend: function (){
slider.closest('.woocommerce-photo-reviews-shortcode').addClass('woocommerce-photo-reviews-shortcode-loading');
},
success: function (response){
let temp=$('<div></div>');
temp.append(response.html);
temp.find(selector).each(function (k, v){
slider.addSlide($(v));
});
slider.closest('.woocommerce-photo-reviews-shortcode').removeClass('woocommerce-photo-reviews-shortcode-loading');
resolve(slider);
},
error: function (err){
resolve(slider);
slider.closest('.woocommerce-photo-reviews-shortcode').removeClass('woocommerce-photo-reviews-shortcode-loading');
}})
});
};
$('.wcpr-grid .wcpr-grid-item').last().css('display', 'inline-block');
$('.shortcode-wcpr-grid .shortcode-wcpr-grid-item').last().css('display', 'inline-block');
if($('#wcpr_thank_you_message').length){
setTimeout(function (){
$('.reviews_tab a').trigger('click');
setTimeout(function (){
window.scrollTo({top: $('#review_form').offset().top - 450});
});
}, 100);
}}
function wcpr_helpful_button(){
let popup_button=[
'.wcpr-single-product-summary .single_add_to_cart_button:not(.vicatna-single-atc-button):not(.vi-wcaio-product-bt-atc-loading)',
'.shortcode-wcpr-single-product-summary .single_add_to_cart_button:not(.vicatna-single-atc-button):not(.vi-wcaio-product-bt-atc-loading)',
];
$(document).on('click', popup_button.join(','), function (e){
if(!woocommerce_photo_reviews_params.ajax_atc){
return true;
}
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
let button=$(this), form=$(this).closest('form.cart');
button.addClass('vi-wcaio-product-bt-atc-loading');
if(!form.length||button.hasClass('disabled')){
button.removeClass('vi-wcaio-product-bt-atc-loading');
return false;
}
if(form.hasClass('.variations_form')){
let variation_id_check=parseInt(form.find('input[name=variation_id]').val());
if(!variation_id_check||variation_id_check <=0){
button.removeClass('vi-wcaio-product-bt-atc-loading');
return false;
}}
let product_id=form.find('input[name=product_id]').val();
if(!product_id){
product_id=form.find('[name=add-to-cart]').val()
}
if(!product_id||form.find('[name="woopb-add-to-cart"]').length){
button.attr('type', 'submit').trigger('click');
return false;
}
let data={};
form.find('select, textarea, input').each(function (){
if($(this).prop('disabled')){
return true;
}
if(['checkbox', 'radio'].indexOf($(this).attr('type')) > -1&&!$(this).prop('checked')){
return true;
}
let name=$(this).attr('name');
if(name){
data[name]=$(this).val();
}});
if(!data['add-to-cart']){
data['add-to-cart']=form.find('[name=add-to-cart]').val();
}
$(document.body).trigger('adding_to_cart', [button, data]);
if(!woocommerce_photo_reviews_params['ajax_atc_event']){
woocommerce_photo_reviews_params['ajax_atc_event']=[];
}
woocommerce_photo_reviews_params['ajax_atc_event'].push({
type: 'post',
url: woocommerce_photo_reviews_params.wc_ajax_url.toString().replace('%%endpoint%%', 'viwcpr_add_to_cart'),
data: data,
beforeSend: function (){
button.removeClass('added').addClass('loading');
},
success: function (response){
if(response.error){
location.href=window.location.href;
return false;
}
if(woocommerce_photo_reviews_params.cart_redirect_after_add==='yes'&&woocommerce_photo_reviews_params.cart_url){
window.location=woocommerce_photo_reviews_params.cart_url;
return false;
}
$(document.body).trigger('added_to_cart', [response.fragments, response.cart_hash, button]);
if(!woocommerce_photo_reviews_params.woocommerce_enable_ajax_add_to_cart){
$(document.body).trigger("wc_fragment_refresh");
}
$(document.body).trigger('viwcpr_added_to_cart', [response.fragments, response.cart_hash, button]);
woocommerce_photo_reviews_params['ajax_atc_event'].shift();
if(woocommerce_photo_reviews_params['ajax_atc_event'].length > 0){
$.ajax(woocommerce_photo_reviews_params['ajax_atc_event'][0]);
}},
complete: function (response){
button.removeClass('loading vi-wcaio-product-bt-atc-loading').addClass('added');
},
});
if(woocommerce_photo_reviews_params['ajax_atc_event'].length===1){
$.ajax(woocommerce_photo_reviews_params['ajax_atc_event'][0]);
}});
$(document).on('click', '.wcpr-comment-helpful-button', function (e){
e.stopPropagation();
let button=$(this);
let vote=button.hasClass('wcpr-comment-helpful-button-up-vote') ? 'up':'down';
let container=button.closest('.wcpr-comment-helpful-button-container');
let comment_id=container.data('comment_id');
if(vote==='up'&&container.hasClass('wcpr-comment-helpful-button-voted-up')){
return;
}
if(vote==='down'&&container.hasClass('wcpr-comment-helpful-button-voted-down')){
return;
}
if(container.hasClass('wcpr-comment-helpful-button-voting')){
return;
}
container.addClass('wcpr-comment-helpful-button-voting');
$.ajax({
url: woocommerce_photo_reviews_params.ajaxurl,
data: {
'action': 'wcpr_helpful_button_handle',
'vote': vote,
'comment_id': comment_id,
'nonce': woocommerce_photo_reviews_params.nonce,
},
type: 'POST',
success: function (response){
if(response.status==='success'){
container.find('.wcpr-comment-helpful-button-up-vote-count').html(parseInt(response.up));
container.find('.wcpr-comment-helpful-button-down-vote-count').html(parseInt(response.down));
if(vote==='up'){
container.removeClass('wcpr-comment-helpful-button-voted-down').addClass('wcpr-comment-helpful-button-voted-up');
}else{
container.removeClass('wcpr-comment-helpful-button-voted-up').addClass('wcpr-comment-helpful-button-voted-down');
}
if(container.parent().hasClass('reviews-content-right-meta')||container.parent().hasClass('shortcode-reviews-content-right-meta')){
let comment_container=$('.wcpr-comment-helpful-button-container[data-comment_id="' + comment_id + '"]');
comment_container.find('.wcpr-comment-helpful-button-up-vote-count').html(parseInt(response.up));
comment_container.find('.wcpr-comment-helpful-button-down-vote-count').html(parseInt(response.down));
if(vote==='up'){
comment_container.removeClass('wcpr-comment-helpful-button-voted-down').addClass('wcpr-comment-helpful-button-voted-up');
}else{
comment_container.removeClass('wcpr-comment-helpful-button-voted-up').addClass('wcpr-comment-helpful-button-voted-down');
}}
}},
error: function (){
},
complete: function (){
container.removeClass('wcpr-comment-helpful-button-voting');
}});
});
}}(jQuery));
(function ($){
'use strict';
let ajax_pagination_running=false;
let wcpr_image='', wcpr_verified='', wcpr_rating='';
let slides, current_shortcode_id, window_size, is_safari='';
let current=-1,swipeBoxIndex=0;
window.shortcode_wcpr_resize_masonry_items=function (force_resize=false){
$('.shortcode-wcpr-grid-item.wcpr-grid-item-init').removeClass('wcpr-grid-item-init');
let row_height=1,row_gap=20, reviews_shortcode ;
$('.wcpr-grid-loadmore .shortcode-wcpr-grid-item:not(.wcpr-grid-item-init)').each(function (){
if(!$(this).is(':visible')){
return true;
}
reviews_shortcode=$(this).closest('.woocommerce-photo-reviews-shortcode').data('reviews_shortcode');
if(reviews_shortcode?.cols_gap){
row_gap=parseInt(reviews_shortcode.cols_gap);
}else{
if(reviews_shortcode?.is_elementor==='yes'){
row_gap=15;
}}
shortcode_wcpr_resize_masonry_item($(this),row_height, row_gap);
});
}
window.shortcode_wcpr_resize_masonry_item=function (item,row_height, row_gap){
item=$(item);
let item_img, img_height=0;
if(item.find('.shortcode-reviews-images-wrap-right .shortcode-reviews-images').length){
item_img=item.find('.shortcode-reviews-images-wrap-right .shortcode-reviews-images');
img_height=item_img.outerHeight();
if(img_height===0){
let item_width=item.find('.shortcode-wcpr-content').outerWidth(),
img_width=item_img.attr('width')||0,
img_height_t=item_img.attr('height')||0;
img_height=img_height_t!==0 ? Math.round((item_width / img_width) * img_height_t):item_width;
}}
let item_height=item.find('.shortcode-wcpr-content').outerHeight(),
item_content_height=item.find('.shortcode-review-content-container').outerHeight();
if(item_height < (item_content_height + img_height)){
item_height=item_content_height + img_height;
}
let row_item=Math.ceil((item_height + row_gap) / (row_height + row_gap));
item.addClass('wcpr-grid-item-init').css('grid-row-end', 'span ' + row_item);
}
window.wcpr_enable_scroll=function (){
'use strict';
let scrollTop=parseInt($('html').css('top'));
$('html').removeClass('shortcode-wcpr-noscroll');
window.scrollTo({top:-scrollTop,behavior: 'instant'})
}
window.wcpr_disable_scroll=function (){
'use strict';
if($(document).height() > $(window).height()){
let scrollTop=($('html').scrollTop()) ? $('html').scrollTop():$('body').scrollTop();
$('html').addClass('shortcode-wcpr-noscroll').css('top', -scrollTop);
}}
$(window).on('resize', function (){
let new_size=$('body').width();
if(!window_size){
window_size=new_size;
}
if(window_size==new_size){
return;
}
window_size=new_size;
shortcode_wcpr_resize_masonry_items(true);
});
$(window).on('elementor/frontend/init', ()=> {
elementorFrontend.hooks.addAction('frontend/element_ready/woocommerce-photo-reviews.default', function ($scope){
if(!window.elementor){
return;
}
$('.shortcode-wcpr-single-product-summary-meta-shop .variations_form').each(function (){
$(this).addClass('shortcode-wcpr-variations_form').removeClass('variations_form');
});
fixBoxShadow();
});
});
$(document).on('scroll', function (e){
setTimeout(function (){
shortcode_wcpr_resize_masonry_items();
}, 100);
});
$(document).on('click', 'a', function (e){
setTimeout(function (){
shortcode_wcpr_resize_masonry_items();
}, 100);
});
$(document).ready(function ($){
$('.shortcode-wcpr-single-product-summary-meta-shop .variations_form').each(function (){
$(this).addClass('shortcode-wcpr-variations_form').removeClass('variations_form');
});
fixBoxShadow();
});
$(document).on('click', '.shortcode-wcpr-load-more-reviews-button:not(.wcpr-loading)', function (e){
let $button=$(this);
let $container=$button.closest('.woocommerce-photo-reviews-shortcode');
wcpr_image=$container.data('wcpr_image');
wcpr_verified=$container.data('wcpr_verified');
wcpr_rating=$container.data('wcpr_rating');
let reviews_shortcode=$container.data('reviews_shortcode');
if(ajax_pagination_running){
return false;
}
ajax_pagination_running=true;
e.preventDefault();
$container.addClass('woocommerce-photo-reviews-shortcode-loading');
$button.addClass('wcpr-loading');
$.ajax({
url: woocommerce_photo_reviews_shortcode_params.ajaxurl,
type: 'get',
data: {
action: 'woocommerce_photo_reviews_shortcode_ajax_get_reviews',
nonce: woocommerce_photo_reviews_shortcode_params.nonce,
reviews_shortcode: JSON.stringify(reviews_shortcode),
wcpr_page: $button.data('cpage'),
wcpr_image: wcpr_image,
wcpr_verified: wcpr_verified,
wcpr_rating: wcpr_rating,
},
success: function (response){
let $html=$('<div class="woocommerce_photo_reviews_shortcode_ajax_get_reviews"></div>');
$html.css('display', 'none').html(response.html);
if(['masonry','grid','grid_layout_2'].includes(reviews_shortcode?.style)){
$container.find('.shortcode-wcpr-grid').append($html.find('.shortcode-wcpr-grid').html());
}else if(['list_1','list_2'].includes(reviews_shortcode?.style)){
$container.find('.shortcode-wcpr-list').append($html.find('.shortcode-wcpr-list').html());
}else{
$container.find('.commentlist').append($html.find('.commentlist').html());
}
$container.find('.wcpr-load-more-reviews-button-container').replaceWith($html.find('.wcpr-load-more-reviews-button-container'));
$container.data('wcpr_image', wcpr_image);
$container.data('wcpr_verified', wcpr_verified);
$container.data('wcpr_rating', wcpr_rating);
},
complete: function (){
if(reviews_shortcode.hasOwnProperty('style')&&reviews_shortcode.style==='masonry'){
if(reviews_shortcode.hasOwnProperty('masonry_popup')&&reviews_shortcode.masonry_popup==='image'){
triggerReviewImageClick()
}}
fixBoxShadow();
$(document.body).trigger('woocommerce_photo_reviews_shortcode_ajax_get_reviews');
ajax_pagination_running=false;
$button.removeClass('wcpr-loading');
$container.removeClass('woocommerce-photo-reviews-shortcode-loading');
}});
});
$(document).on('click', 'a.wcpr-page-numbers.wcpr-page-numbers-nav', function (e){
let $container=$(this).closest('.woocommerce-photo-reviews-shortcode');
let reviews_shortcode=$container.data('reviews_shortcode');
if(!reviews_shortcode.hasOwnProperty('pagination_ajax')||reviews_shortcode.pagination_ajax!=='on'){
return true;
}
e.preventDefault();
e.stopPropagation();
let wrap=$(this).closest('.shortcode-wcpr-pagination');
let i=wrap.find('.wcpr-page-numbers').index(wrap.find('.wcpr-page-numbers.wcpr-current'));
if($(this).hasClass('wcpr-page-numbers-next')){
i++;
}else{
i--;
}
if(i===0||i===wrap.find('.wcpr-page-numbers:not(.wcpr-page-numbers-nav)').length){
return false;
}
wrap.find('.wcpr-page-numbers').eq(i).trigger('click');
});
$(document).on('click', 'a.wcpr-page-numbers:not(.wcpr-page-numbers-nav)', function (e){
let $button=$(this);
let $container=$button.closest('.woocommerce-photo-reviews-shortcode');
wcpr_image=$container.data('wcpr_image');
wcpr_verified=$container.data('wcpr_verified');
wcpr_rating=$container.data('wcpr_rating');
let reviews_shortcode=$container.data('reviews_shortcode');
if(!reviews_shortcode.hasOwnProperty('pagination_ajax')||reviews_shortcode.pagination_ajax!=='on'){
return true;
}
if(ajax_pagination_running){
return false;
}
let scrollTop=parseInt($container.offset().top);
window.scrollTo({top: scrollTop, behavior: 'smooth'});
ajax_pagination_running=true;
e.preventDefault();
$container.addClass('woocommerce-photo-reviews-shortcode-loading');
$.ajax({
url: woocommerce_photo_reviews_shortcode_params.ajaxurl,
type: 'get',
data: {
action: 'woocommerce_photo_reviews_shortcode_ajax_get_reviews',
nonce: woocommerce_photo_reviews_shortcode_params.nonce,
reviews_shortcode: JSON.stringify(reviews_shortcode),
wcpr_page: parseInt($button.html()),
wcpr_image: wcpr_image,
wcpr_verified: wcpr_verified,
wcpr_rating: wcpr_rating,
},
success: function (response){
$container.html(response.html);
$container.data('wcpr_image', wcpr_image);
$container.data('wcpr_verified', wcpr_verified);
$container.data('wcpr_rating', wcpr_rating);
},
error: function (err){
},
complete: function (){
if(reviews_shortcode.hasOwnProperty('style')&&reviews_shortcode.style==='masonry'){
if(reviews_shortcode.hasOwnProperty('masonry_popup')&&reviews_shortcode.masonry_popup==='image'){
triggerReviewImageClick()
}}
fixBoxShadow();
$(document.body).trigger('woocommerce_photo_reviews_shortcode_ajax_get_reviews');
ajax_pagination_running=false;
$container.removeClass('woocommerce-photo-reviews-shortcode-loading');
}});
});
$(document).on('click', 'a.shortcode-wcpr-filter-button', function (e){
let $button=$(this);
let $container=$button.closest('.woocommerce-photo-reviews-shortcode');
let reviews_shortcode=$container.data('reviews_shortcode');
if(!reviews_shortcode.hasOwnProperty('pagination_ajax')||reviews_shortcode.pagination_ajax!=='on'){
return;
}
if(ajax_pagination_running||(parseInt($button.find('.shortcode-wcpr-filter-button-count').html())===0&&!$button.hasClass('shortcode-wcpr-active'))){
return false;
}
wcpr_image=$container.data('wcpr_image');
wcpr_verified=$container.data('wcpr_verified');
wcpr_rating=$container.data('wcpr_rating');
let filter_type=$button.data('filter_type');
switch (filter_type){
case 'all':
if($button.hasClass('shortcode-wcpr-active')){
return false;
}else{
wcpr_rating='';
}
break;
case 'image':
if($button.hasClass('shortcode-wcpr-active')){
wcpr_image='';
}else{
wcpr_image=1;
}
break;
case 'verified':
if($button.hasClass('shortcode-wcpr-active')){
wcpr_verified='';
}else{
wcpr_verified=1;
}
break;
default:
if($button.hasClass('shortcode-wcpr-active')){
return false;
}else{
wcpr_rating=filter_type;
}}
let scrollTop=parseInt($container.offset().top);
window.scrollTo({top: scrollTop, behavior: 'smooth'});
ajax_pagination_running=true;
e.preventDefault();
$container.addClass('woocommerce-photo-reviews-shortcode-loading');
$.ajax({
url: woocommerce_photo_reviews_shortcode_params.ajaxurl,
type: 'get',
data: {
action: 'woocommerce_photo_reviews_shortcode_ajax_get_reviews',
nonce: woocommerce_photo_reviews_shortcode_params.nonce,
reviews_shortcode: JSON.stringify(reviews_shortcode),
wcpr_image: wcpr_image,
wcpr_verified: wcpr_verified,
wcpr_rating: wcpr_rating,
},
success: function (response){
$container.html(response.html);
$container.data('wcpr_image', wcpr_image);
$container.data('wcpr_verified', wcpr_verified);
$container.data('wcpr_rating', wcpr_rating);
},
error: function (err){
},
complete: function (){
if(reviews_shortcode.hasOwnProperty('style')&&reviews_shortcode.style==='masonry'){
if(reviews_shortcode.hasOwnProperty('masonry_popup')&&reviews_shortcode.masonry_popup==='image'){
triggerReviewImageClick()
}}
fixBoxShadow();
if($container.hasClass('woocommerce-photo-reviews-slide-init')){
$container.removeClass('woocommerce-photo-reviews-slide woocommerce-photo-reviews-slide-init woocommerce-photo-reviews-slide-none');
viwcpr_flexslider();
}
$(document.body).trigger('woocommerce_photo_reviews_shortcode_ajax_get_reviews');
ajax_pagination_running=false;
$container.removeClass('woocommerce-photo-reviews-shortcode-loading');
}});
});
$(document).on('click', '.shortcode-wcpr-read-more', function (e){
e.stopPropagation();
let $button=$(this);
let $comment_content=$button.closest('.shortcode-wcpr-review-content');
let $comment_content_full=$comment_content.find('.shortcode-wcpr-review-content-full');
let comment_content_full=$comment_content_full.html();
if(comment_content_full){
$comment_content.html(comment_content_full);
}
$comment_content.closest('.shortcode-wcpr-grid-item').removeClass('wcpr-grid-item-init');
shortcode_wcpr_resize_masonry_items(true);
});
$(document).on('click','.shortcode-wcpr-close', function (){
closeReviewPopUp();
});
$(document).on('keydown', function (e){
let $modal=$('.shortcode-wcpr-modal-light-box');
if($('.woocommerce-photo-reviews-shortcode').length===0){
return;
}
if($.swipebox.isOpen){
return;
}
if($modal.css('display')==='none'){
return;
}
if(e.keyCode===27){
closeReviewPopUp();
}
if(current!==-1){
if(e.keyCode===37){
showReview(current -=1);
}
if(e.keyCode===39){
showReview(current +=1);
}}
});
$(document).on('click', '.shortcode-wcpr-next', function (){
showReview(current +=1);
});
$(document).on('click', '.shortcode-wcpr-prev', function (){
showReview(current -=1);
});
$(document).on('click', '.shortcode-wcpr-modal-light-box .shortcode-wcpr-overlay',function (){
closeReviewPopUp();
});
$(document).on('click', '#shortcode-reviews-content-left-main .shortcode-reviews-images', function (){
let this_image=$(this);
let data=[];
$('#shortcode-reviews-content-left-modal').find('a').map(function (){
let current_image=$(this).find('.shortcode-reviews-images');
let href=$(this).data('image_src') ? $(this).data('image_src'):current_image.attr('src');
let title=$(this).data('image_caption') ? $(this).data('image_caption'):((parseInt($(this).data('image_index')) + 1) + '/' + $('#shortcode-reviews-content-left-modal').find('a').length);
data.push({href: href, title: title});
});
if(data.length===0){
data.push({
href: this_image.data('original_src') ? this_image.data('original_src'):this_image.attr('src'),
title: this_image.parent().find('.shortcode-wcpr-review-image-caption').html()
});
}
$.swipebox(data, {hideBarsDelay: 100000, initialIndexOnArray: swipeBoxIndex})
});
$(document).on('click', '.shortcode-wcpr-grid-item,.shortcode-wcpr-grid-style-item,.shortcode-wcpr-grid-layout-2-style-item,.shortcode-wcpr-list-style-item', function (e){
e.preventDefault();
e.stopPropagation();
let $shortcode_container=$(this).closest('.woocommerce-photo-reviews-shortcode');
let reviews_shortcode=$shortcode_container.data('reviews_shortcode');
switch (reviews_shortcode?.masonry_popup){
case 'review':
if(reviews_shortcode.hasOwnProperty('full_screen_mobile')&&reviews_shortcode.full_screen_mobile==='on'){
$('.shortcode-wcpr-modal-light-box').addClass('shortcode-wcpr-full-screen-mobile');
}else{
$('.shortcode-wcpr-modal-light-box').removeClass('shortcode-wcpr-full-screen-mobile');
}
switch (reviews_shortcode?.style){
case "grid":
slides=$shortcode_container.find('.shortcode-wcpr-grid-style-item');
break;
case "grid_layout_2":
slides=$shortcode_container.find('.shortcode-wcpr-grid-layout-2-style-item');
break;
case "list_1":
case "list_2":
slides=$shortcode_container.find('.shortcode-wcpr-list-style-item');
break;
default:
slides=$shortcode_container.find('.shortcode-wcpr-grid-item');
break;
}
let i=slides.index($(this));
if(i >=0){
$('.shortcode-wcpr-modal-light-box').removeClass(current_shortcode_id + '-modal');
current_shortcode_id=$shortcode_container.attr('id');
$('.shortcode-wcpr-modal-light-box').addClass(current_shortcode_id + '-modal');
showReview(i);
wcpr_disable_scroll();
}
break;
case 'image':
let data=[], $container=$(this);
$container.find('.shortcode-reviews-images-wrap-left').find('a').map(function (){
let current_image=$(this).find('.shortcode-reviews-images');
let href=$(this).data('image_src')||$(this).attr('href')||current_image.attr('src');
let title=$(this).data('image_caption') ? $(this).data('image_caption'):((parseInt($(this).data('image_index')) + 1) + '/' + $container.find('.reviews-images-wrap-left').find('a').length);
data.push({href: href, title: title});
});
if(data.length){
$.swipebox(data, {hideBarsDelay: 100000, initialIndexOnArray: 0})
}
return false;
break;
}});
function isSafari(){
if(!is_safari!==''){
return is_safari;
}
if(/iPad/i.test(navigator.userAgent)||(/Safari/i.test(navigator.userAgent)&&/Apple Computer/.test(navigator.vendor)&&!/Mobi|Android/i.test(navigator.userAgent))){
return true;
}
return false;
}
function fixBoxShadow(){
if(!isSafari()){
$('.shortcode-wcpr-enable-box-shadow').addClass('shortcode-wcpr-fix-box-shadow');
}
$('img.jetpack-lazy-image').next('img').remove();
shortcode_wcpr_resize_masonry_items();
}
function closeReviewPopUp(){
wcpr_enable_scroll();
$('.shortcode-wcpr-modal-light-box').fadeOut(200);
current=-1;
current_shortcode_id='';
}
function showReview(n){
swipeBoxIndex=0;
current=n;
if(n >=slides.length){
current=0
}
if(n < 0){
current=slides.length - 1
}
let is_desktop=window.innerWidth > 600;
let $left_modal=$('#shortcode-reviews-content-left-modal');
let $left_main=$('#shortcode-reviews-content-left-main');
$left_modal.html('');
$left_main.html('');
$('#shortcode-reviews-content-right .shortcode-wcpr-single-product-summary').html('');
let $current=$(slides[current]);
if($current.find('.shortcode-reviews-images-container').length===0){
$('.shortcode-wcpr-modal-light-box').addClass('shortcode-wcpr-no-images');
}else{
if($current.find('.shortcode-reviews-images-wrap-left .shortcode-reviews-images').length > 1){
$left_modal.html($current.find('.shortcode-reviews-images-wrap-left').html());
}
let img_data=$current.find('.shortcode-reviews-images-wrap-right').eq(0).html(), img_url;
if(typeof img_data==='undefined'){
img_data=$current.find('.shortcode-reviews-images-wrap:first-child > a').html();
img_url=$current.find('.shortcode-reviews-images-wrap:first-child > a').attr('href');
}
if(img_data){
$('.shortcode-wcpr-modal-light-box').removeClass('shortcode-wcpr-no-images');
$left_main.html(img_data);
$left_main.find('img').attr('src',img_url||$left_main.find('img').data('original_src')||$left_main.find('img').attr('src'))
.css({width: 'auto', height: 'auto'});
$left_main.find('.reviews-videos').css({'min-height': '400px'});
$left_main.find('.reviews-videos.reviews-videos-youtube').css({width: '500px'});
}
$left_modal.find('.shortcode-reviews-images').map(function (){
let lazy_load_src=$(this).data('src');
if(lazy_load_src){
$(this).attr('src', lazy_load_src)
}});
$left_modal.find('.shortcode-reviews-images').parent().on('click', function (){
swipeBoxIndex=$(this).data('image_index');
let temp='', current_image_src=$(this).attr('href');
if($(this).hasClass('reviews-iframe')||$(this).find('.reviews-iframe').length){
temp=$(`<iframe class="shortcode-reviews-images reviews-iframe" data-original_src="${current_image_src}" src="${current_image_src}" frameborder="0" allowfullscreen></iframe>`);
}else if($(this).hasClass('reviews-videos')||$(this).find('.reviews-videos').length){
temp=$(`<video class="shortcode-reviews-images reviews-videos" data-original_src="${current_image_src}" src="${current_image_src}" controls></video>`);
}else{
current_image_src=$(this).data('image_src')||current_image_src;
temp=$(`<img class="shortcode-reviews-images" data-original_src="${current_image_src}" src="${current_image_src}">`);
temp.attr('title', $left_main.find('.shortcode-reviews-images').attr('title'));
}
temp.css({
width: 'auto',
height: 'auto'
});
$left_main.find('.shortcode-reviews-images').replaceWith(temp);
$left_main.find('source').attr('srcset', current_image_src);
$left_main.find('.shortcode-wcpr-review-image-caption').html($(this).data('image_caption'));
if(is_desktop){
$left_main.find('.shortcode-reviews-images').one('load', function (){
if(($('#shortcode-wcpr-modal-wrap').outerHeight() - $left_main.outerHeight()) > 100){
$('#shortcode-reviews-content-left').css({position: 'unset'});
$left_modal.css({position: 'absolute', bottom: 0, left: 0, width: '500px'});
}else{
$('#shortcode-reviews-content-left').css({position: 'relative'});
$left_modal.css({position: 'unset'});
}})
}
return false;
});
}
let $right_meta=$('#shortcode-reviews-content-right .shortcode-reviews-content-right-meta');
$right_meta.html($current.find('.shortcode-review-content-container').html());
$('#shortcode-reviews-content-right .shortcode-wcpr-single-product-summary').html($current.find('.shortcode-wcpr-single-product-summary-content-wrapper').html());
if(!$right_meta.find('.shortcode-wcpr-comment-author').length&&$current.find('.shortcode-review-author-container').length){
$right_meta.prepend('<div class="shortcode-review-author-container">'+$current.find('.shortcode-review-author-container').html()+'</div>') ;
$right_meta.find('.wcpr-review-rating').remove();
$right_meta.find('.shortcode-review-author-container .wcpr-review-date')
.replaceWith('<div class="wcpr-comment-author-rating"><div class="wcpr-review-rating">'+$current.find('.wcpr-review-rating').html()+'</div><div class="wcpr-review-date">'+$current.find('.wcpr-review-date').html()+'</div></div>');
}
if(!$right_meta.find(' > .wcpr-wrap-review-helpfull').length&&$right_meta.find('.shortcode-wcpr-wrap-review-helpfull').length){
let $tmp=$right_meta.find('.shortcode-wcpr-wrap-review-helpfull').clone();
$right_meta.find('.shortcode-wcpr-wrap-review-helpfull').remove();
$right_meta.append($tmp);
}
$('.shortcode-wcpr-modal-light-box').fadeIn(200);
wcpr_variation_form($current);
if($('img.jetpack-lazy-image:not(.jetpack-lazy-image--handled)').length){
document.querySelector('body').dispatchEvent(new Event("jetpack-lazy-images-load"));
}
$('img.jetpack-lazy-image').next('img').remove();
if(is_desktop){
if($left_modal.find('.shortcode-reviews-images').length){
console.log('sdfe')
$left_main.find('.shortcode-reviews-images').one('load', function (){
console.log('a',$('#shortcode-wcpr-modal-wrap').outerHeight())
console.log('$left_main.outerHeight()',$left_main.outerHeight())
if(($('#shortcode-wcpr-modal-wrap').outerHeight() - $left_main.outerHeight()) > 100){
$('#shortcode-reviews-content-left').css({position: 'unset'});
$left_modal.css({position: 'absolute', bottom: 0, left: 0, width: '500px'});
}else{
$('#shortcode-reviews-content-left').css({position: 'relative'});
$left_modal.css({position: 'unset'});
}})
}else{
$('#shortcode-reviews-content-left').css({position: 'relative'});
$left_modal.css({position: 'unset'});
}}
}
function wcpr_variation_form($current){
let $product_summary=$('.shortcode-wcpr-single-product-summary'),
$form_variation=$product_summary.find('.shortcode-wcpr-variations_form');
$form_variation.each(function (){
$(this).addClass('variations_form vi_wpvs_variation_form');
$(this).find('select').each(function (k, v){
$(this).val($($current).find('select').eq(k).val()).trigger('change')
});
$(this).wc_variation_form();
$(document.body).trigger('vi_wpvs_variation_form');
$(document.body).trigger('wc_price_based_country_ajax_geolocation');
})
}}(jQuery));
jQuery(window).on('elementor/frontend/init', ()=> {
'use strict';
elementorFrontend.hooks.addAction('frontend/element_ready/woocommerce-photo-reviews-form.default', function ($scope){
if(!window.elementor){
return;
}
let $shortcode_container=$scope.find('.woocommerce-photo-reviews-form-container');
$shortcode_container.find('.wcpr-rating')
.hide()
.before('<p class="stars">\
<span>\
<a class="star-1" href="#">1</a>\
<a class="star-2" href="#">2</a>\
<a class="star-3" href="#">3</a>\
<a class="star-4" href="#">4</a>\
<a class="star-5" href="#">5</a>\
</span>\
</p>'
);
$shortcode_container.find('.viwcpr-review-order-container .woocommerce-photo-reviews-form-product .woocommerce-photo-reviews-form-meta-title').map(function (){
$(this).closest('.woocommerce-photo-reviews-form-main-inner').prepend($(this).clone());
$(this).remove();
})
})
});
jQuery(document).ready(function ($){
'use strict';
$('body')
.on('init', '.wcpr-rating', function (){
$('.wcpr-rating')
.hide()
.before('<p class="stars">\
<span>\
<a class="star-1" href="#">1</a>\
<a class="star-2" href="#">2</a>\
<a class="star-3" href="#">3</a>\
<a class="star-4" href="#">4</a>\
<a class="star-5" href="#">5</a>\
</span>\
</p>'
);
})
.on('click', '#respond p.stars a', function (){
var $star=$(this),
$rating=$(this).closest('#respond').find('#wcpr-rating'),
$container=$(this).closest('.stars');
$rating.val($star.text());
$star.siblings('a').removeClass('active');
$star.addClass('active');
$container.addClass('selected');
return false;
})
.on('click', '#respond #submit', function (){
var $rating=$(this).closest('#respond').find('#wcpr-rating'),
rating=$rating.val();
if($rating.length > 0&&!rating&&woocommerce_photo_reviews_form_params.review_rating_required==='yes'){
window.alert(woocommerce_photo_reviews_form_params.i18n_required_rating_text);
return false;
}});
$('#wcpr-rating').trigger('init');
setTimeout(function (){
$('.viwcpr-review-order-container .woocommerce-photo-reviews-form-product .woocommerce-photo-reviews-form-meta-title').map(function (){
$(this).closest('.woocommerce-photo-reviews-form-main-inner').prepend($(this).clone());
$(this).closest('.woocommerce-photo-reviews-form-main-inner').find('.wcpr-comment-form-submit').attr('type', 'button');
$(this).remove();
});
}, 100);
let max_files=woocommerce_photo_reviews_form_params.max_files;
$('.wcpr-comment-form').on('change', '.wcpr_image_upload', function (e){
$(this).parent().find('.wcpr-selected-image-container').html('');
if(this.files.length > max_files){
jQuery(this).closest('.woocommerce-photo-reviews-form-container').find('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_form_params.warning_max_files);
$(this).val('');
return false;
}else if(this.files.length > 0){
jQuery(this).closest('.woocommerce-photo-reviews-form-container').find('.wcpr-comment-form-error-wraps').addClass('wcpr-hidden');
readURL(this);
}}).find('.star-5').trigger('click');
let image_caption_enable=woocommerce_photo_reviews_form_params.image_caption_enable==1;
let i18n_image_caption=woocommerce_photo_reviews_form_params.i18n_image_caption;
function getSelectedImageHtml(index, src, name, error=''){
let selectImageHtml;
let temp=`<img title="${name}" src="${src}" class="wcpr-selected-image-preview">`;
if(src.indexOf('data:video/') > -1){
temp=`<video class="wcpr-selected-image-preview" height="100%" width="100%" src="${src}" controls >${name}</video>`;
}
if(error){
selectImageHtml=`<div class="wcpr-selected-image">${temp}<div class="wcpr-selected-image-info"><div class="wcpr-selected-image-name wcpr-comment-form-error" >${error}</div></div></div>`;
}else if(image_caption_enable){
selectImageHtml=`<div class="wcpr-selected-image">${temp}<div class="wcpr-selected-image-info"><div class="wcpr-selected-image-name" title="${name}">${name}</div><input class="wcpr-selected-image-caption" type="text" name="wcpr_image_caption[]" placeholder="${i18n_image_caption}"></div></div>`;
}else{
selectImageHtml=`<div class="wcpr-selected-image">${temp}<div class="wcpr-selected-image-info"><div class="wcpr-selected-image-name" title="${name}">${name}</div></div></div>`;
}
return selectImageHtml;
}
function readURL(input){
let max_file_size=1024 * parseFloat(woocommerce_photo_reviews_params.max_file_size);
for (let i=0; i < input.files.length; i++){
var reader=new FileReader();
reader.onload=function (e){
let error='';
if(input.files[i].size > max_file_size){
error=woocommerce_photo_reviews_params.warning_max_file_size.replace('%file_name%', input.files[i].name);
}else if(woocommerce_photo_reviews_params.upload_allow.indexOf(input.files[i].type)===-1){
error=woocommerce_photo_reviews_params.warning_upload_allow.replace('%file_name%', input.files[i].name);
}
$(input).parent().find('.wcpr-selected-image-container').append(getSelectedImageHtml(i, e.target.result, input.files[i].name, error))
};
reader.readAsDataURL(input.files[i]);
}}
$(document).on('click', '.viwcpr-review-order-submit:not(.viwcpr-review-order-submit-loading)', function (){
let queue=[],
button=$(this),
form=$(this).closest('.viwcpr-review-order-wrap').find('.woocommerce-photo-reviews-form-container');
if(!form.length){
return false;
}
button.addClass('viwcpr-review-order-submit-loading');
form.each(function (){
let $container=$(this);
let $content=$container.find('textarea[id="comment"]')||$container.find('textarea[name="comment"]');
let $name=$container.find('input[name="author"]');
let $email=$container.find('input[name="email"]');
$container.find('.wcpr-comment-form-error-wraps,.wcpr-comment-form-notify-wraps').addClass('wcpr-hidden');
let $rating=$container.find('#rating'),
rating=$rating.val();
if($rating.length > 0&&!rating&&woocommerce_photo_reviews_params.review_rating_required==='yes'){
$container.find('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_params.i18n_required_rating_text);
window.scrollTo({top: $container.offset().top - 50});
return false;
}
if($content.length > 0){
let comment=$content.val();
if(!comment&&woocommerce_photo_reviews_params.allow_empty_comment!=1){
$container.find('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_params.i18n_required_comment_text);
$content.focus();
return false;
}
let minimum_comment_length=parseInt(woocommerce_photo_reviews_params.minimum_comment_length);
if(minimum_comment_length&&minimum_comment_length > comment.length){
$container.find('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_params.i18n_minimum_comment_text);
$content.focus();
return false;
}}
if('on'===woocommerce_photo_reviews_form_params.enable_photo){
let $fileUpload=$container.find('.wcpr_image_upload');
if($fileUpload.length > 0){
let file_upload=$fileUpload.get(0).files;
let imagesCount=parseInt(file_upload.length);
if('on'===woocommerce_photo_reviews_form_params.required_image&&imagesCount===0){
$container.find('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_form_params.warning_required_image);
window.scrollTo({top: $container.offset().top - 50});
return false;
}
if(imagesCount > woocommerce_photo_reviews_form_params.max_files){
$container.find('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_form_params.warning_max_files);
window.scrollTo({top: $container.offset().top - 50});
return false;
}
let error=[], max_file_size=1024 * parseFloat(woocommerce_photo_reviews_params.max_file_size);
jQuery.each(file_upload, function (k, v){
if(v.size > max_file_size){
error.push('<p>' + woocommerce_photo_reviews_params.warning_max_file_size.replace('%file_name%', v.name) + '</p>');
return true;
}
if(woocommerce_photo_reviews_params.upload_allow.indexOf(v.type)===-1){
error.push('<p>' + woocommerce_photo_reviews_params.warning_upload_allow.replace('%file_name%', v.name) + '</p>');
}});
if(error.length){
$container.find('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(error.join(''));
window.scrollTo({top: $container.offset().top - 50});
return false;
}}else if('on'===woocommerce_photo_reviews_form_params.required_image){
$container.find('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_form_params.warning_required_image);
window.scrollTo({top: $container.offset().top - 50});
return false;
}}
if($name.length > 0&&$name.attr('required')&&!$name.val()){
$container.find('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_form_params.i18n_required_name_text);
$name.focus();
return false;
}
if($email.length > 0&&$email.attr('required')&&!$email.val()){
$container.find('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_form_params.i18n_required_email_text);
$email.focus();
return false;
}
if($container.find('input[name="wcpr_gdpr_checkbox"]').prop('checked')===false){
$container.find('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_form_params.warning_gdpr);
window.scrollTo({top: $container.offset().top - 50});
return false;
}
let data=new FormData($container.find('form')[0]);
if($content.val()&&!$container.find('textarea[name="comment"]').val()){
data.set('comment', $content.val());
}
queue.push({
type: 'post',
url: woocommerce_photo_reviews_form_params.wc_ajax_url.toString().replace('%%endpoint%%', 'viwcpr_review_order') + '&nonce=' + woocommerce_photo_reviews_form_params.nonce,
processData: false,
cache: false,
contentType: false,
data: data,
success: function (response){
if(response.error){
$container.find('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(response.error);
}else{
if(response.html){
$container.find('.woocommerce-photo-reviews-form-main-content').html(response.html);
if(!$('.viwcpr-review-order-wrap form').length){
button.addClass('wcpr-hidden');
}}
}},
error: function (err){
cosole.log(err)
$container.find('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(err.responseText==='-1' ? err.statusText:err.responseText);
},
complete: function (){
$container.find('.wcpr-comment-form-notify-wraps').addClass('wcpr-hidden');
queue.shift();
if(queue.length){
$.ajax(queue[0]);
}else{
button.removeClass('viwcpr-review-order-submit-loading');
}}
});
});
if(!queue.length||queue.length < form.length){
button.removeClass('viwcpr-review-order-submit-loading');
return false;
}
$('.wcpr-comment-form-notify-wraps').removeClass('wcpr-hidden');
$.ajax(queue[0]);
});
$('.woocommerce-photo-reviews-form-container').find('input[type="submit"]').on('click', function (e){
let $button=$(this);
if($button.hasClass('viwcpr_form_checked')){
return true;
}
let $container=$button.closest('.woocommerce-photo-reviews-form-container');
let $content=$container.find('textarea[id="comment"]')||$container.find('textarea[name="comment"]');
let $name=$container.find('input[name="author"]');
let $email=$container.find('input[name="email"]');
$container.find('.wcpr-comment-form-error-wraps,.wcpr-comment-form-notify-wraps').addClass('wcpr-hidden');
let $rating=$container.find('#rating'),
rating=$rating.val();
if($rating.length > 0&&!rating&&woocommerce_photo_reviews_params.review_rating_required==='yes'){
jQuery('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_params.i18n_required_rating_text);
e.preventDefault();
return false;
}
if($content.length > 0){
let comment=$content.val();
if(!comment&&woocommerce_photo_reviews_params.allow_empty_comment!=1){
$container.find('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_params.i18n_required_comment_text);
e.preventDefault();
$content.focus();
return false;
}
let minimum_comment_length=parseInt(woocommerce_photo_reviews_params.minimum_comment_length);
if(minimum_comment_length&&minimum_comment_length > comment.length){
$container.find('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_params.i18n_minimum_comment_text);
e.preventDefault();
$content.focus();
return false;
}}
if('on'===woocommerce_photo_reviews_form_params.enable_photo){
let $fileUpload=$container.find('.wcpr_image_upload');
if($fileUpload.length > 0){
let file_upload=$fileUpload.get(0).files;
let imagesCount=parseInt(file_upload.length);
if('on'===woocommerce_photo_reviews_form_params.required_image&&imagesCount===0){
$container.find('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_form_params.warning_required_image);
return false;
}
if(imagesCount > woocommerce_photo_reviews_form_params.max_files){
$container.find('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_form_params.warning_max_files);
e.preventDefault();
return false;
}
let error=[], max_file_size=1024 * parseFloat(woocommerce_photo_reviews_params.max_file_size);
jQuery.each(file_upload, function (k, v){
if(v.size > max_file_size){
error.push('<p>' + woocommerce_photo_reviews_params.warning_max_file_size.replace('%file_name%', v.name) + '</p>');
return true;
}
if(woocommerce_photo_reviews_params.upload_allow.indexOf(v.type)===-1){
error.push('<p>' + woocommerce_photo_reviews_params.warning_upload_allow.replace('%file_name%', v.name) + '</p>');
}});
if(error.length){
$container.find('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(error.join(''));
e.preventDefault();
return false;
}}else if('on'===woocommerce_photo_reviews_form_params.required_image){
$container.find('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_form_params.warning_required_image);
return false;
}}
if($name.length > 0&&$name.attr('required')&&!$name.val()){
$container.find('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_form_params.i18n_required_name_text);
e.preventDefault();
$name.focus();
return false;
}
if($email.length > 0&&$email.attr('required')&&!$email.val()){
$container.find('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_form_params.i18n_required_email_text);
e.preventDefault();
$email.focus();
return false;
}
if($container.find('input[name="wcpr_gdpr_checkbox"]').prop('checked')===false){
$container.find('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(woocommerce_photo_reviews_form_params.warning_gdpr);
e.preventDefault();
return false;
}
$container.find('.wcpr-comment-form-notify-wraps').removeClass('wcpr-hidden');
if(woocommerce_photo_reviews_form_params.restrict_number_of_reviews){
$button.attr('type', 'button');
let restrict_number_of_reviews=async function (){
let error='', data=new FormData($container.find('form')[0]);
if($content.val()&&!$container.find('textarea[name="comment"]').val()){
data.set('comment', $content.val());
}
await new Promise(function (resolve){
$.ajax({
type: 'post',
url: woocommerce_photo_reviews_form_params.wc_ajax_url.toString().replace('%%endpoint%%', 'viwcpr_restrict_number_of_reviews'),
processData: false,
cache: false,
contentType: false,
data: data,
success: function (response){
if(response.error){
error=response.error;
}else{
if(response.remove_upload_file){
$container.find('.woocommerce-photo-reviews-form-container form').find('.wcpr_image_upload').val('');
}
if(response.img_id){
$container.find('.woocommerce-photo-reviews-form-container form').append(`<input type="hidden" name="wcpr_image_upload_id" value="${response.img_id}">`);
}}
console.log(response)
resolve(error)
},
error: function (err){
error=err.responseText==='-1' ? err.statusText:err.responseText;
resolve(error)
}});
});
return error;
};
restrict_number_of_reviews().then(function (error){
$button.attr('type', 'submit');
if(error){
$container.find('.wcpr-comment-form-notify-wraps').addClass('wcpr-hidden');
$container.find('.wcpr-comment-form-error-wraps').removeClass('wcpr-hidden').html(error);
e.preventDefault();
return false;
}else{
$button.addClass('viwcpr_form_checked').trigger('click');
}});
}});
$(document).on('click', '.woocommerce-photo-reviews-form-main,.woocommerce-photo-reviews-form-main-close', function (){
let $container=$(this).closest('.woocommerce-photo-reviews-form-container');
$container.addClass('woocommerce-photo-reviews-form-popup-hide')
wcpr_enable_scroll();
});
$(document).on('click', '.woocommerce-photo-reviews-form-button-add-review', function (){
let $button=$(this);
let $container=$button.closest('.woocommerce-photo-reviews-form-container');
$container.removeClass('woocommerce-photo-reviews-form-popup-hide');
wcpr_disable_scroll();
});
$(document).on('click', '.woocommerce-photo-reviews-form-main-inner', function (e){
e.stopPropagation();
});
});
;(function(window, document, $, undefined){
$.swipebox=function(elem, options){
$(elem).addClass('swipebox');
var ui,
defaults={
useCSS:true,
useSVG:true,
initialIndexOnArray:0,
removeBarsOnMobile:true,
hideCloseButtonOnMobile:false,
hideBarsDelay:3000,
videoMaxWidth:1140,
vimeoColor:'cccccc',
beforeOpen: null,
afterOpen: null,
afterClose: null,
afterMedia: null,
nextSlide: null,
prevSlide: null,
loopAtEnd: false,
autoplayVideos: false,
queryStringData: {},
toggleClassOnLoad: ''
},
plugin=this,
elements=[],
$elem,
selector='.swipebox',
isMobile=navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(Android)|(PlayBook)|(BB10)|(BlackBerry)|(Opera Mini)|(IEMobile)|(webOS)|(MeeGo)/i),
isTouch=isMobile!==null||document.createTouch!==undefined||('ontouchstart' in window)||('onmsgesturechange' in window)||navigator.msMaxTouchPoints,
supportSVG = !! document.createElementNS&&!! document.createElementNS('http://www.w3.org/2000/svg', 'svg').createSVGRect,
winWidth=window.innerWidth ? window.innerWidth:$(window).width(),
winHeight=window.innerHeight ? window.innerHeight:$(window).height(),
currentX=0,
html='<div id="wcpr-swipebox-overlay">\
<div id="wcpr-swipebox-container">\
<div id="wcpr-swipebox-slider"></div>\
<div id="wcpr-swipebox-top-bar">\
<div id="wcpr-swipebox-title"></div>\
</div>\
<div id="wcpr-swipebox-bottom-bar">\
<div id="wcpr-swipebox-arrows">\
<a id="wcpr-swipebox-prev"></a>\
<a id="wcpr-swipebox-next"></a>\
</div>\
</div>\
<a id="wcpr-swipebox-close"></a>\
</div>\
</div>';
plugin.settings={};
$.swipebox.close=function (){
ui.closeSlide();
};
$.swipebox.extend=function (){
return ui;
};
plugin.init=function(){
plugin.settings=$.extend({}, defaults, options);
if(Array.isArray(elem) ){
elements=elem;
ui.target=$(window);
ui.init(plugin.settings.initialIndexOnArray);
}else{
$(document).on('click', selector, function(event){
if(event.target.parentNode.className==='slide current'){
return false;
}
if(! Array.isArray(elem) ){
ui.destroy();
$elem=$(selector);
ui.actions();
}
elements=[];
var index, relType, relVal;
if(! relVal){
relType='data-rel';
relVal=$(this).attr(relType);
}
if(! relVal){
relType='rel';
relVal=$(this).attr(relType);
}
if(relVal&&relVal!==''&&relVal!=='nofollow'){
$elem=$(selector).filter('[' + relType + '="' + relVal + '"]');
}else{
$elem=$(selector);
}
$elem.each(function(){
var title=null,
href=null;
if($(this).attr('title') ){
title=$(this).attr('title');
}
if($(this).attr('href') ){
href=$(this).attr('href');
}
elements.push({
href: href,
title: title
});
});
index=$elem.index($(this) );
event.preventDefault();
event.stopPropagation();
ui.target=$(event.target);
ui.init(index);
});
}};
ui={
init:function(index){
if(plugin.settings.beforeOpen){
plugin.settings.beforeOpen();
}
this.target.trigger('wcpr-swipebox-start');
$.swipebox.isOpen=true;
this.build();
this.openSlide(index);
this.openMedia(index);
this.preloadMedia(index+1);
this.preloadMedia(index-1);
if(plugin.settings.afterOpen){
plugin.settings.afterOpen(index);
}},
build:function (){
var $this=this, bg;
$('body').append(html);
if(supportSVG&&plugin.settings.useSVG===true){
bg=$('#wcpr-swipebox-close').css('background-image');
bg=bg.replace('png', 'svg');
$('#wcpr-swipebox-prev, #wcpr-swipebox-next, #wcpr-swipebox-close').css({
'background-image':bg
});
}
if(isMobile&&plugin.settings.removeBarsOnMobile){
$('#wcpr-swipebox-bottom-bar, #wcpr-swipebox-top-bar').remove();
}
$.each(elements,  function(){
$('#wcpr-swipebox-slider').append('<div class="slide"></div>');
});
$this.setDim();
$this.actions();
if(isTouch){
$this.gesture();
}
$this.keyboard();
$this.animBars();
$this.resize();
},
setDim:function (){
var width, height, sliderCss={};
if('onorientationchange' in window){
window.addEventListener('orientationchange', function(){
if(window.orientation===0){
width=winWidth;
height=winHeight;
}else if(window.orientation===90||window.orientation===-90){
width=winHeight;
height=winWidth;
}}, false);
}else{
width=window.innerWidth ? window.innerWidth:$(window).width();
height=window.innerHeight ? window.innerHeight:$(window).height();
}
sliderCss={
width:width,
height:height
};
$('#wcpr-swipebox-overlay').css(sliderCss);
},
resize:function (){
var $this=this;
$(window).resize(function(){
$this.setDim();
}).resize();
},
supportTransition:function (){
var prefixes='transition WebkitTransition MozTransition OTransition msTransition KhtmlTransition'.split(' '),
i;
for(i=0; i < prefixes.length; i++){
if(document.createElement('div').style[ prefixes[i] ]!==undefined){
return prefixes[i];
}}
return false;
},
doCssTrans:function (){
if(plugin.settings.useCSS&&this.supportTransition()){
return true;
}},
gesture:function (){
var $this=this,
index,
hDistance,
vDistance,
hDistanceLast,
vDistanceLast,
hDistancePercent,
vSwipe=false,
hSwipe=false,
hSwipMinDistance=10,
vSwipMinDistance=50,
startCoords={},
endCoords={},
bars=$('#wcpr-swipebox-top-bar, #wcpr-swipebox-bottom-bar'),
slider=$('#wcpr-swipebox-slider');
bars.addClass('visible-bars');
$this.setTimeout();
$('body').bind('touchstart', function(event){
$(this).addClass('wcpr-touching');
index=$('#wcpr-swipebox-slider .slide').index($('#wcpr-swipebox-slider .slide.current') );
endCoords=event.originalEvent.targetTouches[0];
startCoords.pageX=event.originalEvent.targetTouches[0].pageX;
startCoords.pageY=event.originalEvent.targetTouches[0].pageY;
$('#wcpr-swipebox-slider').css({
'-webkit-transform':'translate3d(' + currentX +'%, 0, 0)',
'transform':'translate3d(' + currentX + '%, 0, 0)'
});
$('.wcpr-touching').bind('touchmove',function(event){
event.preventDefault();
event.stopPropagation();
endCoords=event.originalEvent.targetTouches[0];
if(! hSwipe){
vDistanceLast=vDistance;
vDistance=endCoords.pageY - startCoords.pageY;
if(Math.abs(vDistance) >=vSwipMinDistance||vSwipe){
var opacity=0.75 - Math.abs(vDistance) / slider.height();
slider.css({ 'top': vDistance + 'px' });
slider.css({ 'opacity': opacity });
vSwipe=true;
}}
hDistanceLast=hDistance;
hDistance=endCoords.pageX - startCoords.pageX;
hDistancePercent=hDistance * 100 / winWidth;
if(! hSwipe&&! vSwipe&&Math.abs(hDistance) >=hSwipMinDistance){
$('#wcpr-swipebox-slider').css({
'-webkit-transition':'',
'transition':''
});
hSwipe=true;
}
if(hSwipe){
if(0 < hDistance){
if(0===index){
$('#wcpr-swipebox-overlay').addClass('leftSpringTouch');
}else{
$('#wcpr-swipebox-overlay').removeClass('leftSpringTouch').removeClass('rightSpringTouch');
$('#wcpr-swipebox-slider').css({
'-webkit-transform':'translate3d(' +(currentX + hDistancePercent) +'%, 0, 0)',
'transform':'translate3d(' +(currentX + hDistancePercent) + '%, 0, 0)'
});
}}else if(0 > hDistance){
if(elements.length===index +1){
$('#wcpr-swipebox-overlay').addClass('rightSpringTouch');
}else{
$('#wcpr-swipebox-overlay').removeClass('leftSpringTouch').removeClass('rightSpringTouch');
$('#wcpr-swipebox-slider').css({
'-webkit-transform':'translate3d(' +(currentX + hDistancePercent) +'%, 0, 0)',
'transform':'translate3d(' +(currentX + hDistancePercent) + '%, 0, 0)'
});
}}
}});
return false;
}).bind('touchend',function(event){
event.preventDefault();
event.stopPropagation();
$('#wcpr-swipebox-slider').css({
'-webkit-transition':'-webkit-transform 0.4s ease',
'transition':'transform 0.4s ease'
});
vDistance=endCoords.pageY - startCoords.pageY;
hDistance=endCoords.pageX - startCoords.pageX;
hDistancePercent=hDistance*100/winWidth;
if(vSwipe){
vSwipe=false;
if(Math.abs(vDistance) >=2 * vSwipMinDistance&&Math.abs(vDistance) > Math.abs(vDistanceLast) ){
var vOffset=vDistance > 0 ? slider.height():- slider.height();
slider.animate({ top: vOffset + 'px', 'opacity': 0 },
300,
function (){
$this.closeSlide();
});
}else{
slider.animate({ top: 0, 'opacity': 1 }, 300);
}}else if(hSwipe){
hSwipe=false;
if(hDistance >=hSwipMinDistance&&hDistance >=hDistanceLast){
$this.getPrev();
}else if(hDistance <=-hSwipMinDistance&&hDistance <=hDistanceLast){
$this.getNext();
}}else{
if(! bars.hasClass('visible-bars') ){
$this.showBars();
$this.setTimeout();
}else{
$this.clearTimeout();
$this.hideBars();
}}
$('#wcpr-swipebox-slider').css({
'-webkit-transform':'translate3d(' + currentX + '%, 0, 0)',
'transform':'translate3d(' + currentX + '%, 0, 0)'
});
$('#wcpr-swipebox-overlay').removeClass('leftSpringTouch').removeClass('rightSpringTouch');
$('.wcpr-touching').off('touchmove').removeClass('wcpr-touching');
});
},
setTimeout: function (){
if(plugin.settings.hideBarsDelay > 0){
var $this=this;
$this.clearTimeout();
$this.timeout=window.setTimeout(function(){
$this.hideBars();
},
plugin.settings.hideBarsDelay
);
}},
clearTimeout: function (){
window.clearTimeout(this.timeout);
this.timeout=null;
},
showBars:function (){
var bars=$('#wcpr-swipebox-top-bar, #wcpr-swipebox-bottom-bar');
if(this.doCssTrans()){
bars.addClass('visible-bars');
}else{
$('#wcpr-swipebox-top-bar').animate({ top:0 }, 500);
$('#wcpr-swipebox-bottom-bar').animate({ bottom:0 }, 500);
setTimeout(function(){
bars.addClass('visible-bars');
}, 1000);
}},
hideBars:function (){
var bars=$('#wcpr-swipebox-top-bar, #wcpr-swipebox-bottom-bar');
if(this.doCssTrans()){
bars.removeClass('visible-bars');
}else{
$('#wcpr-swipebox-top-bar').animate({ top:'-50px' }, 500);
$('#wcpr-swipebox-bottom-bar').animate({ bottom:'-50px' }, 500);
setTimeout(function(){
bars.removeClass('visible-bars');
}, 1000);
}},
animBars:function (){
var $this=this,
bars=$('#wcpr-swipebox-top-bar, #wcpr-swipebox-bottom-bar');
bars.addClass('visible-bars');
$this.setTimeout();
$('#wcpr-swipebox-slider').click(function(){
if(! bars.hasClass('visible-bars') ){
$this.showBars();
$this.setTimeout();
}});
$('#wcpr-swipebox-bottom-bar').hover(function(){
$this.showBars();
bars.addClass('visible-bars');
$this.clearTimeout();
}, function(){
if(plugin.settings.hideBarsDelay > 0){
bars.removeClass('visible-bars');
$this.setTimeout();
}});
},
keyboard:function (){
var $this=this;
$(window).bind('keyup', function(event){
event.preventDefault();
event.stopPropagation();
if(event.keyCode===37){
$this.getPrev();
}else if(event.keyCode===39){
$this.getNext();
}else if(event.keyCode===27){
$this.closeSlide();
}});
},
actions:function (){
var $this=this,
action='touchend click';
if(elements.length < 2){
$('#wcpr-swipebox-bottom-bar').hide();
if(undefined===elements[ 1 ]){
$('#wcpr-swipebox-top-bar').hide();
}}else{
$('#wcpr-swipebox-prev').bind(action, function(event){
event.preventDefault();
event.stopPropagation();
$this.getPrev();
$this.setTimeout();
});
$('#wcpr-swipebox-next').bind(action, function(event){
event.preventDefault();
event.stopPropagation();
$this.getNext();
$this.setTimeout();
});
}
$('#wcpr-swipebox-close').bind(action, function(event){
event.preventDefault();
event.stopPropagation();
$this.closeSlide();
});
},
setSlide:function(index, isFirst){
isFirst=isFirst||false;
var slider=$('#wcpr-swipebox-slider');
currentX=-index*100;
if(this.doCssTrans()){
slider.css({
'-webkit-transform':'translate3d(' + (-index*100)+'%, 0, 0)',
'transform':'translate3d(' + (-index*100)+'%, 0, 0)'
});
}else{
slider.animate({ left:(-index*100)+'%' });
}
$('#wcpr-swipebox-slider .slide').removeClass('current');
$('#wcpr-swipebox-slider .slide').eq(index).addClass('current');
this.setTitle(index);
if(isFirst){
slider.fadeIn();
}
$('#wcpr-swipebox-prev, #wcpr-swipebox-next').removeClass('disabled');
if(index===0){
$('#wcpr-swipebox-prev').addClass('disabled');
}else if(index===elements.length - 1&&plugin.settings.loopAtEnd!==true){
$('#wcpr-swipebox-next').addClass('disabled');
}},
openSlide:function(index){
$('html').addClass('wcpr-swipebox-html');
if(isTouch){
$('html').addClass('wcpr-swipebox-touch');
if(plugin.settings.hideCloseButtonOnMobile){
$('html').addClass('wcpr-swipebox-no-close-button');
}}else{
$('html').addClass('wcpr-swipebox-no-touch');
}
$(window).trigger('resize');
this.setSlide(index, true);
},
preloadMedia:function(index){
var $this=this,
src=null;
if(elements[ index ]!==undefined){
src=elements[ index ].href;
}
if(! $this.isVideo(src) ){
setTimeout(function(){
$this.openMedia(index);
}, 1000);
}else{
$this.openMedia(index);
}},
openMedia:function(index){
var $this=this,
src,
slide;
if(elements[ index ]!==undefined){
src=elements[ index ].href;
}
if(index < 0||index >=elements.length){
return false;
}
slide=$('#wcpr-swipebox-slider .slide').eq(index);
if(! $this.isVideo(src) ){
slide.addClass('slide-loading');
$this.loadMedia(src, function(){
slide.removeClass('slide-loading');
slide.html(this);
if(plugin.settings.afterMedia){
plugin.settings.afterMedia(index);
}});
}else{
slide.html($this.getVideo(src) );
if(plugin.settings.afterMedia){
plugin.settings.afterMedia(index);
}}
},
setTitle:function(index){
var title=null;
$('#wcpr-swipebox-title').empty();
if(elements[ index ]!==undefined){
title=elements[ index ].title;
}
if(title){
$('#wcpr-swipebox-top-bar').show();
$('#wcpr-swipebox-title').append(title);
}else{
$('#wcpr-swipebox-top-bar').hide();
}},
isVideo:function(src){
if(src){
if(src.match(/(youtube\.com|youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/)||src.match(/vimeo\.com\/([0-9]*)/)||src.match(/youtu\.be\/([a-zA-Z0-9\-_]+)/) ){
return true;
}
if(src.toLowerCase().indexOf('swipeboxvideo=1') >=0){
return true;
}
src=src.toLowerCase().split('.');
if(['mp4','webm'].indexOf(src[src.length - 1]) > -1){
return true;
}}
},
parseUri:function (uri, customData){
var a=document.createElement('a'),
qs={};
a.href=decodeURIComponent(uri);
if(a.search){
qs=JSON.parse('{"' + a.search.toLowerCase().replace('?','').replace(/&/g,'","').replace(/=/g,'":"') + '"}');
}
if($.isPlainObject(customData) ){
qs=$.extend(qs, customData, plugin.settings.queryStringData);
}
return $
.map(qs, function (val, key){
if(val&&val > ''){
return encodeURIComponent(key) + '=' + encodeURIComponent(val);
}})
.join('&');
},
getVideo:function(url){
var iframe='',
youtubeUrl=url.match(/((?:www\.)?youtube\.com|(?:www\.)?youtube-nocookie\.com)\/watch\?v=([a-zA-Z0-9\-_]+)/),
youtubeShortUrl=url.match(/(?:www\.)?youtu\.be\/([a-zA-Z0-9\-_]+)/),
vimeoUrl=url.match(/(?:www\.)?vimeo\.com\/([0-9]*)/),
qs='';
if(youtubeUrl||youtubeShortUrl){
if(youtubeShortUrl){
youtubeUrl=youtubeShortUrl;
}
console.log(youtubeUrl);
qs=ui.parseUri(url, {
'autoplay':(plugin.settings.autoplayVideos ? '1':'0'),
'v':''
});
iframe='<iframe width="560" height="315" src="https://' + youtubeUrl[1] + '/embed/' + youtubeUrl[2] + '?' + qs + '" frameborder="0" allowfullscreen></iframe>';
}else if(vimeoUrl){
qs=ui.parseUri(url, {
'autoplay':(plugin.settings.autoplayVideos ? '1':'0'),
'byline':'0',
'portrait':'0',
'color': plugin.settings.vimeoColor
});
iframe='<iframe width="560" height="315"  src="//player.vimeo.com/video/' + vimeoUrl[1] + '?' + qs + '" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>';
}else{
iframe='<video src="' + url + '" width="100%" controls></video>';
}
return '<div class="wcpr-swipebox-video-container" style="max-width:' + plugin.settings.videoMaxWidth + 'px"><div class="wcpr-swipebox-video">' + iframe + '</div></div>';
},
loadMedia:function(src, callback){
if(src.trim().indexOf('#')===0){
callback.call($('<div>', {
'class':'wcpr-swipebox-inline-container'
})
.append($(src)
.clone()
.toggleClass(plugin.settings.toggleClassOnLoad)
)
);
}else{
if(! this.isVideo(src) ){
var img=$('<img>').on('load', function(){
callback.call(img);
});
img.attr('src', src);
}}
},
getNext:function (){
var $this=this,
src,
index=$('#wcpr-swipebox-slider .slide').index($('#wcpr-swipebox-slider .slide.current') );
if(index + 1 < elements.length){
src=$('#wcpr-swipebox-slider .slide').eq(index).contents().find('iframe').attr('src');
$('#wcpr-swipebox-slider .slide').eq(index).contents().find('iframe').attr('src', src);
index++;
$this.setSlide(index);
$this.preloadMedia(index+1);
if(plugin.settings.nextSlide){
plugin.settings.nextSlide(index);
}}else{
if(plugin.settings.loopAtEnd===true){
src=$('#wcpr-swipebox-slider .slide').eq(index).contents().find('iframe').attr('src');
$('#wcpr-swipebox-slider .slide').eq(index).contents().find('iframe').attr('src', src);
index=0;
$this.preloadMedia(index);
$this.setSlide(index);
$this.preloadMedia(index + 1);
if(plugin.settings.nextSlide){
plugin.settings.nextSlide(index);
}}else{
$('#wcpr-swipebox-overlay').addClass('rightSpring');
setTimeout(function(){
$('#wcpr-swipebox-overlay').removeClass('rightSpring');
}, 500);
}}
},
getPrev:function (){
var index=$('#wcpr-swipebox-slider .slide').index($('#wcpr-swipebox-slider .slide.current') ),
src;
if(index > 0){
src=$('#wcpr-swipebox-slider .slide').eq(index).contents().find('iframe').attr('src');
$('#wcpr-swipebox-slider .slide').eq(index).contents().find('iframe').attr('src', src);
index--;
this.setSlide(index);
this.preloadMedia(index-1);
if(plugin.settings.prevSlide){
plugin.settings.prevSlide(index);
}}else{
$('#wcpr-swipebox-overlay').addClass('leftSpring');
setTimeout(function(){
$('#wcpr-swipebox-overlay').removeClass('leftSpring');
}, 500);
}},
nextSlide:function(index){
},
prevSlide:function(index){
},
closeSlide:function (){
$('html').removeClass('wcpr-swipebox-html');
$('html').removeClass('wcpr-swipebox-touch');
$(window).trigger('resize');
this.destroy();
},
destroy:function (){
$(window).unbind('keyup');
$('body').unbind('touchstart');
$('body').unbind('touchmove');
$('body').unbind('touchend');
$('#wcpr-swipebox-slider').unbind();
$('#wcpr-swipebox-overlay').remove();
if(! Array.isArray(elem) ){
elem.removeData('_swipebox');
}
if(this.target){
this.target.trigger('wcpr-swipebox-destroy');
}
$.swipebox.isOpen=false;
if(plugin.settings.afterClose){
plugin.settings.afterClose();
}}
};
plugin.init();
};
$.fn.swipebox=function(options){
if(! $.data(this, '_swipebox') ){
var swipebox=new $.swipebox(this, options);
this.data('_swipebox', swipebox);
}
return this.data('_swipebox');
};}(window, document, jQuery) );
!function(s){var n,i="",r=(screen.width&&(width=screen.width||"",height=screen.height||"",i+=width+" x "+height),navigator.appVersion),e=navigator.userAgent,o=navigator.appName,a=""+parseFloat(navigator.appVersion),d=parseInt(navigator.appVersion,10),t=(-1!=(t=e.indexOf("Opera"))&&(o="Opera",a=e.substring(t+6),-1!=(t=e.indexOf("Version")))&&(a=e.substring(t+8)),-1!=(t=e.indexOf("OPR"))?(o="Opera",a=e.substring(t+4)):-1!=(t=e.indexOf("Edge"))?(o="Edge",a=e.substring(t+5)):-1!=(t=e.indexOf("Edg"))?(o="Microsoft Edge",a=e.substring(t+4)):-1!=(t=e.indexOf("MSIE"))?(o="Internet",a=e.substring(t+5)):-1!=(t=e.indexOf("Chrome"))?(o="Chrome",a=e.substring(t+7)):-1!=(t=e.indexOf("Safari"))?(o="Safari",a=e.substring(t+7),-1!=(t=e.indexOf("Version"))&&(a=e.substring(t+8))):-1!=(t=e.indexOf("Firefox"))?(o="Firefox",a=e.substring(t+8)):-1!=e.indexOf("Trident/")?(o="Internet",a=e.substring(e.indexOf("rv:")+3)):(f=e.lastIndexOf(" ")+1)<(t=e.lastIndexOf("/"))&&(o=e.substring(f,t),a=e.substring(t+1),o.toLowerCase()==o.toUpperCase())&&(o=navigator.appName),-1!=(f=(a=-1!=(f=(a=-1!=(f=a.indexOf(";"))?a.substring(0,f):a).indexOf(" "))?a.substring(0,f):a).indexOf(")"))&&(a=a.substring(0,f)),d=parseInt(""+a,10),isNaN(d)&&(a=""+parseFloat(navigator.appVersion),d=parseInt(navigator.appVersion,10)),/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(r)),w="-",O=[{s:"Windows 10",r:/(Windows 10.0|Windows NT 10.0)/},{s:"Windows 8.1",r:/(Windows 8.1|Windows NT 6.3)/},{s:"Windows 8",r:/(Windows 8|Windows NT 6.2)/},{s:"Windows 7",r:/(Windows 7|Windows NT 6.1)/},{s:"Windows Vista",r:/Windows NT 6.0/},{s:"Windows Server 2003",r:/Windows NT 5.2/},{s:"Windows XP",r:/(Windows NT 5.1|Windows XP)/},{s:"Windows 2000",r:/(Windows NT 5.0|Windows 2000)/},{s:"Windows ME",r:/(Win 9x 4.90|Windows ME)/},{s:"Windows 98",r:/(Windows 98|Win98)/},{s:"Windows 95",r:/(Windows 95|Win95|Windows_95)/},{s:"Windows NT 4.0",r:/(Windows NT 4.0|WinNT4.0|WinNT|Windows NT)/},{s:"Windows CE",r:/Windows CE/},{s:"Windows 3.11",r:/Win16/},{s:"Android",r:/Android/},{s:"Open BSD",r:/OpenBSD/},{s:"Sun OS",r:/SunOS/},{s:"Chrome OS",r:/CrOS/},{s:"Linux",r:/(Linux|X11(?!.*CrOS))/},{s:"iOS",r:/(iPhone|iPad|iPod)/},{s:"Mac OS X",r:/Mac OS X/},{s:"Mac OS",r:/(Mac OS|MacPPC|MacIntel|Mac_PowerPC|Macintosh)/},{s:"QNX",r:/QNX/},{s:"UNIX",r:/UNIX/},{s:"BeOS",r:/BeOS/},{s:"OS/2",r:/OS\/2/},{s:"Search Bot",r:/(nuhk|Googlebot|Yammybot|Openbot|Slurp|MSNBot|Ask Jeeves\/Teoma|ia_archiver)/}];for(n in O){var W=O[n];if(W.r.test(e)){w=W.s;break}}var c="-";switch(/Windows/.test(w)&&(c=/Windows (.*)/.exec(w)[1],w="Windows"),w){case"Mac OS":case"Mac OS X":case"Android":c=/(?:Android|Mac OS|Mac OS X|MacPPC|MacIntel|Mac_PowerPC|Macintosh) ([\.\_\d]+)/.exec(e)[1];break;case"iOS":c=(c=/OS (\d+)_(\d+)_?(\d+)?/.exec(r))[1]+"."+c[2]+"."+(0|c[3])}var g,f="no check";"undefined"!=typeof swfobject&&(f=0<(g=swfobject.getFlashPlayerVersion()).major?g.major+"."+g.minor+" r"+g.release:"-"),s.jscd={screen:i,browser:o,browserVersion:a,browserMajorVersion:d,mobile:t,os:w,osVersion:c,flashVersion:f}}(this),function(){var s=jQuery("html");s.addClass("browser-"+jscd.browser.replaceAll(" ","-")),s.addClass("platform-"+jscd.os)}();
const htmlElement=document.getElementsByTagName("html")[0],windowWidth=window.innerWidth,userAgent=navigator.userAgent;let shouldCalculateScrollbar=1024<windowWidth&&windowWidth>htmlElement.offsetWidth;if(userAgent.includes("Chrome")){const a=userAgent.match(/Chrome\/(\d+)/);if(a){const b=parseInt(a[1],10);145<=b&&(shouldCalculateScrollbar=!1)}}if(shouldCalculateScrollbar){const c=window.innerWidth-htmlElement.offsetWidth,d=document.createElement("style");d.textContent=`:root {--wd-scroll-w: ${c}px;}`,document.head.appendChild(d)};