(function (){
'use strict';
var COOKIE_NAME='wc_facebook_signals_state';
var STATE_ACTIVE='active';
var STATE_HELD='held';
function setCookie(name, value, days){
var d=new Date();
d.setTime(d.getTime() + days * 86400000);
document.cookie =
name +
'=' +
encodeURIComponent(value) +
';expires=' +
d.toUTCString() +
';path=/;SameSite=Lax';
}
function getCookie(name){
var match=document.cookie.match(new RegExp('(?:^|;\\s*)' + name + '=([^;]*)')
);
return match ? decodeURIComponent(match[ 1 ]):null;
}
function updateState(state){
setCookie(COOKIE_NAME, state, 365);
var params=wc_facebook_signals_params;
return new Promise(function(resolve, reject){
var xhr=new XMLHttpRequest();
xhr.open('POST', params.ajax_url, true);
xhr.setRequestHeader('Content-Type',
'application/x-www-form-urlencoded; charset=UTF-8'
);
xhr.onload=function (){
if(xhr.status >=200&&xhr.status < 300){
try {
var data=JSON.parse(xhr.responseText);
resolve(data);
} catch(e){
reject(e);
}}else{
reject(new Error('AJAX failed: ' + xhr.status) );
}};
xhr.onerror=function (){
reject(new Error('Network error') );
};
xhr.send('action=' +
encodeURIComponent(params.action) +
'&security=' +
encodeURIComponent(params.nonce) +
'&state=' +
encodeURIComponent(state)
);
});
}
function hold(){
return updateState(STATE_HELD);
}
function release(){
return updateState(STATE_ACTIVE).then(function(data){
if(window.FacebookSignals &&
window.FacebookSignals._held
){
return window.FacebookSignals.release().then(function (){
return data;
},
function (){
return data;
}
);
}
return data;
});
}
function getState(){
var val=getCookie(COOKIE_NAME);
if(val===null){
return null;
}
return val===STATE_ACTIVE ? STATE_ACTIVE:STATE_HELD;
}
window.fbwcsignal=window.fbwcsignal||{};
window.fbwcsignal.hold=hold;
window.fbwcsignal.release=release;
window.fbwcsignal.getState=getState;
})();
!function(c){var w=window.wpApiSettings;function t(e){return e=t.buildAjaxOptions(e),t.transport(e)}t.buildAjaxOptions=function(e){var t,n,a,p,o,r,i=e.url,d=e.path,s=e.method;for(r in"string"==typeof e.namespace&&"string"==typeof e.endpoint&&(t=e.namespace.replace(/^\/|\/$/g,""),d=(n=e.endpoint.replace(/^\//,""))?t+"/"+n:t),"string"==typeof d&&(n=w.root,d=d.replace(/^\//,""),"string"==typeof n&&-1!==n.indexOf("?")&&(d=d.replace("?","&")),i=n+d),p=!(e.data&&e.data._wpnonce),o=!0,a=e.headers||{})if(a.hasOwnProperty(r))switch(r.toLowerCase()){case"x-wp-nonce":p=!1;break;case"accept":o=!1}return p&&(a=c.extend({"X-WP-Nonce":w.nonce},a)),o&&(a=c.extend({Accept:"application/json, */*;q=0.1"},a)),"string"!=typeof s||"PUT"!==(s=s.toUpperCase())&&"DELETE"!==s||(a=c.extend({"X-HTTP-Method-Override":s},a),s="POST"),delete(e=c.extend({},e,{headers:a,url:i,method:s})).path,delete e.namespace,delete e.endpoint,e},t.transport=c.ajax,window.wp=window.wp||{},window.wp.apiRequest=t}(jQuery);