<!--
/*Author: Sébastien Mouren	*/

/*------------------------------------------------------------------------------------------------*/
function objectToId (objElement) {
	var strElementId;
	strElementId = (objElement.getAttribute && (objElement.getAttribute("id") != null)) ? objElement.getAttribute("id") : objElement.id;
	return strElementId;
}

function obtainNumberedCharacterFromPageName (nCharacterNumber) {
	var strDocumentURL = document.URL; //retrouve l'URL de la page
	var regShlashes = /\//;
	var arURLStrings = strDocumentURL.split(regShlashes);
	strDocumentURL = (arURLStrings != null) ? arURLStrings[arURLStrings.length - 1].substring(nCharacterNumber, nCharacterNumber + 1) : "w";
	return strDocumentURL;
}

/*------------------------------------------------------------------------------------------------*/
function getFirstNodeOfType(nodeType, objParentNode) {
	objParentNode = (objParentNode) ? objParentNode : document;
	for ( var objNode = objParentNode.firstChild; objNode != null; objNode = objNode.nextSibling ) {
		switch (nodeType) {
			case Node.ELEMENT_NODE:
				if (objNode.nodeType == 1) return objNode;
				break;
			case Node.TEXT_NODE:
				if (objNode.nodeType == 3) return objNode;
				break;
		}
	}
	return null;
}

function getFirstElementOfClass(strTagName, strClassName, objSearchRootElement) {
	objSearchRootElement = idToObject(objSearchRootElement);
	objSearchRootElement = (objSearchRootElement) ? objSearchRootElement : window.document;
	var objNode, arChildNodeElements;
	arChildNodeElements = objSearchRootElement.getElementsByTagName(strTagName);
	for ( var j = 0; j < arChildNodeElements.length; j++ ) if ( arChildNodeElements[j].className.indexOf(strClassName) != -1 ) objNode = arChildNodeElements[j];
	return objNode;
}

function getElementsByClassName(strTagName, strClassName, objSearchRootElement) {
	objSearchRootElement = idToObject(objSearchRootElement);
	objSearchRootElement = (objSearchRootElement) ? objSearchRootElement : window.document;
	var arNodeObjects, arChildNodeElements;
	arNodeObjects = new Array();
	arChildNodeElements = objSearchRootElement.getElementsByTagName(strTagName);
	for (var i = 0; i < arChildNodeElements.length; i++) {
		if (arChildNodeElements[i].className.indexOf(strClassName) != -1 ) arNodeObjects[arNodeObjects.length] = arChildNodeElements[i];
	}
	return arNodeObjects;
}

function getFirstAncestorOfTagName(objNode, strTagName) {
	objNode = idToObject(objNode);
	//alert('entering recurse');
	if (!objNode.parentNode) return;
	else if (objNode.parentNode.nodeName.toLowerCase() == strTagName) return objNode.parentNode;
	else getFirstAncestorOfTagName(objNode.parentNode,strTagName);
}

function getFirstChildOfTagName(objNode, strTagName) {
	objNode = idToObject(objNode);
	if (objNode.hasChildNodes()) {
		for ( var i = 0; i < objNode.childNodes.length; i++ ) {
			if ( objNode.childNodes[i].nodeName.toLowerCase() == strTagName ) return objNode.childNodes[i];
		}
	}
}

/*function getFirstChildOfTagName(objNode, strTagName) {
	if (!objNode.hasChildNodes()) return;
	else {
		for (var i = 0; i < objNode.childNodes.length; i++) {
			if ( objNode.childNodes[i].nodeName.toLowerCase() == strTagName ) return objNode.childNodes[i];
		}
		for (var i = 0; i < objNode.childNodes.length; i++) {
			getFirstChildOfTagName(objNode.childNodes[i], strTagName);
	}
	return;
}*/

//le code de la fonction est pourrie: à rendre objet et doit utiliser des méthodes de téléchargement XMLHTTpRequest
function preloadImages() {
	if(document.images) {
		if(!document.arImages) {
			document.arImages = new Array();
		}
		var j = document.arImages.length;
		for(var i=0; i < arguments.length; i++) {
			if (arguments[i].indexOf("#") != 0) {
					document.arImages[j] = new Image;
					document.arImages[j++].src=arguments[i];
				}
		}
	}
}

/*------------------------------------------------------------------------------------------------*/

function openLinkExternally() {
	if (!document.links) return;
	var objLink;
	for (var i = 0; i < document.links.length; i++) {
		objLink = document.links[i];
		if (objLink.getAttribute("href") && objLink.getAttribute("rel") == "external") objLink.target = "_blank";
		else if ((objLink.getAttribute("href") != "") && (window.getElementsByClassName("div", "rubricBand", document)[0] != null)) Event.observe(objLink, "mousedown", slideUpRubricBand, false);
	}
}

