Historical Site
About This Attraction
Angkor Thom, located in Siem Reap, Cambodia, is a historical site known for its remarkable architecture and cultural significance. Established as the last capital of the Khmer Empire in the late 12th century by King Jayavarman VII, it spans approximately 9 square kilometers. The city is enclosed by high walls and a moat, with five monumental gates providing access. Visitors often marvel at the Bayon Temple, famous for its enigmatic stone faces that adorn the towers. Angkor Thom opening hours are typically from sunrise to sunset, allowing ample time to explore its ancient wonders.
In addition to the Bayon Temple, Angkor Thom includes several other notable structures. The Terrace of the Elephants and the Terrace of the Leper King are two prominent spots within the complex. These terraces were used for public ceremonies and house intricate bas-reliefs depicting scenes of Khmer life and mythology. To make the most of your visit, its advisable to wear comfortable shoes as there is much to see on foot. Dont forget to bring water and sunscreen, as the Cambodian sun can be intense during the day.
Location Details
Address
Angkor Archaeological Park, Siem Reap, Cambodia
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
$37 (Angkor Pass)
Child
Free under 12
Student
N/A
Senior
$37 (Angkor Pass)
Opening Hours & Booking
Open
Days
Monday to Sunday
Hours
7:30 AM to 5:30 PM
Seasonality
Year-round
Booking
Booking Required?
No
Nearby Attractions
Ta Prohm is a famous temple located in Siem Reap, Cambodia, known for the large…
Learn More
Angkor Wat, located in Siem Reap, Cambodia, is one of the largest religious monuments in…
Learn More
Pub Street in Siem Reap is a popular destination for both locals and tourists looking…
Learn More
The Bamboo Train in Battambang is a unique and intriguing form of rural transportation in…
Learn More
Sunset Beach on Koh Rong Sanloem is known for its pristine sandy shores and tranquil…
Learn More
Phnom Sampeau is a notable hill in Battambang, Cambodia, known for its historical and cultural…
Learn More
Wat Banan Temple is a historical site located in Battambang, Cambodia. The temple dates back…
Learn More
Mu Ko Chang National Park is located in the eastern part of Thailand and encompasses…
Learn More
Klong Plu Waterfall is a popular attraction located on the west side of Koh Chang,…
Learn More
White Sand Beach in Koh Chang is one of the most popular beaches on the…
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';
}
});
});
}
});