
function dimDisplay() {
AD.pauseslideshow = true;
xHide("TextBox");xHide("home");xHide("tourinfo");xHide("ContactForm");xHide("TourForm");
//xHide("CustomForm");
}

function focusDisplay() {
AD.pauseslideshow = false;
xShow("TextBox");xShow("home");xShow("tourinfo");xShow("ContactForm");xShow("TourForm");
//xShow("CustomForm");
} 

function closeForm(form){
var slides=AD.previousdisplay.slideImages?true:false;
if (!AD.refmainmenu.previous || AD.refmainmenu.previous.holddisplay) setSelectionTitle('');
		else setSelectionTitle(AD.refmainmenu.previous.sectiontitle);
AD.display = false;//to prevent the return on mousedown
flipDisplay(AD.previousdisplay,true,slides,false,false);
}

function flipDisplay(ele,text,slides,scn,show){
ele.showText = function(){
		//if (!AD.highlights)
		focusDisplay();
		if (this.classbox) swapTextBox(this.texto,this.classbox);
		if (this.heading) {
			xDisplay("home_heading",'none');xDisplay("selection_heading",'block');
			xDisplay("home_navigation",'none');
			var heading = xGetElementById('selection_heading');
			heading.innerHTML = "&#8212;&nbsp;"+this.heading+'...';
			var arrow = xGetElementById('browser').firstChild;//arrow
			if (arrow.info) xDisplay('countrybrowser','block');
			if (arrow.mustsee) xDisplay('mustseebrowser','block');
			if (arrow.map) xDisplay('COUNTRYMAP','block');
			} else if (!AD.highlights && !ele.holddisplay) {//holddisplay with contact form
						xDisplay("selection_heading",'none');xDisplay("home_heading",'block');
						xDisplay("home_navigation",'block');
						}
		if (!ele.touref) xDisplay('TourForm','none'); else xDisplay('TourForm','block');
		if (AD.highlights) {//when displaying tours
			xShow('tripinfo');
			xDisplay('tourinfo',"block");
			xDisplay(xGetElementById('browser').firstChild.firstChild,'block');//arrow
			xDisplay('COUNTRYMAP','none');
			xDisplay('countrybrowser','none');
			xDisplay('mustseebrowser','none');
			}  else xHide('tripinfo');
		activateScroller(this);
		clearTimeout(AD.textotimer);
		flipText(this,true);
		}
ele.activateSlides = function(){
		clearTimeout(AD.randomimagestimer);
		if (!this.slideImages.colorslides) {preloadScreenImages(this);activateMouseOverSlides(this);}
		}
ele.showSlides = function(){
		clearTimeout(AD.randomimagestimer);
		clearTimeout(AD.slidestimer);
		swapSlidePics(this.slideImages);
		flipSlides(this,true);
		}
if (scn) {clearTimeout(AD.screentimer);swapScreenPics(ele.screenImage);flipScreen(ele,false)}
if (text) {clearTimeout(AD.textotimer); AD.previousdisplay = AD.activebox;flipText(ele,show);}
if (slides) {
	clearTimeout(AD.randomimagestimer);
	clearTimeout(AD.slidestimer);
	var jpg = ele.slideImages[0].src.split('.jpg');
	var gif = ele.slideImages[0].src.split('.gif');
	if (jpg.length!=1 || gif.length!=1) flipSlides(ele,show);//dont swap slides in case the images have not been downloaded
	}
}

function swapScreenPics(pic){
var jpg = pic.src.split('.jpg');
var gif = pic.src.split('.gif');
if (AD.screencounter<5) AD.screencounter=10;
xGetElementById('screen_pic').src = xGetElementById('screen_pic2').src;
if(jpg.length!=1 || gif.length!=1) xGetElementById('screen_pic2').src = pic.src;//dont swap pic in case the image has not been downloaded
}

function swapTextBox(text,classbox){
var box = xGetElementById('TextBox');
box.innerHTML = text;
box.className = classbox;
}

function swapSlidePics(album){
var slideroot = xGetElementById('slidenav');
var spacer = xGetElementsByClassName('slidespacer',slideroot,'div');
var tr = xGetElementsByClassName('picSlide',slideroot,'img');
var DivWidth=0;
for (i=0; i<tr.length; i++){
	if (i<album.length) {
		tr[i].src = album[i].src;
		tr[i].width = album[i].width;
		xDisplay(tr[i].parentNode,"block");
		DivWidth += tr[i].width + 14;
		xWidth(spacer[i],tr[i].width+2);
		//tr[i].style.filter = (!album.colorslides)?'gray':'none';
		}
		else xDisplay(tr[i].parentNode,"none");
	}
xWidth('slidenav',DivWidth);
}

