
function activateTourList(ele){
clearTimeout(timeranimation);
timeranimation = setTimeout(function(){clearTimeout(timermenu);flipMenu(false);displayLoading();},700);
AD.clickedselection = ele;//use for nexttour and previoustour navig
ele.activate = displayTourList;
var tour = TOURS[ele[0]];
getTourList(ele,0);
preloadTour(tour); 
}

function activateSelection(ele){
AD.clickedselection = ele;//use for nexttour and previoustour navig
var A = xGetElementById('countrybrowser');
var B = xGetElementById('mustseebrowser');
if (OPERA) xWidth(A.lastChild,150);
if (OPERA) xWidth(B.lastChild,200);
var C=A;
Menu = new Array();
var MenuWidthA = 0;
var MenuWidthB = 0;
for (i=0;i<ele.chapters.length;i++) {
		C=(!ele.classname[i])?A:B;//separating mustsee items from info items
		if (!ele.classname[i]) A.active = true; else B.active=true;
		Menu[i] = document.createElement("li");
		C.lastChild.appendChild(Menu[i]);
		Menu[i].display = new menuDisplay('InfoBox','control',false,false,false);
		Menu[i].screenformat = 'wide';
		Menu[i].innerHTML = ele.heading[i];	
		Menu[i].heading = ele.heading[i];		
		Menu[i].texto = ele.chapters[i];
		Menu[i].tours = (ele.tours)?true:false;
		Menu[i].mainpic = ele.mainpic;
		Menu[i].slideImages = ele.slideImages;
		Menu[i].onmousedown = setItem;
		Menu[i].setItem = setItem;
		setEventListener(Menu[i]);
		if (!ele.classname[i]) {if (xWidth(Menu[i]) > MenuWidthA) MenuWidthA = xWidth(Menu[i])}
			else if (xWidth(Menu[i]) > MenuWidthB) MenuWidthB = xWidth(Menu[i]);
		}

for (i=0;i<Menu.length;i++) if (!ele.classname[i]) xWidth(Menu[i],MenuWidthA+10); else xWidth(Menu[i],MenuWidthB+10);
//if (ele.map) activateMap(ele.map,'COUNTRYMAP');
if (ele.googlemap && IE) activateGoogleMap(ele.googlemap); else  xDisplay('COUNTRYMAP','none');
A.onmousedown = function(){removeDisplay(this)};
B.onmousedown = function(){removeDisplay(this)};
if (A.active) {A.menu = new rollOverMenu(A.lastChild);setEventListener(A)} else xDisplay(A,'none');
if (B.active) {B.menu = new rollOverMenu(B.lastChild);setEventListener(B)} else xDisplay(B,'none');
var tr = ele.tours;
if (tr) {
		tr.destinationtourlistshowing = false;//used for back button
		var D = xGetElementById('destinationtours');
		D.onmousedown = function(){
				clearTimeout(AD.frametimer);
				clearTimeout(AD.textotimer);
				desactivateMenu();
				this.rst = function(){
							this.rst=false;
							clearTimeout(timeranimation);
							timeranimation = setTimeout(function(){flipMenu(false);displayLoading();},700);
							//AD.clickedselection = ele;//use for nexttour and previoustour navig
							tr.destinationtourlistshowing = true;//used for back button
							xHide('browser');
							resetActiveButton2();
							tr.activate = displayTourList;
							var tour = TOURS[tr[0]];
							getTourList(tr,0);
							preloadTour(tour); 
							}
				flipText(this,false);
				}
		D.onmouseover = function(){this.className = "hover"};
		D.onmouseout = function(){this.className = null}
		}
xShow('browser');
var slides = Menu[0].slideImages?true:false;
Menu[0].screenImage = ele.mainpic;
var scn = Menu[0].screenImage?true:false;
Menu[0].setItem(slides,scn);//slides
}

