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", "
Rewards Members Enjoy Great Benefits!
1
Join
It\'s free - get started now!
2
Earn
Points for purchases, referrals & more!
3
Redeem
Redeem for store credit and special offers!
Sign Up Login
Earn Points
Make a purchase
1 point per $1
"); //*** END public_mod_myRewards_getRenderedPromotionPopupJsInsertionCode *** function pdInjectAccountLinkModifications() { //***** INJECT REWARDS LINK **** jQuery(".navBar-section li:nth-child(2)").after(''); //***** INJECT OLDER ORDER HISTORY LINK **** jQuery(".navBar-section li:nth-child(1)").after(''); } 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.