Shop Birthday Cakes in Johnson City, TN | Pickup & Delivery Available (2024)

Skip to Content Toggle Nav

Search

My Account

My Cart

"); } if (fulfillment[i] == "curbside") { $("#curbside").html("

Curbside

"); } if (fulfillment[i] == "pickup") { if (bakery_session_data.isKosher == 1) { if (bakery_session_data.kosherMessage) { } if (bakery_session_data.kosherImage) { $("#pickup").html("

Shop Birthday Cakes in Johnson City, TN | Pickup & Delivery Available (22)

"); } else { $("#pickup").html("

Kosher

"); } } } } } var address2 = ''; var address2_url = ''; if (bakery_session_data.street2) { address2 = bakery_session_data.street2; address2_url = encodeURIComponent(bakery_session_data.street2) + "+"; } $("#store-address").html("" + bakery_session_data.street + "" + address2 + "" + bakery_session_data.city + ", " + bakery_session_data.regionId + " " + bakery_session_data.postcode + ""); var date = new Date(); var timezone = bakery_session_data.timeZone; var dayName = date.toLocaleString("en-US", { timeZone: timezone, weekday: 'long' }); var today = dayName.toUpperCase(); var timezoneDate = date.toLocaleString("en-US", { timeZone: timezone }); var currentDate = getCurrentdate(timezoneDate); var currentTimeStamp = new Date(timezoneDate).getTime() / 1000; var bakeryOpenTimeStamp = null; var bakeryCloseTimeStamp = null; let shopOpenStatus = ""; if (bakery_session_data.businessHours) { var bakeryContentAppend = ""; if (isOpened) { var business_hours = JSON.parse(bakery_session_data.businessHours); for (k = 0; k < business_hours.length; k++) { if (today == business_hours[k].dayofWeek) { shopOpenStatus = shopOpenStatusRenderer( business_hours[k].open, business_hours[k].openTime, business_hours[k].closeTime, currentDate, currentTimeStamp ); break; } } bakeryContentAppend += "

"; bakeryContentAppend += "

    "; var days = ['MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY']; var business_hours = jQuery.parseJSON(bakery_session_data.businessHours); var business_hours_override = jQuery.parseJSON(bakery_session_data.businessHoursOverride); var todayIndex = days.indexOf(today); var nextdays; if(todayIndex == 3){ nextdays = 3; } else{ nextdays = (days.length-1) - todayIndex; } var daysTmp = []; var j = 0; for(var i = todayIndex; i < days.length; i++){ daysTmp[j] = days[i]; j++; } for(var i = 0; i < todayIndex; i++){ daysTmp[j] = days[i]; j++; } days = daysTmp; todayIndex = days.indexOf(today); if(todayIndex == 3){ nextdays = 3; } else{ nextdays = (days.length-1) - todayIndex; } for (j = 0; j < days.length; j++) { for (k = 0; k < business_hours.length; k++) { if (days[j] == business_hours[k].dayofWeek) { if (today == business_hours[k].dayofWeek) { var overrideMessage = ""; var openTimeStr = business_hours[k].openTime; var closeTimeStr = business_hours[k].closeTime; var isBakeryOpen = business_hours[k].open; if (business_hours_override) { for(var x = 0; x < business_hours_override.length; x++){ let overrideDate = business_hours_override[x].overrideDate.split('/'); overrideDate = overrideDate[2]+"/"+overrideDate[0]+"/"+overrideDate[1]; if (currentDate == overrideDate) { if ('message' in business_hours_override[x]) { overrideMessage ="

    "+business_hours_override[x].message+"

    "; } isBakeryOpen = !business_hours_override[x].close; shopOpenStatus = shopOpenStatusRenderer( isBakeryOpen, business_hours_override[x].openTime, business_hours_override[x].closeTime, currentDate, currentTimeStamp ); if (isBakeryOpen) { openTimeStr = business_hours_override[x].openTime; closeTimeStr = business_hours_override[x].closeTime; } } } } if (isBakeryOpen == true) { bakeryOpenTimeStamp = new Date( currentDate + ' ' + timeToHHmm(openTimeStr) ).getTime() / 1000; bakeryCloseTimeStamp = new Date( currentDate + ' ' + timeToHHmm(closeTimeStr) ).getTime() / 1000; var splitDay = business_hours[k].dayofWeek.substring(0, 3); var dayofWeekStr = titleCase(splitDay); var openTimeStr = titleCase(openTimeStr); var closeTimeStr = titleCase(closeTimeStr); if ((bakeryOpenTimeStamp < bakeryCloseTimeStamp && currentTimeStamp >= bakeryOpenTimeStamp && currentTimeStamp <= bakeryCloseTimeStamp) || (bakeryOpenTimeStamp > bakeryCloseTimeStamp && (currentTimeStamp >= bakeryOpenTimeStamp || currentTimeStamp <= bakeryCloseTimeStamp))) { bakeryContentAppend += "
  • " + dayofWeekStr + "" + openTimeStr + " - " + closeTimeStr + "
  • "+overrideMessage; } else { bakeryContentAppend += "
  • " + dayofWeekStr + "" + openTimeStr + " - " + closeTimeStr + "
  • "+overrideMessage; } } else { var splitDay = business_hours[k].dayofWeek.substring(0, 3); var dayofWeekStr = titleCase(splitDay); bakeryContentAppend += "
  • " + dayofWeekStr + "Closed
  • "+overrideMessage; } } else { var overrideMessage = ''; var openTimeStr = business_hours[k].openTime; var closeTimeStr = business_hours[k].closeTime; var isBakeryOpen = business_hours[k].open; if (days.indexOf(business_hours[k].dayofWeek) > todayIndex && business_hours_override) { for (var x = 1; x <= nextdays; x++) { let nextDate = getCustomdate(timezoneDate,x); for (var y = 0; y < business_hours_override.length; y++) { let overrideDate = business_hours_override[y].overrideDate.split('/'); overrideDate = overrideDate[2]+"/"+overrideDate[0]+"/"+overrideDate[1]; if ( nextDate == overrideDate && business_hours[k].dayofWeek == days[todayIndex+x] ){ if ('message' in business_hours_override[y]) { overrideMessage = "

    "+business_hours_override[y].message+"

    "; } isBakeryOpen = !business_hours_override[y].close; if (isBakeryOpen) { let override = business_hours_override[y]; openTimeStr = override.openTime; closeTimeStr = override.closeTime; } } } } } if (isBakeryOpen) { var splitDay = business_hours[k].dayofWeek.substring(0, 3); var dayofWeekStr = titleCase(splitDay); var openTimeStr = titleCase(openTimeStr); var closeTimeStr = titleCase(closeTimeStr); bakeryContentAppend += "
  • " + dayofWeekStr + "" + openTimeStr + " - " + closeTimeStr + "
  • "+overrideMessage; } else { var splitDay = business_hours[k].dayofWeek.substring(0, 3); var dayofWeekStr = titleCase(splitDay); bakeryContentAppend += "
  • " + dayofWeekStr + "Closed
  • "+overrideMessage; } } } } } bakeryContentAppend += "

