﻿// GNB menu
function gnbNavi() {
	var gnbNavi = document.getElementById("GNB_tab");
	subMenu = gnbNavi.getElementsByTagName("ul");
	for (i=0; i<subMenu.length; i++) {
		subMenu[i].style.display = "none";						// 전체 서브레이어 숨김.

		subLink = subMenu[i].getElementsByTagName("a");
		for (m=0; m<subLink.length; m++) {						// 서브메뉴 이미지 롤오버
			thismenu = subLink[m];
			thismenu.onmouseover = function() {
				subImage = this.getElementsByTagName("img")[0];
				if(subImage.className != 'hidden') {
					if (subImage.src.indexOf("_on.gif") != -1) return false;
					subImage.src = subImage.src.replace(".gif","_on.gif");
				}
			}
			subLink[m].onfocus = function() {
				subImage = this.getElementsByTagName("img")[0];
				if(subImage.className != 'hidden') {
					if (subImage.src.indexOf("_on.gif") != -1) return false;
					subImage.src = subImage.src.replace(".gif","_on.gif");
				}
			}
			subLink[m].onmouseout = function() {
				subImage = this.getElementsByTagName("img")[0];
				subImage.src = subImage.src.replace("_on.gif",".gif");
			}			
			subLink[m].onblur = function() {
				subImage = this.getElementsByTagName("img")[0];
				subImage.src = subImage.src.replace("_on.gif",".gif");
			}
		}
	}

	var gnbMenu = gnbNavi.getElementsByTagName("li");
	for (j=0; j<gnbMenu.length; j++) {
		if (gnbMenu[j].className == "gnb_menu") {
			thismenu = gnbMenu[j].getElementsByTagName("a")[0];
			thismenu.onmouseover = function() {
				subMenu = gnbNavi.getElementsByTagName("ul");
				for (k=0; k<subMenu.length; k++) {
					subMenu[k].style.display = "none";
					subMenu[k].parentNode.style.zIndex = "0";
				}
				
				gnbImg = gnbNavi.getElementsByTagName("img");
				for (l=0; l<gnbImg.length; l++) {
					if (gnbImg[l].src.indexOf("_on.gif") != -1 ){
						gnbImg[l].src = gnbImg[l].src.replace("_on.gif",".gif");
					}
				}

				this.getElementsByTagName("img")[0].src = this.getElementsByTagName("img")[0].src.replace(".gif","_on.gif");
				if (!this.parentNode.getElementsByTagName("ul")[0]) return false;
				this.parentNode.getElementsByTagName("ul")[0].style.display = "";
				this.parentNode.getElementsByTagName("ul")[0].parentNode.style.zIndex = "1";
				
			}
			thismenu.onfocus = function() {
				subMenu = gnbNavi.getElementsByTagName("ul");
				for (k=0; k<subMenu.length; k++) {
					subMenu[k].style.display = "none";
					subMenu[k].parentNode.style.zIndex = "0";
				}

				gnbImg = gnbNavi.getElementsByTagName("img");
				for (l=0; l<gnbImg.length; l++) {
					if (gnbImg[l].src.indexOf("_on.gif") != -1 ){
						gnbImg[l].src = gnbImg[l].src.replace("_on.gif",".gif");
					}
				}

				this.getElementsByTagName("img")[0].src = this.getElementsByTagName("img")[0].src.replace(".gif","_on.gif");
				if (!this.parentNode.getElementsByTagName("ul")[0]) return false;
				this.parentNode.getElementsByTagName("ul")[0].style.display = "";
				this.parentNode.getElementsByTagName("ul")[0].parentNode.style.zIndex = "1";
			}
		}
	}	
}

// image over menu
function imgMenuOver(containderID) {
	var objwrap = document.getElementById(containderID);
	var imgMenu = objwrap.getElementsByTagName("IMG");
	for (i=0; i<imgMenu.length; i++) {
		if (imgMenu[i].src.indexOf("_on.gif") != -1 ) {
			continue;
		}
		imgMenu[i].onmouseover = function() {
			if(this.className != 'hidden')
				this.src = this.src.replace (".gif","_on.gif");
		}
		imgMenu[i].onmouseout = function() {
			this.src = this.src.replace ("_on.gif",".gif");
		}
	}
}