function findActualCoordinates(objElement) {
	var objCoordinateValues = {top: 0, left:0};
	if (objElement.offsetParent)
	{
		while (objElement.offsetParent)
		{
			objCoordinateValues.top += objElement.offsetTop
			objCoordinateValues.left += objElement.offsetLeft
			objElement = objElement.offsetParent;
		}
	} else if (objElement.x && objElement.y) {
		objCoordinateValues.top += objElement.y;
		objCoordinateValues.left += objElement.x;
	}
	return objCoordinateValues;
}

function resizeOverHandle(objEvent) {
	objEvent = Event.getEvent(objEvent);
	objElement = Event.element(objEvent);
	Event.cancelBubble(objEvent);
	if ((objElement.width > document.gallery.maxSize) || (objElement.height > document.gallery.maxSize)) return;
	new Effect.Grow(objElement, {scaleTo: 200, scaleFrom: 100, direction: "center" });
}

function resizeOutHandle(objEvent, nMinSize) {
	objEvent = Event.getEvent(objEvent);
	Event.cancelBubble(objEvent);
	objElement = Event.element(objEvent);
	nElement = parseInt(objElement.id);
	for ( var i = 0; i < document.gallery.icons.length; i++ ) {
		if ((parseInt(document.gallery.icons[i].id) == nElement) && ((parseInt(document.gallery.icons[i].style.width) > document.gallery.minSize) || (parseInt(document.gallery.icons[i].style.height) > document.gallery.minSize))) {
			new Effect.Shrink(objElement, {scaleFrom: 100, scaleTo: 50, direction: "center"});
		}
	}
}

function switchText() {
	var objEvent = Event.getEvent();
	var objLink = Event.element(objEvent);
	var strObjLinkId = objectToId(objLink);
	var objTextParagraphElement = document.getElementById("text");
	strObjLinkId = "mainText" + strObjLinkId.substring(4, 8);
	var objLangText = document.getElementById(strObjLinkId);
	for (var i = 0; i < objTextParagraphElement.childNodes.length; i++) {
		if ((objTextParagraphElement.childNodes.item(i).nodeType == 1) && (objTextParagraphElement.childNodes.item(i).nodeName.toLowerCase() == "p")) {
			if (objectToId(objTextParagraphElement.childNodes.item(i)) != strObjLinkId) objTextParagraphElement.childNodes.item(i).style.display = "none";
		}
	}
	objLangText.style.display = "block";
}


function makeOpaqueLayer() {
	var objEvent = Event.getEvent();
	var objTarget = Event.element(objEvent);
	var objRelatedTarget = Event.relatedElement(objEvent);
	var objSelectorElement = objTarget;
	if (objTarget.nodeName.toLowerCase() != "img") return;
	if (objRelatedTarget == null) return;
	while ((objTarget != objRelatedTarget) && !((objRelatedTarget.className == "selectorObjects") || (objRelatedTarget.nodeName.toLowerCase() == "body"))) {
		objRelatedTarget = objRelatedTarget.parentNode;
		if (objRelatedTarget == objTarget) return;
	}
	while (objSelectorElement.id.substring(0,10) != "selElement") {
		objSelectorElement = objSelectorElement.parentNode;
	}
	new Effect.Opacity(objSelectorElement, {duration: 0.4, fps: 30.0, from: 0.2, to: 1});
}

function makeTransparentLayer() {
	var objEvent = Event.getEvent();
	var objRelatedTarget = Event.relatedElement(objEvent);
	var objTarget = Event.element(objEvent);
	var objSelectorElement = objTarget;
	if (objRelatedTarget == null) return;
	while ((objRelatedTarget != objTarget) && !((objRelatedTarget.className == "selectorObjects") || (objRelatedTarget.nodeName.toLowerCase() == "body"))) {
		objRelatedTarget = objRelatedTarget.parentNode;
		if (objRelatedTarget == objTarget) return;
	}
		while (objSelectorElement.id.substring(0,10) != "selElement") {
		objSelectorElement = objSelectorElement.parentNode;
	}
	new Effect.Opacity(objSelectorElement, {duration: 0.3, fps: 30.0, from: 1, to: 0.2});
}

