Natural Pool
About This Attraction
Magpupungko Rock Pools, located on the island of Siargao in the Philippines, are a natural attraction famous for their clear waters and unique rock formations. These tidal pools are only accessible during low tide, allowing visitors to enjoy swimming in calm and shallow waters surrounded by stunning rock structures. It is important to check the Magpupungko Rock Pools opening hours before planning your visit, as entry is typically permitted from early morning until late afternoon.
The area also features a sandy beach where visitors can relax and take in the scenic views. Basic facilities such as restrooms and food stalls are available nearby, offering convenience for tourists. Entrance fees help maintain the site and support local tourism efforts. Remember to bring water shoes for better grip on the slippery rocks, ensuring a safe and enjoyable experience at this picturesque location.
Location Details
Address
Pilar, Siargao Island, Surigao del Norte, Philippines
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
50 PHP
Child
30 PHP
Student
50 PHP
Senior
50 PHP
Opening Hours & Booking
Open
Days
Daily
Hours
8:00 AM - 5:00 PM
Seasonality
Year-round
Booking
Booking Required?
No
Nearby Attractions
Cloud 9 in Siargao is a renowned surfing destination famous for its perfect waves and…
Learn More
Sugba Lagoon is a popular tourist destination located in Siargao, Philippines, known for its crystal-clear…
Learn More
The Basilica del Santo Niño in Cebu City is a must-visit historical and religious site.…
Learn More
Magellans Cross is a historical landmark located in Cebu City, Philippines. It was planted in…
Learn More
The Cebu Taoist Temple is a prominent cultural and religious site located in the Beverly…
Learn More
The Philippine Eagle Center in Davao is a conservation facility dedicated to protecting the critically…
Learn More
Samal Island, located in the Davao Gulf in the Philippines, is known for its beautiful…
Learn More
Rizal Boulevard in Dumaguete is a popular seaside promenade that offers a scenic view of…
Learn More
Apo Island is a small volcanic island located near Dumaguete in the Philippines. It is…
Learn More
Eden Nature Park in Davao is a popular eco-tourism destination that offers a variety of…
Learn More
";
}
// Initialize modal controls
const initModalControls = function() {
console.log('Initializing modal controls');
const modal = document.getElementById('attraction-modal');
const closeBtn = document.querySelector('.attraction-modal-close');
if (closeBtn) {
closeBtn.addEventListener('click', function() {
modal.style.display = 'none';
document.body.style.overflow = '';
});
}
window.addEventListener('click', function(event) {
if (event.target === modal) {
modal.style.display = 'none';
document.body.style.overflow = '';
}
});
// Make attraction cards clickable
const attractionCards = document.querySelectorAll('.attraction-card');
console.log('Found ' + attractionCards.length + ' attraction cards');
attractionCards.forEach(card => {
card.addEventListener('click', function(e) {
openModalWithCardData(this);
});
});
};
// Function to open modal with card data
const openModalWithCardData = function(card) {
// Get data from hidden div
const data = card.querySelector('.attraction-full-data');
if (!data) {
console.error('No attraction data found in card');
return;
}
const modal = document.getElementById('attraction-modal');
if (!modal) {
console.error('Modal element still not found after creation attempt');
return;
}
// Helper function to safely get element text
function getElementText(selector) {
const element = data.querySelector(selector);
return element ? element.textContent : '';
}
try {
// Basic Info
document.getElementById('attraction-modal-title').textContent = getElementText('.attraction-name');
document.getElementById('attraction-modal-type').textContent = getElementText('.attraction-type-full');
document.getElementById('attraction-modal-description').textContent = getElementText('.attraction-description-full');
// Reset all containers to hidden
['attraction-modal-hours-container', 'attraction-modal-price-container',
'attraction-modal-address-container', 'attraction-modal-image-container'].forEach(id => {
const container = document.getElementById(id);
if (container) container.style.display = 'none';
});
// Rating
const ratingText = getElementText('.attraction-rating-full');
if (ratingText) {
const ratingValue = parseFloat(ratingText);
if (!isNaN(ratingValue)) {
const ratingValueEl = document.getElementById('attraction-modal-rating-value');
const ratingFillEl = document.getElementById('attraction-modal-rating-fill');
if (ratingValueEl) ratingValueEl.textContent = ratingValue.toFixed(1) + '/10';
if (ratingFillEl) ratingFillEl.style.width = (ratingValue * 10) + '%';
}
}
// Show the modal
modal.style.display = 'block';
document.body.style.overflow = 'hidden'; // Prevent background scrolling
console.log('Modal opened successfully');
} catch (error) {
console.error('Error opening modal:', error);
}
};
// Try to create the modal
const created = createModal();
console.log('Modal created:', created);
// If not created (already exists), initialize the controls
if (!created) {
initModalControls();
}
// Also initialize distance toggle
const distanceToggle = document.getElementById('distance-unit-toggle');
if (distanceToggle) {
distanceToggle.addEventListener('change', function() {
const showKm = this.checked;
// Update toggle labels
const labels = document.querySelectorAll('.toggle-label');
if (labels.length >= 2) {
labels[0].style.opacity = showKm ? '0.5' : '1';
labels[1].style.opacity = showKm ? '1' : '0.5';
}
// Update all distance displays
document.querySelectorAll('.nearby-attraction-card').forEach(card => {
const kmEl = card.querySelector('.distance-km');
const miEl = card.querySelector('.distance-mi');
if (kmEl && miEl) {
kmEl.style.display = showKm ? 'inline' : 'none';
miEl.style.display = showKm ? 'none' : 'inline';
}
});
});
}
});