function flipScreen(ele,show){
var dir = (show)?1:-1;//show is always set to false cause both pics change simultaneously!
var end = (dir==1)?10:1;
var X,Y;
if (AD.screencounter*dir<end*dir){
	AD.screencounter+=dir*2;
	if (AD.screencounter*dir>end*dir) AD.screencounter=end;
	X = Math.log(AD.screencounter)/Math.LN10;
	Y = Math.log(11-AD.screencounter)/Math.LN10;
	xOpacity('screen_pic', X);
	xOpacity('screen_pic2', Y);
	AD.screentimer = setTimeout(function(){flipScreen(ele,show)},AD.counterspeed);
	}
}

function flipText(ele,show){
var dir = (show)?-1:1;
var end = (dir==1)?10:1;
var Y;
if (show || !AD.activebox) AD.activebox = ele;
var displaybox = (show)? ele.displaybox:AD.activebox.displaybox;
H = xHeight(displaybox);
if (AD.textocounter*dir<end*dir){
	AD.textocounter+=1.2*dir;
	if(AD.textocounter*dir>=end*dir) AD.textocounter = end;
	Y = H*(Math.log(AD.textocounter)/Math.LN10);
	xClip(displaybox,Y,xWidth(displaybox),xHeight(displaybox),xLeft(displaybox));
	xDisplay(displaybox,"block");
	AD.textotimer = setTimeout(function(){flipText(ele,show)},AD.counterspeed);
	} else {if(displaybox=='control'){
				xTop('TextBox',0);//in case text has been scrolled
				xClip('TextBox',0,xWidth('control'),xHeight('control'),xLeft('control'));
				} else if(!show) xDisplay(displaybox,"none");//to avoid layer selection problems, expecially with the forms!
			if (!show) {if(!ele.rst) ele.showText(); else ele.rst();} //ele.rst is used to load itineraries
			}
}

function flipSlides(ele,show){
var slideroot = xGetElementById('slidenav');
var slides = xGetElementsByClassName('picSlide',slideroot,'img');
var dir = (show)?1:-1;
var end = (dir==1)?10:1;
var L,R,counter;
if (AD.slidecounter*dir<end*dir){
	AD.slidecounter+=dir;
	if(AD.slidecounter*dir>end*dir) AD.slidecounter = end;
	counter=(show)?AD.slidecounter:11-AD.slidecounter;
	for(i=0;i<slides.length;i++) {
		R = (show)?slides[i].width*(Math.log(counter)/Math.LN10):slides[i].width;
		L = (show)?0:slides[i].width*(Math.log(counter)/Math.LN10);
		xClip(slides[i],0,R,xHeight(slides[i]),L);
		}
	AD.slidestimer = setTimeout(function(){flipSlides(ele,show)},AD.counterspeed);
	} else if (!show) ele.showSlides(); else ele.activateSlides();
}

function flipMenu(show){
if (show) {clearTimeout(timerloading);resetLoading();xDisplay("animation","none");}
var dir = (show)?1:-1;
var end = (dir==1)?9.9:1;
var X;
if (AD.menucounter*dir<end*dir){
	AD.menucounter+=dir;
	if(AD.menucounter*dir>=end*dir) AD.menucounter = end;
	X = 0.1 + Math.log(AD.menucounter)/Math.LN10;
	xOpacity('navigation', X);
	timermenu = setTimeout(function(){flipMenu(show)},AD.counterspeed);
	} else if (show&&IE) xGetElementById('navigation').style.filter = null;//for IE with mouseover!
}

/*function flipMenu(show){
if (show) {clearTimeout(timerloading);resetLoading();xDisplay("animation","none");}
var dir = (show)?1:-1;
var end = (dir==1)?10:1;
var Y;
if (AD.menucounter*dir<end*dir){
	AD.menucounter+=1.2*dir;
	if(AD.menucounter*dir>=end*dir) AD.menucounter = end;
	Y = 70*(Math.log(AD.menucounter)/Math.LN10);
	xTop('navigation',Y);
	timermenu = setTimeout(function(){flipMenu(show)},AD.counterspeed);
	} else {clearTimeout(timermenu); AD.activateNext();}//activateNext active either menu or loading
}

function flipMenu(show){
xShow("topnav");
var dir = (show)?-1:1;
var end = (dir==1)?10:1;
var IconLeft = 0;
var X;
if (AD.menucounter*dir<end*dir){
	AD.menucounter+=dir*1.5;
	if(AD.menucounter*dir>end*dir) AD.menucounter = end;
	X = AD.menuspacing*(1-(Math.log(AD.menucounter)/Math.LN10));
	for (i=0; i< AD.homemenu.length; i++){	
		if (AD.homemenu[i].parentNode.className=="firstlevel"){//1st Level
			xLeft(AD.homemenu[i],IconLeft*X);
			IconLeft++;		
		}	
	}
	timermenu = setTimeout(function(){flipMenu(show)},AD.counterspeed);
	} else {clearTimeout(timermenu);if(!show) xHide("topnav");} //if (show) xHide('SelectionTitle');}
}*/

