Sharing our local knowledge to help you discover what happening near our unique hotels to help plan your stay. Celebrating the best in food, design and culture from each of our neighbourhoods.
The Insider
Riviera Winter Wonderland
Riviera Winter Wonderland transforms Elwood Beach Club this June with an ice rink, private igloos, winter markets, and disco nights—perfect for family fun or cozy date nights by the bay!
MORE>
Bali Int Film Festival BALINALE
Riviera Winter Wonderland transforms Elwood Beach Club this June with an ice rink, private igloos, winter markets, and disco nights—perfect for family fun or cozy date nights by the bay!
MORE>
SUBMERGE feat. DON DARKOE
From trap roots to DnB force, DON DARKOE fuses Aussie jump-up with viral melodies – fresh off releases with CruCast and ShockOne’s DMR, this is your next drum & bass obsession.
MORE>
Zedd
ZEDD is a Grammy-winning DJ, producer, and songwriter known for his chart-dominating electronic anthems. He rose to international acclaim with hits like “Clarity,” “Stay the Night,” “Beautiful Now,” and the global hit “The Middle.”
MORE>
${event.category}
${event.title}
${event.description}
MORE
`;
});
const loadMoreBtn = document.getElementById('loadMoreBtn');
if (visibleEvents >= filteredEvents.length) {
loadMoreBtn.disabled = true;
loadMoreBtn.textContent = 'No More Events';
} else {
loadMoreBtn.disabled = false;
loadMoreBtn.textContent = 'Load More';
}
}
function loadMoreEvents() {
visibleEvents += eventsPerLoad;
renderEvents();
}
document.addEventListener('DOMContentLoaded', () => {
const loadMoreBtn = document.getElementById('loadMoreBtn');
loadMoreBtn.addEventListener('click', loadMoreEvents);
const picker = new Litepicker({
element: document.getElementById('datepicker'),
singleMode: false,
format: 'DD MMMM YYYY',
minDate: new Date(),
numberOfMonths: 1,
numberOfColumns: 1,
setup: (picker) => {
// **Force the footer to appear with Cancel & Done buttons**
picker.on('render', () => {
const footer = picker.ui.querySelector('.litepicker-footer');
if (!footer) {
// Create footer if it doesn't exist
picker.ui.insertAdjacentHTML('beforeend', `
`);
} else if (!footer.querySelector('.litepicker-btn-apply')) {
// Add buttons if missing
footer.innerHTML = `
Cancel
Done
`;
}
// **Attach button events**
const cancelBtn = picker.ui.querySelector('.litepicker-btn-cancel');
const applyBtn = picker.ui.querySelector('.litepicker-btn-apply');
if (cancelBtn && applyBtn) {
cancelBtn.onclick = () => {
picker.clearSelection();
document.getElementById('datepicker').value = '';
picker.hide();
};
applyBtn.onclick = () => {
const dates = picker.getDate();
if (dates) {
const start = new Date(dates[0].format('YYYY-MM-DD'));
const end = dates[1] ? new Date(dates[1].format('YYYY-MM-DD')) : start;
// Your filtering logic here
filteredEvents = allEvents.filter(event => {
const eventRange = parseEventDateRange(event.date);
return isDateInRange(eventRange, start, end);
});
visibleEvents = 16;
renderEvents();
}
picker.hide();
};
}
});
}
});
renderEvents();
});
renderEvents();
// DROPDOWN
const members = ["Zarifa","Farida","Sevinc","Asef","Fuyuki","Kaito","Robin"];
const dropdown = document.querySelector(".custom-dropdown");
const header = document.querySelector(".dropdown-header");
const headerWrapper = document.querySelector(".header-wrapper");
const list = document.querySelector(".dropdown-list");
const clearBtn = document.querySelector(".clear-btn");
const arrow = document.querySelector(".arrow");
function populateDropdown(){
list.innerHTML = "";
for(let member of members){
const li = document.createElement("li");
li.innerText=member;
list.appendChild(li);
}
}
list.addEventListener("click",selectMember);
populateDropdown();
function selectMember(event){
if(event.target.tagName === "LI"){
const textSpan = headerWrapper.querySelector("span");
textSpan.textContent = event.target.textContent;
dropdown.classList.remove("active");
clearBtn.classList.add("show");
arrow.classList.add("hide");
header.classList.add("selected");
header.classList.remove("standby");
}
}
function activateDropdown (){
headerWrapper.addEventListener("click",(event)=>{
event.stopPropagation();
dropdown.classList.toggle("active");
});
document.addEventListener("click",(event)=>{
if(!dropdown.contains(event.target)){
dropdown.classList.remove("active");
}
});
}
activateDropdown();
clearBtn.addEventListener("click",()=>{
clearBtn.classList.remove("show");
arrow.classList.remove("hide");
const textSpan = headerWrapper.querySelector("span");
textSpan.innerText = "Select a Member"
dropdown.classList.add("active");
header.classList.add("standby");
header.classList.remove("selected");
});
`).join('');
}
function setupFilters(posts) {
document.getElementById('apply-filter').addEventListener('click', () => {
const searchTerm = document.getElementById('post-search').value.toLowerCase();
const filtered = posts.filter(post => {
const matchesSearch = !searchTerm ||
post.title.rendered.toLowerCase().includes(searchTerm) ||
post.content.rendered.toLowerCase().includes(searchTerm);
if (!startDate && !endDate) return matchesSearch;
const postDate = new Date(post.date);
if (startDate && endDate) {
return matchesSearch && postDate >= startDate && postDate = startDate;
}
return matchesSearch;
});
renderPosts(filtered);
});
document.getElementById('reset-filter').addEventListener('click', () => {
document.getElementById('post-search').value = '';
startDate = null;
endDate = null;
dateRangeInput.value = '';
renderPosts(posts);
});
}
function getMediaUrl(mediaId) {
return `https://ovolohotels.com/wp-json/wp/v2/media/${mediaId}`;
}
});