/***************************************************************************************************/
/** 서브외부참조파일초기화
*/
function initExternalRefSub(){
	//*.css
	document.writeln('<link rel="stylesheet" type="text/css" href="/share/css/sub.css?'+nowString+'">');
	document.writeln('<link rel="stylesheet" type="text/css" href="/share/css/board.css?'+nowString+'">');
	document.writeln('<link rel="stylesheet" type="text/css" href="/share/css/content.css?'+nowString+'">');
	//*.js
}
initExternalRefSub();
/***************************************************************************************************/
//서브용함수

function onLocation(contentId) {
	var obj = document.getElementById(contentId);
	if(obj) {
		var objLastChild = obj.lastChild;
		if(objLastChild){
			while(objLastChild.nodeName!="A") objLastChild = objLastChild.previousSibling;
			//alert(objLastChild.nodeName);
			objLastChild.className = "on";
		}
	}
}

/** 메뉴 목록 클릭 이벤트할당
* author: myshin
* update: 2008.09.02
* desc: li의 첫번째 자식 onclick 이벤트 할당하여 li 에 className="on" 지정.
* 여러 페이지일 경우 활성메뉴id 에 className="on" 지정.
* 원래 코드에 a요소 있었다면 href 로 이동하고, 아니면 이동안함.
* 한페이지일 경우 contentGroupId 존재하지 않으면 현재 위치 활성.
* 콘텐츠그룹id 있지만 외부링크일 경우 return false; 실행 안함.
* ex) initClickOn("메뉴그룹id");//한페이지, 메뉴그룹안에 콘텐츠그룹 포함.
* ex) initClickOn("메뉴그룹id","활성메뉴id");//여러페이지 현재메뉴 활성. 한페이지시 클릭하면 해당 콘텐츠로 이동
* ex) initClickOn("메뉴그룹id","활성메뉴id","콘텐츠그룹id");//한페이지, 메뉴와 콘텐츠그룹 분리.
*/
function initClickOn(menuGroupId,onMenuId,contentGroupId) {
	var objArr = document.getElementById(menuGroupId).getElementsByTagName("li");
	var contentObj = getElementsByClassName(contentGroupId);//함수필요(domscript.js)
	var myUriRef = getUriRef(location.href);//함수필요(myshin.js)
	var contentObjActive = document.getElementById(myUriRef);
	contentObjActive = (contentObjActive)? contentObjActive : contentObj[0];//Uri참조없으면첫번째를현재위치로
	var onFlag = false;//활성메뉴id 와 같은 메뉴id 가 있는지 표시.
	for(var i=0;i<objArr.length;i++){
		var objLi=objArr[i];
		var clickObj=objLi.getElementsByTagName("*")[0];
		if(clickObj.tagName!="A"){//2008.03.21.a요소가아니면
			var returnFlag = false;//retrun false;//href="#" 링크로 이동안함.
			var targetNode = clickObj;
			var newNode = document.createElement("a");
			newNode.href="#";//href가 있어야 IE,FF에서[Tab]이지나감. Op는[A]키로 링크(a, area) 이동가능.
			objLi.insertBefore(newNode,targetNode);
			newNode.appendChild(targetNode);
			clickObj = newNode;
		}else{//원래코드에a요소가있으면
			var returnFlag = (contentGroupId)? false: true;
		}
		if(contentObj[i]) contentObj[i].style.display="none";
		var objAUriRef = getUriRef(clickObj.href);//함수필요(myshin.js)
		if(contentObjActive){
			if(objAUriRef==contentObjActive.id){//현재위치활성
				contentObjActive.style.display="block";
				objArr[i].className="on";
				onFlag = true;
			}
		}
		menuClick = function(){
			for(var i=0;i<objArr.length;i++){
				objArr[i].className="";
				if(contentObj[i]) contentObj[i].style.display="none";
			}
			this.parentNode.className="on";
			var thisAUriRef = getUriRef(this.href);//함수필요(myshin.js)
			var contentObjActive = document.getElementById(thisAUriRef);
			if(contentObjActive) contentObjActive.style.display="block";
			var thisAUriPage = getUriPage(this.href);//함수필요(myshin.js)
			var myUriPage = getUriPage(location.href);//함수필요(myshin.js)
			var outLink = (thisAUriPage==myUriPage)? false: true;
			if(!outLink) return returnFlag;
		}
		if(objLi.id==onMenuId){//여러 페이지일 경우 현재위치 메뉴 활성
			objLi.className="on";
			onFlag = true;
		}
		clickObj.onclick = menuClick;
	}
	if((!onMenuId||!onFlag)&&objArr[0]){//한 페이지일 때 초기화. 활성id가없고 li가 존재할 때만 실행. 또는 활성메뉴id 와 같은 메뉴id 가 없을 경우 추가.
		//objArr[0].className="on";
		objArr[0].className="";
	}
}
/** URI#참조리턴
* amender : myshin
* update : 2008.09.02
* desc : ?ctabm=1#boardtemplate1 경우 "boardtemplate1" 를 리턴.
* ex) getUriRef(this.href);
*/
function getUriRef(uri){
	var myUriRef = uri.slice(uri.indexOf("#")+1,uri.length);
	return myUriRef;
}
function getUriPage(uri){
	var endIdx = uri.indexOf("#");
	endIdx = (endIdx!=-1)? endIdx : uri.length;
	var myUriRef = uri.slice(0,endIdx);
	return myUriRef;
}
/* domscript.js */
function getElementsByClassName(clsName) { 
var arr = new Array(); 
	var elems = document.getElementsByTagName("*");
	for ( var i = 0; ( elem = elems[i] ); i++ ) {
		if ( elem.className == clsName ) {
			arr[arr.length] = elem;
		}
	}
	return arr;
}

