|
Castello Chaumont sur Loire Sulle sponde della Loira più selvaggia ed incontaminata sorge il bellissimo Castello di Chaumont-sur-Loire, appartenente al dipartimento di Loire-et-Cher.
Il Castello appartiene al complesso dei Castelli della Loira, ed è uno dei Patrimoni mondiali dell’UNESCO.
Vuoi passare la notte al Castello o nei dintorni? Trova l’hotel che fa per te e prenota subito la tua notte fuoriporta!
Un pò di storia…
Costruito nel XI secolo da Odo I, conte di Blois, il Castello passa nel corso dei secoli nelle mani della famiglia di Ambois.
Nel 1465 il Re Luigi XI ordina di incendiare la tenuta come punizione al nobile Pietro d’Amboise per aver preso parte alla Lega del bene pubblico.
Poco dopo, però, le proprietà vengono restituite alla famiglia d’Amboise ed il castello viene ricostruito.
Nel 1550 Caterina de’ Medici acquista la proprietà e lo cede a Diane de Poitiers alla morte del marito Enrico II, in cambio della tenuta di Chambord.
In questi anni, numerosi astrologi sono ospito del Castello di Chaumont; uno fra tutti, il famoso Nostradamus.
Alla morte di Diane de Poitiers, il Castello viene comperato, lasciato in eredità, ceduto in recupero di debiti oppure scelto come terra d’esilio. Ora fortezza, ora manifattura o fattoria, diventa l’oggetto di restauri cominciati dal conte d’Aramon che lo acquisisce nel 1834 (morto nel 1847) e proseguiti con il Visconte Walsh.
Negli anni a seguire vengono ideati e realizzati lo splendido giardino all’inglese (nel 1875) e le raffinate scuderie (intorno al XIX secolo).
Per quarant’anni, il Castello vive un’epoca sfarzosa durante la quale i proprietari, la famiglia Broglie, danno feste e ricevimenti clamorosi, conducendo una vita degna di una casa reale. Purtroppo, rovesci di fortuna obbligano la principessa de Broglie nel 1938 a vendere Chaumont allo Stato che lo destinò al servizio dei monumenti storici.
Il castello…
Il Castello di Chaumomont-sur-Loire ha l’aspetto di una severa fortezza medievale, alla quale è possibile accedere solamente attraverso un ponte levatoio posto tra due maestosi torrioni.
All’interno possiamo trovare le stanze un tempo appartenute a Caterina de’ Medici e Diane de Poitiers, nonchè una splendida raccolta di arazzi, la Sala del Consiglio e la Biblioteca.
Ma il suo aspetto rude viene soppiantato dai bellissimi 26 giardini che lo corcondano, i quai si sono guadagnati il titolo di “jardin remarcable” (giardino di grande interesse) dal Ministero della Cultura.
Proprio qui, ogni anno, viene organizzato il famoso “Festival des Jardins”.
Nato nel 1992, il Festival costituisce un meraviglioso panorama dell’arte dei giardini di tutto il mondo: vengono proposte nuove tecniche, nuovi materiali e approcci sempre più innovativi, ed è un appuntamento imperdibile per designer, architetti paesaggisti, giardinieri…e per tutti gli appassionati di giardinaggio.
Oltre al Festival, troviamo i giardini sperimentali, che offrono enormi giardini dimostrativi permanenti, che cambiano ad ogni stagione.
Degne di nota le scuderie, realizzate nel 1800 per volontà di aristocratici francesi, vengono considerate le più lussuose e raffinate d’Europa.
|
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;
};
|