Historic Palace
About This Attraction
Jag Mandir is a renowned palace located on an island in Lake Pichola, Udaipur, India. This 17th-century architectural marvel was built by the royal family of Mewar as a summer resort and pleasure palace. It is famous for its intricate marble work, expansive courtyards, and beautiful gardens. Visitors can enjoy the serene views of the lake and the city from this scenic spot. The palaces historical significance and aesthetic appeal make it a popular destination for tourists.
Practical information about visiting Jag Mandir includes its accessibility by boat from the City Palace jetty. While planning your visit, its important to consider Jag Mandir opening hours to ensure entry. The palace often hosts events and weddings, which may affect public access. Despite these occasional restrictions, it remains a must-see for those exploring Udaipur. Concluding your trip with a boat ride around the lake provides a memorable experience.
Location Details
Address
Lake Pichola, Udaipur, Rajasthan, India
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
450 INR
Child
250 INR
Student
350 INR
Senior
400 INR
Opening Hours & Booking
Open
Days
Daily
Hours
10:00 AM - 6:00 PM
Seasonality
Year-round
Booking
Booking Required?
No
Nearby Attractions
Lake Pichola is a picturesque lake located in Udaipur, Rajasthan, India. It was created in…
Learn More
Fateh Sagar Lake is a popular tourist destination located in the city of Udaipur, Rajasthan.…
Learn More
Adalaj Stepwell, located near Ahmedabad in Gujarat, India, is a remarkable example of Indian architecture…
Learn More
Sabarmati Ashram, located in Ahmedabad, India, is a significant historical site tied to Mahatma Gandhi.…
Learn More
The Sidi Saiyyed Mosque in Ahmedabad is renowned for its intricate stone lattice work, particularly…
Learn More
Kankaria Lake, located in Ahmedabad, India, is a popular recreational spot that attracts both locals…
Learn More
Savitri Temple in Pushkar is a significant spiritual site located on Ratnagiri Hill, offering panoramic…
Learn More
The Brahma Temple in Pushkar is one of the few temples dedicated to Lord Brahma,…
Learn More
Pushkar Lake, located in the town of Pushkar in Rajasthan, India, is a significant pilgrimage…
Learn More
The Pushkar Camel Fair is an annual event held in the town of Pushkar, Rajasthan,…
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';
}
});
});
}
});