/* NO-FLICKER FIX: Hide prices until sync occurs */ .srt-price-display { transition: opacity 0.2s ease-in; opacity: 1; } .srt-loading .srt-price-display, .srt-loading .srt-currency-btn { opacity: 0; pointer-events: none; } /* Highlight for active currency */ .currency-btn.active { background-color: white !important; color: #2563eb !important; box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06) !important; } .currency-btn:not(.active) { color: #9ca3af !important; background-color: transparent !important; } SR Internationals – Best Travel Agency for Maldives & Global Tours
/** * GLOBAL PRICE & WHATSAPP SYNC */ function syncDisplayPrices() { const pref = localStorage.getItem('srt_pref_currency'); const currency = pref || 'USD'; // Auto-detect ONLY if no preference exists in this browser if (!pref) { detectUserLocation(); // We don't return here, we sync with USD initially so the page is readable } // 1. Update Visual Prices const priceElements = document.querySelectorAll('.srt-price-display'); priceElements.forEach(el => { const val = el.getAttribute('data-' + currency.toLowerCase()); if (val) el.innerText = val; }); // 2. Update WhatsApp Booking Data document.querySelectorAll('[data-wa-num]').forEach(el => { const num = el.getAttribute('data-wa-num'); const title = el.getAttribute('data-wa-title'); const duration = el.getAttribute('data-wa-duration') || ''; const price = el.getAttribute('data-wa-price-' + currency.toLowerCase()); const msg = `Hi, I'm interested in booking:\n*${title}*\nPrice: ${price}\nDuration: ${duration}`; const encodedMsg = encodeURIComponent(msg); if (el.tagName === 'A') { el.setAttribute('href', `https://wa.me/${num}?text=${encodedMsg}`); } else { el.onclick = (e) => { e.preventDefault(); window.open(`https://wa.me/${num}?text=${encodedMsg}`, '_blank'); }; } }); // 3. Update Visual Switcher Buttons ['btn-', 'm-btn-'].forEach(prefix => { const inrBtn = document.getElementById(prefix + 'inr'); const usdBtn = document.getElementById(prefix + 'usd'); if (inrBtn && usdBtn) { if (currency === 'INR') { inrBtn.classList.add('active'); usdBtn.classList.remove('active'); } else { usdBtn.classList.add('active'); inrBtn.classList.remove('active'); } } }); // 4. Update the Root HTML class and reveal content const root = document.documentElement; root.classList.remove('srt-currency-inr', 'srt-currency-usd', 'srt-loading'); root.classList.add('srt-currency-' + currency.toLowerCase()); // Dispatch a custom event in case carousels or archives need to react window.dispatchEvent(new CustomEvent('srtCurrencyChanged', { detail: { currency } })); } function detectUserLocation() { if (sessionStorage.getItem('srt_detection_tried')) return; sessionStorage.setItem('srt_detection_tried', 'true'); fetch('https://ip-api.com/json/?fields=countryCode') .then(res => res.json()) .then(data => { const detected = data.countryCode === 'IN' ? 'INR' : 'USD'; localStorage.setItem('srt_pref_currency', detected); document.cookie = "srt_currency=" + detected + ";max-age=2592000;path=/"; // Critical: Sync UI with the newly detected currency with a small safety delay setTimeout(syncDisplayPrices, 50); }) .catch(() => { localStorage.setItem('srt_pref_currency', 'USD'); syncDisplayPrices(); }); } function changeCurrency(currency) { document.documentElement.classList.add('srt-loading'); localStorage.setItem('srt_pref_currency', currency); document.cookie = "srt_currency=" + currency + ";max-age=2592000;path=/"; syncDisplayPrices(); // Reload to ensure all server-side meta logic also aligns setTimeout(() => { location.reload(true); }, 150); } document.addEventListener('DOMContentLoaded', () => { // Initial Sync syncDisplayPrices(); // THE DOUBLE-SYNC HAMMER: Re-sync at intervals to catch any delayed/filtered content [100, 300, 600, 1200, 2500].forEach(delay => { setTimeout(syncDisplayPrices, delay); }); // Global Mutation Observer to catch any dynamic DOM changes const observer = new MutationObserver((mutations) => { let shouldSync = false; mutations.forEach(m => { if (m.addedNodes.length > 0 || m.type === 'attributes') { shouldSync = true; } }); if (shouldSync) syncDisplayPrices(); }); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); // Mobile menu toggle const btn = document.getElementById('mobile-menu-button'); const menu = document.getElementById('mobile-menu'); if (btn && menu) { btn.onclick = (e) => { e.stopPropagation(); menu.classList.toggle('hidden'); }; document.addEventListener('click', (e) => { if (!menu.contains(e.target) && !btn.contains(e.target)) { menu.classList.add('hidden'); } }); } });
Romantic Honeymoon
Luxury Beach Resort
test
Maldives Exclusive

Romantic Honeymoon

4 Nights / 5 Days
Private Pool Villa, Candlelight Dinner, Sunset Cruise

Luxury Beach Resort

4 Nights / 5 Days
Overwater Villa, Breakfast, Scuba Session, Spa Treatment

test

4 Nights / 5 Days
asdfsdf
Starting From
$1000 / person
Curated Escapes

Trending Destinations

Romantic Honeymoon

Romantic Honeymoon

Private Pool Villa, Candlelight Dinner, Sunset Cruise

4.8
4 Nights / 5 Days
Maldives
$1000
Luxury Beach Resort

Luxury Beach Resort

Overwater Villa, Breakfast, Scuba Session, Spa Treatment

4.8
4 Nights / 5 Days
Maldives
$1000
test

test

asdfsdf

4.8
4 Nights / 5 Days
Dubai
$1000

Our Activities

Discover breathtaking experiences waiting for you.

International Excursions

Discover handpicked international experiences

Includes

sadf

324 d234
$1000

xcv

Includes

kjh

kjh
$1000

Maldives Resort

Includes

gsdfg

sdfsdf we
$1000

Jet Ski Adventure

Watersports

Pure adrenaline in paradise

Includes

Flight time, Boat ride, Professional instructor

15 minutes
$1000

Parasailing High

Includes

ife jacket, Safety briefing, Photo session

30 minutes
$1000

Jet Ski Adventure

Luxury Resorts

Exclusive handpicked stays

Includes

Pool access, Buffet lunch, Private beach

Full Day
$1000

Luxury Resort Day Pass

Why Choose srinternationals?

Your journey is our passion. We are a team of dedicated Maldives experts who are committed to crafting the perfect holiday, ensuring every detail is taken care of from the moment you get in touch.

Exclusive Deals

Access to the best rates and exclusive packages you won't find anywhere else.

Expert Planners

Our specialists have firsthand knowledge of the Maldives to tailor your perfect trip.

24/7 Support

From booking to your return, we are here to support you at every step of your journey.

Team
10+ Years
Award Winner
Client
4.9
5000+ Clients
Trusted

By Thousands

5000+
Happy Clients
50+
Resort Partners
10+
Years Experience
24/7
Support