|
Castello Montrésor L’elegante Castello rinascimentale di Montrésor, restaurato dal conte Branicki, ricco polacco amico di Napoleone, è situato nell’omonima cittadina di Montrésor, nella regione della Valle della Loira: un caratteristico paesino bagnato dall’Indrois che, con le sue stradine fiancheggiate da antiche dimore e la chiesta che accoglie il sepolcro della famiglia Bastarney, vi conquisterà fin dal primo momento.
Vuoi passare la notte al Castello o nei dintorni? Trova l’hotel che fa per te e prenota subito la tua notte fuoriporta!
Un po’ di storia…
Il Castello di Montrésor viene costriuto a partire dal 1005 da Folques Nerra III, conte d’Angiò per difendersi dal suo peggior nemico Eudes II de Blois, detto Eudes le Champenois.
Foulqes III riesce a sconfiggere Eudes II nella battaglia di Pontlevoy nel 1016, ma 5000 soldati perdono la vita nel combattimento, un prezzo veramente alto per l’epoca.
Folques vive fino a 70 anni e, per espiare le sue colpe, dovute ad una vita di guerre, saccheggi ed assassini, decide di andare in pellegrinaggio a Gerusalemme per 4 volte; successivamente, a Loches, fonda l’Abbazia di Beaulieu, dove si trova la sua tomba.
A lui si deve la fondazione della dinastia dei Plantageneti.
L’antica Collegiata di St. Jean Baptiste de Montrésor viene costruita tra il 1519 e il 1541 su iniziativa di Ymbert di Bastarnay, consigliere di ben quattro Re di Francia (Luigi XI, Carlo VIII, Luigi XII e Francesco I). Personaggio di spicco, vive fino a 85 anni e prende parte a tutte le trattative e negoziazioni politiche dell’epoca.
Nel 1849 il Castello viene acquistato dal conte Xavier Branicki, nobile polacco e amico di Napoleone Bonaparte, che adibisce la tenuta a vera e propria galleria d’arte.
Il castello…
Costruita nel 1005 ad opera di Folques Nerra, la poderosa fortezza di Montrésor domina incontrastata la suggestiva valle dell’Indrois.
Le mura di cinta che lo circoscrivono risalgono al 1493; dal momento dell’acquisizione del Castello da parte del polacco Branick, ha mantenuto inalterati i suoi interni, dalle decorazioni, ai quadri, ai mobili, costituendo un’autentica testimonianza del passato.
Nella grande sala da pranzo, che può ospitare fini a 40 coperti, è possibile osservare un prezioso comò in argento appartenuto a Napoleone Bonaparte, mentre nelle altre sale sono presenti magnifiche collezioni di dipinti del Rinascimento italiano ed olandese, trofei provenienti da tutto il mondo e collezioni di spade e armi da fuoco risalenti al XIX secolo.
|
Date.MILLISECONDS_PER_DAY = Date.prototype.MILLISECONDS_PER_DAY = 86400000;
var browser = navigator.appName
var version = navigator.appVersion
var startstring = parseFloat(version.indexOf("MSIE"))+1
var browserverion = parseFloat(version.substring(startstring+4,startstring+7))
var isIE5 = ((browser=="Microsoft Internet Explorer") && (browserverion < 6))? true : false; var isIE6 = ((browser=="Microsoft Internet Explorer") && (browserverion > 5.5) && (browserverion < 6))? true : false; // Put placeholder in destination input box if empty, and remove when focused var destination = document.getElementById('destination'); destination.onblur = function () { if (!this.value) { this.value = this.getAttribute('title'); this.className += ' blur'; } } destination.onfocus = function () { if (this.value == this.getAttribute('title')) { this.value = ''; this.className = this.className.replace(/ blur/, ''); } } destination.onblur(); function tickCheckBox(el) { if (document.getElementById) { if (document.getElementById(el)) { document.getElementById(el).checked = false; } } return true; } Date.prototype.getTwoDigitMonth = function () { // Returns a two-digit string from '01' to '12' representing the month property of a Date object. var month = (this.getMonth() + 1).toFixed().toString(); if (month.length == 1) { month = '0' + month; } return month; }; function checkDateOrder(me, ci_day, ci_month_year, co_day, co_month_year) { var frm = document.getElementById('frm'), my, ci = new Date( 0 ), co = new Date( 0 ), com, today = new Date(); // create date object from checkin values // set date to 12:00 to avoid problems with one // date being wintertime and the other summertime if ( frm[ci_day].value !== '0' ) { ci.setDate( frm[ci_day].value ); } if ( frm[ci_month_year].value !== '0' ) { my = frm[ci_month_year].value.split( "-" ); ci.setFullYear( my[0] ); ci.setMonth( my[1] - 1 ); } ci.setHours( 12 ); ci.setMinutes( 0 ); ci.setSeconds( 0 ); // create date object from checkout values if ( frm[co_day].value !== '0' ) { co.setDate( frm[co_day].value ); } if ( frm[co_month_year].value !== '0' ) { my = frm[co_month_year].value.split( "-" ); co.setFullYear( my[0] ); co.setMonth( my[1] - 1 ); } co.setHours( 12 ); co.setMinutes( 0 ); co.setSeconds( 0 ); // If the new checkin date's month does not match // the current value of the dropdown, then it is // because the month was incremented creating an // invalid date (e.g. February 31st). // We'll cycle back the checkin date until we're in // the correct month. if ( frm[ci_month_year].value !== '0' ) { while ( ci.getMonth() != frm[ci_month_year].value.split( "-" )[1] - 1 ) { ci.setDate( ci.getDate() - 1 ); frm[ci_day].value = ci.getDate(); } var cim = ci.getMonth() + 1; frm[ci_month_year].value = ci.getFullYear() + "-" + cim; } // if checkin date is at or after checkout date, // add a day full of milliseconds, and set the // selectbox values for checkout date to new value if ( ci >= co )
{
co.setTime( ci.getTime() + Date.prototype.MILLISECONDS_PER_DAY );
com = co.getMonth() + 1;
if ( frm[ci_day].value !== '0' )
{
frm[co_day].value = co.getDate();
}
if ( frm[ci_month_year].value !== '0' )
{
frm[co_month_year].value = co.getFullYear() + "-" + com;
}
}
}
function updateDaySelect( me )
{
// 1-2 testing
if ( !booking.env.b_simple_weekdays_for_js )
{
return;
}
var frm = document.getElementById('frm');
if ( frm.getAttribute( 'id' ) !== 'frm' && frm.className !== 'availForm' )
{
return;
}
// Check if we have all fields. If not, we are in the first stage
// of the book process and should not auto-update selects since there
// is only the check-in select and the amount of nights.
if ( !frm.checkin_monthday || !frm.checkout_monthday || !frm.checkin_year_month || !frm.checkout_year_month )
{
return;
}
if ( frm.checkin_monthday.value === '0' && frm.checkout_monthday.value === '0' && frm.checkin_year_month.value === '0' && frm.checkout_year_month.value === '0' )
{
return;
}
// If the year-month fields have nonzero values, prepend the day of the week to each monthday in the check-in and check-out monthday Selects.
var
ci_d = frm.checkin_monthday,
co_d = frm.checkout_monthday,
ci_my,
co_my,
todaysDate;
// If the form field has a nonzero value, use it;
if ( frm.checkin_year_month.value !== '0' )
{
ci_my = frm.checkin_year_month.value.split( "-" );
}
else
{
// Use the current date value.
todaysDate = new Date();
ci_my = [ todaysDate.getFullYear(), todaysDate.getTwoDigitMonth() ];
}
if ( frm.checkout_year_month.value !== '0' )
{
co_my = frm.checkout_year_month.value.split( "-" );
}
else
{
todaysDate = new Date();
co_my = [ todaysDate.getFullYear(), todaysDate.getTwoDigitMonth() ];
}
var
ci_sel = Math.max( ci_d.selectedIndex, 0 ),
co_sel = Math.max( co_d.selectedIndex, 0 ),
ci_sel_value = ci_d[ ci_sel ].value,
co_sel_value = co_d[ co_sel ].value,
monthDays = [],
opt,
i;
ci_d.innerHTML = '';
co_d.innerHTML = '';
var MonthdayPromptOption = function ()
{
this.option = {
"_this" : this,
"@selected" : "selected",
"@class" : "day prompt site_experiment_encourage_date_entry_2",
"@value" : 0,
"#text" : "giorno"
};
};
if ( ci_sel_value === '0' )
{
buildHtmlNode( new MonthdayPromptOption(), ci_d ).selected = true;
}
if ( co_sel_value === '0' )
{
buildHtmlNode( new MonthdayPromptOption(), co_d ).selected = true;
}
function writeMonthdaysOptions( numberOfMonthdaysToShow, yearMonthSelectElement, monthDaysArray, monthDaysSelectElement, monthDaySelectValue )
{
var i, optionElementInnerHTML, optionElement;
for ( i = 0; i < numberOfMonthdaysToShow; i++ ) { optionElement = document.createElement( 'option' ); optionElementInnerHTML = i + 1; if ( yearMonthSelectElement.value !== '0' ) { optionElementInnerHTML = monthDaysArray[i] + ' ' + optionElementInnerHTML; } optionElement.innerHTML = optionElementInnerHTML; optionElement.value = ( i + 1 ); if ( i > 0 && monthDaySelectValue == i + 1 )
{
optionElement.defaultSelected = optionElement.selected = true;
}
monthDaysSelectElement.appendChild( optionElement );
}
}
// Check-in month
monthDays = buildDaysForMonth( ci_my[0], ci_my[1] );
var numberOfMonthdaysToShow = 31;
if ( frm.checkin_year_month.value !== '0' )
{
numberOfMonthdaysToShow = monthDays.length;
}
writeMonthdaysOptions( numberOfMonthdaysToShow, frm.checkin_year_month, monthDays, ci_d, ci_sel_value );
// Checkout month
monthDays = buildDaysForMonth( co_my[0], co_my[1] );
numberOfMonthdaysToShow = 31;
if ( frm.checkout_year_month.value !== '0' )
{
numberOfMonthdaysToShow = monthDays.length;
}
writeMonthdaysOptions( numberOfMonthdaysToShow, frm.checkout_year_month, monthDays, co_d, co_sel_value );
// IE 6 exhibits a bug whereby the value of the monthday select always jumps to zero.
if (isIE6) {
ci_d.value = ci_sel_value;
co_d.value = co_sel_value;
}
}
function buildDaysForMonth( year, month )
{
// Month index starts on 0(-11) in Date()-object
var monthDate = new Date( year, month - 1 );
var orgMonth = monthDate.getMonth();
var dayArray = [], weekDay;
while ( monthDate.getMonth() == orgMonth )
{
// Week starts on Sunday in Date()-object
weekDay = ( monthDate.getDay() == 0 ) ? 6 : ( monthDate.getDay() - 1 );
dayArray.push( booking.env.b_simple_weekdays_for_js[weekDay] );
monthDate.setDate( monthDate.getDate() + 1 );
}
return dayArray;
}
function buildHtmlNode (elementsObject, targetNode, refChild)
{
/*
Accepts an object of elements where the key specifies the tagname unless prefixed by @, in which case it specifies an attribute of the parent, or when it is #cdata, in which case it specifies a CDATA child.
http://xml.com/pub/a/2006/05/31/converting-between-xml-and-json.html
The big flaw now is the case , which cannot be represented as a JS object. In that case interject an array of generic div or span elements.
*/
// If we want to validate as JSON, we must make sure what we pass in is JSON, which it presently isnot.
//elementsObject = booking.json.validate(elementsObject);
var
key,
counter,
found,
newElement,
newNode;
for (key in elementsObject)
{
if (elementsObject.hasOwnProperty(key))
{
var
prefix = key.substring(0, 1),
primaryKey = key.substring(1);
if (prefix != '_') // We窶决e on a non-DOM key, so skip.
{
if (prefix == '@') // Attribute
{
if (!targetNode.getAttribute(primaryKey))
{
// Perhaps extend this in the future to support multiple class values.
targetNode.setAttribute(primaryKey, elementsObject[key]);
}
}
else
{
if (prefix == '#') // Text or CDATA
{
if (primaryKey == 'text') // Text
{
found = false;
if (targetNode.childNodes && targetNode.childNodes.length > 0)
{
// Traverse text node children and append only if it isn窶冲 already there.
counter = 0;
while (counter < targetNode.childNodes.length && !found)
{
if (targetNode.childNodes[counter].nodeType == Node.TEXT_NODE && targetNode.childNodes[counter].nodeValue == elementsObject[key])
{
found = true;
}
counter++;
}
}
if (!found)
{
// MGP 040209: Cope with strings split by linebreaks - need to insert elements
if ( elementsObject[key].indexOf("\n") == -1 )
{
newNode = document.createTextNode(elementsObject[key]);
if (refChild)
{
targetNode.insertBefore(newNode, refChild);
}
else
{
targetNode.appendChild(newNode);
}
}
else
{
// Found some linebreaks - split the string into component parts
var newNodeParts = elementsObject[key].split("\n");
// Loop through the parts, adding a linebreak after each one (except the last one)
for ( var i = 0; i < newNodeParts.length; i++ )
{
// Check for the existence of a star rating in the text node
if ( newNodeParts[i].match(/\d\*$/) )
{
// Found a star rating - extract the star
lastSpace = newNodeParts[i].lastIndexOf(" ");
newNodeString = newNodeParts[i].substring( 0, lastSpace );
starImgSrc = 'http://q.bstatic.com/static/img/icons/stars/' + newNodeParts[i].substr( lastSpace + 1, 1 ) + 'sterren-small.png';
}
else
{
newNodeString = newNodeParts[i];
starImgSrc = '';
}
newNode = document.createTextNode(newNodeString);
if (refChild)
{
targetNode.insertBefore(newNode, refChild);
if ( starImgSrc )
{
newImg = document.createElement('img');
newImg.setAttribute('src', starImgSrc);
newImg.className = "stars";
targetNode.insertBefore(newImg, refChild);
}
}
else
{
targetNode.appendChild(newNode);
if ( starImgSrc )
{
newImg = document.createElement('img');
newImg.setAttribute('src', starImgSrc);
newImg.className = "stars";
targetNode.appendChild(newImg);
}
}
if ( i < newNodeParts.length - 1)
{
// Add a
newBR = document.createElement("br");
if (refChild)
{
targetNode.insertBefore(newBR, refChild);
}
else
{
targetNode.appendChild(newBR);
}
}
}
}
}
}
else
{
if (primaryKey == 'cdata') // CDATA
{
targetNode.appendChild(document.createCDATASection(elementsObject[key]));
}
}
}
else // Element
{
// If targetNode was passed into this function, append the new child to it窶ヲ
if (targetNode)
{
// If elementsObject[key] is an array, we窶冤l create an element of type key for each array member.
if (elementsObject[key].length > 0)
{
for (counter = 0; counter < elementsObject[key].length; counter++)
{
if (elementsObject[key][counter])
{
if (!elementsObject[key][counter]._node)
{
newElement = document.createElement(key);
elementsObject[key][counter]._node = newElement;
var r = counter + 1;
while (r < elementsObject[key].length && !refChild)
{
if (elementsObject[key][r])
{
refChild = elementsObject[key][r]._node;
}
r++;
}
if (refChild)
{
newNode = targetNode.insertBefore(
elementsObject[key][counter]._node,
refChild);
}
else
{
newNode = targetNode.appendChild(
elementsObject[key][counter]._node);
}
arguments.callee(
elementsObject[key][counter],
newNode);
newElement._elementTree = elementsObject[key][counter];
}
else
{
arguments.callee(
elementsObject[key][counter],
elementsObject[key][counter]._node);
}
}
}
}
else
{
if (elementsObject[key].length !== 0)
{
if (!elementsObject[key]._node)
{
newElement = document.createElement(key);
elementsObject[key]._node = newElement;
if (refChild)
{
newNode = targetNode.insertBefore(
elementsObject[key]._node,
refChild);
}
else
{
newNode = targetNode.appendChild(
elementsObject[key]._node);
}
arguments.callee(
elementsObject[key],
newNode);
newElement._elementTree = elementsObject;
}
else
{
arguments.callee(
elementsObject[key],
elementsObject[key]._node);
}
}
}
}
// else create the new element as targetNode.
else
{
if (!elementsObject[key]._node)
{
arguments.callee(elementsObject[key],
elementsObject[key]._node = targetNode = document.createElement(key));
}
else
{
arguments.callee(elementsObject[key],
elementsObject[key]._node);
}
}
}
}
}
}
}
return targetNode;
};
|