function zoomAndFadeLayer() {
	var objEvent = Event.getEvent();
	var objTarget = Event.element(objEvent);
	var objSelectorElement = objTarget;
	var objCurrentCoordinates;
	if (objTarget.nodeName.toLowerCase() != "img") return;
	while (objSelectorElement.id.substring(0,10) != "selElement") {
		objSelectorElement = objSelectorElement.parentNode;
	}
//	objSelectorDuplicatedElement = objSelectorElement.cloneNode(true);
//	objSelectorDuplicatedElement.id = "";
	objSelectorElement.style.zIndex = "1001";
//	objSelectorDuplicatedElement.style.position = "absolute";
//	objCurrentCoordinates = findActualCoordinates(objSelectorElement);
//	objSelectorDuplicatedElement.style.top = "" + objCurrentCoordinates.top + "px";
//	objSelectorDuplicatedElement.style.left = "" +objCurrentCoordinates.left  + "px";
	Event.stopObserving(objSelectorElement, "mousedown", zoomAndFadeLayer, false);
	Event.stopObserving(objSelectorElement, "mouseover", makeOpaqueLayer, false);
	Event.stopObserving(objSelectorElement, "mouseout", makeTransparentLayer, false);
//	objSelectorElement.parentNode.insertBefore(objSelectorDuplicatedElement, objSelectorElement);
	new Effect.Puff(objSelectorElement, {fps: 30.0, scaleFromCenter: true});
	
}

function slideDownRubricBand() {
	var objEvent = Event.getEvent();
//	var arBand = document.getElementById("band").getElementsByTagName("div");
	var arBand = window.getElementsByClassName("div", "rubricBand", document.getElementById("band"));
	var objBand = arBand[0];
	objBand.style.visibility = "visible";
//	for (var i = 0; i < arBand.length; i++) {
//		objBand = arBand[i];
		new Effect.SlideDown(objBand,{fps: 30.0, duration: 0.6});
//	}
}

function slideUpRubricBand() {
//	Event.preventDefault = true;
	var objEvent = Event.getEvent();
//	var arBand = document.getElementById("band").getElementsByTagName("div");
	var arBand = window.getElementsByClassName("div", "rubricBand", document.getElementById("band"));
	var objBand = arBand[0];
//	for (var i = 0; i < arBand.length; i++) {
//		objBand = arBand[i];
		new Effect.SlideUp(objBand,{fps: 30.0, duration: 0.3});
//	}
}

function showRubricSubMenu() {
	var objEvent = Event.getEvent();
	var objTarget = Event.element(objEvent);
	var objRelatedTarget = Event.relatedElement(objEvent);
	if (objTarget.nodeName.toLowerCase() != "td") return;
	if (objRelatedTarget == null) return;
	while ((objTarget != objRelatedTarget) && (objRelatedTarget.nodeName.toLowerCase() != "body")) {
		objRelatedTarget = objRelatedTarget.parentNode;
		if (objRelatedTarget == objTarget) return;
	}
	var objSubMenu = document.getElementById("subM" + objectToId(objTarget).substring(1));
	for(var i = 0; i < objSubMenu.parentNode.childNodes.length; i++) {
		var exObjSubMenu = objSubMenu.parentNode.childNodes.item(i);
		if(exObjSubMenu.nodeName.toLowerCase() == "ul") exObjSubMenu.style.display = "none";
	}
	if(objSubMenu.nodeName.toLowerCase() == "ul") objSubMenu.style.display = "block";
}


function hideAllSubMenu() {
	var objEvent = Event.getEvent();
	var objRelatedTarget = Event.relatedElement(objEvent);
	var objTarget = Event.element(objEvent);
	var strDocumentURL = obtainNumberedCharacterFromPageName(0);
	var objNavigator = objRelatedTarget;
	if (objRelatedTarget == null) return;
	while ((objRelatedTarget != objTarget) && (objRelatedTarget.nodeName.toLowerCase() != "body")) {
		objRelatedTarget = objRelatedTarget.parentNode;
		if (objRelatedTarget == objTarget) return;
	}
	while (objectToId(objNavigator) != "navigator" && (objNavigator.nodeName.toLowerCase() != "body")) {
		objNavigator = objNavigator.parentNode;
	if (objectToId(objNavigator) == "navigator") return;
	}
	arSubMenu = document.getElementById("subMenu").getElementsByTagName("ul");
	for(var i = 0; i < arSubMenu.length; i++) {
		var objSubMenu = arSubMenu[i];
		var strSubMenuId = objectToId(objSubMenu);
		if (strSubMenuId.substring(7, 8) != strDocumentURL) objSubMenu.style.display = "none";
		else objSubMenu.style.display = "block";
	}
}

var menuShown = {
	hasSubMenuShown: 1,
	rubricNumberId: 0
};