/***************************************************************************************************/
/** 부메뉴
* author: myshin
* update: 2009.10.29
* desc: 3번째 인수 d1n 이 있는 경우만 이미지요소로 대체하도록 수정.
* [IE]이미지 계속 로딩 오류 수정
* 2차메뉴 이미지요소로 대체기능 추가
* 2차메뉴 이미지, 텍스트 상관없이 사용
* side3Menu의 자식노드 중 끝li요소, 첫번째li요소에 class 부여.
* 2차메뉴 a 태그에 span 태그 추가시 코드에 span 요소가 있는지 확인
* ex) initSideMenu(<%=d2n%>,<%=d3n%>);//텍스트메뉴그대로사용시
* ex) initSideMenu(<%=d2n%>,<%=d3n%>,<%=d1n%>);//이미지요소로대체시
*/
function initSideMenu(a,b,d1n) //2차3차메뉴보기
{
	for(var i=0;i<=20;i++){ //전체메뉴비활성
		var side2Menu = document.getElementById("side2m"+i);
		var side3Menu = document.getElementById("side3m"+i);
		if(side2Menu){ 
			var inn = (i<10)? "0"+i : ""+i;
			if(d1n){
				d1nn = (d1n<10)? "0"+d1n : ""+d1n;
				if(side2Menu.firstChild.firstChild.tagName!="IMG"){//이미지가아니면
					side2Menu.firstChild.innerHTML = '<img src="/img/inc/s/s'+d1nn+'_'+inn+'.gif" alt="'+side2Menu.firstChild.innerHTML+'" />';//이미지요소로대체
				}
			}
			side2MenuA = side2Menu.getElementsByTagName("a")[0];
			if(side2MenuA){
				if(side2MenuA.firstChild.tagName!="SPAN"&&side2MenuA.firstChild.tagName!="IMG"){
					side2MenuA.innerHTML = '<span>'+side2MenuA.innerHTML+'</span>';//디자인용
				}
			}
		}
		if(side3Menu){
			side3Menu.style.display="none";//비활성으로 수정함.
			var side3MenuLastChild = side3Menu.lastChild;//끝li
			if(side3MenuLastChild){
				while(side3MenuLastChild.nodeName!="LI") side3MenuLastChild = side3MenuLastChild.previousSibling;
				side3MenuLastChild.className = "last";
			}
			var side3MenuFirstChild = side3Menu.firstChild;//첫li
			if(side3MenuFirstChild){
				while(side3MenuFirstChild.nodeName!="LI") side3MenuFirstChild = side3MenuFirstChild.nextSibling;
				side3MenuFirstChild.className = "first";
			}
		}
	}
	if(a<10){ann="0"+a;} else {ann=""+a;}
	if(b<10){bnn="0"+b;} else {bnn=""+b;}
	side2MenuCurr = document.getElementById("side2m"+a);
	side3Menu = document.getElementById("side3m"+a);
	side3MenuCurr = document.getElementById("side3m"+a+"m"+b);
	if(side2MenuCurr){
		side2MenuCurr.firstChild.className="on";
		if(side2MenuCurr.firstChild.firstChild.tagName=="IMG"){//이미지일경우
			side2MenuCurr.firstChild.firstChild.src="/img/inc/s/s"+d1nn+"_"+ann+"on.gif";
			initSideMenuImg();
		}
	}
	if(side3Menu){ side3Menu.style.display="block"; side3Menu.style.fontWeight="normal"; }
	if(side3MenuCurr){
		side3MenuCurr.firstChild.className="on";
	}
	var side2M = document.getElementById("side2m");
}
function initSideMenuImg(){ //이미지메뉴일경우-마우스오버아웃함수할당
	for(var i=1;i<=20;i++){
		side2Menu = document.getElementById("side2m"+i);
		if((side2Menu) && (side2Menu!=side2MenuCurr)){ //현재메뉴가아닐때
			side2MenuImg = side2Menu.getElementsByTagName("img")[0];
			if(side2MenuImg){//함수필요(myshin.js)
				side2MenuImg.onmouseover = menuOver;
				side2MenuImg.onmouseout = menuOut;
			}
		}
	}
}
function menuAll(a) //메뉴전체보이기감추기
{
	for(var i=0;i<20;i++){
		side3Menu = document.getElementById("side3m"+i);
		if(side3Menu) side3Menu.style.display = a;
	}
}
/***************************************************************************************************/