// JavaScript Document
//메인 내비게이션
var numSub = 6; //서브메뉴의 개수
var positionTop1 = 56; //css의 서브메뉴 높이 값(없어지는 위치)
var positionTop2 = 30; //css의 서브메뉴 높이 값(나타날 최종 위치)
var submenuNow = new Array(0,0,0,0,0,0); // 0이면 표시되지 않은 상태, 1이면 표시된(시작) 상태
var alpha = new Array(0,0,0,0,0,0);
var position = new Array(positionTop1,positionTop1,positionTop1,positionTop1,positionTop1,positionTop1); 
var intervalElement = new Array(6);


function show(num, numFrames, timePerFrame){	
	if(submenuNow[num-1] == 1) return;	  //현재 표시된 경우에는 무시
	clearInterval(intervalElement[num-1]);  //움직이고 있는 중간에 다시 선택되는 경우 기존의 애니메이션 효과는 정지
	
    for(var i=0 ; i<numSub; i++){
		if(submenuNow[i] == 1){
			disappear(i+1,numFrames,timePerFrame);  //현재 표시된 것은 모두 없앰
		}
	}
	
	submenuNow[num-1] = 1;	  //나타난 것으로 간주
	
	var frame = 0;
	
	var id = "subNav" + num.toString();
	var el = document.getElementById(id);
	var positionFirst = position[num-1];
	
	intervalElement[num-1] = setInterval(displayNextFrame, timePerFrame);
	
	function displayNextFrame(){
		if(frame >= numFrames){     //프래임이 종료되었으면
			alpha[num-1] = 1;			
			el.style.opacity = alpha[num-1];  //기타 브라우져용
			el.style.filter = 'alpha(opacity='+ alpha[num-1]*100 + ');'; //ie8 이하버전 용
			position[num-1] = positionTop2;
			el.style.top = position[num-1] + "px";			
			clearInterval(intervalElement[num-1]);    //인터벌 호출 종료
		}else{   //애니메이션 종류를 css로 설정
			if(frame == 0){
				el.style.display = 'block'
				el.style.opacity = alpha[num-1];
				el.style.filter = 'alpha(opacity='+ (alpha[num-1]*100) +');';
				el.style.top = position[num-1] + "px";				
			}else{
				alpha[num-1] = alpha[num-1] + ((1-alpha[num-1])/numFrames);
				el.style.opacity = alpha[num-1];
				el.style.filter = 'alpha(opacity='+ (alpha[num-1]*100) +');';
				position[num-1] -= (positionFirst - positionTop2)/numFrames;
				el.style.top = position[num-1] + "px";
			}
		}
		frame++;
	}
}

function disappear(num, numFrames, timePerFrame){
	if(submenuNow[num-1] == 0) return;	
	clearInterval(intervalElement[num-1]); //움직이고 있는 중간에 다시 선택되는 경우 기존의 애니메이션 효과는 정지
	
	submenuNow[num-1] = 0; //없어진 상태로 표시 .. 없어지고 있는 중간에 다시 선택되는 경우에는 다시 올라와야 함
	var frame = 0;
	
	var id = "subNav" + num.toString();
	var el = document.getElementById(id);
	var positionFirst = position[num-1];
	
	intervalElement[num-1] = setInterval(displayNextFrame, timePerFrame);
	
	function displayNextFrame(){
		if(frame >= numFrames){     //프래임이 종료되었으면
			el.style.display = 'none'
			position[num-1] = positionTop1;
			el.style.top = position[num-1] + "px";			
			clearInterval(intervalElement[num-1]);    //인터벌 호출 종료			
		}else{   //애니메이션 종류를 css로 설정
			if(frame == 0){
				el.style.opacity = alpha[num-1];
				el.style.filter = 'alpha(opacity='+ (alpha[num-1]*100) +');';
				el.style.top = position[num-1] + "px";
			}else{
				alpha[num-1] = alpha[num-1] - (alpha[num-1]/numFrames)*3;
				el.style.opacity = alpha[num-1];
				el.style.filter = 'alpha(opacity='+ (alpha[num-1]*100) +');';
				position[num-1] += (positionTop1-positionFirst)/numFrames;
				el.style.top = position[num-1] + "px";
			}
		}
		frame++;
	}
}