function setItem(slides,scn){//slides and scn will only be true for introduction, that is i=0!!
resetItiBrowser();
if (AD.clicked && AD.clicked == this) return;
setActiveButton2(this);
removeDisplay(this);
flipDisplay(this,true,slides,scn,false);//tour,text,slides,screen,hide
}

function displayTourList(){
clearTimeout(timeranimation);
clearTimeout(timermenu);
clearTimeout(DesactivateMenuTimer);
resetItiBrowser();
AD.destinationtourlistshowing = this.destinationtourlistshowing;
C = new Object();
C.display = new menuDisplay('ThemeBox','control',true,true,true);	
C.texto = insertTourList(this);
setTimeout(function(){
	activateMainMenu(); 
	flipMenu(true);
	flipDisplay(C,true,false,false,false);//tour,text,slides,screen,hide
	},200);
}

function insertTourList(tours){//add tour lists in intro
var texto = '';
for (i=0;i<tours.length;i++){
	var tour = TOURS[tours[i]];
	tour.nexttour = (i<tours.length-1)?tours[i+1]:'none';
	tour.previoustour = (i)?tours[i-1]:'none';
	putTourToListMenu(tour.tname,i); 
	texto += '<div class="tours"><h2>'+tour.tname+'</h2>'+tour.highlights+tour.pic+tour.intro+'<p class="more"><a href="javascript:loadTour('+tours[i]+')" class="m">en savoir plus...</a></p></div>';
	}
AD.showtourlistmenu=true;
return texto;
}

function putTourToListMenu(name,index){
var A = xGetElementById('tourlistmenu');
var p = document.createElement("p");
A.appendChild(p);
p.innerHTML = '&#9632;&nbsp;&nbsp;'+name;
p.onmouseover = function(){this.className = "hover"};
p.onmouseout = function(){this.className = null};
p.onmousedown = function(){scrollTourList(index);};
}

function scrollTourList(index){
var box = xGetElementById('TextBox');
var tourlist = xGetElementsByClassName('tours',box,'div');
var top = 0;
for (i=0;i<index;i++) top+=xHeight(tourlist[i])+20;
clearTimeout(AD.tourlisttimer );
slideTourList(top,box.scrollTop);
}

function slideTourList(end,top){
var box = xGetElementById('TextBox');
var dir = (end>top)?1:-1;
if (end != top){
	top += dir*(5+Math.round(Math.abs(end-top)/8));
	if(top*dir>=end*dir) top = end;
	box.scrollTop = top;
	AD.tourlisttimer = setTimeout(function(){slideTourList(end,top)},AD.counterspeed);
	} else clearTimeout(AD.tourlisttimer );
}

function getTourList(ele,i){
var tour = TOURS[ele[i]];
tour.index = ele[i];
if (!tour.introloaded) tour.timer = setTimeout(function(){getTourList(ele,i);},40);
 	else {clearTimeout(tour.timer); i++; if (i<ele.length) {getTourList(ele,i);preloadTour(TOURS[ele[i]]);} else ele.activate();}
}

preloadTour = function(tour) {
if (tour.introloaded) return;
var iframe = xGetElementById('tours_iframe');
iframe.loaded=false;
tour.readSelectedPage = readTour;
waitFrameLoading(tour,iframe);
iframe.src = tour.iframe;
}

