/*
Author : 
Contact Us : 
Version : 
discription : 
*/

/*
	객체 나타났다 숨겼다 하는 함수
	_objId			->	 나타낼 객체
	_param_split	->	 _(언더바)를 구분자로 문자열을 파라메터로 받아서 배열로 만들어 다수의 객체를 숨긴다.
	_objId만 파라메터로 넘기면 단순히 _objId의 diplay속성에 따라 숨겼다 나타내어 준다.
*/
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function insertAfter(newElement,targetElement) {
  var parent = targetElement.parentNode;
  if (parent.lastChild == targetElement) {
    parent.appendChild(newElement);
  } else {
    parent.insertBefore(newElement,targetElement.nextSibling);
  }
}

function addClass(element,value) {
  if (!element.className) {
    element.className = value;
  } else {
    newClassName = element.className;
    newClassName+= " ";
    newClassName+= value;
    element.className = newClassName;
  }
}

function highlightPage() {
  if (!document.getElementsByTagName) return false;
  if (!document.getElementById) return false;
  if (!document.getElementById("navigation")) return false;
  var nav = document.getElementById("navigation");
  var links = nav.getElementsByTagName("a");
  for (var i=0; i<links.length; i++) {
    var linkurl = links[i].getAttribute("href");
    var currenturl = window.location.href;
    if (currenturl.indexOf(linkurl) != -1) {
      links[i].className = "here";
      var linktext = links[i].lastChild.nodeValue.toLowerCase();
      document.body.setAttribute("id",linktext);
    }
  }
}

addLoadEvent(highlightPage);

function showHideElem1(_objId, _param_split){
	var showObj = document.getElementById(_objId);
	if(!showObj) return false;
	//나타낼 객체가 있고 숨길 객체가 다수인경우
	if(_param_split){
		//숨길 객체들 문자열(언더바를 구분자로 파라메터를 받는다)
		var hideObjId_arr = _param_split.split("_");
		//숨길 객체 배열
		var hideObj_arr = Array();
		for(i=0; i<hideObjId_arr.length; i++){
			hideObj_arr[i] = document.getElementById(hideObjId_arr[i]);
		}
		//숨길 객체 숨기기
		for(i=0; i<hideObj_arr.length; i++){
			if(hideObj_arr[i].style){
				hideObj_arr[i].style.display = "none";
			}else{
				return false;
			}
		}
		//나타낼 객체 나타내기
		showObj.style.display = "block";
	}
	//나타내거나 숨길 객체가 한개인 경우 
	else{
		if(showObj.style.display == "block"){
			showObj.style.display = "none";
		}else{
			showObj.style.display = "block";
		}
	}
}

//다수의 객체 모두 숨기고 나타내기
function showHideElem2(){
	for(var i=0; i<arguments.length; i++){
		//숨길 객체 배열
		var hideObj_arr = Array();
		for(var i=0; i<arguments.length; i++){
			hideObj_arr[i] = document.getElementById(arguments[i]);
			if(hideObj_arr[i].style.display == "block"){
				hideObj_arr[i].style.display = "none";
			}else{
				hideObj_arr[i].style.display = "block";
			}
		}
	}
}


//롤오버 이미지 클래스명으로 사용시
//class="imgover" 를 이미지에 삽입
function initRollovers() {
    if (!document.getElementById) return
    
    var aPreLoad = new Array();
    var sTempSrc;
    var aImages = document.getElementsByTagName('img');

    for (var i = 0; i < aImages.length; i++) {        
        if (aImages[i].className == 'imgover') {
            var src = aImages[i].getAttribute('src');
            var ftype = src.substring(src.lastIndexOf('.'), src.length);
            var hsrc = src.replace(ftype, '_on'+ftype);

            aImages[i].setAttribute('hsrc', hsrc);
            
            aPreLoad[i] = new Image();
            aPreLoad[i].src = hsrc;
            
            aImages[i].onmouseover = function() {
                sTempSrc = this.getAttribute('src');
                this.setAttribute('src', this.getAttribute('hsrc'));
            }    
            
            aImages[i].onmouseout = function() {
                if (!sTempSrc) sTempSrc = this.getAttribute('src').replace('_on'+ftype, ftype);
                this.setAttribute('src', sTempSrc);
            }
        }
    }
}

window.onload = initRollovers;