//
function ImageRotation() {
	// options
	var scrollType = 'vertical'; // 'horizontal', 'vertical', 'none';

	// private
	var currentNumber = 0;
	var objWrap = null;
	var objContentBox = null;
	var objWrapLIs = null;
	var cellWidth = 0;
	var cellHeight = 0;
	this.GoodsSetTime = null;

	// scroll animation variables.
	var scroll = {time:1, start:0, change:0, duration:25, timer:null};
	var originaltime = scroll.time;

	this.setScrollType = function (type) {
		switch (type) {
			case 'vertical':
			case 'horizontal':
			case 'none':
				scrollType = type;
				break;
			default:
				alert('!');
				break;
		}
	}
	// constructor
	this.initialize = function () {
		objWrap = document.getElementById(this.wrapId);
		objContentBox = document.getElementById(this.listId);
		objWrapLIs = objWrap.getElementsByTagName('li');
		cellWidth = objWrapLIs[0].offsetWidth;
		cellHeight= objWrapLIs[0].offsetHeight;

		switch (scrollType) {
			case 'vertical':
				this.objWrapSize = objWrap.offsetHeight;
				this.objSize = objWrapLIs.length * cellHeight;
				break;
			case 'none':
				this.objWrapSize = objWrap.offsetWidth;
				this.objSize = objWrapLIs.length * cellWidth;
				break;
			default:
				this.objWrapSize = objWrap.offsetWidth;
				this.objSize = objWrapLIs.length * cellWidth;
				break;
		}
		//alert(this.objWrapSize +' / '+ this.objSize);
		if (this.objWrapSize <= this.objSize) {

			if (objWrapLIs.length > 0) {
				switch (scrollType) {
					case 'vertical':
						objContentBox.style.height = objWrapLIs.length * cellHeight + 'px';
						break;
					case 'none':
						objContentBox.style.width = objWrapLIs.length * cellWidth + 'px';
						break;
					default:
						objContentBox.style.width = objWrapLIs.length * cellWidth + 'px';
						break;
				}
			}
			
			clearInterval(this.GoodsSetTime);//2008.04.16-ksh
			document.getElementById(this.btnPrev).href = "javascript:" + this.objName + ".prev();";
			clearInterval(this.GoodsSetTime);//2008.04.16-ksh		
			document.getElementById(this.btnNext).href = "javascript:" + this.objName + ".next();";

			if (this.autoScroll == 'none') {
			} else {
				if (this.scrollDirection == 'direction') {
					clearInterval(this.GoodsSetTime);//2008.04.16-ksh
					this.GoodsSetTime = setInterval(this.objName + ".next()", this.scrollGap);
				} else {
					clearInterval(this.GoodsSetTime);//2008.04.16-ksh
					this.GoodsSetTime = setInterval(this.objName + ".prev()", this.scrollGap);
				}
			}
		} else {
			document.getElementById(this.btnPrev).href = "javascript:" + this.objName + ".none();";
			document.getElementById(this.btnNext).href = "javascript:" + this.objName + ".none();";
		}
	}
	this.none = function() {
		return;
	}

	this.prev = function () {
		if (currentNumber == 0) {
			var objLastNode = objContentBox.removeChild(objContentBox.getElementsByTagName('li').item(objWrapLIs.length - 1));
			objContentBox.insertBefore(objLastNode, objContentBox.getElementsByTagName('li').item(0));
			switch (scrollType) {
				case 'vertical':
					objWrap.scrollTop += cellHeight;
					break;
				case 'none':
					objWrap.scrollLeft += cellWidth;
					break;
				default:
					objWrap.scrollLeft += cellWidth;
					break;
			}

			currentNumber++;
		}

		//objWrap.scrollLeft -= cellWidth;
		var position = getActionPoint('indirect');
		//console.log('start x:' + position.start +', change x:' + position.end);
		startScroll(position.start, position.end);

		currentNumber = currentNumber - 1;
		//console.log(currentNumber);

		if (currentNumber > 0)
			currentNumber = 0;
		if (this.autoScroll == 'none') {
		} else {
			this.scrollDirection = 'indirection';
			clearInterval(this.GoodsSetTime);
			this.GoodsSetTime = setInterval(this.objName + ".prev()", this.scrollGap);
		}
	}

	this.next = function () {
		if (currentNumber == objWrapLIs.length - 1) {
			var objLastNode = objContentBox.removeChild(objContentBox.getElementsByTagName('li').item(0));
			objContentBox.appendChild(objLastNode);
			switch (scrollType) {
				case 'vertical':
					objWrap.scrollTop -= cellHeight;
					break;
				case 'none':
					objWrap.scrollLeft -= cellWidth;
					break;
				default:
					objWrap.scrollLeft -= cellWidth;
					break;
			}
			currentNumber--;
		}

		//objWrap.scrollLeft += cellWidth;
		var position = getActionPoint('direct');
		//console.log('start x:' + position.start +', change x:' + position.end);
		startScroll(position.start, position.end);

		currentNumber = currentNumber + 1;

		if (currentNumber < objWrapLIs.length - 1)
			currentNumber = objWrapLIs.length - 1;
		//console.log(currentNumber);

		if (this.autoScroll == 'none') {
		} else {
			this.scrollDirection = 'indirection';
			clearInterval(this.GoodsSetTime);
			this.GoodsSetTime = setInterval(this.objName + ".next()", this.scrollGap);
		}
	}

	var startScroll = function (start, end) {
		if (scroll.timer != null) {
			clearInterval(scroll.timer);
			scroll.timer = null;
		}

		scroll.start = start;
		scroll.change = end - start;

		switch (scrollType) {
			case 'vertical':
				scroll.timer = setInterval(scrollVertical, 15);
				break;
			case 'none':
				objWrap.scrollLeft = end;
				break;
			default:
				scroll.timer = setInterval(scrollHorizontal, 15);
				break;
		}
	}

	var scrollVertical = function () {
		if (scroll.time > scroll.duration) {
			clearInterval(scroll.timer);
			scroll.time = originaltime;
			scroll.timer = null;
		}
		else {
			objWrap.scrollTop = sineInOut(scroll.time, scroll.start, scroll.change, scroll.duration);
			scroll.time++;
		}
	}

	var scrollHorizontal = function () {
		if (scroll.time > scroll.duration) {
			clearInterval(scroll.timer);
			scroll.time = originaltime;
			scroll.timer = null;
		} else {
			objWrap.scrollLeft = sineInOut(scroll.time, scroll.start, scroll.change, scroll.duration);
			scroll.time++;
		}
	}

	var getActionPoint = function (dir) {
		if (dir == 'direct') {
		    if(currentNumber >= objWrap.getElementsByTagName('li').length-1) currentNumber=objWrap.getElementsByTagName('li').length-2;//2008.04.16-ksh
		
			var position = findElementPos(objWrap.getElementsByTagName('li').item(currentNumber + 1)); // target image.
			var offsetPos = findElementPos(objWrap.getElementsByTagName('li').item(currentNumber)); // first image.
		} else {
		    if(currentNumber<=0) currentNumber=1;//2008.04.16-ksh
		
			var position = findElementPos(objWrap.getElementsByTagName('li').item(currentNumber - 1)); // target image.
			var offsetPos = findElementPos(objWrap.getElementsByTagName('li').item(currentNumber)); // first image.
		}
		
		//console.log('current(' + offsetPos[0] + ',' + offsetPos[1] + '), target(' + position[0] + ',' + position[1] + ')');

		var start = 0;//2008.04.16-ksh
		var end = 0;//2008.04.16-ksh

		switch (scrollType) {
			case 'vertical':
				start = objWrap.scrollTop;
				end = position[1] - offsetPos[1];
				break;
			case 'none':
				// do nothing.
				break;
			default:
				start =  objWrap.scrollLeft;
				//try{end = position[0] - offsetPos[0];}catch(e){}//2008.04.16-ksh
				end = position[0] - offsetPos[0];
				break;
		}
		//console.log(scrollType);

		var position = {start:0, end:0};
		position.start = start;
		position.end = end;

		return position;
	}

	var sineInOut = function (t, b, c, d) {
		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
	}

	var findElementPos = function (elemFind) {
		
		if (elemFind == null) return;//2008.04.16-ksh
		
		var elemX = 0;
		var elemY = 0;
		do {
			elemX += elemFind.offsetLeft;	
			elemY += elemFind.offsetTop;
		} while (elemFind = elemFind.offsetParent)

		return Array(elemX, elemY);
	}

}


