window.firstImageLoaded = false; window.muted = true; // TODO: when change to javascript check URL param window.queryString = window.location.search; window.urlParams = new URLSearchParams(queryString); window.anaglyph = false; const anaglyphParam = urlParams.get('anaglyph'); if (anaglyphParam) { window.anaglyph = anaglyphParam === 'yes'; } window.photos = [{"filename":"img20260306112429206jpg-1772781160025.JPG","folder":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672","gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/img20260306112429206jpg-1772781160025.JPG","image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/img20260306112429206jpg-1772781160025.JPG","thumbnail_gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/thumb_img20260306112429206jpg-1772781160025.JPG","thumbnail_image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/thumb_img20260306112429206jpg-1772781160025.JPG","rotation":0,"photo_type":"360_mono","is_stereo":false,"sort_order":2,"status":"active","created_date":"2026-03-06T07:12:40.025Z","updated_date":"2026-03-06T07:12:40.025Z","version":"v3","id":"5952163085811712","title":"Tadika Outdoor","has_anaglyph":false,"index":0},{"filename":"img20260306112010832jpg-1772781159953.JPG","folder":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672","gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/img20260306112010832jpg-1772781159953.JPG","image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/img20260306112010832jpg-1772781159953.JPG","thumbnail_gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/thumb_img20260306112010832jpg-1772781159953.JPG","thumbnail_image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/thumb_img20260306112010832jpg-1772781159953.JPG","rotation":0,"photo_type":"360_mono","is_stereo":false,"sort_order":1,"status":"active","created_date":"2026-03-06T07:12:39.954Z","updated_date":"2026-03-06T07:12:39.954Z","version":"v3","id":"6006097926160384","title":"Tadika Learning Area","has_anaglyph":false,"index":1},{"filename":"img20260306114433394jpg-1772781160019.JPG","folder":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672","gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/img20260306114433394jpg-1772781160019.JPG","image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/img20260306114433394jpg-1772781160019.JPG","thumbnail_gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/thumb_img20260306114433394jpg-1772781160019.JPG","thumbnail_image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/thumb_img20260306114433394jpg-1772781160019.JPG","rotation":0,"photo_type":"360_mono","is_stereo":false,"sort_order":4,"status":"active","created_date":"2026-03-06T07:12:40.020Z","updated_date":"2026-03-06T07:12:40.020Z","version":"v3","id":"4812972251676672","title":"Taska Outdoor","has_anaglyph":false,"index":2},{"filename":"img20260306151625660jpg-1772781468726.JPG","folder":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672","gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/img20260306151625660jpg-1772781468726.JPG","image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/img20260306151625660jpg-1772781468726.JPG","thumbnail_gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/thumb_img20260306151625660jpg-1772781468726.JPG","thumbnail_image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/thumb_img20260306151625660jpg-1772781468726.JPG","rotation":0,"photo_type":"360_mono","is_stereo":false,"sort_order":4,"status":"active","created_date":"2026-03-06T07:17:48.727Z","updated_date":"2026-03-06T07:17:48.727Z","version":"v3","id":"6439640582062080","has_anaglyph":false,"index":3,"title":"Photo 4","default_title":true}]; console.log('num photos: ' + window.photos.length); window.photosMap = {"6006097926160384":{"filename":"img20260306112010832jpg-1772781159953.JPG","folder":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672","gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/img20260306112010832jpg-1772781159953.JPG","image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/img20260306112010832jpg-1772781159953.JPG","thumbnail_gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/thumb_img20260306112010832jpg-1772781159953.JPG","thumbnail_image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/thumb_img20260306112010832jpg-1772781159953.JPG","rotation":0,"photo_type":"360_mono","is_stereo":false,"sort_order":1,"status":"active","created_date":"2026-03-06T07:12:39.954Z","updated_date":"2026-03-06T07:12:39.954Z","version":"v3","id":"6006097926160384","title":"Tadika Learning Area","has_anaglyph":false,"index":1},"5952163085811712":{"filename":"img20260306112429206jpg-1772781160025.JPG","folder":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672","gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/img20260306112429206jpg-1772781160025.JPG","image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/img20260306112429206jpg-1772781160025.JPG","thumbnail_gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/thumb_img20260306112429206jpg-1772781160025.JPG","thumbnail_image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/thumb_img20260306112429206jpg-1772781160025.JPG","rotation":0,"photo_type":"360_mono","is_stereo":false,"sort_order":2,"status":"active","created_date":"2026-03-06T07:12:40.025Z","updated_date":"2026-03-06T07:12:40.025Z","version":"v3","id":"5952163085811712","title":"Tadika Outdoor","has_anaglyph":false,"index":0},"4812972251676672":{"filename":"img20260306114433394jpg-1772781160019.JPG","folder":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672","gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/img20260306114433394jpg-1772781160019.JPG","image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/img20260306114433394jpg-1772781160019.JPG","thumbnail_gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/thumb_img20260306114433394jpg-1772781160019.JPG","thumbnail_image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/thumb_img20260306114433394jpg-1772781160019.JPG","rotation":0,"photo_type":"360_mono","is_stereo":false,"sort_order":4,"status":"active","created_date":"2026-03-06T07:12:40.020Z","updated_date":"2026-03-06T07:12:40.020Z","version":"v3","id":"4812972251676672","title":"Taska Outdoor","has_anaglyph":false,"index":2},"6439640582062080":{"filename":"img20260306151625660jpg-1772781468726.JPG","folder":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672","gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/img20260306151625660jpg-1772781468726.JPG","image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/img20260306151625660jpg-1772781468726.JPG","thumbnail_gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/thumb_img20260306151625660jpg-1772781468726.JPG","thumbnail_image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/thumb_img20260306151625660jpg-1772781468726.JPG","rotation":0,"photo_type":"360_mono","is_stereo":false,"sort_order":4,"status":"active","created_date":"2026-03-06T07:17:48.727Z","updated_date":"2026-03-06T07:17:48.727Z","version":"v3","id":"6439640582062080","has_anaglyph":false,"index":3,"title":"Photo 4","default_title":true}}; if (window.is_static) { window.photosRoot = 'https://images.orbix360.com'; // TODO: after we create all the local schema/template folders, change this to empty string window.pluginsRoot = 'plugins/'; } else { window.photosRoot = 'https://images.orbix360.com'; window.pluginsRoot = 'https://storage.googleapis.com/orbix360-prod-plugins/'; } window.minterUrl = 'https://minter.orbix360.com'; window.tourId = "5107395615260672"; // 052: the tour sound's Loop / Play once choice (absent = loop). window.tourAudioLoop = true; window.tourUid = "StvQBn7UXrYdel0l2nQRHWnSKpf1"; window.isTourOwner = false; window.customUrl = "https://kiddy123.com/"; window.tourSlug = "johan-preschool-bukit-tinggi-klang"; window.template = '360_mono'; window.template_category = '360'; window.tourShortCode = "jea-NhA71"; window.room = ''; window.mask = ''; window.current_image_index = 0; // todo: use photo object instead of correlated arrays window.nextImageToLoad = 1; window.photo_indexes = {}; window.im = false; window.photo_indexes['5952163085811712'] = 0; window.current_image_index = 0; window.current_image_id = 5952163085811712 window.photo_indexes['6006097926160384'] = 1; window.photo_indexes['4812972251676672'] = 2; window.photo_indexes['6439640582062080'] = 3; window.current_info_hotspot = null; window.current_explore_page = 1; let savedCurrentExplorePage = window.localStorage.getItem('current_explore_page'); if (savedCurrentExplorePage) { window.current_explore_page = Number(savedCurrentExplorePage); } window.current_explore_filter = 'featured'; let savedCurrentExploreFilter = window.localStorage.getItem('current_explore_filter'); if (savedCurrentExploreFilter) { window.current_explore_filter = savedCurrentExploreFilter; } window.user_profile_image = '/images/profile-icon.png'; window.user_profile_name = 'Orbi-3310788280'; window.shortURLRoot = 'https://orbix360.com'; window.image_url = 'https://images.orbix360.com/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/thumb_img20260306112429206jpg-1772781160025.JPG.play.jpg'; window.image_url_root = 'https://images.orbix360.com'; window.cloudFunctionsRoot = 'https://us-central1-orbix360-prod.cloudfunctions.net'; window.timeSinceRestartRotation = 0; window.initialState = {"versionNumber":3,"autorotate":{"enabled":true},"orbs":[{"id":5952163085811712,"hotspots":[{"id":"hotspot_5952163085811712_6006097926160384","from":5952163085811712,"to":6006097926160384,"position":{"x":-0.5134647307831882,"y":-0.08047417583169933,"z":-0.8543289046180965},"toTitle":"Tadika Learning Area"},{"id":"hotspot_5952163085811712_4812972251676672","from":5952163085811712,"to":4812972251676672,"position":{"x":0.17403262024105443,"y":0.01556437523462538,"z":0.9846168784433815},"toTitle":"Taska Outdoor"},{"id":"hotspot_5952163085811712_6439640582062080","from":5952163085811712,"to":6439640582062080,"position":{"x":0.6735517524853906,"y":0.022197899243169842,"z":0.7388066661807061},"toTitle":"Photo 4"}],"infoHotspots":[],"plugins":[{"pluginId":"4826070998056960","instanceId":"plugin_4826070998056960_1772781522606","instanceName":"Image","templateFilename":"users/sn4iLJyuI5Y6LMBmIQrqSelGxJK2/4826070998056960/v3/template.html","schemaFilename":"users/sn4iLJyuI5Y6LMBmIQrqSelGxJK2/4826070998056960/v3/schema.json","scriptFilename":"users/sn4iLJyuI5Y6LMBmIQrqSelGxJK2/4826070998056960/v3/script.js","position":{"x":"0.1","y":"-0.9","z":"0.01"},"rotation":{"x":"-100","y":"65","z":"0"},"scale":{"x":"1","y":"1","z":"1"},"src":"https://storage.googleapis.com/orbix360-prod-assets/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/5952163085811712/plugin_4826070998056960_1772781522606/Johan Preschool.png","width":3,"height":"3","visible":true,"shader":"flat","transparent":true,"opacity":"1.0","side":"front","repeat":"1 1","additional_components":""}]},{"id":6006097926160384,"hotspots":[{"id":"hotspot_6006097926160384_5952163085811712","from":6006097926160384,"to":5952163085811712,"position":{"x":0.03549520551166488,"y":-0.06240221218523349,"z":-0.9974196981712733},"toTitle":"Tadika Outdoor"},{"id":"hotspot_6006097926160384_4812972251676672","from":6006097926160384,"to":4812972251676672,"position":{"x":0.32150531472282123,"y":0.021579133135991253,"z":-0.946661858119402},"toTitle":"Taska Outdoor"}],"infoHotspots":[],"plugins":[{"pluginId":"4826070998056960","instanceId":"plugin_4826070998056960_1772781551020","instanceName":"Image","templateFilename":"users/sn4iLJyuI5Y6LMBmIQrqSelGxJK2/4826070998056960/v3/template.html","schemaFilename":"users/sn4iLJyuI5Y6LMBmIQrqSelGxJK2/4826070998056960/v3/schema.json","scriptFilename":"users/sn4iLJyuI5Y6LMBmIQrqSelGxJK2/4826070998056960/v3/script.js","position":{"x":"0.1","y":"-0.9","z":"0.01"},"rotation":{"x":"-100","y":"65","z":"0"},"scale":{"x":"1","y":"1","z":"1"},"src":"https://storage.googleapis.com/orbix360-prod-assets/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/6006097926160384/plugin_4826070998056960_1772781551020/Johan Preschool.png","width":3,"height":"3","visible":true,"shader":"flat","transparent":true,"opacity":"1.0","side":"front","repeat":"1 1","additional_components":""}]},{"id":4812972251676672,"hotspots":[{"id":"hotspot_4812972251676672_5952163085811712","from":4812972251676672,"to":5952163085811712,"position":{"x":0.9945213181717789,"y":0.03627672960651346,"z":0.09803747544140047},"toTitle":"Tadika Outdoor"},{"id":"hotspot_4812972251676672_6006097926160384","from":4812972251676672,"to":6006097926160384,"position":{"x":0.8922870483488995,"y":0.08549550254999401,"z":0.44329938235072336},"toTitle":"Tadika Learning Area"},{"id":"hotspot_4812972251676672_6439640582062080","from":4812972251676672,"to":6439640582062080,"position":{"x":-0.5690236262753572,"y":-0.039205719692477686,"z":-0.8213860385250273},"toTitle":"Photo 4"}],"infoHotspots":[],"plugins":[{"pluginId":"4826070998056960","instanceId":"plugin_4826070998056960_1772781579704","instanceName":"Image","templateFilename":"users/sn4iLJyuI5Y6LMBmIQrqSelGxJK2/4826070998056960/v3/template.html","schemaFilename":"users/sn4iLJyuI5Y6LMBmIQrqSelGxJK2/4826070998056960/v3/schema.json","scriptFilename":"users/sn4iLJyuI5Y6LMBmIQrqSelGxJK2/4826070998056960/v3/script.js","position":{"x":"0.1","y":"-0.9","z":"0.01"},"rotation":{"x":"-100","y":"65","z":"0"},"scale":{"x":"1","y":"1","z":"1"},"src":"https://storage.googleapis.com/orbix360-prod-assets/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/4812972251676672/plugin_4826070998056960_1772781579704/Johan Preschool.png","width":3,"height":"3","visible":true,"shader":"flat","transparent":true,"opacity":"1.0","side":"front","repeat":"1 1","additional_components":""}]},{"id":6439640582062080,"hotspots":[{"id":"hotspot_6439640582062080_4812972251676672","from":6439640582062080,"to":4812972251676672,"position":{"x":0.19245850577351462,"y":-0.13586104720354325,"z":-0.9718546699008976},"toTitle":"Taska Outdoor"},{"id":"hotspot_6439640582062080_5952163085811712","from":6439640582062080,"to":5952163085811712,"position":{"x":0.4961765687836117,"y":0.050234307281293744,"z":-0.8667671699840104},"toTitle":"Tadika Outdoor"}],"infoHotspots":[],"plugins":[{"pluginId":"4826070998056960","instanceId":"plugin_4826070998056960_1772781607069","instanceName":"Image","templateFilename":"users/sn4iLJyuI5Y6LMBmIQrqSelGxJK2/4826070998056960/v3/template.html","schemaFilename":"users/sn4iLJyuI5Y6LMBmIQrqSelGxJK2/4826070998056960/v3/schema.json","scriptFilename":"users/sn4iLJyuI5Y6LMBmIQrqSelGxJK2/4826070998056960/v3/script.js","position":{"x":"0.1","y":"-0.9","z":"0.01"},"rotation":{"x":"-100","y":"65","z":"0"},"scale":{"x":"1","y":"1","z":"1"},"src":"https://storage.googleapis.com/orbix360-prod-assets/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5107395615260672/6439640582062080/plugin_4826070998056960_1772781607069/Johan Preschool.png","width":3,"height":"3","visible":true,"shader":"flat","transparent":true,"opacity":"1.0","side":"front","repeat":"1 1","additional_components":""}]}]}; window.brandingAllowed = true; window.isOwner = false; // 045: owner-only prompts route to the Premium Tour page window.upgradeCheckoutSessionStatus = ''; window.isUpgradeSubscriptionValid = false; window.isPro = true; // 072: the shared entitlement rule // 029: free-plan limits from functions/common/plan_limits.js; read by // add_photos_dropzone.js (image cap, file size), which keeps fallbacks. window.planLimits = {"freeMaxMultiImageTours":2,"freeMaxSingleImageTours":-1,"freeMaxImagesPerTour":5,"freeMaxFileBytes":20000000,"multiImageLimitCutoffDate":"2026-10-11T00:00:00Z","freeMultiImageBonusPerUpgradedTour":2,"freeMultiImageBonusPerSharedTour":1,"freeMultiImageShareCreditVisitors":1,"freeMultiImageBonusForUseCase":1,"freeMaxMultiImageToursWithBonus":10,"freeMultiImageShareBonusEnabled":true,"freeMultiImageLimitEnabled":true}; // 038: offer prices from functions/common/prices.js (display strings, cents); read by nothing yet. window.prices = {"currency":"usd","proMonthly":{"amount":999,"interval":"month","perMonth":999,"display":"$9.99","perMonthDisplay":"$9.99"},"proYearly":{"amount":9900,"interval":"year","perMonth":825,"display":"$99.00","perMonthDisplay":"$8.25"},"tourMonthly":{"amount":299,"interval":"month","perMonth":299,"display":"$2.99","perMonthDisplay":"$2.99"},"tourConversionCredit":{"amount":300,"display":"$3.00"},"tourComparison":{"count":4,"total":1196,"totalDisplay":"$11.96"}}; window.nadirLogoURL = window.isPro ? 'https://images.orbix360.com/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/branding/nadir-1729253472432.png' : '/images/orbix_nadir.png'; window.editMode = false; // #325 feature flag: screen-space nav hotspot dock. Environment default from // app_config.NAV_DOCK_ENABLED; overridable per page load with ?navdock=on|off // (this script runs in the viewer page's context, so location.search is the // tour page's query string). Flag off = pre-#325 world-anchored nav hotspots. window.navDockEnabled = false; (function () { try { var navdock = new URLSearchParams(window.location.search).get('navdock'); if (navdock === 'on' || navdock === 'yes') { window.navDockEnabled = true; } else if (navdock === 'off' || navdock === 'no') { window.navDockEnabled = false; } } catch (e) { /* keep the environment default */ } })();