//서브네비
function initNavigation(seq) {
	nav = document.getElementById("subNaviUl");
	nav.menu = new Array();
	nav.current = null;
	nav.menuseq = 0;
	navLen = nav.childNodes.length;
	
	allA = nav.getElementsByTagName("a")
	for(k = 0; k < allA.length; k++) {
		allA.item(k).onmouseover = allA.item(k).onfocus = function () {
			nav.isOver = true;
		}
		allA.item(k).onmouseout = allA.item(k).onblur = function () {
			nav.isOver = false;
			setTimeout(function () {
				if (nav.isOver == false) {
					if (nav.menu[seq])
						nav.menu[seq].onmouseover();
					else if(nav.current) {
						menuImg = nav.current.childNodes.item(0);
						menuImg.src = menuImg.src.replace("_on.gif", ".gif");
						if (nav.current.submenu)
							nav.current.submenu.style.display = "none";
						nav.current = null;
					}
				}
			}, 700);
		}
	}

	for (i = 0; i < navLen; i++) {
		navItem = nav.childNodes.item(i);
		if (navItem.tagName != "LI")
			continue;

		navAnchor = navItem.getElementsByTagName("a").item(0);
		navAnchor.submenu = navItem.getElementsByTagName("ul").item(0);
		
		navAnchor.onmouseover = navAnchor.onfocus = function () {
			if (nav.current) {
				menuImg = nav.current.childNodes.item(0);
				menuImg.src = menuImg.src.replace("_on.gif", ".gif");
				if (nav.current.submenu)
					nav.current.submenu.style.display = "none";
				nav.current = null;
			}
			if (nav.current != this) {
				menuImg = this.childNodes.item(0);
				menuImg.src = menuImg.src.replace(".gif", "_on.gif");
				if (this.submenu)
					this.submenu.style.display = "block";
				nav.current = this;
			}
			nav.isOver = true;
		}
		nav.menuseq++;
		nav.menu[nav.menuseq] = navAnchor;
	}
	if (nav.menu[seq])
		nav.menu[seq].onmouseover();
}

//팝업
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}


/* flash */

function mainNavigation(url, w, h){
	document.write("<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0' width=",w," height=",h,">");
	document.write("<param name=movie value='",url,"'><param name=quality value=high><param name=wmode value=transparent><param name=menu value=false>");
	document.write("<param name=loop value=false><param name=menu value=false><param name=quality value=high><param name=scale value=exactfit><param name=salign value=T>");
	document.write("<embed src='",url,"' quality=high width=",w," height=",h," swliveconnect=true type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer'></embed></object>");
}


/**************************************************************************
*	퀵메뉴
**************************************************************************/
function initMoving(target, position, topLimit, btmLimit) {
	if (!target)
		return false;

	var obj = target;
	obj.initTop = position;
	obj.topLimit = topLimit;
	obj.bottomLimit = document.documentElement.scrollHeight - btmLimit;

	obj.style.position = "absolute";
	obj.top = obj.initTop;
	obj.left = obj.initLeft;

	if (typeof(window.pageYOffset) == "number") {
		obj.getTop = function() {
			return window.pageYOffset;
		}
	} else if (typeof(document.documentElement.scrollTop) == "number") {
		obj.getTop = function() {
			return document.documentElement.scrollTop;
		}
	} else {
		obj.getTop = function() {
			return 0;
		}
	}

	if (self.innerHeight) {
		obj.getHeight = function() {
			return self.innerHeight;
		}
	} else if(document.documentElement.clientHeight) {
		obj.getHeight = function() {
			return document.documentElement.clientHeight;
		}
	} else {
		obj.getHeight = function() {
			return 500;
		}
	}

	obj.move = setInterval(function() {
		if (obj.initTop > 0) {
			pos = obj.getTop() + obj.initTop;
		} else {
			pos = obj.getTop() + obj.getHeight() + obj.initTop;
			//pos = obj.getTop() + obj.getHeight() / 2 - 15;
		}

		if (pos > obj.bottomLimit)
			pos = obj.bottomLimit;
		if (pos < obj.topLimit)
			pos = obj.topLimit;

		interval = obj.top - pos;
		obj.top = obj.top - interval / 3;
		obj.style.top = obj.top + "px";
	}, 30)
}


