var divers_photos='0-pane';
var divers_videos='0-pane';
var tabTag="-tab";
var paneTag="-pane";

function ScrollSection(link,scrollArea,offset,variable_initial,direction){
	eval("var current="+variable_initial+";");
	if(current==link)return;
	
	lastSection=current;
	eval(variable_initial+"=link;");
	currentSection=link;
	
    sectionTab=currentSection.split("-")[0] + tabTag;
    document.getElementById(sectionTab).className="active";
    if(lastSection){
	    lastTab=lastSection.split("-")[0] + tabTag;
	    document.getElementById(lastTab).className="inactive";
	}
    
	theScroll=document.getElementById(scrollArea);
	position=findElementPos(document.getElementById(link));
	if(offset!=""){
		offsetPos=findElementPos(document.getElementById(offset));
		position[0]=position[0] - offsetPos[0];
	}
	if(direction==1) scrollStart(theScroll,theScroll.scrollTop,position[1]-260,"vertical");
	else if(direction==0) scrollStart(theScroll,theScroll.scrollLeft,position[0],"horiz");
}

// Scroll the page using the arrows

function ScrollArrow(direction,toolbar,scrollArea,offset,variable_initial,direction_horiz){

	toolbarElem=document.getElementById(toolbar);
	toolbarNames=new Array();
    
   if(toolbarElem.hasChildNodes()){
		var children=toolbarElem.childNodes;
		for(var i=0; i < children.length; i++){
			if(toolbarElem.childNodes[i].tagName=="LI"){
				toolbarNames.push(toolbarElem.childNodes[i].id.split("-")[0]);
			}
		}
	}
	
	eval("var current="+variable_initial+";");
	
	for(var i=0; i < toolbarNames.length; i++){
		if(toolbarNames[i]==current.split("-")[0]){
			if(direction=="left"){
				if(i - 1 < 0){
					gotoTab=toolbarNames[toolbarNames.length - 1];
				} else{
					gotoTab=toolbarNames[i - 1];
				}
			}else{
				if((i + 1) >(toolbarNames.length - 1)){
					gotoTab=toolbarNames[0];
				} else{
					gotoTab=toolbarNames[i + 1];
				}
			}
		}
	}
	
	ScrollSection(gotoTab+paneTag,scrollArea,offset,variable_initial,direction_horiz);
}

var scrollanim={time:0,begin:0,change:0.0,duration:0.0,element:null,timer:null};

function scrollStart(elem,start,end,direction){
	//console.log("scrollStart from "+start+" to "+end+" in direction "+direction);

	if(scrollanim.timer!=null){
		clearInterval(scrollanim.timer);
		scrollanim.timer=null;
	}
	scrollanim.time=0;
	scrollanim.begin=start;
	scrollanim.change=end - start;
	scrollanim.duration=25;
	scrollanim.element=elem;
	
	if(direction=="horiz"){
		scrollanim.timer=setInterval("scrollHorizAnim();",15);
	}else{
		scrollanim.timer=setInterval("scrollVertAnim();",15);
	}
}

function scrollVertAnim(){
	if(scrollanim.time > scrollanim.duration){
		clearInterval(scrollanim.timer);
		scrollanim.timer=null;
	}
	else{
		move=sineInOut(scrollanim.time,scrollanim.begin,scrollanim.change,scrollanim.duration);
		scrollanim.element.scrollTop=move; 
		scrollanim.time++;
	}
}

function scrollHorizAnim(){
	if(scrollanim.time > scrollanim.duration){
		clearInterval(scrollanim.timer);
		scrollanim.timer=null;
	}
	else{
		move=sineInOut(scrollanim.time,scrollanim.begin,scrollanim.change,scrollanim.duration);
		scrollanim.element.scrollLeft=move;
		scrollanim.time++;
	}
}

//
// LARGE POPUP: Full-Screen Pop-up Functions
//