document.siteMap = {
	ref: "w",
	name: "Accueil",
	href: "welcome.shtml",
	childs: [{
		ref: "1",
		name: "Le Domaine",
		href: "1.shtml",
		childs: [{
			ref: "1",
			name: "L'histoire",
			href: "",
			childs: [{
				ref: "1",
				name: "Les premières années & la reconnaissance à l’international",
				href: "111.shtml"
				}, {
				ref: "2",
				name: "La sélection par les grandes tables & la Cuvée Réserve",
				href: "112.shtml"
				}, {
				ref: "3",
				name: "Le choix du bio & les nouveaux investissements",
				href: "113.shtml"
				}, {
				ref: "4",
				name: "Récemment...",
				href: "114.shtml"
				}
			]}, {
			ref: "2",
			name: "Les femmes et les hommes",
			href: "",
			childs: [{
				ref: "1",
				name: "Lisa & Geodfried",
				href: "121.shtml"
				}, {
				ref: "2",
				name: "La famille Latz",
				href: "122.shtml"
				}, {
				ref: "3",
				name: "L'œnologue",
				href: "123.shtml"
				}, {
				ref: "4",
				name: "L'équipe de terrain",
				href: "124.shtml"
				}
			]}, {
			ref: "3",
			name: "De la vigne au verre",
			href: "",
			childs: [{
				ref: "1",
				name: "Les vignes",
				href: "131.shtml"
				}, {
				ref: "2",
				name: "Les vinifications",
				href: "132.shtml"
				}, {
				ref: "3",
				name: "L’agriculture biologique",
				href: "133.shtml"
				}
			]}, {
			ref: "4",
			name: "Accès",
			href: "14.shtml",
			childs: []
			}, {
			ref: "5",
			name: "Correns",
			href: "15.shtml",
			childs: []
			}
		]}, {
		ref: "2",
		name: "Les vins",
		href: "2.shtml",
		childs: [{
			ref: "1",
			name: "Cuvée Réserve",
			href: "",
			childs: [{
				ref: "1",
				name: "Rouge 2003",
				href: "211.shtml"
				}, {
				ref: "2",
				name: "Rosé 2003",
				href: "212.shtml"
				}, {
				ref: "3",
				name: "Blanc 2003",
				href: "213.shtml"
				}
			]}, {
			ref: "2",
			name: "Cuvée Tradition",
			href: "",
			childs: [{
				ref: "1",
				name: "Rouge 2004",
				href: "221.shtml"
				}, {
				ref: "2",
				name: "Rosé 2004",
				href: "222.shtml"
				}, {
				ref: "3",
				name: "Blanc 2004",
				href: "223.shtml"
				}
			]}, {
			ref: "3",
			name: "Cuvée Lisa",
			href: "",
			childs: [{
				ref: "1",
				name: "Rouge 2004",
				href: "231.shtml"
				}, {
				ref: "2",
				name: "Rosé 2004",
				href: "232.shtml"
				}, {
				ref: "3",
				name: "Blanc 2004",
				href: "233.shtml"
				}
			]}, {
			ref: "4",
			name: "Récompenses",
			href: "24.shtml",
			childs: []
			}
		]}, {
		ref: "3",
		name: "Dégustations",
		href: "3.shtml",
		childs: [{
			ref: "1",
			name: "Au caveau",
			href: "31.shtml",
			childs: []
			}, {
			ref: "2",
			name: "Restaurants",
			href: "",
			childs: [{
				ref: "1",
				name: "en région PACA",
				href: "31.shtml"
				}, {
				ref: "2",
				name: "en région parisienne",
				href: "322.shtml"
				}, {
				ref: "3",
				name: "ailleurs en France",
				href: "323.shtml"
				}
			]}, {
			ref: "3",
			name: "Épiceries",
			href: "",
			childs: [{
				ref: "1",
				name: "en région PACA",
				href: "33.shtml"
				}, {
				ref: "2",
				name: "en région parisienne",
				href: "332.shtml"
				}, {
				ref: "3",
				name: "ailleurs en France",
				href: "333.shtml"
				}
			]}, {
			ref: "4",
			name: "Dans le monde",
			href: "34.shtml",
			childs: []
			}
		]}, {
		ref: "4",
		name: "Échanges",
		href: "4.shtml",
		childs: [{
			ref: "1",
			name: "Actualités",
			href: "41.shtml"
			}, {
			ref: "2",
			name: "Revue de presse",
			href: "42.shtml"
			}, {
			ref: "3",
			name: "Plaquette & photos",
			href: "43.shtml"
			}, {
			ref: "4",
			name: "La lettre des Aspras",
			href: "44.php"
			}, {
			ref: "5",
			name: "Liens",
			href: "45.shtml"
			}
		]}, {
		ref: "5",
		name: "La Bastide des Aspras",
		href: "51.shtml",
		childs: []
		}, {
		ref: "6",
		name: "Contacts",
		href: "61.shtml",
		childs: []
		}
	]
};

-->