/**************************************************************************
*	popup 링크
**************************************************************************/
window.onload = function() {
        if(!document.getElementsByTagName) return false;
        var links = document.getElementsByTagName("a");
        for(var i=0; i<links.length; i++) {
            if(links[i].className == "popup") {
                links[i].onclick = function() {
                    pop(this.getAttribute('href'),'pop',595,400)
                    return false;
                }
			}
        }
    }
    function pop(url,name,w,h) {
        window.open(url,name,'width='+w+',height='+h+',scrollbars=yes,status=1')
    }





//팝업처리함수
function init_popup(){
	//팝업 클래스 명
	/*
		고정된 팝업 사이즈 자유설정 - 클래스 명(팝업을 띄울A요소의 클래스명) 사용예
			ex)popupFix_name_type1
			클래스명 상세 설명
			_:구분자
																										각 옵션 참조할 배열 :popup_option_arr
			popupFix: 이것을 통해 팝업링크로 등록된다								-> popup_option_arr[0]
			name: 팝업이름[name]														-> popup_option_arr[1]
			type1: 고정사이즈 타입															-> popup_option_arr[2]

			type1:300
			type2:450
			type3:595
			type4:750





		사이즈와 좌표등 옵션 자유설정 - 클래스 명(팝업을 띄울A요소의 클래스명) 사용예
		ex)popup_name_300_400_0_0_yes
			클래스명 상세 설명
			_:	구분자
																										각 옵션 참조할 배열 :popup_option_arr
			popup: 이것을 통해 팝업링크로 등록된다									-> popup_option_arr[0]
			name: 팝업이름[name]														-> popup_option_arr[1]
			300: 너비값[width]																-> popup_option_arr[2]
			400: 높이값[heigth]																-> popup_option_arr[3]
			0: x좌표값[left]																	-> popup_option_arr[4]
			0: y좌표값[top]																	-> popup_option_arr[5]
			yes: 스크롤 여부[yes:있음, no:없음]										-> popup_option_arr[6]

			띄울 팝업의 주소는 a의 href속성을 이용한다(접근성 고려)
	*/
	//고정 팝업 값
	/*높이값은 popupAutoHeight함수로 제어
	var popupTypeHeight_arr = Array();
	popupTypeHeight_arr[0] = 300;
	popupTypeHeight_arr[1] = 450;
	popupTypeHeight_arr[2] = 600;
	popupTypeHeight_arr[3] = 750;
	*/
	//스크롤바 너비
	var scrollArea = 26;
	var popupTypeWidth_arr = Array();
	popupTypeWidth_arr[0] = 300;
	popupTypeWidth_arr[1] = 450;
	popupTypeWidth_arr[2] = 595;
	popupTypeWidth_arr[3] = 750;
	var popupType_arr = Array();
	popupType_arr[0] = "type1";
	popupType_arr[1] = "type2";
	popupType_arr[2] = "type3";
	popupType_arr[3] = "type4";
	//사이즈 자유 팝업 클래스명
	var popupClassName = "popup";
	//사이즈 고정 팝업 클래스명
	var popupFixClassName = "popupFix";
	var elem_a_arr = document.getElementsByTagName("a");
	if(!elem_a_arr) return false;
	//팝업 링크 요소 배열 만들기
	popup_a_arr = Array();//실 A요소들을 참조하는 배열
	popup_number = 0;
	for(var i=0; i<elem_a_arr.length; i++){
		if(elem_a_arr[i].className){
			var chk_popup_a = elem_a_arr[i].className;
			elem_a_arr[i].popup_option_arr = chk_popup_a.split("_");
			//팝업 링크 요소인지 검사
			if(elem_a_arr[i].popup_option_arr[0] == popupClassName){
				//팝업링크요소 참조
				popup_a_arr[popup_number] = elem_a_arr[i];
				//팝업링크 옵션 배열 참조
				popup_a_arr[popup_number].popup_option_arr = elem_a_arr[i].popup_option_arr;
				//팝업링크 세팅
				popup_a_arr[popup_number].onclick = function(){
					if(this.popup_option_arr[6] == "yes"){
						this.popup_option_arr[2] = this.popup_option_arr[2]+scrollArea;
					}
					window.open(
							this.getAttribute("href"),
							this.popup_option_arr[1],
							"width="+this.popup_option_arr[2]+","+"height="+this.popup_option_arr[3]+","+"left="+this.popup_option_arr[4]+","+"top="+this.popup_option_arr[5]+","+"scrollbars="+this.popup_option_arr[6]
						);
					return false;
				}
			}else if(elem_a_arr[i].popup_option_arr[0] == popupFixClassName){
				//팝업링크요소 참조
				popup_a_arr[popup_number] = elem_a_arr[i];
				//팝업링크 옵션 배열 참조
				popup_a_arr[popup_number].popup_option_arr = elem_a_arr[i].popup_option_arr;
				//고정 사이즈 타입 저장
				for(var j=0; j<popupType_arr.length; j++){
					//타입값 검사 하여 팝업 너비 구함
					if(popupType_arr[j] == popup_a_arr[popup_number].popup_option_arr[2]){
						popup_a_arr[popup_number].popup_option_arr[2] = popupTypeWidth_arr[j];
					}
					//가로좌표값 설정
					popup_a_arr[popup_number].popup_option_arr[3] = 0;
					//세로좌표값 설정
					popup_a_arr[popup_number].popup_option_arr[4] = 0;
					//스크롤 여부값 설정
					popup_a_arr[popup_number].popup_option_arr[5] = "yes";
				}
				popup_a_arr[popup_number].onclick = function(){
					window.open(
							this.getAttribute("href"),
							this.popup_option_arr[1],
							"width="+this.popup_option_arr[2]+","+"left="+this.popup_option_arr[3]+","+"top="+this.popup_option_arr[4]+","+"scrollbars="+this.popup_option_arr[5]
						);
					return false;
				}
			}
		}
	}
}