function disappearAll(){
	for(var i=0; i<numSub; i++){
		if(submenuNow[i] == 1){
			disappear(i+1,30,20);  //현재 표시된 것은 모두 없앰
		}
	}
}



// 배너1 (GOLD / SILVER)
var silverBanner;
var silverBannerElements = new Array();
var numSilverBanner;
var silverNow;
var silverNext;
var silverPre;
var onPlaySilver = 0;
var intervalSilver = new Array(3); // 0 없어지는 애니, 1 나타나는 애니, 2 자동재생

function bannerSetting(){
	silverBanner = document.getElementById('silverCompany');
	silverBannerElements = silverBanner.getElementsByTagName("img");
	numSilverBanner = silverBannerElements.length;
	silverBannerElements[0].style.opacity = 1;
	silverBannerElements[0].style.filter = 'alpha(opacity='+ 100 +');';
	silverNow = 1;
	silverNext = 2;
	silverPre = numSilverBanner;
	
	playSilver();
}


function showSilver(num, numFrames, timePerFrame){
	if(onPlaySilver == 1) return;
	
	hideCurrentSilver(numFrames, timePerFrame);
	
	var frame = 0;
	
	intervalSilver[1] = setInterval(displayNextFrame, timePerFrame);
	
	function displayNextFrame(){
		if(frame >= numFrames){     //프래임이 종료되었으면
			silverBannerElements[num-1].style.opacity = 1;
			silverBannerElements[num-1].style.filter = 'alpha(opacity='+ 100 +');';
			onPlaySilver = 0;
			clearInterval(intervalSilver[1]);    //인터벌 호출 종료
			silverPre = num-1;
			silverNow = num;
			silverNext = num + 1;
			if(silverPre <= 0) silverPre = numSilverBanner;
			if(silverNext > numSilverBanner) silverNext = 1;
		}else{   //애니메이션 종류를 css로 설정
			if(frame == 0){
				onPlaySilver = 1;  //동작중
				silverBannerElements[num-1].style.display = "block";
				silverBannerElements[num-1].style.opacity = 0;
				silverBannerElements[num-1].style.filter = 'alpha(opacity='+ 0 +');';
			}else{
				silverBannerElements[num-1].style.opacity = (1/numFrames)*frame
				silverBannerElements[num-1].style.filter = 'alpha(opacity='+ (100/numFrames)*frame +');';
			}
		}
		frame++;
	}
}

function hideCurrentSilver(numFrames, timePerFrame){
	if(silverNow == 0) return;
	var frame = 0;
	
	intervalSilver[0] = setInterval(displayNextFrame, timePerFrame);
	
	function displayNextFrame(){
		if(frame >= numFrames){     //프래임이 종료되었으면
			silverBannerElements[silverNow-1].style.opacity = 0;
			silverBannerElements[silverNow-1].style.filter = 'alpha(opacity='+ 0 +');';
			silverBannerElements[silverNow-1].style.display = "none";
			clearInterval(intervalSilver[0]);    //인터벌 호출 종료						
		}else{   //애니메이션 종류를 css로 설정
			if(frame == 0){
				silverBannerElements[silverNow-1].style.opacity = 1;
				silverBannerElements[silverNow-1].style.filter = 'alpha(opacity='+ 100 +');';
			}else{
				silverBannerElements[silverNow-1].style.opacity = 1 - (1/numFrames)*frame
				silverBannerElements[silverNow-1].style.filter = 'alpha(opacity='+ (100 - (100/numFrames)*frame) +');';
			}
		}
		frame++;
	}
	
}


function playSilver(){
	if(silverNow == 0) showSilver(1,20,10);
	
	intervalSilver[2] = setInterval(playNextSilver, 3000);
	
	function playNextSilver(){
		showSilver(silverNext, 20,10);
	}
}

function stopSilver(){
	clearInterval(intervalSilver[2]);
}
	




// 배너2 (BRONZE)  
var numBronzeBanner;
var onPlayBronze = 0;
var counter = 0;
var distance = 100;  // 회사별 position 간격
var moveBanner = 2;   // 버튼 클릭시 지나가는 배너 수
var bronzeEl = new Array();
var positionEl = new Array();
var intervalBronze = new Array(3); // 0 없어지는 애니, 1 나타나는 애니, 2 자동재생