// Tab Content
function initTabMenu(tabContainerID, isUniv) {
	var tabContainer = document.getElementById(tabContainerID);
	var tabAnchor = tabContainer.getElementsByTagName("a");
	var i = 0;
	var elements = [];
	for(i=0; i<tabAnchor.length; i++) {
		if (tabAnchor.item(i).className == "tab") {
			thismenu = tabAnchor.item(i);
			elements.push(thismenu);
	    }
		else
 {
			continue;
		}

		thismenu.container = tabContainer;
		thismenu.targetEl = document.getElementById(tabAnchor.item(i).href.split("#")[1]);
		thismenu.targetEl.style.display = "none";
		thismenu.imgEl = thismenu.getElementsByTagName("img").item(0);
		thismenu.onclick = function tabMenuClick() {
			currentmenu = this.container.current;
			if (currentmenu == this)
				return false;

			if (currentmenu) {
				currentmenu.targetEl.style.display = "none";
				if (currentmenu.imgEl) {
					currentmenu.imgEl.src = currentmenu.imgEl.src.replace("_on.gif", ".gif");
				} else {
					currentmenu.className = currentmenu.className.replace(" on", "");
				}
			}
			this.targetEl.style.display = "";
			if (this.imgEl) {
				this.imgEl.src = this.imgEl.src.replace(".gif", "_on.gif");
			} else {
				this.className += " on";
			}
			this.container.current = this;

			return false;
		};

		if (!thismenu.container.first)
			thismenu.container.first = thismenu;
	}
	
	var random = Math.floor(Math.random() * 10);
	while (true) {
		if (random >= elements.length)
		{
			random = Math.floor(Math.random() * 10);
		}
		else {
			break;
		}
	}
	if (isUniv)
	{
		//alert(elements.length);
		//alert(random);
	}	
	for (var j = 0; j < elements.length; j++) {		
		if (j == random) {
			elements[j].onclick();
		}
	}
	if (!isUniv && tabContainer.first)
		tabContainer.first.onclick();
}


/*========================================================
 * 회원가입 페이지 이동
 *========================================================*/
function goRegPage(){
	Ext.MessageBox.confirm('알림', ' KOCW 서비스는 RISS 회원과 통합되어 RISS 회원 아이디로 로그인 가능합니다.<br>신규회원 가입은 RISS 회원 가입페이지로 이동합니다. 이동하시겠습니까?', function(flg){
			if(flg == "yes"){
				window.open('http://www.riss4u.net/etc/myriss/reg_agree.jsp', '_reg', '').focus();
				
				if ( opener ){
					self.close();
				}
			}	
		}
	);
}


/*========================================================
 * 회원정보 수정 페이지 이동
 *========================================================*/
function goModifyPage(){
	Ext.MessageBox.confirm('알림', ' KOCW 서비스는 RISS 회원과 통합되어 관리되고 있습니다.<br>정보수정 페이지로 이동하시겠습니까?', function(flg){
			if(flg == "yes"){
				window.open('https://www.riss4u.net/etc/myriss/IdRegDefaultChg.jsp', '_reg', '').focus();
			}
		}
	);
}