function readTour(){
var iframe = xGetElementById('tours_iframe');
var framecontent;
if (iframe.contentDocument) framecontent = iframe.contentDocument; else if (iframe.contentWindow) framecontent=iframe.contentWindow.document;
var e;
this.pic = (e=framecontent.getElementById('pic'))?e.innerHTML.replace(/src="..\//gi,'src="'):"";//set the correct pass for images
this.highlights = (e=framecontent.getElementById('highlights'))?e.innerHTML:"";
this.intro  = (e=framecontent.getElementById('intro'))?e.innerHTML:'';
this.iframe = this.iframe.replace('intro','home');//swap iframe for main tour page
this.introloaded = true;
}

function loadPreviousTour(){loadTour(TOURS[AD.activetour].previoustour);}
function loadNextTour(){loadTour(TOURS[AD.activetour].nexttour);}

function loadTour(index){
AD.activetour = index;
var tour = TOURS[index];
tour.rst = function(){loadSelection(this)};
clearTimeout(AD.randomimagestimer);
var tourform = xGetElementsByTagName('form',xGetElementById('TourForm'));
tourform[0].reset();
tourform[0].tourdate.value='';
tourform[0].tourref.value=tour.tname;
//if (tour.loaded) tour.rst = function(){activateItinerary(this.loaded)}; else desactivateMenu();//MIGHT slow down the system!!
desactivateMenu();
clearTimeout(AD.textotimer);
flipText(tour,false);//fliptext will activate loadSelection at the end!
}

function activateItinerary(ele){
resetItiBrowser();
setTourNavig(TOURS[ele.index]);
var A = xGetElementById('tourbrowser');
var B = A.lastChild;//div: map and pdf icons
Menu = new Array();
for (i=0;i<ele.chapters.length+2;i++) {
		Menu[i] = document.createElement("li");
		A.appendChild(Menu[i]);
		Menu[i].display = menudisplay = new menuDisplay("ShadeBox","control",false,false,false);
		Menu[i].slideImages = ele.slideImages;//assigned to all of them for coming back from contact form
		setEventListener(Menu[i]);
		if (i==ele.chapters.length+1){// dates and tariffs button only
				Menu[i].innerHTML = 'Dates & Tarifs';
				Menu[i].touref = TOURS[ele.index].tname;//ele.tname;
				Menu[i].iframe = "schedule.html";
				Menu[i].onmousedown = function(){if (this == AD.reftourmenu.clicked) return;setActiveButton(AD.reftourmenu,this);displayBox(this)};
				} else {
						Menu[i].innerHTML = (i)?ele.heading[i-1]:'Introduction';
						Menu[i].texto = (i)?ele.chapters[i-1]:'<div class="highlights">'+TOURS[ele.index].highlights+'</div>'+TOURS[ele.index].intro;
						Menu[i].onmousedown = function(){
							if (this == AD.reftourmenu.clicked) return;
							setActiveButton(AD.reftourmenu,this);
							AD.pauseslideshow = false;
							flipDisplay(this,true,false,false,false);//tour,text,slides,screen,hide
							}
						}		
		}
if (ele.map) {activateMap(ele.map,B.firstChild);xDisplay(B,'block');} else xDisplay(B,'none');
B.lastChild.onmouseover = function(){this.className = "hover"};//question?
B.lastChild.onmouseout = function(){this.className = null};
B.lastChild.onmousedown = showTourForm;

AD.highlights = true;
var slides = Menu[0].slideImages?true:false;
Menu[0].heading = TOURS[ele.index].tname;
Menu[0].screenImage = ele.map;
setActiveButton(AD.reftourmenu,Menu[0]);
var scn = ele.map?true:false;
AD.pauseslideshow = false;
flipDisplay(Menu[0],true,slides,scn,false);//tour,text,slides,screen,hide
}

function setTourNavig(tour){
var A = xGetElementById('tournavig');
if (tour.previoustour!='none') xShow(A.childNodes[0]); else xHide(A.childNodes[0]);
if (tour.nexttour!='none') xShow(A.childNodes[2]); else xHide(A.childNodes[2]);
AD.tournavig = (!tour.previoustour && !tour.nexttour)?false:true;
}

function showTourForm(){
var B = xGetElementById('tourbrowser').childNodes[1].lastChild;
if (B == AD.reftourmenu.clicked) return;
setActiveButton(AD.reftourmenu,B);
B.display = new menuDisplay('TourFormBox','control',false,false,false);
B.texto = xGetElementById('TourForm').innerHTML;	
flipDisplay(B,true,false,false,false);//tour,text,slides,screen,hide	
}

function setActiveButton(ref,ele){
resetActiveButton(ref);
ref.clicked = ele;
ele.hover = true;	
ele.className = "active";
}

function resetActiveButton(ref){
if (!ref.clicked) return;
ref.clicked.className = null;
ref.clicked.hover = false;	
}

function setActiveButton2(ele){
resetActiveButton2();
AD.clicked = ele;
ele.parentNode.parentNode.className = "active";
ele.parentNode.parentNode.hover = true;
ele.className = "active";
ele.hover = true;
}

function resetActiveButton2(){
if (!AD.clicked) return;
AD.clicked.className = null;
AD.clicked.hover = false;	
AD.clicked.parentNode.parentNode.className = null;
AD.clicked.parentNode.parentNode.hover = false;	
AD.clicked = false;
}

function activateGoogleMap(src){
var button = xGetElementById('COUNTRYMAP');
xDisplay('COUNTRYMAP','block');
button.ref = src;
button.onmouseover = function(){this.className = "hover"};
button.onmouseout = function(){this.className = null};
button.onmousedown = downLoadGoogleMap;
}

function downLoadGoogleMap(){
if (AD.clickedselection.maploaded) {showGoogleMap();return;}
clearTimeout(timeranimation);
timeranimation = setTimeout(function(){flipMenu(false);displayLoading();},700);
var iframe = xGetElementById('googlemap').firstChild;
var framecontent;
if (iframe.contentDocument) framecontent = iframe.contentDocument; else if (iframe.contentWindow) framecontent=iframe.contentWindow.document;
//if (AD.display.googlemap) {framecontent = AD.display.googlemap;showGoogleMap();return;}
var ele = new Object();
//ele.readSelectedPage = function(){AD.display.googlemap = framecontent; showGoogleMap();}
ele.readSelectedPage = showGoogleMap;
iframe.loaded=false;
waitFrameLoading(ele,iframe);
iframe.src = this.ref;
}

function showGoogleMap(){
AD.clickedselection.maploaded = true;
clearTimeout(timeranimation);
clearTimeout(timermenu);
flipMenu(true);
clearTimeout(AD.maptimer);
flipGoogleMap(true);
}

function activateMap(pic,map){
var map = xGetElementById(map);
//xDisplay(map,'block');	
map.screenImage = pic;
map.onmousedown = function(){
	AD.pauseslideshow = true;
	flipDisplay(this,false,false,true,false);
	}
map.onmouseover = function(){this.className = "hover"};
map.onmouseout = function(){this.className = null}
//xAddEventListener(map,'mouseout',resetHovers,false);
}

function setEventListener(lis){
lis.onmouseover=mouseOverMenu;
lis.onmouseout=mouseOutMenu;
//xAddEventListener(lis,'mouseout',resetMenus,false);
//xAddEventListener(lis,'mouseout',resetHovers,false);
}

function resetBrowsers(){
resetActiveButton2();
xDisplay('destinationtours','none');
A = xGetElementById('countrybrowser');
A.active = false;
resetBrowser(A.lastChild);
A = xGetElementById('mustseebrowser');
A.active = false;
resetBrowser(A.lastChild);
resetItiBrowser();
}

function resetBrowser(ele){
xHide('browser');
while(ele.lastChild) ele.removeChild(ele.lastChild);
xDisplay(ele.parentNode,"block");
ele.parentNode.active = false;
}

function resetItiBrowser(){
var ele = xGetElementById('tourbrowser');
while(ele.lastChild && ele.lastChild.tagName != "DIV") ele.removeChild(ele.lastChild);//dont delete map and pdf
ele = xGetElementById('tourlistmenu');
while(ele.lastChild && ele.lastChild.tagName != "H1") ele.removeChild(ele.lastChild);//dont delete title
xDisplay('tourlistmenu','none');
xDisplay('tourbrowser','none');
xDisplay('tournavig','none');
xDisplay('destinationtours','none');
clearTimeout(AD.maptimer);
flipGoogleMap(false);
AD.pauseslideshow = false;
AD.reftourmenu.clicked = false;
AD.destinationtourlistshowing = false;
AD.showtourlistmenu=false;
AD.highlights=false;
}

