Historical Monument
About This Attraction
The White Tower in Thessaloniki is a prominent historical monument and museum located on the citys waterfront. It dates back to the 15th century and has served various purposes over the years, including a fortress and prison. Visitors today can explore its six floors, which house exhibits related to Thessalonikis history. The tower offers panoramic views of the city from its top floor, making it a popular spot for tourists and locals alike.
For those planning a visit, knowing the White Tower opening hours is essential. The tower is typically open to the public every day except Mondays, with varying hours depending on the season. Admission fees are moderate, with discounts available for students and seniors. Its advisable to check current opening times before visiting, as they can change throughout the year.
Location Details
Address
Thessaloniki 546 21, Greece
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
8 EUR
Child
Free
Student
4 EUR
Senior
4 EUR
Opening Hours & Booking
Open
Days
Tuesday to Sunday
Hours
08:00 - 20:00
Seasonality
Closed on Mondays and public holidays
Booking
Booking Required?
No
Nearby Attractions
The Archaeological Museum of Thessaloniki is a prominent cultural institution located in Greece. It houses…
Learn More
Aristotelous Square is a central landmark in Thessaloniki, Greece, known for its impressive architecture and…
Learn More
Ano Poli, the Upper Town of Thessaloniki, is known for its historical significance and scenic…
Learn More
Pirin National Park, located in Bansko, Bulgaria, is a UNESCO World Heritage site known for…
Learn More
Bansko Ski Resort, located in Bulgaria, is a popular destination for winter sports enthusiasts. The…
Learn More
The Rotunda in Thessaloniki, Greece, is an impressive architectural structure with a fascinating history. Constructed…
Learn More
The Asklepion in Kos is an ancient healing temple dedicated to Asclepius, the Greek god…
Learn More
Vitosha Boulevard is a major shopping street in Sofia, Bulgaria, known for its array of…
Learn More
The National Palace of Culture in Sofia, Bulgaria, is a multifunctional conference and exhibition center.…
Learn More
Alexander Nevsky Cathedral in Sofia, Bulgaria, is one of the largest Eastern Orthodox cathedrals in…
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';
}
});
});
}
});