console.log('JWT blank. Not taking any login action.');
//************************************************
//********** GLOBAL PD/ONE VARIABLES *************
//************************************************
//************************************************
//************ JS/CSS FILE ROUTINES *************
//************************************************
function pdLoadJsCssFile(filename, filetype){
if (filetype=="js") {
var fileref=document.createElement('script');
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("async",true);
fileref.setAttribute("src", filename);
}
else if (filetype=="css") {
var fileref=document.createElement("link");
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", filename);
}
if (typeof fileref!="undefined")
document.getElementsByTagName("head")[0].appendChild(fileref);
}
//************************************************
//****** PD/ONE FEATURE SPECIFIC CSS/JS *********
//************************************************
pdLoadJsCssFile("https://cdn.practicaldatacore.com/my-stringsandbeyond-com/mod_bigcommerce/pdCompiledScript.js?cb=1927674", "js");
//*** CATEGORY ID:****
//*** PRODUCT ID:****
//*** PRODUCT ID LIST CSV:****
//*** BEGIN public_mod_myRewards_getRenderedPromotionMessagingJsInsertionCode ***
document.querySelectorAll("div.pdRewardsPromoMessage[productId=\"\"], div.pdRewardsPromoMessage[data-itemid=\"\"]").forEach(function(div) { div.innerHTML = "";});
//*** END public_mod_myRewards_getRenderedPromotionMessagingJsInsertionCode ***
//*** BEGIN public_mod_myRewards_getRenderedPromotionPopupJsInsertionCode ***
document.body.insertAdjacentHTML("beforeend", "
");
//*** END public_mod_myRewards_getRenderedPromotionPopupJsInsertionCode ***
function pdInjectAccountLinkModifications() {
//***** INJECT REWARDS LINK ****
jQuery(".navBar-section li:nth-child(2)").after('Rewards');
//***** INJECT OLDER ORDER HISTORY LINK ****
jQuery(".navBar-section li:nth-child(1)").after('Older Orders');
}
pdInjectAccountLinkModifications();var pdPublicUrl = 'https://my.stringsandbeyond.com/';
jQuery(document).ready(function(){
const urlParams = new URLSearchParams(location.search);
var prevLinkElem = jQuery('.navBar-section .is-active').data("pdLinkElem");
var prevLinkTarget = jQuery('.navBar-section .is-active').data("pdLinkElemTarget");
if (prevLinkElem && prevLinkTarget) {
jQuery(prevLinkTarget).html(prevLinkElem);
jQuery('.navBar-section .is-active').data("pdLinkElem", false);
jQuery('.navBar-section .is-active').data("pdLinkElemTarget", false);
}
if (urlParams.has('pd_module_content')){
var module = urlParams.get('pd_module_content');
var subNav = urlParams.get('pd_module_subNav');
var moduleTitle = jQuery('#pdContent_'+module+' a').html();
var currentUrl = window.location.href;
var currentUrlNoQuery = currentUrl.substring(0, currentUrl.indexOf('?'));
console.log(currentUrlNoQuery);
var currentTab = jQuery('.navBar-section .is-active').html();
if (jQuery('.navBar-section .is-active').hasClass('pdLinkEvent') == false){
if(jQuery('.navBar-section .is-active .navBar-action').length){
}
else {
jQuery('.navBar-section .is-active').html(''+currentTab+'');
}
}
jQuery('.navBar-section .is-active').data("pdLinkElemTarget", '#pdContent_'+module);
jQuery('.navBar-section .is-active').data("pdLinkElem", jQuery('#pdContent_'+module).html());
jQuery('#pdContent_'+module).html(jQuery('#pdContent_'+module+' a').text());
jQuery('.navBar-section .is-active').removeClass('is-active');
jQuery('#pdContent_'+module).addClass('is-active');
jQuery('.page-heading').html(moduleTitle);
if (subNav !== '' && subNav !== null){
url = pdPublicUrl+'/'+module+'/'+subNav+'.php?module='+module;
}
else {
url = pdPublicUrl+'/'+module+'/index.php?module='+module;
}
pdOneAjaxLinkHandler(url);
}
});
jQuery(document).on('submit', '.pdModal form', function(e){
e.preventDefault();
e.stopImmediatePropagation()
pdOneAjaxFormHandler(this);
});
jQuery(document).on('submit', '#pdModuleContent form', function(e){
e.preventDefault();
e.stopImmediatePropagation()
pdOneAjaxFormHandler(this);
});
jQuery(document).on('click', '.pdLinkEvent', function(e){
var currentUrl = window.location.href;
var currentTab = jQuery('.navBar-section .is-active .navBar-action').html();
console.log(jQuery(this).html());
if (jQuery('.navBar-section .is-active').hasClass('pdLinkEvent') == false){
jQuery('.navBar-section .is-active').html(''+currentTab+'');
}
jQuery('.navBar-section .is-active').removeClass('is-active');
jQuery(this).parent().addClass('is-active');
var url = jQuery(this).attr('href');
e.preventDefault();
e.stopImmediatePropagation()
pdOneAjaxLinkHandler(url);
});
jQuery(document).on('click', '#pdModuleContent a', function(e) {
var url = jQuery(this).attr('href');
jQuery(this).attr("href", "#");
e.preventDefault();
pdOneAjaxLinkHandler(url);
});
function pdOneAjaxLinkHandler(url){
console.log("pdOneAjaxLinkHandler:" + url);
var currModule = jQuery('#pdModuleContent').attr('data-currmodule');
var externalLink = false;
//assume http or https is external link
var testUrl = url;
var testUrlNoQuery = url.substring(0, testUrl.indexOf('?'));
if (testUrlNoQuery !== ''){
if ((url.includes('https://') || url.includes('http://')) && !testUrlNoQuery.includes('mod_')){
externalLink = true;
}
}
if (!externalLink && currModule !== '' && currModule !== undefined) {
testUrl = testUrl.replace('https://', '');
testUrl = testUrl.replace('http://', '');
replaceStart = testUrl.indexOf('/');
if (replaceStart == -1){
replaceStart = 0;
}
testurl = testUrl.substring(replaceStart);
//If no 'mod_' present assume reference path to current module and create absolute path
if (!url.includes('mod_')){
url = pdPublicUrl+'/'+currModule+'/'+testurl+'?module='+currModule;
}
//Else assume link to other module and create absolute path
else {
url = pdPublicUrl+'/'+testurl+'?module='+currModule;
}
}
//Perform ajax if not linking to external site
if (!externalLink){
if (url.includes('?')){
url += '&mode=inject';
}
else {
url += '?mode=inject';
}
jQuery.ajax({
'async': true,
'global': false,
'xhrFields': {
withCredentials: true
},
'type': "POST",
'crossDomain': true,
'url': url,
'success': function(result) {
console.log('success');
jQuery('.account-content').html(result);
},
error: function(errMsg) {
console.log('error');
console.log(errMsg['statusText']);
}
});
}
else {
// window.location.href = url;
}
}
function pdOneAjaxFormHandler(form, module){
currModule = jQuery('#pdModuleData').attr('data-currmodule');
if (currModule == undefined){
currModule = jQuery('#pdModuleContent').attr('data-currmodule');
}
formData = jQuery(form).serializeArray();
console.log(formData);
var method = jQuery(form).attr('method');
var url = jQuery(form).attr('action');
replaceStart = url.indexOf('/');
if (replaceStart == -1){
replaceStart = 0;
}
url = url.substring(replaceStart);
url = pdPublicUrl+'/'+currModule+'/'+url+'?module='+currModule;
if (url.includes('?')){
url += '&mode=inject';
}
else {
url += '?mode=inject';
}
if (url.includes('?')){
url += '&module='+currModule;
}
else {
url += '?module='+currModule;
}
jQuery.ajax({
'async': false,
'global': false,
'xhrFields': {
withCredentials: true
},
'type': method,
'crossDomain': true,
'url': url,
data: formData,
'success': function(result) {
console.log('success');
console.log(result);
jQuery(form).closest('#pdModuleContent').replaceWith(result);
},
error: function(errMsg) {
console.log('error');
console.log(errMsg);
}
});
}var script = document.createElement('style');
script.setAttribute('type', 'text/css');
script.innerHTML = ``;
document.getElementsByTagName('head')[0].appendChild(script);
//*** COMPLETEION CALLBACK
try{pdContentRenderCompleted()}catch(e){};
//*** done.