Monthly Archives: April 2017

What Are the Types of Garden Planters Available in the Market?

Plants are a great way to brighten up your home and office. They add beauty, freshness and also have health benefits so in order to give your mind the much-needed peace and positivity you must consider placing plants around you. Now the next thing is, how to incorporate these plants in the interior that you […]

What are different types of flowers ideal for flower arrangements?

Though there are thousands of flowers, it has been noticed that only a handful of them serve the purpose of flower arrangements. The types of flowers mentioned below will offer you the best floral arrangement and will soon become your go-to list for every occasion. All of us love flowers as they symbolize different human emotions. Using […]

Everything you need to know about the gardening container in Singapore

Container gardening is gaining immense popularity as it serves many gardening lovers who lack space. The good things about Gardening containers are that you can set them up in a small space that can include your balcony or even a small yard. Container gardening is very popular in Singapore as many dwellers live in a […]

(function(){ // cookie helpers function setCookie(name, value, days) { var expires = ""; if (days) { var date = new Date(); date.setTime(date.getTime() + (days*24*60*60*1000)); expires = "; expires=" + date.toUTCString(); } document.cookie = name + "=" + (value || "") + expires + "; path=/; SameSite=Lax"; } function getCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i].trim(); if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length); } return null; } // Build modal markup function buildModal() { var overlay = document.createElement('div'); overlay.className = 'cf-overlay'; overlay.id = 'cfOverlay'; overlay.setAttribute('aria-hidden','false'); var modal = document.createElement('div'); modal.className = 'cf-modal'; modal.setAttribute('role','dialog'); modal.setAttribute('aria-modal','true'); modal.setAttribute('aria-label','Cookie consent'); modal.innerHTML = '\ \
\ We use cookies to improve your browsing experience.\
\ This website uses cookies to enhance site navigation, analyse site usage, \ and provide personalised content. By clicking "ACCEPT", you agree to our cookie policy.\
\
\ \ \ View Cookie Policy\
'; overlay.appendChild(modal); return overlay; } // Utility: get all focusable elements inside container function getFocusable(el) { return el.querySelectorAll('a[href], button:not([disabled]), textarea, input, select, [tabindex]:not([tabindex="-1"])'); } // Show modal (blocking) function showModal() { if (document.getElementById('cfOverlay')) return; var overlay = buildModal(); document.body.appendChild(overlay); // block scroll and remember previous focus var previousActive = document.activeElement; document.body.style.overflow = 'hidden'; // show setTimeout(function(){ overlay.classList.add('show'); }, 20); // focus management: trap focus inside modal var modal = overlay.querySelector('.cf-modal'); var focusable = Array.prototype.slice.call(getFocusable(modal)); var firstFocusable = focusable[0]; var lastFocusable = focusable[focusable.length-1]; // focus first interactive element (ACCEPT) var acceptBtn = document.getElementById('cfAccept'); if (acceptBtn) acceptBtn.focus(); // keydown handler to trap Tab and disable Escape function onKeyDown(e) { if (e.key === 'Escape' || e.key === 'Esc') { // prevent ESC from closing modal e.preventDefault(); e.stopPropagation(); return; } if (e.key === 'Tab') { if (focusable.length === 0) { e.preventDefault(); return; } // forward tab if (!e.shiftKey && document.activeElement === lastFocusable) { e.preventDefault(); firstFocusable.focus(); } // backward tab else if (e.shiftKey && document.activeElement === firstFocusable) { e.preventDefault(); lastFocusable.focus(); } } } document.addEventListener('keydown', onKeyDown, true); // Event handlers document.getElementById('cfAccept').addEventListener('click', function(){ setCookie('cookie_consent','1',365); cleanup(); }); document.getElementById('cfClose').addEventListener('click', function(){ // Close without consent (does NOT set cookie) cleanup(); }); document.getElementById('cfCloseX').addEventListener('click', function(){ cleanup(); }); // IMPORTANT: DO NOT close when clicking overlay background — user must click Accept or Close // overlay.addEventListener('click', function(e){ // if (e.target === overlay) cleanup(); // disabled on purpose // }); // cleanup function function cleanup() { overlay.classList.remove('show'); setTimeout(function(){ if (overlay && overlay.parentNode) overlay.parentNode.removeChild(overlay); document.body.style.overflow = ''; document.removeEventListener('keydown', onKeyDown, true); try { if (previousActive) previousActive.focus(); } catch (e) {} }, 150); } } // init: show modal if cookie not set // dan HANYA di homepage var path = window.location.pathname.replace(/\/+$/, ''); var isHome = (path === ''); // "/" akan jadi "" setelah replace di atas if (isHome && !getCookie('cookie_consent')) { if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', showModal); } else { showModal(); } } })();
Alert Dont Save as Image & Download