function activateMouseOverSlides(ele){
var slideroot = xGetElementById('slidenav');
var tr = xGetElementsByClassName('picSlide',slideroot,'img');
getRandomImageNumber(ele);
for (i=0; i<tr.length; i++) {
	tr[i].indexnumber = i;
	tr[i].style.cursor="pointer";
	tr[i].onmousedown = function(){
		AD.pauseslideshow = false;
		if (this.indexnumber == AD.ImageNumber) return;
		clearTimeout(AD.randomimagestimer);
		//tr[AD.ImageNumber].style.filter = 'gray';
		AD.ImageNumber = this.indexnumber;	
		swapImagesRandomly(ele);
		}
	}
AD.randomimagestimer = setTimeout(function(){swapImagesRandomly(ele)},4000);
}

function swapImagesRandomly(ele){
var slideroot = xGetElementById('slidenav');
var tr = xGetElementsByClassName('picSlide',slideroot,'img');
if (!AD.pauseslideshow){
	ele.screenImage.src = ele.screenImageLoaded[AD.ImageNumber].src;
	//tr[AD.ImageNumber].style.filter = 'none';
	displaySelection(ele);
	} 
AD.randomimagestimer = setTimeout(function(){
		if(!AD.pauseslideshow){
			//tr[AD.ImageNumber].style.filter ='gray';
			AD.ImageNumber++;
			if (AD.ImageNumber>=ele.slideImages.length) AD.ImageNumber=0;	
			}
		swapImagesRandomly(ele);
	},4000);
}

function getRandomImageNumber(ele){
//AD.ImageNumber = Math.round(Math.random()*(ele.slideImages.length - 1));
AD.ImageNumber = 0;
ele.screenImage = new Image();
}

function rotateHomePics(index){
ele = new Object();
ele.screenImage = new Image();
if (!AD.pauseslideshow){
	ele.screenImage.src = HomePics[index].src;
	displaySelection(ele);
	} 
AD.randomimagestimer = setTimeout(function(){
		if(!AD.pauseslideshow){
			index++;
			if (index>=HomePics.length) index=0;	
			}
		rotateHomePics(index);
	},3000);
}

function preloadScreenImages(ele){
var album = ele.slideImages;
ele.screenImageLoaded = new Array();
var image,path;
for (i=0; i<album.length; i++) {
		ele.screenImageLoaded[i] = new Image();
		path = album[i].src.split('/');
		image="";
		for (j=0;j<path.length-1;j++) image += path[j]+"/";
		image +="full_size/"+path[path.length-1];
		ele.screenImageLoaded[i].src = image;
	}
}


/*
function resetMenus(e) {
if (!e) var e = window.event;
var ele = e.target ? e.target : e.srcElement;//way to access the element (equivalent of this) with AddEventListener
while (ele.nodeName != "LI" && ele.nodeName != 'BODY') ele = ele.parentNode;//sometimes the img trig the event insted of the LI!!!
if (ele.nodeName == "LI") removeDisplay(ele,e);
}

function resetHovers(e){
AD.pauseslideshow = false;
var ele;
if (!e) var e = window.event;
if (!(ele=mouseOutTargetHovers(e))) return;
if (!ele.hover) ele.className = null;
if (ele.parentmenu && !ele.parentmenu.hover) ele.parentmenu.className = null;//reset hovering first level
}

function mouseOutTarget(e) {//to prevent mouseout in case the mouse is still on the top layer
	var tg = (window.event) ? e.srcElement : e.target;
	while (tg.nodeName != "LI" && tg.nodeName != 'BODY') tg = tg.parentNode;//sometimes the img trig the event insted of the LI!!!
	if (tg.nodeName != 'LI') return false;
	var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement;
	var tgp = tg.parentNode;
	if ((!tgp.className || tgp.className!="firstlevel") && tgp == reltg.parentNode) return false;//moving on a sibbling without further submenu
	while (reltg != tg  && reltg.nodeName != 'BODY') reltg= reltg.parentNode;	
	if (reltg == tg) return false; else return tg;//return false to abort mouseout or target if event is OK
}

function mouseOutTargetHovers(e) {
	var tg = (window.event) ? e.srcElement : e.target;
	while (tg.nodeName != "LI" && tg.nodeName != 'BODY') tg = tg.parentNode;//sometimes the img trig the event insted of the LI!!!
	if (tg.nodeName != 'LI') return false;
	var reltg = (e.relatedTarget) ? e.relatedTarget : e.toElement;
	var tgp = tg.parentNode;
	if (tgp == reltg.parentNode) return tg;//move on a sibbling
	while (reltg != tg  && reltg.nodeName != 'BODY') reltg= reltg.parentNode;	
	if (reltg == tg) return false; else return tg;//return false to abort mouseout or target if event is OK
}
*/