"; bakeryContentAppend += "

"; } else { bakeryContentAppend += "Hours: Coming Soon!"; } bakeryContentAppend += "

" + shopOpenStatus + bakeryContentAppend; $("#businessHours").html(bakeryContentAppend); if ($('#product-addtocart-button-top').length > 0) { if ($('#product-addtocart-button-top span').html() != 'Out Of Stock') { $('#product-addtocart-button-top').attr('disabled', false); } } else if ($('#product-updatecart-button-top').length > 0) { if ($('#product-updatecart-button-top span').html() != 'Out Of Stock') { $('#product-updatecart-button-top').attr('disabled', false); } } $('.cart-qty-minus').attr('disabled', false); $('.cart-qty-plus').attr('disabled', false); $('.quantity-minus').attr('disabled', false); $('.quantity-plus').attr('disabled', false); } console.log('bakery_session_data', bakery_session_data); console.log('bakery_session_data.closeExceptions', JSON.parse(bakery_session_data.closeExceptions)); console.log('currentTimeStamp', currentTimeStamp, new Date(currentTimeStamp * 1000)); var showcloseMessage = false; if (bakery_session_data.closeExceptions && isOpened) { let close_exceptions = JSON.parse(bakery_session_data.closeExceptions); for (l = 0; l < close_exceptions.length; l++) { let message = close_exceptions[l].message; let startTimeStamp = new Date(changeToCurrentDate(close_exceptions[l].startDate) + ' ' + timeToHHmm(close_exceptions[l].startTime)).getTime() / 1000; let endTimeStamp = new Date(changeToCurrentDate(close_exceptions[l].endDate) + ' ' + timeToHHmm(close_exceptions[l].endTime)).getTime() / 1000; console.log('startTimeStamp', startTimeStamp, 'endTimeStamp', endTimeStamp); if ((startTimeStamp < endTimeStamp && currentTimeStamp >= startTimeStamp && currentTimeStamp <= endTimeStamp) || (startTimeStamp > endTimeStamp && (currentTimeStamp >= startTimeStamp || currentTimeStamp <= endTimeStamp))) { $("#close-exceptions-message").html('