function showLargePopup(elem){

    var popFullscreen=document.getElementById('fullscreen');
    var popLarge=document.getElementById('largepopup');

	// Put the correct content in the pop-up

	//if(navigator.platform.indexOf('Mac')!=-1){
	//	document.getElementById('start-download').className='show';
	//	document.getElementById('wrong-os').className='hide';
	//} else{
	//	document.getElementById('start-download').className='hide';
	//	document.getElementById('wrong-os').className='show';
	//}
 
 	document.getElementById('start-download').className='show';
	// document.getElementById('wrong-os').className='hide';
    
    // Make fullscreen thing really full screen,and show it
    getSize();
    popFullscreen.style.height=myScrollHeight + 'px';
    popFullscreen.style.display='block';
	
    // Position pop-up
    popLarge.style.left=((myWidth - popLarge.offsetWidth) / 2) + 'px';
    popLarge.style.top=(((myHeight - popLarge.offsetHeight) / 2) + myScroll) + 'px';
    popLarge.style.visibility='visible';
    
    refreshTimer=setTimeout("setLocation('"+elem.getAttribute("href")+"')",1500);

}

function setLocation(loc){
	window.location=loc;
}

function hideLargePopup(){
    var popFullscreen=document.getElementById('fullscreen');
    var popLarge=document.getElementById('largepopup');
    
    popLarge.style.visibility='hidden';
    popFullscreen.style.display='none';
}

//
// DOWNLOAD SMALL POPUP: Download Hint Pop-up Functions
//
// An advantage of using a timer to do a hide is that we can ignore
// any spurious mouseOut events that have bubbled up,into <td>'s,etc.

var dpopTimer="";

function showDownloadPopup(e){
	var popDownload=document.getElementById('dpop');
	var btnDownload=document.getElementById('download');

	if(moveanim.timer!=null){
		clearInterval(moveanim.timer);
		moveanim.timer=null;
	}

	// Determine where we should pop up in relation to the download button

	position=findElementPos(btnDownload);
	popDownload.style.top=(position[1] -(popDownload.offsetHeight - 40)) +"px";
	popDownload.style.left="5" + "px";

	// If already trigger a rollover,cancel it because we're back in

	if(dpopTimer!=""){
		clearTimeout(dpopTimer);
		dpopTimer="";
	} else{
		setOpacity(0,'dpop');
		popDownload.style.visibility='visible';
		moveStart(popDownload,parseInt(popDownload.style.left),parseInt(popDownload.style.left),parseInt(popDownload.style.top) + 10,parseInt(popDownload.style.top),15);
		fadeElementSetup('dpop',0,100,13);
	}
}

function hideDownloadPopup(){
	// Start timer to hide the pop-up and the overlay
	dpopTimer=setTimeout("actuallyHide()",500);
}

function actuallyHide(){
	var popDownload=document.getElementById('dpop');
	if(dpopTimer!=""){
		dpopTimer="";
		moveStart(popDownload,parseInt(popDownload.style.left),parseInt(popDownload.style.left),parseInt(popDownload.style.top),parseInt(popDownload.style.top) - 10,15);		
		fadeElementSetup('dpop',100,0,13,1);
	}
}

//
// MOVE: Animate the move of an element.
//
// Move is also synchronous. One at a time,please.
//

var moveanim={time:0,beginX:0,changeX:0.0,beginY:0,changeY:0,duration:0.0,element:null,timer:null};

function moveStart(elem,startX,endX,startY,endY,duration){
	if(moveanim.timer!=null){
		clearInterval(moveanim.timer);
		moveanim.timer=null;
	}
	moveanim.time=0;
	moveanim.beginX=startX;
	moveanim.changeX=endX - startX;
	moveanim.beginY=startY;
	moveanim.changeY=endY - startY;
	moveanim.duration=duration;
	moveanim.element=elem;

	moveanim.timer=setInterval("moveAnimDo();",15);
}

function moveAnimDo(){
	if(moveanim.time > moveanim.duration){
		clearInterval(moveanim.timer);
		moveanim.timer=null;
	}
	else{
		moveX=cubicOut(moveanim.time,moveanim.beginX,moveanim.changeX,moveanim.duration);
		moveY=cubicOut(moveanim.time,moveanim.beginY,moveanim.changeY,moveanim.duration);
		moveanim.element.style.left=moveX + "px";
		moveanim.element.style.top=moveY + "px";
		moveanim.time++;
	}
}
