CINXE.COM

Trusted websites

<style> .analytics-header-click { cursor: pointer; } .analytics-footer-click { cursor: pointer; } </style> <link rel="icon" href="/etc/designs/tihV2/static/components/tih-base/favicon-16x16.png" type="image/x-icon"> <!-- INACTIVE SESSION MODAL --> <div class="modal fade" style="display:none;" id="inactiveSessionModal" tabindex="-1" aria-hidden="true" data-bs-backdrop="static" data-bs-keyboard="false"> <div class="modal-dialog modal-dialog-centered modal-lg rounded-4 is-borderless"> <div class="modal-content"> <button type="button" class="btn-close floating-btn" data-bs-dismiss="modal" aria-label="Close"> <i class="bi bi-x-lg"></i> </button> <div class="modal-body text-center"> <div class="modal-body text-center"> <h4 id="inactiveSessionModalContent"></h4> </div> </div> </div> </div> </div> <script> function showErrorInModal() { document.getElementById('inactiveSessionModalContent').textContent = 'Error: Inactive Session'; } function escapeHTML(str) { return str.replace(/[&<>'"]/g, function(tag) { const charsToReplace = { '&': '&amp;', '<': '&lt;', '>': '&gt;', "'": '&#39;', '"': '&quot;' }; return charsToReplace[tag] || tag; }); } </script> <!-- Utility functions ================================================== --> <script nonce="n2ix81kaxuda" type="text/javascript"> function parseScript(inputJson){ var jsonString = JSON.stringify(inputJson); jsonString = jsonString.replace(/</g,'&lt;'); jsonString = jsonString.replace(/>/g,'&gt;'); return JSON.parse(jsonString); } function getArrayListString(arrayList) { if(Array.isArray(arrayList)){ return arrayList.join(); } return [].join(); } </script> <!-- MEDIA UTILITY FUNCTIONS ================================================== --> <script nonce="n2ix81kaxuda" type="text/javascript"> var MEDIA_UTIL = (function(){ return { "onSuccessfulImageLoad": function(target) { }, "onErrorMediaLoad": function(target,defaultMediaURL) { $(target).attr("src", defaultMediaURL); $(target).attr("onerror", null); }, "onErrorImageLoad": function(target) { $(target).attr("src", "/etc/designs/tihV2/static/common/images/default-image.png"); $(target).attr("onerror", null); } } })(); </script> <!-- PAGINATION UTILITY FUNCTIONS ================================================== --> <script nonce="n2ix81kaxuda" type="text/javascript"> var PAGINATION_UTIL = (function() { return { "generatePaginationHTML": function(totalRecords, pageLimit, page) { var totalPages = Math.ceil(totalRecords / pageLimit); var pagination = ""; if (page == 1) { pagination += "<li class='page-item disabled'>"; pagination += "<a class='page-link' href='#/' aria-label='Previous'>"; pagination += "<i class='fa-solid fa-chevron-left'>"; pagination += "</i>"; pagination += "</a>"; pagination += "</li>"; } else { pagination += "<li class='page-item'>"; pagination += "<a class='page-link paginationPage analytics-pagination-click' analytics-pagination-name='Page " + (page - 1) + "' href='#/' aria-label='Previous'>"; pagination += "<input type='hidden' value='" + (page - 1) + "'>"; pagination += "<i class='fa-solid fa-chevron-left'>"; pagination += "</i>"; pagination += "</a>"; pagination += "</li>"; } if (page <= 3) { for (var i = 1; i <= page; i++) { if (i == page) { pagination += "<li class='page-item active'>"; pagination += "<a class='page-link' href='#/'>"; } else { pagination += "<li class='page-item'>"; pagination += "<a class='page-link paginationPage analytics-pagination-click' analytics-pagination-name='Page " + i + "' href='#/'>"; } pagination += "<input type='hidden' value='" + i + "'>"; pagination += i; pagination += "</a>"; pagination += "</li>"; } } else { pagination += "<li class='page-item'>"; pagination += "<a class='page-link paginationPage analytics-pagination-click' analytics-pagination-name='Page 1' href='#/'>"; pagination += "<input type='hidden' value='1'>"; pagination += 1; pagination += "</a>"; pagination += "</li>"; pagination += "<li class='page-item'>"; pagination += "<span>&hellip;</span>"; pagination += "</li>"; pagination += "<li class='page-item'>"; pagination += "<a class='page-link paginationPage analytics-pagination-click' analytics-pagination-name='Page " + (page - 1) + "' href='#/'>"; pagination += "<input type='hidden' value='" + (page - 1) + "'>"; pagination += (page - 1); pagination += "</a>"; pagination += "</li>"; pagination += "<li class='page-item active'>"; pagination += "<a class='page-link' href='#/'>"; pagination += "<input type='hidden' value='" + page + "'>"; pagination += page; pagination += "</a>"; pagination += "</li>"; } if (page == totalPages) { pagination += "<li class='page-item disabled'>"; pagination += "<a class='page-link' href='#/' aria-label='Next'>"; pagination += "<i class='fa-solid fa-chevron-right'></i>"; pagination += "</a>"; pagination += "</li>"; } else { if (page + 2 >= totalPages) { for (var i = (page + 1); i <= totalPages; i++) { pagination += "<li class='page-item'>"; pagination += "<a class='page-link paginationPage analytics-pagination-click' analytics-pagination-name='Page " + i + "' href='#/'>"; pagination += "<input type='hidden' value='" + i + "'>"; pagination += i; pagination += "</a>"; pagination += "</li>"; } } else { pagination += "<li class='page-item'>"; pagination += "<a class='page-link paginationPage analytics-pagination-click' analytics-pagination-name='Page " + (page + 1) + "' href='#/'>"; pagination += "<input type='hidden' value='" + (page + 1) + "'>"; pagination += (page + 1); pagination += "</a>"; pagination += "</li>"; pagination += "<li class='page-item'>"; pagination += "<span>&hellip;</span>"; pagination += "</li>"; pagination += "<li class='page-item'>"; pagination += "<a class='page-link paginationPage analytics-pagination-click' analytics-pagination-name='Page " + totalPages + "' href='#/'>"; pagination += "<input type='hidden' value='" + totalPages + "'>"; pagination += totalPages; pagination += "</a>"; pagination += "</li>"; } pagination += "<li class='page-item'>"; pagination += "<a class='page-link paginationPage analytics-pagination-click' analytics-pagination-name='Page " + (page + 1) + "' href='#/' aria-label='Next'>"; pagination += "<input type='hidden' value='" + (page + 1) + "'>"; pagination += "<i class='fa-solid fa-chevron-right'></i>"; pagination += "</a>"; pagination += "</li>"; } return pagination; } } })(); </script> <!-- DATE UTILITY FUNCTIONS ================================================== --> <script nonce="n2ix81kaxuda" type="text/javascript"> var DATE_UTIL = (function() { return { "formatDate": function(date, displayShortForm) { var newDate = new Date(date); var year = newDate.getFullYear(); var month =newDate.getMonth()+1; month = month < 10 ? '0'+month : month; var day = newDate.getDate(); day = day < 10 ? '0'+day : day; if(month=="01"){ month = "January"; } else if(month=="02"){ month = "February"; } else if(month=="03"){ month = "March"; } else if(month=="04"){ month = "April"; } else if(month=="05"){ month = "May"; } else if(month=="06"){ month = "June"; } else if(month=="07"){ month = "July"; } else if(month=="08"){ month = "August"; } else if(month=="09"){ month = "September"; } else if(month=="10"){ month = "October"; } else if(month=="11"){ month = "November"; } else if(month=="12"){ month = "December"; } if (displayShortForm !== undefined && displayShortForm == true){ month = month.substring(0,3); } var startDate = day + "-" + month + "-" + year; var parts = startDate.split("-"); return parts[0]+" "+parts[1]+" "+parts[2]; } } })(); </script> <!-- PERFORMANCE UTILITY ================================================== --> <script nonce="n2ix81kaxuda" type="text/javascript"> var PERFORMANCE_MODULE = (function() { var actionMap = {}; function logPerformanceStats(data) { $.ajax({ url : "/bin/performanceLog", data : data, type : 'POST', dataType : 'json' }); } function startTiming(action) { var startTime = performance.now(); actionMap[action] = startTime; return startTime; } function getDuration(action) { var startTime = actionMap[action]; if (typeof (startTime) !== "number") { return; } var duration = performance.now() - startTime; actionMap[action] = undefined; return duration; } function endTiming(action) { var duration = getDuration(action); console.log("Action: " + action + ", Duration: " + duration); var data = { "action" : action, "duration" : duration }; logPerformanceStats(data); return duration; } function endTimingWithUUID(action, uuid) { var duration = getDuration(action); console.log("Action: " + action + ", Duration: " + duration + ", UUID: " + uuid); var data = { "action" : action, "duration" : duration, "uuid" : uuid }; logPerformanceStats(data); return duration; } function endTimingWithFileSize(action, fileSize) { var duration = getDuration(action); console.log("Action: " + action + ", Duration: " + duration + ", File Size: " + fileSize); var data = { "action" : action, "duration" : duration, "fileSize" : fileSize }; logPerformanceStats(data); return duration; } function endTimingWithImgCount(action, imgCount) { var duration = getDuration(action); console.log("Action: " + action + ", Duration: " + duration + ", Img Count: " + imgCount); var data = { "action" : action, "duration" : duration, "imgCount" : imgCount }; logPerformanceStats(data); return duration; } return { "startTiming" : function(action) { if (typeof (action) !== "string") { return ""; } return startTiming(action); }, "endTiming" : function(action) { if (typeof (action) !== "string") { return ""; } return endTiming(action); }, "endTimingWithUUID" : function(action, uuid) { if (typeof (action) !== "string") { return ""; } if (typeof (uuid) !== "string") { return ""; } return endTimingWithUUID(action, uuid); }, "endTimingWithFileSize" : function(action, fileSize) { if (typeof (action) !== "string") { return ""; } if (typeof (fileSize) !== "number") { return ""; } return endTimingWithFileSize(action, fileSize); }, "endTimingWithImgCount" : function(action, imgCount) { if (typeof (action) !== "string") { return ""; } if (typeof (imgCount) !== "number") { return ""; } return endTimingWithImgCount(action, imgCount); }, "MANAGE_CONTENT_LOAD" : "Manage Content Page Load", "MANAGE_CONTENT_SEARCH" : "Manage Content Search", "PRODUCT_LISTING_LOAD" : "Product Listing Page Load", "PRODUCT_LISTING_SEARCH" : "Product Listing Search", "VIEW_CONTENT" : "View Content", "UPLOAD_MEDIA_STANDALONE" : "StandAlone - Upload Media", "DEAL_LISTING_SEARCH" : "Deal Listing Search", "START_HERE_PRECINCT" : "Add Precinct Content - Start Here", "FEATURED_POI_PRECINCT" : "Add Precinct Content - Featured POI", "ADMIN_PUBLISH_PRECINCT" : "Add Precinct Content - Admin Publish Content", "NON_ADMIN_PUBLISH_PRECINCT" : "Add Precinct Content - Non Admin Publish Content", "UPLOAD_MEDIA_PRECINCT" : "Add Precinct Content - Upload Media", "START_HERE_ACCOMMODATION" : "Add Accommodation Content - Start Here", "ADMIN_PUBLISH_ACCOMMODATION" : "Add Accommodation Content - Admin Publish Content", "NON_ADMIN_PUBLISH_ACCOMMODATION" : "Add Accommodation Content - Non Admin Publish Content", "UPLOAD_MEDIA_ACCOMMODATION" : "Add Accommodation Content - Upload Media", "START_HERE_ATTRACTION" : "Add Attraction Content - Start Here", "ADMIN_PUBLISH_ATTRACTION" : "Add Attraction Content - Admin Publish Content", "NON_ADMIN_PUBLISH_ATTRACTION" : "Add Attraction Content - Non Admin Publish Content", "UPLOAD_MEDIA_ATTRACTION" : "Add Attraction Content - Upload Media", "START_HERE_BARS" : "Add Bars Content - Start Here", "ADMIN_PUBLISH_BARS" : "Add Bars Content - Admin Publish Content", "NON_ADMIN_PUBLISH_BARS" : "Add Bars Content - Non Admin Publish Content", "UPLOAD_MEDIA_BARS" : "Add Bars Content - Upload Media", "START_HERE_MICE" : "Add MICE Content - Start Here", "ADMIN_PUBLISH_MICE" : "Add MICE Content - Admin Publish Content", "NON_ADMIN_PUBLISH_MICE" : "Add MICE Content - Non Admin Publish Content", "UPLOAD_MEDIA_MICE" : "Add MICE Content - Upload Media", "START_HERE_CRUISES" : "Add Cruises Content - Start Here", "ADMIN_PUBLISH_CRUISES" : "Add Cruises Content - Admin Publish Content", "NON_ADMIN_PUBLISH_CRUISES" : "Add Cruises Content - Non Admin Publish Content", "UPLOAD_MEDIA_CRUISES" : "Add Cruises Content - Upload Media", "START_HERE_DEAL" : "Add Deal Content - Start Here", "ADMIN_PUBLISH_DEAL" : "Add Deal Content - Admin Publish Content", "NON_ADMIN_PUBLISH_DEAL" : "Add Deal Content - Non Admin Publish Content", "UPLOAD_MEDIA_DEAL" : "Add Deal Content - Upload Media", "START_HERE_EVENT" : "Add Event Content - Start Here", "ADMIN_PUBLISH_EVENT" : "Add Event Content - Admin Publish Content", "NON_ADMIN_PUBLISH_EVENT" : "Add Event Content - Non Admin Publish Content", "UPLOAD_MEDIA_EVENT" : "Add Event Content - Upload Media", "START_HERE_FOOD_BEVERAGE" : "Add Food & Beverages Content - Start Here", "UPLOAD_MEDIA_FOOD_BEVERAGE" : "Add Food & Beverages Content - Upload Media", "ADMIN_PUBLISH_FOOD_BEVERAGE" : "Add Food & Beverages Content - Admin Publish Content", "NON_ADMIN_PUBLISH_FOOD_BEVERAGE" : "Add Food & Beverages Content - Non Admin Publish Content", "START_HERE_SHOPS" : "Add Malls & Shops Content - Start Here", "UPLOAD_MEDIA_SHOPS" : "Add Malls & Shops Content - Upload Media", "ADMIN_PUBLISH_SHOPS" : "Add Malls & Shops Content - Admin Publish Content", "NON_ADMIN_PUBLISH_SHOPS" : "Add Malls & Shops Content - Non Admin Publish Content", "START_HERE_TOUR" : "Add Tour Content - Start Here", "UPLOAD_MEDIA_TOUR" : "Add Tour Content - Upload Media", "ADMIN_PUBLISH_TOUR" : "Add Tour Content - Admin Publish Content", "NON_ADMIN_PUBLISH_TOUR" : "Add Tour Content - Non Admin Publish Content", "START_HERE_VENUE" : "Add Venue Content - Start Here", "UPLOAD_MEDIA_VENUE" : "Add Venue Content - Upload Media", "ADMIN_PUBLISH_VENUE" : "Add Venue Content - Admin Publish Content", "NON_ADMIN_PUBLISH_VENUE" : "Add Venue Content - Non Admin Publish Content", "START_HERE_WALKING_TRAIL" : "Add Walking Trail Content - Start Here", "UPLOAD_MEDIA_WALKING_TRAIL" : "Add Walking Trail Content - Upload Media", "ADMIN_PUBLISH_WALKING_TRAIL" : "Add Walking Trail Content - Admin Publish Content", "NON_ADMIN_PUBLISH_WALKING_TRAIL" : "Add Walking Trail Content - Non Admin Publish Content" } })(); </script> <!-- LOGIN REDIRECTION UTILITY FUNCTIONS ================================================== --> <script nonce="n2ix81kaxuda" type="text/javascript"> var LOGIN_REDIRECTION_UTIL = (function() { return { "redirectToLogin": function() { var redirectUrl = window.location.href; $.ajax({ url : "/bin/navigateToLogin", data : {redirectUrl:redirectUrl}, type : 'POST', success:function(data, textStatus, jqXHR){ window.location.href = data; } }); } } })(); </script> <!-- SESSION TIMEOUT ================================================== --> <script nonce="n2ix81kaxuda" type="text/javascript"> /* Session timeout implementation */ /* Start **************************/ // How frequently to check for session expiration in miliseconds var sess_pollInterval = 60000; // How many minutes the session is valid for var sess_expirationMinutes = 20; // How many minutes before warning prompt var sess_warningMinutes = 18; var sess_logoutUrl = ""; var sess_intervalId; var sess_lastActivity; var sess_showWarningMess = false; function initSessionMonitor(pollInterval, expirationMinutes, warningMinutes, logoutUrl){ sess_pollInterval = pollInterval; sess_expirationMinutes = expirationMinutes; sess_warningMinutes = warningMinutes; if (sess_warningMinutes >= sess_expirationMinutes){ sess_warningMinutes = sess_expirationMinutes - 1; } sess_logoutUrl = logoutUrl; if (sess_expirationMinutes > 0){ sess_lastActivity = new Date(); sessSetInterval(); $(document).bind('click', function (){ resetSessLastActivity(); }); $(document).scroll(function() { resetSessLastActivity(); }); } } function sessCheckTimeout(){ var now = new Date(); var diff = now - sess_lastActivity; var diffMinutes = diff / 1000 / 60; console.log('Your have been Inactive for ' + diffMinutes + ' minutes'); if (diffMinutes > sess_expirationMinutes){ sessDoLogout(); } else if (diffMinutes >= sess_warningMinutes){ var mess = "It seems that you have been inactive for a while.<br/><br/>" + "For security purposes, you will be automatically logged out if there is no activity within the next " + (sess_expirationMinutes - sess_warningMinutes) + " minutes.<br/><br/>Please click to continue your session." if (!sess_showWarningMess){ showWarning(mess); sess_showWarningMess = true; } } } function sessDoLogout(){ sessClearInterval(); $.ajax({ url:"/bin/terminateConcurrentSessionV2", data:{"terminateSession":"New"}, type:'POST', success:function(data, textStatus, jqXHR){ window.location.href = sess_logoutUrl; }, error:function(data, textStatus, jqXHR){ window.location.href = sess_logoutUrl; } }); } function sessSetInterval(){ sess_intervalId = setInterval(sessCheckTimeout, sess_pollInterval); } function sessClearInterval(){ if(sess_intervalId != undefined || sess_intervalId != null){ clearInterval(sess_intervalId); } } function resetSessLastActivity(){ sess_lastActivity = new Date(); if (sess_showWarningMess){ $("#inactiveSessionModal").modal("hide"); $("#inactiveSessionModal").css('display','none'); sess_showWarningMess = false; } } function showWarning(message){ $("#inactiveSessionModalContent").html(message); $("#inactiveSessionModal").modal("show"); $("#inactiveSessionModal").css('display','block'); $("#inactiveSessionModal").on('hidden.bs.modal', function(){ $('body#top').attr('class', ''); }); } /* End **************************/ /* Session timeout implementation */ /* Special character replacement function */ String.prototype.replaceSpecialCharacterWithSettings = function replaceSpecialCharacterWithSettings() { //console.log("replace special character with settings starts."); var settings = new Map(), temp = this; // append your settings here.... settings.set("&", "&amp;"); settings.set("'", "&apos;"); settings.set(">", "&gt;"); settings.set("<", "&lt;"); settings.set(":\\(","&#40;"); settings.set(":\\)","&#41;"); //console.log("str:", this); //console.log("settings:", settings); settings.forEach(function(value, key, map) { var regExp = new RegExp(key, "g"); temp = temp.replace(regExp, value); //console.log("reg expression:",regExp); //console.log("after replaced:",temp); }); //console.log("result:", temp); //console.log("replace special character with settings ends."); return temp; }; </script> <!-- ANALYTICS UTILITY ================================================== --> <script nonce="n2ix81kaxuda" type="text/javascript"> function changeDatasetForAnalytics(dataset){ if(dataset == "accommodation"){ dataset = "Accommodation"; }else if(dataset == "attractions"){ dataset = "Attractions"; }else if(dataset == "bars_clubs"){ dataset = "Bars & Clubs"; }else if(dataset == "editorial"){ dataset = "Editorials"; }else if(dataset == "events"){ dataset = "Events - Leisure"; }else if(dataset == "mice_events"){ dataset = "Events - Business"; }else if(dataset == "food_beverages"){ dataset = "Food & Beverages"; }else if(dataset == "cruises"){ dataset = "Cruises"; }else if(dataset == "shops"){ dataset = "Malls & Shops"; }else if(dataset == "tour"){ dataset = "Tours"; }else if(dataset == "venue"){ dataset = "Venue"; }else if(dataset == "walking_trail"){ dataset = "Walking Trails"; } return dataset; } </script> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="keywords" content="HTML,CSS,XML,JavaScript"> <meta name="description" content=''/> <meta name="viewport" content="width=device-width, initial-scale=1"> <script src="/etc/designs/tihV2/static/common/analyticsjs/header.min.4aae10171b44ecc5f1336c8da6cf8340.js" nonce="n2ix81kaxuda"></script> <script nonce="n2ix81kaxuda" type="text/javascript"> var digitalData = { page: { pillar: '', type: '' } }; </script> <script nonce="n2ix81kaxuda" type="text/javascript"> var ANALYTICS_EXTENDED_SERVICE = (function(){ var TYPE_CONSTANT = "TYPE"; var TYPE_OF_USER_CONSTANT = "typeOfUser"; var REGISTRATION_METHOD_CONSTANT = "registrationMethod"; var REGISTER_CONFIRMATION_ANALYTICS_REG_TYPE_MAPPING = { "ip": "business_partner_user", "pub": "public", "dev": "developer", "stb": "stb_user", "sta": "stb_agencies_user" }; var REGISTER_CONFIRMATION_ANALYTICS_ACCOUNT_TYPE_MAPPING = { "SP": "SP", "CP": "CP", "PL": "PL" }; function isEmptyString(str) { return (typeof(str) !== "string" || str.length <= 0); } return { "setPropForRegFlow": function(digiData, pageInfo) { try { if(!digiData){ console.log("ANALYTICS_EXTENDED_SERVICE.setPropForRegFlow() => digiData =", digiData); return; } if(!pageInfo) { console.log("ANALYTICS_EXTENDED_SERVICE.setPropForRegFlow() => pageInfo =", pageInfo); return; } if(pageInfo[TYPE_CONSTANT] !== "Home" && pageInfo[TYPE_CONSTANT] !== "Register"){ console.log("ANALYTICS_EXTENDED_SERVICE.setPropForRegFlow() => pageInfo[\"" + TYPE_CONSTANT + "\"] =", pageInfo[TYPE_CONSTANT]); return; } digiData["typeOfUser"] = ""; digiData["registerButton"] = ""; } catch(e){ console.log("ANALYTICS_EXTENDED_SERVICE.setPropForRegFlow() => e =", e); } }, "setPropForRegConfirmationAnalytics": function(digiData, pageInfo) { try { if(!digiData){ console.log("ANALYTICS_EXTENDED_SERVICE.setPropForRegAnalytics() => digiData =", digiData); return; } if(!pageInfo) { console.log("ANALYTICS_EXTENDED_SERVICE.setPropForRegAnalytics() => pageInfo =", pageInfo); return; } if(pageInfo[TYPE_CONSTANT] !== "Register Confirmation" && pageInfo[TYPE_CONSTANT] !== "STB Register Confirmation"){ console.log("ANALYTICS_EXTENDED_SERVICE.setPropForRegAnalytics() => pageInfo[\"" + TYPE_CONSTANT + "\"] =", pageInfo[TYPE_CONSTANT]); return; } var regType = ""; var accountType = ""; var regTypeMappedValue = REGISTER_CONFIRMATION_ANALYTICS_REG_TYPE_MAPPING[regType]; var accountTypeMappedValue = REGISTER_CONFIRMATION_ANALYTICS_ACCOUNT_TYPE_MAPPING[accountType]; if(isEmptyString(regTypeMappedValue)){ console.log("ANALYTICS_EXTENDED_SERVICE.setPropForRegAnalytics() => regTypeMappedValue =", regTypeMappedValue); return; } if(isEmptyString(accountTypeMappedValue)){ console.log("ANALYTICS_EXTENDED_SERVICE.setPropForRegAnalytics() => accountTypeMappedValue =", accountTypeMappedValue); return; } digiData[TYPE_OF_USER_CONSTANT] = regTypeMappedValue; digiData[REGISTRATION_METHOD_CONSTANT] = accountTypeMappedValue; } catch(e){ console.log("ANALYTICS_EXTENDED_SERVICE.setPropForRegAnalytics() => e =", e); } } }; })(); </script> <script nonce="n2ix81kaxuda" type="text/javascript"> if (typeof AnalyticsService != 'undefined') { var TIH_PAGE_INFO = AnalyticsService.Page.getPageInfo(); if (typeof TIH_PAGE_INFO != 'undefined' && TIH_PAGE_INFO) { digitalData = { page: { pillar : TIH_PAGE_INFO.PILLAR, type : TIH_PAGE_INFO.TYPE } }; ANALYTICS_EXTENDED_SERVICE.setPropForRegFlow(digitalData, TIH_PAGE_INFO); ANALYTICS_EXTENDED_SERVICE.setPropForRegConfirmationAnalytics(digitalData, TIH_PAGE_INFO); } } </script> <script nonce="n2ix81kaxuda" async src="https://www.googletagmanager.com/gtag/js?id=DC-6953330"></script> <script nonce="n2ix81kaxuda"> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'DC\u002D6953330'); </script> <meta name="google-site-verification" content="K2n9IrU1zMxttfeFwZZSaVHM92RRhT5RwsOF55sDaYw" /> <script nonce="n2ix81kaxuda" src="//assets.adobedtm.com/f9bea43d375e/2ed058bbce54/launch-9d52fe211282.min.js" async></script> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="/etc/designs/tihV2/static/common/bootstrap/v5.3.1/css/bootstrap.min.css"> <link type="text/css" rel="stylesheet" href="/etc/designs/tihV2/static/components/tih-base/screen.css"> </head> <script nonce="n2ix81kaxuda" src="/etc/designs/tihV2/static/common/jquery/v3.7.1/js/jquery.3.7.1.js"></script> <script nonce="n2ix81kaxuda" src="/etc/designs/tihV2/static/common/jquery/jquery.waypoints.min.js"></script> <script nonce="n2ix81kaxuda" src="/etc/designs/tihV2/static/common/jquery/jquery.countup.js"></script> <script nonce="n2ix81kaxuda" src="/etc/designs/tihV2/static/common/jquery/jquery.scrolling-tabs.min.js"></script> <script nonce="n2ix81kaxuda" src="/etc/designs/tihV2/static/common/jquery/jquery.print.js"></script> <script nonce="n2ix81kaxuda" src="/etc/designs/tihV2/static/common/dataTables/v1.13.6/js/dataTables.min.js"></script> <script nonce="n2ix81kaxuda" src="/etc/designs/tihV2/static/common/bootstrap/v5.3.1/js/bootstrap.bundle.min.js"></script> <script nonce="n2ix81kaxuda" src="/etc/designs/tihV2/static/common/bootstrap/bootstrap-password-toggler.js"></script> <script nonce="n2ix81kaxuda" src="/etc/designs/tihV2/static/common/select2/v4.1.0/js/select2.min.js"></script> <script nonce="n2ix81kaxuda" src="/etc/designs/tihV2/static/common/owl-carousel/v2.3.4/js/owl.carousel.js"></script> <script nonce="n2ix81kaxuda" src="/etc/designs/tihV2/static/components/tih-base/master.js"></script> <script nonce="n2ix81kaxuda" src="/etc/designs/tihV2/static/common/dom-purify/v3.0.5/js/purify.min.js"></script> <script nonce="n2ix81kaxuda" src="/etc/designs/tihV2/static/components/tih-base/go-top.js"></script> <script nonce="n2ix81kaxuda" src="/etc/designs/tihV2/static/common/lightslider/js/lightslider.js"></script> <script nonce="n2ix81kaxuda" src="/etc/designs/tihV2/static/common/intl-tel-input/v18.1.1/js/intlTelInput.js"></script> <script nonce="n2ix81kaxuda" src="/etc/designs/tihV2/static/common/flatpickr/v4.6.13/js/flatpickr.js"></script> <script nonce="n2ix81kaxuda" src="/etc/designs/tihV2/static/common/flatpickr/plugins/monthSelect/js/index.js"></script> <script nonce="n2ix81kaxuda" src="/etc/designs/tihV2/static/devbridge-autocomplete/1.4.7/js/jquery.autocomplete.js"></script> <script nonce="n2ix81kaxuda"> console.log("notificationMessage : "+""); </script> <style> .new.section { display:none; } #suggestions-container-header{ padding-left:30px; } .autocomplete-suggestions { position:relative !important; } .autocomplete-suggestions{ color:black !important; } .footer-social a[target=_blank]:after { content: ""; } .footer-logos a[target=_blank]:after { content: ""; } </style> <body> <div class="site-action-holder"> <a href="#/" class="back-top cd-top"> <div> <span class="material-icons-round">vertical_align_top</span> </div> </a> </div> <header class="fixed-top"> <div id="sgds-masthead" class="sgds-masthead" aria-label="A Singapore Government Agency Website"> <div class="sgds-masthead-banner"> <div class="container-xxl"> <div class="masthead-layout"> <div class="masthead-govt-crest flex-fill"> <div class="govt-crest-text"> <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" class="sg-crest"><path fill="#C52F19" d="M5.896 11.185c0 0-0.949 1.341 0.294 3.075 0 0 0.196-0.883 2.159-0.883h2.356c2.225 0 3.893-2.126 2.846-4.319 0 0 1.57 0.164 2.095-0.818 0.523-0.981-0.033-1.374-0.818-1.374h-3.959c0 0.704-1.341 0.802-1.341 0h-2.225c0 0-1.669 0-1.701 1.407 0 0 0.377-0.229 0.752-0.261v0.375c0 0-0.458 0.082-0.671 0.197-0.212 0.114-0.523 0.425-0.228 1.227 0.294 0.801 0.409 1.079 0.409 1.079s0.475-0.41 1.244-0.41h0.9c1.602 0 1.308 1.554-0.295 1.554s-1.815-0.85-1.815-0.85z"></path><path fill="#C52F19" d="M14.255 9.566c0 0 0.54 0.033 0.932-0.31 0 0 3.55 2.765-1.717 8.326-5.268 5.562-1.195 9.162-1.195 9.162s-0.948 0.915-0.409 2.699c0 0-2.191-1.237-3.867-3.338-2.422-3.036-3.902-7.681 2.749-11.386 0 0 4.389-2.208 3.506-5.153z"></path><path fill="#C52F19" d="M8.829 6.343c0 0 0.709-1.265 2.355-1.265 1.298 0 1.594-0.666 1.594-0.666s0.566-1.079 3.424-1.079c2.619 0 4.384 0.873 5.812 2.039 0 0-3.85-2.388-7.645 0.971h-5.54z"></path><path fill="#C52F19" d="M24.839 14.348c-0.109-3.948-3.163-8.179-9.728-7.939 6.413-5.431 17.537 6.695 8.375 13.066 0 0 1.533-2.186 1.353-5.126z"></path><path fill="#C52F19" d="M16.093 6.845c8.005-0.24 10.863 9.357 5.693 13.676l-5.191 2.509c0 0-0.676-2.181 1.833-4.734 2.509-2.551 4.929-7.328-2.006-10.469 0 0 0.131-0.654-0.327-0.981z"></path><path fill="#C52F19" d="M15.678 9.004c0 0 0.393-0.371 0.524-0.676 5.954 2.486 5.017 6.697 1.461 10.23-2.181 2.246-1.505 4.668-1.505 4.668s-2.66 1.657-3.577 3.097c0 0-3.852-3.28 1.483-8.724 5.235-5.344 1.614-8.594 1.614-8.594z"></path></svg> <!--<span class="sgds-icon sgds-icon-sg-crest text-decoration-none"></span>--> <span class="is-text">A Singapore Government Agency Website</span> </div> <a href="#/" class="sgds-masthead-button" id="sgds-masthead-identify" role="button" aria-expanded="false" aria-controls="sgds-masthead-content" data-bs-toggle="collapse" data-bs-target="#mastheadHiddenContent"> <span class="is-text sgds-masthead-button-text link-color">How to identify</span> <i class="sgds-icon sgds-icon-chevron-down sgds-masthead-identify-icon"></i> </a> </div> </div> </div> </div> <div class="collapse" id="mastheadHiddenContent"> <div id="sgds-masthead-content" class="sgds-masthead-content"> <div class="container-xxl"> <div class="row"> <div class="col-lg-6"> <div class="column-wrapper"> <div class="icon"> <svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" viewBox="0 0 17 17" fill="none" class="banner-icon"><path d="M0.166016 5.6665V9.00067H0.999349V13.9998H0.166016V16.4998H0.999349H3.49935H5.16602H7.66601H9.33268H11.8327H13.4993L15.9993 16.5007V16.4998H16.8327V13.9998H15.9993V9.00067H16.8327V5.6665L8.49935 0.666504L0.166016 5.6665ZM3.49935 13.9998V9.00067H5.16602V13.9998H3.49935ZM7.66601 13.9998V9.00067H9.33268V13.9998H7.66601ZM13.4993 13.9998H11.8327V9.00067H13.4993V13.9998ZM10.166 5.6665C10.166 6.58651 9.41935 7.33317 8.49935 7.33317C7.57935 7.33317 6.83268 6.58651 6.83268 5.6665C6.83268 4.7465 7.57935 3.99984 8.49935 3.99984C9.41935 3.99984 10.166 4.7465 10.166 5.6665Z" fill="#242425"></path></svg> </div> <div class="content"> <div class="title">Official website links end with .gov.sg</div> <article> Government agencies communicate via .gov.sg websites (e.g. go.gov.sg/open). <a href="https://www.gov.sg/trusted-sites#govsites" class="trusted-websites-link" rel="noopener noreferrer" target="_blank"> Trusted websites <svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 32 32" class="trusted-websites-icon"><title>Trusted websites</title><path d="M18.667 4v2.667h4c0.186-0.020 0.374-0.020 0.56 0l-2.667 2.667-6.973 6.987 1.88 1.88 9.733-9.667c0.092 0.257 0.137 0.528 0.133 0.8v4h2.667v-9.333h-9.333z"></path><path d="M22.667 25.333h-16v-16h8v-2.667h-8c-1.473 0-2.667 1.194-2.667 2.667v16c0 1.473 1.194 2.667 2.667 2.667h16c1.473 0 2.667-1.194 2.667-2.667v-8h-2.667v8z"></path></svg> </a> </article> </div> </div> </div> <div class="col-lg-6"> <div class="column-wrapper"> <div class="icon"> <svg xmlns="http://www.w3.org/2000/svg" width="15" height="18" viewBox="0 0 15 18" fill="none" class="banner-icon"><path d="M14.1663 9.00008C14.1663 8.08091 13.4188 7.33342 12.4997 7.33342H11.6663V4.83342C11.6663 2.53591 9.79717 0.666748 7.49967 0.666748C5.20217 0.666748 3.33301 2.53591 3.33301 4.83342V7.33342H2.49967C1.58051 7.33342 0.833008 8.08091 0.833008 9.00008V15.6667C0.833008 16.5859 1.58051 17.3334 2.49967 17.3334H12.4997C13.4188 17.3334 14.1663 16.5859 14.1663 15.6667V9.00008ZM4.99967 4.83342C4.99967 3.45508 6.12134 2.33341 7.49967 2.33341C8.87801 2.33341 9.99967 3.45508 9.99967 4.83342V7.33342H4.99967V4.83342Z" fill="#242425"></path></svg> </div> <div class="content"> <div class="title">Secure websites use HTTPS</div> <article>Look for a<b> lock </b>(<svg xmlns="http://www.w3.org/2000/svg" width="15" height="18" viewBox="0 0 15 18" fill="none" class="banner-icon-inline"><path d="M14.1663 9.00008C14.1663 8.08091 13.4188 7.33342 12.4997 7.33342H11.6663V4.83342C11.6663 2.53591 9.79717 0.666748 7.49967 0.666748C5.20217 0.666748 3.33301 2.53591 3.33301 4.83342V7.33342H2.49967C1.58051 7.33342 0.833008 8.08091 0.833008 9.00008V15.6667C0.833008 16.5859 1.58051 17.3334 2.49967 17.3334H12.4997C13.4188 17.3334 14.1663 16.5859 14.1663 15.6667V9.00008ZM4.99967 4.83342C4.99967 3.45508 6.12134 2.33341 7.49967 2.33341C8.87801 2.33341 9.99967 3.45508 9.99967 4.83342V7.33342H4.99967V4.83342Z" fill="#242425"></path></svg>) or https:// as an added precaution. Share sensitive information only on official, secure websites.</article> </div> </div> </div> </div> </div> </div> </div> </div> <div class="header-holder" id="mainHeader"> <div class="container-xxl"> <div class="d-flex align-items-stretch gap-1"> <div class="navbar-brand header-logo-holder"> <a url-link="/content/tih/en/home.html" class="text-decoration-none stretched-link analytics-header-click" analytics-header-name='TIH Logo' title="Tourism Informatin &amp; Service Hub"> <img src="/etc/designs/tihV2/static/components/tih-base/logo_tih.svg" alt="TIH logo"> </a> </div> <div class="header-nav-holder flex-fill"> <div class="navbar-menu justify-content-start"> <div class="mobile-search-holder collapse" id="globalSearch" data-bs-parent="#mainHeader"> <div class="container-xxl"> <form method="GET" action="/content/tih/en/search-result.html" id="searchForm"> <div class="input-group global-search-bar"> <input type="text" class="form-control global-search" placeholder='What Tourism Offering or Media Asset are you looking for?' name="keyword" id="searchInputHeader"> <div class="input-group-append"> <a href="#/" class="clear-search animated"> <span class="sgds-icon sgds-icon-cross"></span> </a> <button class="btn btn-primary rounded-pill" type="submit" id="headerSearchResultSearch"> <i class="sgds-icon sgds-icon-search"></i> <span>Search</span> </button> </div> </div> </form> </div> <div class="search-suggestions d-none" id="suggestions-container-header"> </div> </div> <div class="navbar-login-btn-holder flex-fill justify-content-end"> <a class="sgds btn btn-outline-primary rounded-pill" role="button" href="https://tih-iam.stb.gov.sg/iamsso/login?service=https://tih.stb.gov.sg/bin/loginValidation"> <span class="material-icons-outlined">login</span> <span>Sign In</span> </a> <a class="sgds btn btn-primary rounded-pill" role="button" href="/content/tih/en/profile/register.html"> <span class="material-icons-outlined">person_add_alt</span> <span>Register</span> </a> </div> <div class="navbar-item" id="headerAboutTIH"> <div class="navbar-item-top-level-link"> <a class="navbar-link" href="#/"> <h6> <span>About TIH</span> <i class="sgds-icon sgds-icon-chevron-down"></i> </h6> </a> <button class="mobile-collapse-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#menuDropdown-02"> <i class="sgds-icon sgds-icon-chevron-down"></i> </button> </div> <div class="navbar-dropdown collapse" id="menuDropdown-02"> <a class="navbar-item sub-link analytics-header-click" analytics-header-name='About Us' url-link="/content/tih/en/about-tih/about-us.html"><span>About Us</span></a> <a class="navbar-item sub-link analytics-header-click" analytics-header-name='Business Directory' url-link="/content/tih/en/about-tih/business-directory.html"><span>Business Directory</span></a> </div> </div> <div class="navbar-item" id="headerTourismOfferings"> <div class="navbar-item-top-level-link"> <a class="navbar-link" href="#/"> <h6> <span>Tourism Offerings</span> <i class="sgds-icon sgds-icon-chevron-down"></i> </h6> </a> <button class="mobile-collapse-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#menuDropdown-03"> <i class="sgds-icon sgds-icon-chevron-down"></i> </button> </div> <div class="navbar-dropdown collapse is-wider" id="menuDropdown-03"> <div class="row"> <div class="col-lg-6"> <div class="navbar-dropdown-column"> <a class="navbar-item sub-link analytics-header-click" analytics-header-name='Accommodation' url-link="/content/tih/en/tourism-offerings.html?dataset=Accommodation"><span>Accommodation</span></a> <a class="navbar-item sub-link analytics-header-click" analytics-header-name='Attractions' url-link="/content/tih/en/tourism-offerings.html?dataset=Attractions"><span>Attractions</span></a> <a class="navbar-item sub-link analytics-header-click" analytics-header-name='Events - Business' url-link="/content/tih/en/tourism-offerings.html?dataset=MICEEvent"><span>Events - Business</span></a> <a class="navbar-item sub-link analytics-header-click" analytics-header-name='Events - Leisure' url-link="/content/tih/en/tourism-offerings.html?dataset=Event"><span>Events - Leisure</span></a> <a class="navbar-item sub-link analytics-header-click" analytics-header-name='Food &amp; Beverages' url-link="/content/tih/en/tourism-offerings.html?dataset=FoodBeverages"><span>Food &amp; Beverages</span></a> </div> </div> <div class="col-lg-6"> <div class="navbar-dropdown-column"> <a class="navbar-item sub-link analytics-header-click" analytics-header-name='Malls &amp; Shops' url-link="/content/tih/en/tourism-offerings.html?dataset=Shopping"><span>Malls &amp; Shops</span></a> <a class="navbar-item sub-link analytics-header-click" analytics-header-name='Precincts' url-link="/content/tih/en/tourism-offerings.html?dataset=Precincts"><span>Precincts</span></a> <a class="navbar-item sub-link analytics-header-click" analytics-header-name='Tours' url-link="/content/tih/en/tourism-offerings.html?dataset=Tours"><span>Tours</span></a> <a class="navbar-item sub-link analytics-header-click" analytics-header-name='Wellness' url-link="/content/tih/en/tourism-offerings.html?group=Wellness"><span>Wellness</span> <span class="badge rounded-pill text-bg-primary">New</span></a> </div> </div> </div> </div> </div> <div class="navbar-item" id="headerMediaAssets"> <div class="navbar-item-top-level-link"> <a class="navbar-link" href="#/"> <h6> <span>Media Assets</span> <i class="sgds-icon sgds-icon-chevron-down"></i> </h6> </a> <button class="mobile-collapse-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#menuDropdown-04"> <i class="sgds-icon sgds-icon-chevron-down"></i> </button> </div> <div class="navbar-dropdown collapse" id="menuDropdown-04"> <a class="navbar-item sub-link analytics-header-click" analytics-header-name='Images' url-link="/content/tih/en/media-assets.html?mediaType=images"><span>Images</span></a> <a class="navbar-item sub-link analytics-header-click" analytics-header-name='Videos' url-link="/content/tih/en/media-assets.html?mediaType=videos"><span>Videos</span></a> <a class="navbar-item sub-link analytics-header-click" analytics-header-name='3D Models' url-link="/content/tih/en/media-assets.html?mediaType=3dmodels"><span>3D Models</span></a> </div> </div> <div class="navbar-item" id="headerAPIServices"> <div class="navbar-item-top-level-link"> <a class="navbar-link analytics-header-click" analytics-header-name='API Services' url-link="/content/tih/en/api-services.html"> <h6><span>API Services</span></h6> </a> </div> </div> <div class="navbar-item" id="headerSupport"> <div class="navbar-item-top-level-link"> <a class="navbar-link" href="#/"> <h6> <span>Support</span> <i class="sgds-icon sgds-icon-chevron-down"></i> </h6> </a> <button class="mobile-collapse-toggle" type="button" data-bs-toggle="collapse" data-bs-target="#menuDropdown-06"> <i class="sgds-icon sgds-icon-chevron-down"></i> </button> </div> <div class="navbar-dropdown collapse" id="menuDropdown-06"> <a class="navbar-item sub-link analytics-header-click" analytics-header-name='Help Centre' url-link="/content/tih/en/support/help-centre.html"><span>Help Centre</span></a> <a class="navbar-item sub-link analytics-header-click" analytics-header-name='FAQs' url-link="/content/tih/en/header/faq.html"><span>FAQs</span></a> <a class="navbar-item sub-link analytics-header-click" analytics-header-name='Contact Us' url-link="/content/tih/en/support/help-centre.html#contact-us"><span>Contact Us</span></a> </div> </div> </div> </div> <div class="header-actions-holder"> <div class="navbar-login-btn-holder d-none"> <a class="sgds btn btn-outline-primary" role="button" href="https://tih-iam.stb.gov.sg/iamsso/login?service=https://tih.stb.gov.sg/bin/loginValidation"> <span>Sign In</span> </a> <a class="sgds btn btn-primary rounded-pill" role="button" href="/content/tih/en/profile/register.html"> <span>Register</span> </a> </div> <div class="right-action-single-btn d-none d-lg-flex"> <button class="btn" type="button" data-bs-toggle="collapse" data-bs-target="#globalSearch" aria-expanded="false"> <span class="sgds-icon sgds-icon-search"></span> <span class="sgds-icon sgds-icon-cross"></span> </button> </div> <div class="d-lg-none"> <a class="hamburger-menu" data-bs-toggle="collapse" href="#siteMainNav" role="button" aria-expanded="false"> <span class="icon-bar"></span> </a> </div> </div> </div> </div> </div> </header> <div class="mainpar parsys"><div class="media-assets section"> <style> .media-assets.section { padding: 0 0; } @media (min-width: 600px) { .page-results-listing-content-holder .page-result-card-holder.is-horizontal .card-main-info p { width: 500px; } } #mediaAssetTerms a[target=_blank]:after { content: ""; } </style> <title>Media Assets | TIH</title> <html> <main> <div class="page-holder"> <div class="page-header bg-primary bg-gradient"> <div class="page-header-bg-image"> <div class="imagefill-holder"> <img src="/content/dam/tih/b2b_revamp_header_img/banner-ma.jpg" alt="" class="img-cover" data-object-fit="cover"> </div> </div> <div class="container-xxl"> <div class="page-breadcrumb-holder"> <nav aria-label="breadcrumb"> <ol class="breadcrumb"> <li class="breadcrumb-item"><a href="/content/tih/en/home.html">Home</a></li> <li class="breadcrumb-item active" aria-current="page">Media Assets</li> </ol> </nav> </div> <div class="page-title-holder"> <h1 class="page-title-heading">Media Assets</h1> <div class="row"> <div class="col-lg-8"> <div class="page-title-info"> <p>Access our wide variety of images, videos and 3D models.</p> </div> </div> </div> </div> <script nonce="n2ix81kaxuda"> </script> </div> </div> <div class="page-body"> <section> <div class="container-xxl"> <div class="page-section-holder"> <div class="page-section-header d-none">&nbsp;</div> <div class="page-section-body"> <div class="page-results-listing-holder"> <div class="row g-3 g-xl-4"> <div class="col-lg-3"> <div class="page-results-listing-filter-holder collapse d-lg-block" id="sideSearchFilter"> <div class="page-listing-filter-header"> <div class="flex-fill">&nbsp;</div> <button type="button" class="btn-close" aria-label="Close" type="button" data-bs-toggle="collapse" data-bs-target="#sideSearchFilter"></button> </div> <div class="page-listing-filter-body"> <section> <div class="card"> <div class="card-header"> <h6>Categories</h6> </div> <div id="categoryTypes"> </div> </div> </section> <script nonce="n2ix81kaxuda"> function generateMediaAssetPreLoginCategory(){ var categoryTypeHTML = "<ul class='list-group list-group-flush'>"; for (var i = 0; i < AEM_CATEGORY_KEY.length; i++){ var index = CATEGORY_LIST.indexOf(AEM_CATEGORY_VALUES[i]); categoryTypeHTML += "<li class='list-group-item'>"; categoryTypeHTML += "<input type='hidden' class='tourism-offerings-dataset' value='" + ALL_CATEGORY_VALUES[i] + "'>"; categoryTypeHTML += "<input type='hidden' class='tourism-offerings-parent-dataset' value='" + AEM_CATEGORY_VALUES[i] + "'>"; categoryTypeHTML += "<a href='#/' class='tourism-offerings-pre-login-category-select'>" + AEM_CATEGORY_KEY[i] + "</a>"; categoryTypeHTML += "</li>"; } categoryTypeHTML += "</ul>"; $('#categoryTypes').empty().append(categoryTypeHTML); $(".tourism-offerings-pre-login-category-select").on("click", function() { $(this).parent('.list-group-item').addClass('active'); $(this).parent('.list-group-item').siblings('.list-group-item').removeClass('active'); retrieveMediaAssets(); }); } </script> <section> <div class="card"> <div class="card-header"> <h6>Type</h6> </div> <div class="card-body"> <div class="radio-checkbox-holder"> <div class="form-group"> <div class="form-check"> <input class="form-check-input" type="checkbox" value="image" id="images"> <label class="form-check-label" for="images"> <span>Images</span> </label> </div> </div> <div class="form-group"> <div class="form-check"> <input class="form-check-input" type="checkbox" value="video" id="videos"> <label class="form-check-label" for="videos"> <span>Videos</span> </label> </div> </div> <div class="form-group"> <div class="form-check"> <input class="form-check-input" type="checkbox" value="3dmodel" id="3dmodels"> <label class="form-check-label" for="3dmodels"> <span>3D Models</span> </label> </div> </div> </div> </div> </div> </section> </div> <div class="page-listing-filter-footer"> <div class="btn-holder split-btn-holder"> <div></div> <div> <button class="btn btn-outline-primary rounded-pill is-hoverable media-asset-clear-all"> <span>Clear all</span> </button> <button class="btn btn-primary icon-link icon-link-hover rounded-pill is-hoverable"> <span>Show results</span> <span class="material-icons-outlined">east</span> </button> </div> </div> </div> </div> </div> <div class="col-lg-9"> <div class="page-results-listing-content-holder"> <div class="page-result-filter-holder"> <div class="page-result-filter-info flex-fill" id="mediaAssetPaginationResults"> </div> <div class="page-result-filter-action justify-content-between"> <div class="page-result-mobile-filter-btn-holder order-1 order-sm-2"> <button class="btn btn-outline-primary icon-link rounded-pill is-hoverable" type="button" data-bs-toggle="collapse" data-bs-target="#sideSearchFilter" aria-expanded="false"> <span class="material-icons-outlined">tune</span> <span>Filters</span> </button> </div> <div class="form-floating order-2 order-sm-1"> <select id="mediaAssetSort" class="form-select analytics-sortby-click" analytics-sortby-name="Sort By"> <option value="updateddate" selected>Most recent</option> <option value="name">Name (A-Z)</option> </select> <label>Sort by</label> </div> </div> </div> <div class="pageBtnHolder text-center lazy-load-btn-holder col-sm-offset-4 col-md-offset-3" id="loading"> <img src="/etc/designs/tihV2/static/common/loading/loading.gif"/> </div> <div class="page-result-card-holder is-vertical"> <div class="row row-cols-1 row-cols-md-2 row-cols-lg-3 gx-3 gy-4" id="mediaAssetListing"> </div> </div> </div> </div> </div> </div> <div class="request-for-login-holder"> <div class="card bg-gradient text-white"> <div class="card-image"> <span class="material-icons-outlined">login</span> </div> <div class="card-body"> <h3>Limited access</h3> <p>To view all Media Assets, please <a href="#/" id="mediaAssetLoginRedirection">Sign in</a> or <a href="/content/tih/en/profile/register.html">Register</a>.</p> </div> </div> </div> <script nonce="n2ix81kaxuda"> $(document).ready(function() { $('#mediaAssetLoginRedirection').on('click', function() { LOGIN_REDIRECTION_UTIL.redirectToLogin(); }); }); </script> </div> </div> </div> </section> <div class="modal fade" id="mediaAssetTerms" tabindex="-1" aria-hidden="true" data-bs-backdrop="static" data-bs-keyboard="false"> <div class="modal-dialog modal-dialog-centered modal-lg rounded-4 is-borderless"> <div class="modal-content"> <div class="modal-body text-center"> <h4>By clicking proceed, you agree to the <a href="/content/tih/en/footer/terms-of-use.html" target="_blank" rel="noopener noreferrer">Terms of Use</a>that govern TIH's Marketing & Media Assets which includes individual usage rights of each asset.</h4> <div class="pageBtnHolder"> <a href="#" class="btn btn-primary" data-bs-dismiss="modal">Proceed</a> </div> </div> </div> </div> </div> </div> </div> </main> </html> <script nonce="n2ix81kaxuda"> const PRE_LOGIN_PAGE_LIMIT = 6; const POST_LOGIN_PAGE_LIMIT = 12; const CATEGORY_LIST = "Accommodation,Attractions,Cruises,Event,FoodBeverages,MICEEvent,Precincts,Shopping,Tours,Venues,WalkingTrail".split(","); const CATEGORY_TYPE_EN_LIST = "Backpacker Hostels|Hotels|Resorts|Serviced Apartments|Others,Adventure|Arts|Fitness and Holistic Wellness|History & Culture|Leisure & Recreation|Nature & Wildlife|Others,Cruise Ships|Cruise Terminals|Others,Arts|Attractions|Entertainment|Food & Beverages|History & Culture|Nature & Wildlife|Shopping|Sports|Others,Bars|Cafe|Hawker Centres|Restaurants|Others,Advanced Manufacturing|Aerospace & Logistics|Applied Health Sciences|Financial Services|Innovation & Technology|Lifestyle|Social|Urban Solutions|Others,Others,Bazaars & Flea Markets|Boutiques|Department Stores|Malls|Others,Adventure & Sports|Arts|Food & Beverages|History & Culture|In-House|Multi-Day Packages|Nature & Wildlife|Sightseeing|Others,Arts & Entertainment|MICE|Sports|Others,Arts|Events & Festivities|Food & Beverages|History & Culture|See & Do|Shops|Others".split(","); const CATEGORY_TYPE_EN_VALUE_LIST = "backpackers_hostel|hotel|resort|serviced_apartment|others,adventure|arts|fitness_holistic_wellness|history_culture|recreation_leisure|nature_wildlife|others,cruise_ships|cruise_terminals|others,arts|attraction|entertainment|food_beverage|history_culture|nature_wildlife|shopping|sport|others,bar|cafe|hawker_centre|restaurant|others,advanced_manufacturing|aerospace_logistics|applied_health_sciences|financial_services|innovation_technology|lifestyle|social|urban_solutions|others,others,bazaar_flea_market|boutique|department_store|mall|others,adventure_sport|arts|food_beverage|history_culture|in_house|multi_day_package|nature_wildlife|sightseeing_or_day|others,art_entertainment|mice|sports|others,art|events_festivities|food_beverage|history_culture|see_do|shops|others".split(","); const AEM_CATEGORY_KEY = "Accommodation,Attractions,Events - Business,Events - Leisure,Food & Beverages,Malls & Shops,Precincts,Tours".split(","); const AEM_CATEGORY_VALUES = "Accommodation,Attractions,MICEEvent,Event,FoodBeverages,Shopping,Precincts,Tours".split(","); const ALL_CATEGORY_VALUES = "accommodation,attractions,mice_events,events,food_beverages,shops,precincts,tours".split(","); const IS_LOGIN = ("false" === 'true'); const MEDIA_ASSETS_DETAIL_PAGE = "/content/tih/en/media-assets/detail-page.html"; const ERROR_PAGE = "/content/tih/en/errors/error.html"; var keywordTyped = false; $(document).ready(function() { if (IS_LOGIN){ generateMediaAssetPostLoginCategory(); generateMediaAssetPostLoginCompanies(); generateMediaAssetPostLoginSearch(); generateMediaAssetPostLoginFilterOnChange(); generateMediaAssetPostLoginTrendingTags(); } else { generateMediaAssetPreLoginCategory(); } $('#images').on('change', function() { retrieveMediaAssets(); }); $('#videos').on('change', function() { retrieveMediaAssets(); }); $('#3dmodels').on('change', function() { retrieveMediaAssets(); }); $('#mediaAssetSort').on('change', function() { retrieveMediaAssets(); }); /* $('#filterPageLimit').on('change', function() { pageLimit = $(this).val(); retrieveMediaAssets(); }); */ $('.media-asset-clear-all').on('click', function() { if (IS_LOGIN){ resetMediaAssetPostLoginFilter(); } }); $('#mediaSearch').on('input', function() { if ($("#mediaSearch").val() != "") { keywordTyped = true; } }); /*------------------Load listing based on url parameter------------------*/ var queryString = window.location.search; console.log(queryString); var urlParams = new URLSearchParams(queryString); var mediaType = urlParams.get("mediaType"); console.log("mediaType = " + mediaType); var keyword = urlParams.get("keyword"); console.log("keyword = " + keyword); var contributor = urlParams.get("contributor"); console.log("contributor = " + contributor); if (keyword != null) { if (IS_LOGIN){ $("#mediaSearch").val(keyword); } } if (contributor != null) { if (IS_LOGIN){ $("#mediaCompanies").val(contributor).trigger('change'); } } if (mediaType != null) { $("#" + mediaType).prop("checked", true).trigger("change"); } if (IS_LOGIN){ $('#isAllCategories').find('a').click(); } else { $('#categoryTypes').find('a').first().click(); } retrieveMediaAssets(); checkCookie(); }); function setCookie(cname,cvalue,exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays*24*60*60*1000)); var expires = "expires=" + d.toGMTString(); document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; } function getCookie(cname) { var name = cname + "="; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.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 checkCookie() { var id = "mediaAssets"; var user=getCookie(id); if (user == "true") { // do nothing } else { setTimeout(function(){ $('#mediaAssetTerms').modal('show'); }, 1000); setCookie(id, "true", 30*365); } } function retrieveMediaAssets(page){ $("#loading").show(); var dataset = ""; var types = []; var mediaTypesStr = ""; var keyword = ""; var sort = $("#mediaAssetSort").val(); var sortOrder = "asc"; var pageLimit; var datasources = ""; if (page === undefined) { page = 1; } $('#mediaAssetListing').empty(); if (IS_LOGIN) { /*------------------Retrieve dataset and types------------------*/ if ($('#isAllCategories').hasClass('active')){ dataset = ALL_CATEGORY_VALUES.toString(); } else { dataset = $('#categoryTypes').find('.list-group-item.active').find('.tourism-offerings-dataset').val(); $('#categoryTypes').find('.list-group-item.active').find('.radio-checkbox-holder').find('input:checked').each(function() { types.push(this.value); }); } /*------------------Retrieve keyword------------------*/ keyword = $("#mediaSearch").val(); if (keyword.replaceAll('"', "") == "" || keyword.replaceAll("'", "") == "") { keyword = ""; } /*------------------Retrieve companies------------------*/ datasources = $('#mediaCompanies').val().toString(); /*------------------Retrieve Page limit------------------*/ /*pageLimit = $('#filterPageLimit').val();*/ pageLimit = POST_LOGIN_PAGE_LIMIT; } else { /*------------------Retrieve dataset------------------*/ dataset = $('#categoryTypes').find('.list-group-item.active').find('.tourism-offerings-dataset').val(); /*------------------Retrieve Page limit------------------*/ pageLimit = PRE_LOGIN_PAGE_LIMIT; } /*------------------Retrieve media type------------------*/ var mediaTypes = []; if (!$('#images').is(":checked") && !$('#videos').is(":checked") && !$('#3dmodels').is(":checked")){ mediaTypes.push($('#images').val()); mediaTypes.push($('#videos').val()); mediaTypes.push($('#3dmodels').val()); } else { if ($('#images').is(":checked")){ mediaTypes.push($('#images').val()); } if ($('#videos').is(":checked")){ mediaTypes.push($('#videos').val()); } if ($('#3dmodels').is(":checked")){ mediaTypes.push($('#3dmodels').val()); } } /*------------------Retrieve Sort------------------*/ if (keywordTyped) { keywordTyped = false; sort = "score"; sortOrder = "desc"; $("#mediaAssetSort").val("score"); } else { if (sort == "updateddate"){ sortOrder = "desc"; } else if (sort == "name") { sortOrder = "asc"; } else if (sort == "score") { sortOrder = "desc"; } } mediaTypesStr = mediaTypes.join(","); var offset = (page - 1) * pageLimit; var input={ keyword:keyword, dataset:dataset, type:types.toString(), mediaType:mediaTypesStr, sort:sort, sortOrder:sortOrder, offset:offset.toString(), datasources:datasources, limit:pageLimit.toString() }; $.ajax({ url: "/content/tih/en/media-assets/jcr:content/mainpar/media_assets.media-assets.html", data: input, type: 'POST', contentType: 'application/json', dataType: 'json', success: function(originalData) { /*------------------Generate listing------------------*/ $('#mediaAssetListing').empty(); $('#mediaAssetPagination').empty(); $("#loading").hide(); var data = parseScript(originalData); data = data.data; console.log(data); if (data.length > 0) { var mediaAssetListing = ""; var mediaFileType = "Medium%20Thumbnail"; var cardType = ""; var mediaSrc = ""; for(var i = 0;i < data.length; i++){ if (data[i].mediaTypes.includes("IMAGE_3D")){ cardType = "card-type-3d"; mediaSrc = "/bin/GetMediaByUuid?uuid=" + data[i].primaryFileMediumUuid + "&fileType=" + mediaFileType + "&mediaType=image"; } else if (data[i].mediaTypes.includes("VIDEO")){ cardType = "card-type-video"; mediaSrc = "/etc/designs/tihV2/static/common/images/default-video-image.png"; } else if (data[i].mediaTypes.includes("DOCUMENT")){ cardType = "card-type-document"; mediaSrc = "/etc/designs/tihV2/static/common/images/default-document-image.png"; } else if (data[i].mediaTypes.includes("IMAGE")){ cardType = "card-type-image"; mediaSrc = "/bin/GetMediaByUuid?uuid=" + data[i].primaryFileMediumUuid + "&fileType=" + mediaFileType + "&mediaType=image"; } else { cardType = "card-type-image"; mediaSrc = "/etc/designs/tihV2/static/common/images/default-image.png"; } mediaAssetListing += "<div class='col'>"; mediaAssetListing += "<div class='card rounded-4 " + cardType + "'>"; mediaAssetListing += "<div class='card-image'>"; mediaAssetListing += "<span class='card-item-type'>"; mediaAssetListing += "<i class='bi'></i>"; mediaAssetListing += "</span>"; mediaAssetListing += "<div class='card-categories'>"; var datasetIndex = ALL_CATEGORY_VALUES.indexOf(data[i].category); mediaAssetListing += "<span>" + AEM_CATEGORY_KEY[datasetIndex] + "</span>"; mediaAssetListing += "</div>"; mediaAssetListing += "<img data-src='" + mediaSrc + "' alt='' class='img-cover image-source' data-object-fit='cover'>"; mediaAssetListing += "</div>"; mediaAssetListing += "<div class='card-body'>"; mediaAssetListing += "<div class='card-info'>"; var link = MEDIA_ASSETS_DETAIL_PAGE + "?libraryUuid=" + data[i].uuid + "&mediaUuid=" + data[i].primaryFile; mediaAssetListing += "<h5 class='card-title'><a href='" + link + "' class='stretched-link'>" + getProcessedName(DOMPurify.sanitize(data[i].name)) + "</a></h5>"; mediaAssetListing += "</div>"; mediaAssetListing += "<div class='card-sub-info'>"; if ((data[i].companyDisplayName) != "stb" && (data[i].companyDisplayName) != "STB"){ mediaAssetListing += "<div class='card-author'>" + DOMPurify.sanitize(data[i].companyDisplayName) + "</div>"; } else { mediaAssetListing += "<div class='card-author'>Singapore Tourism Board</div>"; } mediaAssetListing += "</div>"; mediaAssetListing += "</div>"; mediaAssetListing += "</div>"; mediaAssetListing += "</div>"; } $('#mediaAssetListing').empty().append(mediaAssetListing); attachLoadAndErrorEvents(); /*------------------Generate results label------------------*/ var totalRecords = originalData.totalRecords; var mediaAssetPaginationResults = "<span>Showing <strong>" + (offset + 1) + "-" + (offset + data.length) + "</strong> out of " + totalRecords + " results</span>"; $("#mediaAssetPaginationResults").empty().append(mediaAssetPaginationResults); if (IS_LOGIN) { /*------------------Generate pagination------------------*/ generateMediaAssetPostLoginPagination(totalRecords, pageLimit, page); } } else { var mediaAssetListing = "<div class='row row-cols-1 g-4'>"; mediaAssetListing += "<span>No Record Found</span>"; mediaAssetListing += "</div>"; $('#mediaAssetListing').append(mediaAssetListing); $("#mediaAssetPaginationResults").empty().append(""); } //Analytics Tracking if (typeof AnalyticsService != 'undefined' && typeof AnalyticsService.ImagesVideosListing != 'undefined') { var sortByRadioBtnChecked = $('#mediaAssetSort :selected').text().trim(); if (sortByRadioBtnChecked == "name") { sortByRadioBtnChecked = "Name"; } else if (sortByRadioBtnChecked == "updatedDate") { sortByRadioBtnChecked = "Latest"; } digitalData = { media: { sortBy: sortByRadioBtnChecked } }; var dataset = $('#categoryTypes').find('.list-group-item.active').find('.tourism-offerings-dataset').val(); AnalyticsService.ImagesVideosListing.trackSearch(keyword, changeDatasetForAnalytics(dataset),types.toString(), mediaTypesStr, datasources, sortByRadioBtnChecked); } }, error: function(XMLHttpRequest, textStatus, errorThrown) { } }); } function getProcessedName(name) { if(typeof(name) !== "string" || name.length <= 0){ return "Untitled"; } if(name.length > 50){ return name.substring(0,50) + " ..."; } return name; } //UI functions $(document).ready(function(){ $('.select2-holder > select').select2({ width: '100%' }); }); function attachLoadAndErrorEvents() { var imageSourceElements = document.querySelectorAll(".image-source"); imageSourceElements.forEach(function(imageSourceElement) { var srcUrl = imageSourceElement.getAttribute("data-src"); imageSourceElement.onload = function() { MEDIA_UTIL.onSuccessfulImageLoad(imageSourceElement); }; imageSourceElement.onerror = function() { MEDIA_UTIL.onErrorImageLoad(imageSourceElement); }; imageSourceElement.setAttribute("src", srcUrl); }); } </script></div> </div> <footer class="sgds footer"> <section class="footer-top"> <div class="container-xxl"> <div class="footer-header"> <div class="row"> <div class="col-lg-6"> <div class="title">Tourism Information &amp; Services Hub (TIH)</div> <div class="description d-none">TIH is a digital resource platform for businesses to access relevant information on Singapore's tourism offerings and travel software services.</div> </div> </div> </div> <div class="footer-items"> <div class="row"> <div class="col-lg-9"> <div class="row row-cols-1 row-cols-lg-6"> <div class="col flex-fill"> <div class="footer-links"> <div class="title">About TIH</div> <ul class="links"> <li><a class='analytics-footer-click' analytics-footer-name='About Us' url-link="/content/tih/en/about-tih/about-us.html">About Us</a></li> <li><a class='analytics-footer-click' analytics-footer-name='Business Directory' url-link="/content/tih/en/about-tih/business-directory.html">Business Directory</a></li> </ul> </div> </div> <div class="col col-lg-5 flex-fill"> <div class="footer-links"> <div class="title">Tourism Offerings</div> <div class="row"> <div class="col-6"> <ul class="links"> <li><a class='analytics-footer-click' analytics-footer-name='Accommodation' url-link="/content/tih/en/tourism-offerings.html?dataset=Accommodation">Accommodation</a></li> <li><a class='analytics-footer-click' analytics-footer-name='Attractions' url-link="/content/tih/en/tourism-offerings.html?dataset=Attractions">Attractions</a></li> <li><a class='analytics-footer-click' analytics-footer-name='Events - Business' url-link="/content/tih/en/tourism-offerings.html?dataset=MICEEvent">Events - Business</a></li> <li><a class='analytics-footer-click' analytics-footer-name='Events - Leisure' url-link="/content/tih/en/tourism-offerings.html?dataset=Event">Events - Leisure</a></li> <li><a class='analytics-footer-click' analytics-footer-name='Food &amp; Beverages' url-link="/content/tih/en/tourism-offerings.html?dataset=FoodBeverages">Food &amp; Beverages</a></li> </ul> </div> <div class="col-6"> <ul class="links"> <li><a class='analytics-footer-click' analytics-footer-name='Malls &amp; Shops' url-link="/content/tih/en/tourism-offerings.html?dataset=Shopping">Malls &amp; Shops</a></li> <li><a class='analytics-footer-click' analytics-footer-name='Precincts' url-link="/content/tih/en/tourism-offerings.html?dataset=Precincts">Precincts</a></li> <li><a class='analytics-footer-click' analytics-footer-name='Tours' url-link="/content/tih/en/tourism-offerings.html?dataset=Tours">Tours</a></li> <li><a class='analytics-footer-click' analytics-footer-name='Wellness' url-link="/content/tih/en/tourism-offerings.html?group=Wellness">Wellness</a></li> </ul> </div> </div> </div> </div> <div class="col flex-fill"> <div class="footer-links"> <div class="title">Media Assets</div> <ul class="links"> <li><a class='analytics-footer-click' analytics-footer-name='Images' url-link="/content/tih/en/media-assets.html?mediaType=images">Images</a></li> <li><a class='analytics-footer-click' analytics-footer-name='Videos' url-link="/content/tih/en/media-assets.html?mediaType=videos">Videos</a></li> <li><a class='analytics-footer-click' analytics-footer-name='3D Models' url-link="/content/tih/en/media-assets.html?mediaType=3dmodels">3D Models</a></li> </ul> </div> </div> <div class="col flex-fill"> <div class="footer-links"> <div class="title"><a class='analytics-footer-click' analytics-footer-name='API Services' url-link="/content/tih/en/api-services.html">API Services</a></div> </div> <div class="footer-links"> <div class="title">Support</div> <ul class="links"> <li><a class='analytics-footer-click' analytics-footer-name='Help Centre' url-link="/content/tih/en/support/help-centre.html">Help Centre</a></li> <li><a class='analytics-footer-click' analytics-footer-name='FAQs' url-link="/content/tih/en/header/faq.html">FAQs</a></li> <li><a class='analytics-footer-click' analytics-footer-name='Contact Us' url-link="/content/tih/en/support/help-centre.html#contact-us">Contact Us</a></li> </ul> </div> </div> </div> <div class="row row-cols-1"> <div class="footer-links"> <div class="title">Other STB Sites</div> <div class="row row-cols-1 row-cols-lg-2"> <div class="col"> <ul class="links"> <li><a class='analytics-footer-click' analytics-footer-name='STB Corporate Website' href="https://www.stb.gov.sg/content/stb/en.html" target="_blank" rel="noopener noreferrer">STB Corporate Website</a></li> <li><a class='analytics-footer-click' analytics-footer-name='Singapore Exhibition &amp; Convention Bureau (SECB)' href="https://www.visitsingapore.com/mice/en/" target="_blank" rel="noopener noreferrer">Singapore Exhibition &amp; Convention Bureau (SECB)</a></li> <li><a class='analytics-footer-click' analytics-footer-name='Singapore Tourism Analytics Network (Stan)' href="https://stan.stb.gov.sg/content/stan/en/home.html" target="_blank" rel="noopener noreferrer">Singapore Tourism Analytics Network (Stan)</a></li> </ul> </div> <div class="col"> <ul class="links"> <li><a class='analytics-footer-click' analytics-footer-name='Singapore Tourism Awards' href="https://www.singaporetourismawards.gov.sg/" target="_blank" rel="noopener noreferrer">Singapore Tourism Awards</a></li> <li><a class='analytics-footer-click' analytics-footer-name='Travel Agents &amp; Tourist Guides Licensing System (TRUST)' href="https://trust.stb.gov.sg/" target="_blank" rel="noopener noreferrer">Travel Agents & Tourist Guides Licensing System (TRUST)</a></li> <li><a class='analytics-footer-click' analytics-footer-name='Visit Singapore (Tourist Information)' href="https://www.visitsingapore.com/" target="_blank" rel="noopener noreferrer">Visit Singapore (Tourist Information)</a></li> </ul> </div> </div> </div> </div> </div> <div class="col-lg-3"> <div class="footer-links"> <div class="footer-logos"> <div> <a class='analytics-footer-click' analytics-footer-name='Tcube' target="_blank" rel="noopener noreferrer" href="https://www.stb.gov.sg/content/stb/en/trade-events-and-resources/Tcube.html"> <img src="/etc/designs/tihV2/static/components/tih-base/logo_tcube_transparent.png" alt="Tcube logo" style="height: 60px;"> </a> </div> <div> <a class='analytics-footer-click' analytics-footer-name='visitsingapore' target="_blank" rel="noopener noreferrer" href="https://www.visitsingapore.com/en/"> <img src="/etc/designs/tihV2/static/components/tih-base/logo_passion_made_possible.svg" alt="Passion Made Possible logo" style="height: 40px;"> </a> <a class='analytics-footer-click' analytics-footer-name='stb' target="_blank" rel="noopener noreferrer" href="https://www.stb.gov.sg/content/stb/en.html"> <img src="/etc/designs/tihV2/static/components/tih-base/logo_stb.svg" alt="STB logo" style="height: 48px;"> </a> </div> </div> </div> <div class="footer-links"> <div class="title">Connect with Us</div> <div class="footer-social"> <a class='analytics-footer-click' analytics-footer-name='linkedin' target="_blank" rel="noopener noreferrer" href="https://www.linkedin.com/company/singapore-tourism-board"> <i class="fa-brands fa-linkedin"></i> </a> </div> </div> </div> </div> </div> </div> </section> <section class="footer-bottom"> <div class="container-xxl"> <div class="footer-mandatory-links"> <div class="row"> <div class="col"> <ul> <li><a class='analytics-footer-click' analytics-footer-name='Report Vulnerability' href="https://tech.gov.sg/report_vulnerability" target="_blank" rel="noopener noreferrer">Report Vulnerability</a></li> <li><a class='analytics-footer-click' analytics-footer-name='Privacy Statement' href="https://www.stb.gov.sg/content/stb/en/footer/privacy-statement.html" target="_blank" rel="noopener noreferrer">Privacy Statement</a></li> <li><a class='analytics-footer-click' analytics-footer-name='Terms of Use' url-link="/content/tih/en/footer/terms-of-use.html">Terms of Use</a></li> <li><a class='analytics-footer-click' analytics-footer-name='Sitemap' url-link="/content/tih/en/header/sitemap.html">Sitemap</a></li> </ul> </div> </div> </div> <div class="footer-copyrights"> <div class="row"> <div class="col"> <div class="d-flex justify-content-lg-end"> &copy; 2024 Government of Singapore. <br class="d-md-none">Last Updated 03 April 2024. </div> </div> </div> </div> </div> </section> </footer> </body> </html> <script src="/etc/designs/tihV2/static/common/analyticsjs/footer.min.7211592004dbc7c8ed6d7fb7173f06a2.js" nonce="n2ix81kaxuda"></script> <script src="/etc/designs/tihV2/static/components/tih-base/core.js" nonce="n2ix81kaxuda"></script> <script nonce="n2ix81kaxuda"> $(document).ready(function() { $('#notification-close').on('click', function () { setCookie("isShowBanner", "false", 30*365); }); $("#searchInputHeader").focus(showHeaderSuggestions); var currentUrl = window.location.href; if (currentUrl.includes("about-tih")) { $("#headerAboutTIH").addClass("active"); } else if (currentUrl.includes("tourism-offerings")) { $("#headerTourismOfferings").addClass("active"); } else if (currentUrl.includes("media-assets")) { $("#headerMediaAssets").addClass("active"); } else if (currentUrl.includes("api-services")) { $("#headerAPIServices").addClass("active"); } else if (currentUrl.includes("support") || currentUrl.includes("header")) { $("#headerSupport").addClass("active"); } }); /* ==================================== Search AutoComplete ==================================== */ $("#searchInputHeader").autocomplete({ delay: 100, appendTo: '#suggestions-container-header', lookup: function (request, response) { var q = $("#searchInputHeader").val(); var dataString ={q:q,searchResourceType:"content"}; /*---------- AutoComplete API Content ---------------------*/ $.ajax({ url: "/content/tih/en/search-result/jcr:content/mainpar/search_result.search-autocomplete.html", data: dataString, type: 'POST', contentType: 'application/json', dataType: 'json', success: function(data) { var availableTags= []; //TODO need to set format result to availableTags var respJsonObj = JSON.parse(JSON.stringify(data)); var obj1 = respJsonObj.data.product; for(var i=0;i<obj1.length;i++){ availableTags.push(String(obj1[i].suggestions)); } var obj2 = respJsonObj.data.product_tag; for(var i=0;i<obj2.length;i++){ availableTags.push(String(obj2[i].suggestions)); } /*---------- AutoComplete API Media ---------------------*/ var q1 = $("#searchInputHeader").val(); var dataString1 ={q:q1,searchResourceType:"media"}; var ajx = $.ajax({ url : "/content/tih/en/search-result/jcr:content/mainpar/search_result.search-autocomplete.html", type: "POST", data: dataString1, contentType: 'application/json', dataType: 'json' }); ajx.always(function(data){ //TODO need to set format result to availableTags var respJsonObj = JSON.parse(JSON.stringify(data)); var obj1 = respJsonObj.data.media_library; var obj2 = respJsonObj.data.media_library_tag; for(var i=0;i<obj1.length;i++){ availableTags.push(String(obj1[i].suggestions)); } var obj2 = respJsonObj.data.media_library_tag; for(var i=0;i<obj2.length;i++){ availableTags.push(String(obj2[i].suggestions)); } var uniqueAvailableTags = []; var suggestionsJson =[]; for(var i=0;i<availableTags.length;i++){ if(uniqueAvailableTags.indexOf(availableTags[i]) == -1){ uniqueAvailableTags.push(availableTags[i]); } } uniqueAvailableTags.sort( function(a,b) { a = a? a.toLowerCase() : a; b = b? b.toLowerCase() : b; return a === b ? 0 : a > b ? 1 : -1; }); for(var i=0;i<uniqueAvailableTags.length;i++){ suggestionsJson.push({value:uniqueAvailableTags[i]}); } tagsJson = { "suggestions": suggestionsJson }; if(uniqueAvailableTags.length > 0 ){ $("#suggestions-container-header").removeClass("d-none"); $("#suggestions-container-header").css("display", "block"); } else { $("#suggestions-container-header").addClass("d-none"); $("#suggestions-container-header").css("display", "none"); } response(tagsJson); }); } }); } }); function showHeaderSuggestions() { $("#suggestions-container-header").css("display", "block"); $(document).bind("click.headerSuggestions", function(e){ if(!$(e.target).is("#suggestions-container-header, #searchInputHeader")) hideHeaderSuggestions(); }); } function hideHeaderSuggestions(){ $("#suggestions-container-header").css("display", "none"); $(document).unbind("click.headerSuggestions"); } function getCookie(cookieName) { var name = cookieName + "="; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.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 setCookie(cookieName, cookieValue, exDays) { var d = new Date(); d.setTime(d.getTime() + (exDays * 24 * 60 * 60 * 1000)); var expires = "expires=" + d.toGMTString(); document.cookie = cookieName + "=" + cookieValue + ";" + expires + ";path=/"; } </script> <script nonce="n2ix81kaxuda" type="text/javascript"> var t = new Date(); function getUrlParam(name) { var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.search); if (results == null) { return null; } else { return decodeURI(results[1]) || 0; } } jQuery(document).ready(function () { var isAuthorMode = false; var loginExpireTime = 0; loginExpireTime = 30; var loginExtensionExpireTime = 0; loginExtensionExpireTime = 5; if (!isAuthorMode && "" != "" && loginExpireTime > 0) { initSessionMonitor(60000, loginExpireTime, loginExpireTime - loginExtensionExpireTime, "/bin/usersignout"); } /*var requestSession = $.ajax({ type: "GET", dataType: "json", url: "<currentPage.getPath()%>/jcr:content.profile?"+t.getTime() }); requestSession.always(function(jqXHR){*/ /*});*/ if (getUrlParam('logout') == 'true') { var myWindow = window.open("https://tih-iam.stb.gov.sg/iamsso/logout", "_blank", "toolbar=yes,scrollbars=yes,resizable=yes,top=-100,left=-100,width=400,height=400"); setTimeout(function () { myWindow.close(); }, 10000); } /* var urlParams = new URLSearchParams(window.location.search); if(urlParams.get('logout') =='true'){ var myWindow = window.open("http://tih-iam-sit.stb.gov.sg/iamsso/logout", "_blank", "toolbar=yes,scrollbars=yes,resizable=yes,top=-100,left=-100,width=400,height=400"); setTimeout(function(){ myWindow.close(); }, 10000); }*/ //Analytics Tracking AnalyticsService.DeveloperPortal.init(); }); </script> <script nonce="n2ix81kaxuda"> /* Added delay for Adobe Analytics Header and Footer tracking*/ $(document).ready(function(){ $(".analytics-header-click").click(function(evt){ var link = this.getAttribute("url-link").toString(); setTimeout(function() { window.location.href = link; }, 500); }); $(".analytics-footer-click").click(function(evt){ var link = this.getAttribute("url-link").toString(); setTimeout(function() { window.location.href = link; }, 500); }); }); </script>

Pages: 1 2 3 4 5 6 7 8 9 10