//처음 위치 값을 지정
function onLoadBronze(){
	var range = document.getElementById("bronzeCompany");
	bronzeEl = range.getElementsByTagName("img");
	numBronzeBanner = bronzeEl.length;
	for(var i=0; i<numBronzeBanner; i++){		
		positionEl[i] = i*distance + 10
		bronzeEl[i].style.left = positionEl[i] + "px";
	}	
	
	playBronze(500, 10);
}

//자동으로 흘러감
function playBronze(numFrames, timePerFrame){

	intervalBronze[0] = setInterval(displayNextFrame, timePerFrame);
	
	function displayNextFrame(){
		for(var i=0;i<numBronzeBanner;i++){
			if(positionEl[i] <= -(distance*2)){
				positionEl[i] += numBronzeBanner*distance;
			}
			positionEl[i] = positionEl[i] - 1;
			bronzeEl[i].style.left = positionEl[i] + "px";
		}
	}

}

//배너 스크롤 정지
function stopBronze(){
	clearInterval(intervalBronze[0]);
}

//배너 스크롤 재시작
function startBronze(){
	playBronze(500, 10);
}

//배너 왼쪽으로 빠르게 이동(버튼클릭)
function leftBronze(numFrames, timePerFrame){
	if(onPlayBronze == 1) return;

	intervalBronze[1] = setInterval(displayNextFrame, timePerFrame);
	
	function displayNextFrame(){
		onPlayBronze = 1;
		for(var i=0;i<numBronzeBanner;i++){
			if(positionEl[i] <= -(distance*2)){
				positionEl[i] += numBronzeBanner*distance;
			}
			positionEl[i] = positionEl[i] - 10;
			bronzeEl[i].style.left = positionEl[i] + "px";			
		}
		counter += 10;

		if(counter >= distance*moveBanner) {
			clearInterval(intervalBronze[1]);
			onPlayBronze = 0;
			counter = 0;
		}		
	}
}

//배너 오른쪽으로 빠르게 이동(버튼클릭)
function rightBronze(numFrames, timePerFrame){
	if(onPlayBronze == 1) return;

	intervalBronze[1] = setInterval(displayNextFrame, timePerFrame);
	
	function displayNextFrame(){
		onPlayBronze = 1;
		for(var i=0;i<numBronzeBanner;i++){
			if(positionEl[i] >= (numBronzeBanner-2)*distance){
				positionEl[i] -= numBronzeBanner*distance;
			}
			positionEl[i] = positionEl[i] + 10;
			bronzeEl[i].style.left = positionEl[i] + "px";			
		}
		counter += 10;
		if(counter >= distance*moveBanner) {
			clearInterval(intervalBronze[1]);
			onPlayBronze = 0;
			counter = 0;
		}		
	}
}

//footer용 링크
var footerLink = "http://www.mdrt.org/";

function openLink(){
	window.open(footerLink);
}

//링크 동영상 변경
var movLinkNow = 1;

function linkShow(n){
	if(n == movLinkNow){return;}
	//alert("111");
	var idMovNow = "movExp0" + movLinkNow.toString();
	var idMovShow = "movExp0" + n.toString();;
	var elMovNow = document.getElementById(idMovNow);
	var elMovShow = document.getElementById(idMovShow);
	
	elMovNow.style.display = "none";
	elMovShow.style.display = "block";
	movLinkNow = n;
}


//조직도 페이지용 JS
function showPage(n){
	var elDiv1 = document.getElementById("page1");
	var elTab1 = document.getElementById("tab1");
	var elDiv2 = document.getElementById("page2");
	var elTab2 = document.getElementById("tab2");
	
	if(n == 1){
		elDiv2.style.display = "none";
		elTab2.style.background = "url(../images/sub01_02_bg02.png) no-repeat 0 0";
		elDiv1.style.display = "block";
		elTab1.style.background = "url(../images/sub01_02_bg03.png) no-repeat 0 0";
	}
	if(n == 2){
		elDiv1.style.display = "none";
		elTab1.style.background = "url(../images/sub01_02_bg02.png) no-repeat 0 0";
		elDiv2.style.display = "block";
		elTab2.style.background = "url(../images/sub01_02_bg03.png) no-repeat 0 0";
	}
}

var missionNow = 1;
function showMission(n){
	var mission = document.getElementById("orgDes");
	var el = mission.getElementsByTagName("div");
	
	el[missionNow-1].style.display = "none";
	el[n-1].style.display = "block";
	missionNow = n;
}