//팝업페이지 컨텐츠 높이에 따라서 자동 설정
function popupAutoHeight(){
	//팝업이 가지는 body id와 높이제한값을 모두 배열로 등록한다.
	var bodyId = document.body.getAttribute("id");
	if(!bodyId) return false;
	//단위값
	var unit = "px";
	//스크롤바 너비
	var scrollArea = 26;
	//팝업이 가지는 body id를 모두 배열로 등록한다.
	var popupId_arr = Array();
	popupId_arr[0] = "popup1";
	popupId_arr[1] = "popup2";
	popupId_arr[2] = "popup3";
	popupId_arr[3] = "popup4";
	//너비고정값
	var popupTypeWidth_arr = Array();
	popupTypeWidth_arr[0] = 300;
	popupTypeWidth_arr[1] = 595;
	popupTypeWidth_arr[2] = 595;
	popupTypeWidth_arr[3] = 750;
	//제한 높이값 설정
	var popupHLimit_arr = Array();
	popupHLimit_arr[0] = 500;
	popupHLimit_arr[1] = 600;
	popupHLimit_arr[2] = 700;
	popupHLimit_arr[3] = 500;

	//팝업이 제한높이값보다 적을 시 컨텐츠 높이와 윈도우 높이의 오차값
	var popupHeightError = 49;//기본 오차값
	if(chk_ex6()){
		popupHeightError = 29;//ex 6 오차값
	}else if(chk_ex7()){
		popupHeightError = 71;//ex 7 오차값
	}

	//바디 높이값 구하기
	var bodyOffsetHeight = document.body.offsetHeight;
	for(var i=0; i<popupId_arr.length; i++){
		if(popupId_arr[i] == bodyId){
			if(bodyOffsetHeight >popupHLimit_arr[i]){
				popupTypeWidth_arr[i] = popupTypeWidth_arr[i]+scrollArea;
				window.resizeTo(popupTypeWidth_arr[i], popupHLimit_arr[i]);
			}else{
				popupTypeWidth_arr[i] = popupTypeWidth_arr[i]+scrollArea;
				window.resizeTo(popupTypeWidth_arr[i], window.document.body.clientHeight+popupHeightError);
			}
		}
	}
}


/*
	start	익스플로어 6 핵
*/
//익스 6 체크 함수
function chk_ex6(){
	appname = navigator.appName;
	useragent = navigator.userAgent;
	if(appname == "Microsoft Internet Explorer") appname = "IE";
	ie6 = (useragent.indexOf('MSIE 6')>0);
	if(ie6 && appname){
		return true;
	}else{
		return false;
	}
}
function chk_ex7(){
	appname = navigator.appName;
	useragent = navigator.userAgent;
	if(appname == "Microsoft Internet Explorer") appname = "IE";
	ie6 = (useragent.indexOf('MSIE 7')>0);
	if(ie6 && appname){
		return true;
	}else{
		return false;
	}
}
/*
	end	익스플로어 6 핵
*/



//팝업페이지 컨텐츠 높이에 따라서 자동 설정
addLoadEvent(popupAutoHeight);
//팝업처리함수
addLoadEvent(init_popup);
