/***************************************************************************************************/
/** 서브외부참조파일초기화
*/
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/content.css?'+nowString+'">');
	//*.js
	document.writeln('<script type="text/javascript" src="/share/js/sidemenu.js?'+nowString+'"></'+'script>');//부메뉴
	document.writeln('<script type="text/javascript" src="/share/js/object.js?'+nowString+'"></'+'script>');//부메뉴
}
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";
	}
}
/** 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;
}

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;
}

/* 컨텐츠 추가 *********************************************************************************/



/***** 전시실소개 *****/

function pavilion_show(target, exchange){
	source = exchange.getAttribute("href");
	name = exchange.firstChild.getAttribute("alt");
	target = document.getElementById(target);
	target.setAttribute("src", source);
	if(document.getElementById("name")) document.getElementById("name").firstChild.nodeValue = name;
}

/***************************************************************************************************/
/* 런칭후예상치못한JS오류숨김 */
//window.onerror = function(ErrorMessage, Url, Line)
//{
//	window.status = '';
//	return true;
//}

function showPicture(src,title) {
	var imgObj = new Image();
	imgObj.src = src;
	var wopt = "scrollbars=no,status=no,resizable=no";
	wopt += ",width=" + imgObj.width;
	wopt += ",height=" + imgObj.height;
	var wbody = "<head><title>"+title+"</title>";
	wbody += "<meta http-equiv='imagetoolbar' content='no'>";
	wbody += "<sc"+"ript type='text/javascript'>";
	wbody += "function finalResize(){";
	wbody += "  var oBody=document.body;";
	wbody += "  var oImg=document.images[0];";
	wbody += "  var xdiff=oImg.width-oBody.clientWidth;";
	wbody += "  var ydiff=oImg.height-oBody.clientHeight;";
	wbody += "  window.resizeBy(xdiff,ydiff);";
	wbody += "}";
	wbody += "</"+"script>";
	wbody += "</head>";
	wbody += "<body onLoad='finalResize()' style='margin:0'>";
	wbody += "<a href='javascript:window.close()' title='닫기'><img src='" + src + "' border=0 alt='"+title+"'></a>";
	wbody += "</body>";
	winResult = window.open("about:blank","",wopt);
	winResult.document.open("text/html", "replace");
	winResult.document.write(wbody);
	winResult.document.close();
	return;
}

window.onerror = function(ErrorMessage, Url, Line)
{
//	window.status = 'Error: ' + ErrorMessage + ' : ' + Line + ' Line';
	window.status = '';
	return true;
}