' + message + '

'); showcloseMessage = true; } } } if (bakery_session_data.globalMessage && isOpened && showcloseMessage === false) { let startTimeStamp = new Date(changeToFullCurrentDate(bakery_session_data.globalMessageStartTime)).getTime() / 1000; let endTimeStamp = new Date(changeToFullCurrentDate(bakery_session_data.globalMessageEndTime)).getTime() / 1000; console.log('globalMessageStartTime', changeToFullCurrentDate(bakery_session_data.globalMessageStartTime)); console.log('globalMessageEndTime', changeToFullCurrentDate(bakery_session_data.globalMessageEndTime)); console.log('globalMessageStartTimeStamp', startTimeStamp); console.log('globalMessageEndTimeStamp', endTimeStamp); if ((startTimeStamp < endTimeStamp && currentTimeStamp >= startTimeStamp && currentTimeStamp <= endTimeStamp) || (startTimeStamp > endTimeStamp && (currentTimeStamp >= startTimeStamp || currentTimeStamp <= endTimeStamp))) { $("#global-message").html('

' + bakery_session_data.globalMessage + '

'); } } let tracking = Tracking(); let bakeryData = { 'bakeryinfo': bakery_session_data.location_code + " - " + bakery_session_data.location }; if ($.cookie('fireChangeBakery') == '1') { tracking.setBakeryChange(bakeryData); let localLifeTime = parseInt(localStorage.getItem("cookie_session_life_value")); let cookieTime = new Date(); let cookiemins = localLifeTime * 60; cookieTime.setTime(cookieTime.getTime() + (cookiemins * 60 * 1000)); $.cookie('fireChangeBakery', '0', { expires: cookieTime, path: '/', domain: "."+window.location.host }); } else { tracking.setBakeryInfo(bakeryData); } window.IsBakerySession = true; } else { if (isEnableApiAddress == 0 && isEnableApiAddressJs) { getLocationByIP(); } window.IsBakerySession = false; $('#product-addtocart-button-top').attr('disabled', true); $('#product-updatecart-button-top').attr('disabled', true); $('.cart-qty-minus').attr('disabled', true); $('.cart-qty-plus').attr('disabled', true); $('.quantity-minus').attr('disabled', true); $('.quantity-plus').attr('disabled', true); $("#find-a-bakery").css("display", "block"); if (isEnableApiAddress) { $("#current-bakery-popup-top").css("display", "none"); } window.localStorage.removeItem('bakery_id'); window.localStorage.removeItem('bakery_methods'); window.localStorage.removeItem('bakery_pre_order_day'); } } /*NEW CODE END*/ customerData.get('bakery-current').subscribe(updateMenuBakery.bind(this)); var bakeryModalConfigSection = customerData.get('bakerymodal_config'); var urlParams = new URLSearchParams(window.location.search); actualizeCurrentBakery.actualize($.Deferred(), actualizeCurrentBakery.CURRENT_BAKERY_NAME) function formatPhone(phone) { format_phone = phone.replace(/\D+/g, '') .replace(/(\d{3})(\d{3})(\d{4})/, '($1) $2-$3'); return format_phone; } function showPosition(position) { let tracking = Tracking(); let locationData = {}; navigator.permissions && navigator.permissions.query({ name: 'geolocation' }) .then(function (PermissionStatus) { locationData = { state: PermissionStatus.state } tracking.setLocationPermission(locationData); }) var latitude = position.coords.latitude; var longitude = position.coords.longitude; $.ajax({ url: "/find-a-bakery-api/api/nearbybakery", data: { 'latitude': latitude, 'longitude': longitude, 'radius': 30, }, type: 'POST', success: function (data) { console.log('IP FALLBACK'); if (data.length > 0) { setCookie('latitude', latitude, 1); setCookie('longitude', longitude, 1); setCookie('locationEnabled', 1, 1); setCookie('location_enabled_latitude', latitude, 1); setCookie('location_enabled_longitude', longitude, 1); $('#loadedlocation').val('New Value'); let location_code = data[0].location_code; let time_zone = data[0].timezone; let d = new Date(); d.setTime(d.getTime() + (30 * 24 * 60 * 60 * 1000)); let expires = 'expires=' + d.toUTCString(); let maxAge = 'max-age=' + window.xBakeryLifeTime; let path = 'path=/'; let domain = 'domain=' + $.mage.cookies.defaults.domain; document.cookie = "x-bakery=" + location_code + "; " + expires + "; " + maxAge + '; ' + path + '; ' + domain + '; secure;'; document.cookie = "x-bakery-timezone=" + time_zone + "; " + expires + "; " + maxAge + '; ' + path + '; ' + domain + '; secure;'; window.location.reload(); } } }); } function shopOpenStatusRenderer(isShopOpen, openTime, closeTime, currentDate, currentTimeStamp) { let shopOpenStatus = ""; let bakeryOpenTimeStamp; let bakeryCloseTimeStamp; if (isShopOpen) { bakeryOpenTimeStamp = new Date(currentDate + ' ' + timeToHHmm(openTime)).getTime() / 1000; bakeryCloseTimeStamp = new Date(currentDate + ' ' + timeToHHmm(closeTime)).getTime() / 1000; if ((bakeryOpenTimeStamp < bakeryCloseTimeStamp && currentTimeStamp >= bakeryOpenTimeStamp && currentTimeStamp <= bakeryCloseTimeStamp) || (bakeryOpenTimeStamp > bakeryCloseTimeStamp && (currentTimeStamp >= bakeryOpenTimeStamp || currentTimeStamp <= bakeryCloseTimeStamp))) { shopOpenStatus = "" + "Hours: Open Now" + ""; } else { shopOpenStatus = "" + "Hours: Closed Now" + ""; } } else { shopOpenStatus = "" + "Hours: Closed Now" + ""; } return shopOpenStatus; } function showError(error) { let tracking = Tracking(); let locationData = {}; navigator.permissions && navigator.permissions.query({ name: 'geolocation' }) .then(function (PermissionStatus) { locationData = { state: PermissionStatus.state } tracking.setLocationPermission(locationData); }) switch (error.code) { case error.PERMISSION_DENIED: var ip_api_config = "1"; if (ip_api_config == 1) { getLocationByIP(); } console.log("User denied the request for Geolocation."); break; case error.POSITION_UNAVAILABLE: console.log("Location information is unavailable."); break; case error.TIMEOUT: console.log("The request to get user location timed out."); break; case error.UNKNOWN_ERROR: console.log("An unknown error occurred."); break; } } function getLocationByIP() { console.log('getLocationByIP'); var GOOGLE_API_KEY = "AIzaSyCEuMMkjCv8kMN3dB8yysNP4aoRCo1mQ8k"; $.ajax({ url: 'https://www.googleapis.com/geolocation/v1/geolocate?key=' + GOOGLE_API_KEY, data: JSON.stringify({ "considerIp": "true" }), type: 'POST', async: true, contentType: 'application/json', success: function (data) { if (data.location) { var latitude = data.location.lat; var longitude = data.location.lng; $.ajax({ url: "/find-a-bakery-api/api/nearbybakery", data: { 'latitude': latitude, 'longitude': longitude, 'radius': 30, }, async: true, type: 'POST', success: function (data) { if (data.length > 0) { setCookie('latitude', latitude, 1); setCookie('longitude', longitude, 1); setCatagory(); let location_code = data[0].location_code; let timezone = data[0].timezone; let d = new Date(); d.setTime(d.getTime() + (30 * 24 * 60 * 60 * 1000)); let expires = 'expires=' + d.toUTCString(); let maxAge = 'max-age=' + window.xBakeryLifeTime; let path = 'path=/'; let domain = 'domain=' + $.mage.cookies.defaults.domain; document.cookie = "x-bakery=" + location_code + "; " + expires + "; " + maxAge + '; ' + path + '; ' + domain + '; secure;'; document.cookie = "x-bakery-timezone=" + timezone + "; " + expires + "; " + maxAge + '; ' + path + '; ' + domain + '; secure;'; window.location.reload(); } } }); } }, error: function (e) { console.log('error!', JSON.parse(e.responseText)); } }); } function setCatagory() { $.ajax({ url: "/find-a-bakery-api/api/catagoryProductUrl", data: { 'path': window.location.href, }, type: 'POST' }); } function setCookie(cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)); var expires = 'expires=' + d.toUTCString(); var maxAge = 'max-age=' + exdays * 24 * 60 * 60; var path = 'path=/'; document.cookie = cname + "=" + cvalue + "; " + expires + "; " + maxAge + '; ' + path; } function getCookie(cname) { var name = cname + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') c = c.substring(1); if (c.indexOf(name) == 0) return c.substring(name.length, c.length); } return ''; } function titleCase(string) { return string.replace(/^(\w)(.+)/, (match, p1, p2) => p1.toUpperCase() + p2.toLowerCase()); } function getCurrentdate(timestamp) { let now = new Date(timestamp), y = now.getFullYear(), m = ("0" + (now.getMonth() + 1)).slice(-2), d = ("0" + now.getDate()).slice(-2); return `${y}/${m}/${d}`; } function getCustomdate(timestamp, day) { let now = new Date(Date.now(timestamp) + day*(3600 * 1000 * 24)), y = now.getFullYear(), m = ("0" + (now.getMonth() + 1)).slice(-2), d = ("0" + now.getDate()).slice(-2); return `${y}/${m}/${d}`; } function changeToCurrentDate(date) { let arr = date.split('/'); y = arr[2]; m = arr[0]; d = arr[1]; return `${y}/${m}/${d}`; } function changeToFullCurrentDate(fullDate) { let fullDateArr = fullDate.split(' '); let currentDate = changeToCurrentDate(fullDateArr[0]); return `${currentDate} ${fullDateArr[1]}`; } function changeToCurrentDate(date) { let arr = date.split('/'); y = arr[2]; m = arr[0]; d = arr[1]; return `${y}/${m}/${d}`; } function changeToFullCurrentDate(fullDate) { let fullDateArr = fullDate.split(' '); let currentDate = changeToCurrentDate(fullDateArr[0]); return `${currentDate} ${fullDateArr[1]}`; } function timeToHHmm(time) { var nums = time.match(/\d+/g); var am = /am/i.test(time); nums[0] = ('0' + ((nums[0] % 12) + (am ? 0 : 12))).slice(-2); return nums.join(':'); } }); });

