Hindu Temple
About This Attraction
Kapaleeshwarar Temple, located in Chennai, India, is a prominent Hindu temple dedicated to Lord Shiva. Built in the Dravidian architectural style, it features an impressive gopuram (gateway tower) adorned with intricate carvings. Visitors to the temple can admire its beautiful courtyard and various shrines dedicated to deities like Parvati and Ganapati. The temple is not only a place of worship but also a significant cultural landmark in the city.
Kapaleeshwarar Temple opening hours are from 5:00 AM to 12:00 PM and then from 4:00 PM to 9:00 PM, allowing ample time for visitors to explore. During festivals like Panguni Peruvizha, the temple becomes especially lively with celebrations that attract many devotees and tourists alike. The temples serene environment offers a peaceful retreat from the citys hustle and bustle. Whether youre interested in architecture or spirituality, this temple provides an enriching experience for all visitors.
Location Details
Address
12, North Mada St, Vinayaka Nagar Colony, Mylapore, Chennai, Tamil Nadu 600004, India
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
Free
Child
Free
Student
Free
Senior
Free
Opening Hours & Booking
Open
Days
Monday to Sunday
Hours
5:00 AM to 12:00 PM, 4:00 PM to 9:00 PM
Seasonality
Open year-round
Booking
Booking Required?
No
Nearby Attractions
Marina Beach in Chennai is one of the longest urban beaches in the world, extending…
Learn More
The Government Museum in Chennai, also known as the Madras Museum, is one of the…
Learn More
Fort St. George is a historic fortress located in Chennai, India, and it holds significant…
Learn More
Auroville is an experimental township located near Pondicherry, India, dedicated to human unity and sustainable…
Learn More
Promenade Beach in Pondicherry is a well-known seaside destination that offers a relaxing environment along…
Learn More
Cubbon Park, located in the heart of Bengaluru, is a prominent green space that attracts…
Learn More
Bangalore Palace is a stunning example of Tudor-style architecture located in the heart of Bengaluru,…
Learn More
Lalbagh Botanical Garden in Bengaluru is a renowned destination for plant enthusiasts and casual visitors…
Learn More
Bannerghatta National Park, located near Bengaluru in India, is a popular destination for wildlife enthusiasts…
Learn More
Ramoji Film City, located in Hyderabad, India, is one of the largest film studio complexes…
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';
}
});
});
}
});