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":"img20251128112831088jpg-1764514010207.jpg","folder":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976","gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/img20251128112831088jpg-1764514010207.jpg","image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/img20251128112831088jpg-1764514010207.jpg","thumbnail_gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/thumb_img20251128112831088jpg-1764514010207.jpg","thumbnail_image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/thumb_img20251128112831088jpg-1764514010207.jpg","rotation":0,"photo_type":"360_mono","is_stereo":false,"sort_order":1,"status":"active","created_date":"2025-11-30T14:46:50.208Z","updated_date":"2025-11-30T14:46:50.208Z","version":"v3","id":"5828173285556224","title":"Montessori Corner","has_anaglyph":false,"index":0},{"filename":"img20251128112836140jpg-1764514010331.jpg","folder":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976","gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/img20251128112836140jpg-1764514010331.jpg","image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/img20251128112836140jpg-1764514010331.jpg","thumbnail_gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/thumb_img20251128112836140jpg-1764514010331.jpg","thumbnail_image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/thumb_img20251128112836140jpg-1764514010331.jpg","rotation":0,"photo_type":"360_mono","is_stereo":false,"sort_order":2,"status":"active","created_date":"2025-11-30T14:46:50.331Z","updated_date":"2025-11-30T14:46:50.331Z","version":"v3","id":"5509647874129920","title":"Caterpillar Class","has_anaglyph":false,"index":1},{"filename":"img20251128112841000jpg-1764514010178.jpg","folder":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976","gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/img20251128112841000jpg-1764514010178.jpg","image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/img20251128112841000jpg-1764514010178.jpg","thumbnail_gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/thumb_img20251128112841000jpg-1764514010178.jpg","thumbnail_image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/thumb_img20251128112841000jpg-1764514010178.jpg","rotation":0,"photo_type":"360_mono","is_stereo":false,"sort_order":3,"status":"active","created_date":"2025-11-30T14:46:50.179Z","updated_date":"2025-11-30T14:46:50.179Z","version":"v3","id":"4517355105288192","title":"Playroom with Stage","has_anaglyph":false,"index":2},{"filename":"img20251128114641089jpg-1764514010188.JPG","folder":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976","gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/img20251128114641089jpg-1764514010188.JPG","image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/img20251128114641089jpg-1764514010188.JPG","thumbnail_gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/thumb_img20251128114641089jpg-1764514010188.JPG","thumbnail_image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/thumb_img20251128114641089jpg-1764514010188.JPG","rotation":0,"photo_type":"360_mono","is_stereo":false,"sort_order":4,"status":"active","created_date":"2025-11-30T14:46:50.189Z","updated_date":"2025-11-30T14:46:50.189Z","version":"v3","id":"4599818913579008","title":"Butterfly Classroom","has_anaglyph":false,"index":3}]; console.log('num photos: ' + window.photos.length); window.photosMap = {"5828173285556224":{"filename":"img20251128112831088jpg-1764514010207.jpg","folder":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976","gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/img20251128112831088jpg-1764514010207.jpg","image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/img20251128112831088jpg-1764514010207.jpg","thumbnail_gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/thumb_img20251128112831088jpg-1764514010207.jpg","thumbnail_image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/thumb_img20251128112831088jpg-1764514010207.jpg","rotation":0,"photo_type":"360_mono","is_stereo":false,"sort_order":1,"status":"active","created_date":"2025-11-30T14:46:50.208Z","updated_date":"2025-11-30T14:46:50.208Z","version":"v3","id":"5828173285556224","title":"Montessori Corner","has_anaglyph":false,"index":0},"5509647874129920":{"filename":"img20251128112836140jpg-1764514010331.jpg","folder":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976","gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/img20251128112836140jpg-1764514010331.jpg","image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/img20251128112836140jpg-1764514010331.jpg","thumbnail_gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/thumb_img20251128112836140jpg-1764514010331.jpg","thumbnail_image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/thumb_img20251128112836140jpg-1764514010331.jpg","rotation":0,"photo_type":"360_mono","is_stereo":false,"sort_order":2,"status":"active","created_date":"2025-11-30T14:46:50.331Z","updated_date":"2025-11-30T14:46:50.331Z","version":"v3","id":"5509647874129920","title":"Caterpillar Class","has_anaglyph":false,"index":1},"4517355105288192":{"filename":"img20251128112841000jpg-1764514010178.jpg","folder":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976","gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/img20251128112841000jpg-1764514010178.jpg","image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/img20251128112841000jpg-1764514010178.jpg","thumbnail_gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/thumb_img20251128112841000jpg-1764514010178.jpg","thumbnail_image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/thumb_img20251128112841000jpg-1764514010178.jpg","rotation":0,"photo_type":"360_mono","is_stereo":false,"sort_order":3,"status":"active","created_date":"2025-11-30T14:46:50.179Z","updated_date":"2025-11-30T14:46:50.179Z","version":"v3","id":"4517355105288192","title":"Playroom with Stage","has_anaglyph":false,"index":2},"4599818913579008":{"filename":"img20251128114641089jpg-1764514010188.JPG","folder":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976","gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/img20251128114641089jpg-1764514010188.JPG","image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/img20251128114641089jpg-1764514010188.JPG","thumbnail_gcs_filename":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/thumb_img20251128114641089jpg-1764514010188.JPG","thumbnail_image_url":"/users/StvQBn7UXrYdel0l2nQRHWnSKpf1/5267449735806976/thumb_img20251128114641089jpg-1764514010188.JPG","rotation":0,"photo_type":"360_mono","is_stereo":false,"sort_order":4,"status":"active","created_date":"2025-11-30T14:46:50.189Z","updated_date":"2025-11-30T14:46:50.189Z","version":"v3","id":"4599818913579008","title":"Butterfly Classroom","has_anaglyph":false,"index":3}}; 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 = "5267449735806976"; // 052: the tour sound's Loop / Play once choice (absent = loop). window.tourAudioLoop = true; window.tourUid = "StvQBn7UXrYdel0l2nQRHWnSKpf1"; // 090: bandwidth usage reporter (frontend/js/usage_reporter.js); absent or disabled = no reports. window.usageReport = {"enabled":true,"roots":["https://images.orbix360.com/","https://storage.googleapis.com/orbix360-prod-images/","https://storage.googleapis.com/orbix360-prod-plugins/","https://storage.googleapis.com/orbix360-prod-assets/"],"externalHosts":["player.vimeo.com","vod-progressive.akamaized.net","vimeocdn.com"],"edit":false}; window.usageReport.viewer = 'legacy'; window.isTourOwner = false; window.customUrl = "https://kiddy123.com/"; window.tourSlug = "orange-montessori-seri-kembangan"; window.template = '360_mono'; window.template_category = '360'; window.tourShortCode = "OZlAv8jFA"; 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['5828173285556224'] = 0; window.current_image_index = 0; window.current_image_id = 5828173285556224 window.photo_indexes['5509647874129920'] = 1; window.photo_indexes['4517355105288192'] = 2; window.photo_indexes['4599818913579008'] = 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/5267449735806976/thumb_img20251128112831088jpg-1764514010207.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":5828173285556224,"hotspots":[{"id":"hotspot_5828173285556224_4517355105288192","from":5828173285556224,"to":4517355105288192,"position":{"x":-0.9753985890095493,"y":0.0305130365100176,"z":0.21832669823252998},"toTitle":"Playroom with Stage"},{"id":"hotspot_5828173285556224_5509647874129920","from":5828173285556224,"to":5509647874129920,"position":{"x":-0.943965652249244,"y":0.025427015489243393,"z":-0.32906278163440034},"toTitle":"Caterpillar Class"},{"id":"hotspot_5828173285556224_4599818913579008","from":5828173285556224,"to":4599818913579008,"position":{"x":-0.4663334291281562,"y":0.036026061188516256,"z":-0.8838751358607255},"toTitle":"Butterfly Classroom"}],"infoHotspots":[]},{"id":5509647874129920,"hotspots":[{"id":"hotspot_5509647874129920_5828173285556224","from":5509647874129920,"to":5828173285556224,"position":{"x":0.19266135411934276,"y":-0.021773737257890606,"z":-0.9810237035845392},"toTitle":"Montessori Corner"},{"id":"hotspot_5509647874129920_4517355105288192","from":5509647874129920,"to":4517355105288192,"position":{"x":0.9297846839424453,"y":0.013448758619514433,"z":-0.3678580873076479},"toTitle":"Playroom with Stage"}],"infoHotspots":[]},{"id":4517355105288192,"hotspots":[{"id":"hotspot_4517355105288192_5828173285556224","from":4517355105288192,"to":5828173285556224,"position":{"x":-0.6070557052790646,"y":0.026745383633080107,"z":-0.7942090752078177},"toTitle":"Montessori Corner"}],"infoHotspots":[]},{"id":4599818913579008,"hotspots":[{"id":"hotspot_4599818913579008_5828173285556224","from":4599818913579008,"to":5828173285556224,"position":{"x":-0.24096373762450232,"y":0.043047393526825156,"z":-0.9695789803108238},"toTitle":"Montessori Corner"}],"infoHotspots":[]}]}; 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,"freeMaxSplatFiles":1,"freeMaxSplatBytes":52428800,"proMaxSplatFiles":50,"proMaxSplatBytes":262144000}; window.tourTemplates = {"vr":["blank-scene","environment-scene","home-scene","nft-gallery","nft-gallery-simple","nft-gallery-room","splat-scene"],"noUpload":["blank-scene","environment-scene","home-scene","nft-gallery","nft-gallery-simple","nft-gallery-room","splat-scene","spatial-video","real-estate"],"flat":["flat","flat_stereo","nft_flat_stereo"]}; // 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 */ } })();