Shop Birthday Cakes in Johnson City, TN | Pickup & Delivery Available (2024)
Top Articles
Lisalisad1 Family Tragedy
Olive Garden Independence Ohio
The Advantages of Secure Single Sign-on on the BenQ Board
Busted Newspaper Pulaski County
Gateway Login Georgia Client Id
Abcm Corp Training Reliaslearning
Retail Jobs For Teens Near Me
Wotr Dyra
Halo AU/Crossover Recommendations & Ideas Thread
Melissa N. Comics
Best Conjuration Spell In Skyrim
Midlands Tech Beltline Campus Bookstore
Myzmanim Edison Nj
Nail Salon At Legacy Village
Wsisd Calendar
Florida Today from Cocoa, Florida
BitLife: How to Become a Supermodel
Craigslist Ct Pets
Robotization Deviantart
Post Crescent Obituary
Natural Appetite Suppressant Tea Fat Loss Diet Plan For Male Bodybuilding (Safe) << Silbonah
Autotrader Ford Ranger
Elemental Showtimes Near Sedaliamovies
New York (NY) Lottery - Winning Numbers & Results
Walmart Supercenter Nearest To My Location
Todos los dress codes para hombre que existen, explicados
Usc Human Biology
2022 Jeep Grand Cherokee Lug Nut Torque
Quattrocento, Italienische Kunst des 15. Jahrhunderts
Ltlv Las Vegas
Coverwood Terriers For Sale
Sport & Fitness in Hainbuch: Zubehör & Ausrüstung günstig kaufen
Paul Mauro Bio
JetBlue, Spirit end $3.8 billion merger agreement after losing antitrust suit
KOBALT K15CS-06AC MANUAL Pdf Download
Drugst0Recowgirl Leaks
Rexella Van Impe Net Worth
Understanding Turbidity, TDS, and TSS
Jerry Trainor Shirtless
Dollar Tree Aktie (DLTR) • US2567461080
Concord Mills Mall Store Directory
Ssndob Cm
Gym Membership & Workout Classes in Lafayette IN | VASA Fitness
Einschlafen in nur wenigen Minuten: Was bringt die 4-7-8-Methode?
Varsity Competition Results 2022
Water Temperature Robert Moses
Geico Proof Of Residency
Skid B Gon Brake Pads
Shooters Supply Westport
Circle K Wikipedia
Evalue Mizzou
The Emperor's New Groove | Rotten Tomatoes
Latest Posts
Article information

Author: Jonah Leffler

Last Updated:

Views: 5275

Rating: 4.4 / 5 (65 voted)

Reviews: 88% of readers found this page helpful

Author information

Name: Jonah Leffler

Birthday: 1997-10-27

Address: 8987 Kieth Ports, Luettgenland, CT 54657-9808

Phone: +2611128251586

Job: Mining Supervisor

Hobby: Worldbuilding, Electronics, Amateur radio, Skiing, Cycling, Jogging, Taxidermy

Introduction: My name is Jonah Leffler, I am a determined, faithful, outstanding, inexpensive, cheerful, determined, smiling person who loves writing and wants to share my knowledge and understanding with you.