/***************************************************************************************************/
/** 외부참조파일초기화
* author: myshin
* update: 2008.05.08
* desc: 외부 참조 파일(*.css *.js)을 캐시에서 안불러오게 한다.
* Disable JavaScript 일 경우에 *.css 의 display: none; 으로 인한 콘텐츠를 이용할 수 없는 거 해결.
* ex) initNow(); initExternalRef();
*/
var nowString = "";//현재시각 전역변수
function initNow(){//현재시각 할당
	var now = new Date();
	nowString = now.toString();
	while(nowString.indexOf(" ")!=-1||nowString.indexOf(":")!=-1||nowString.indexOf("+")!=-1){
		nowString = nowString.replace(" ", "");
		nowString = nowString.replace(":", "");
		nowString = nowString.replace("+", "");
	}
}
initNow();//론칭후!!주석처리필수!!

function initExternalRef(){
	//*.css
	document.writeln('<link rel="stylesheet" type="text/css" href="/share/css/all.css?'+nowString+'">');
	//*.js
	//document.writeln('<script type="text/javascript" src="/share/js/topmenu.js?'+nowString+'"></'+'script>');//주메뉴여기에
}
initExternalRef();

/***************************************************************************************************/
//공용함수

//IE Flicker Bug 해결
(function(){
	/*Use Object Detection to detect IE6*/
	var  m = document.uniqueID /*IE*/
	&& document.compatMode  /*>=IE6*/
	&& !window.XMLHttpRequest /*<=IE6*/
	&& document.execCommand ;
	try{
		if(!!m){ m("BackgroundImageCache", false, true) /* = IE6 only */ }
	}catch(oh){};
})();

//IE6 png 사용
//ex).png24 { tmp:expression(setPng24(this)); }
function setPng24(obj) {
		obj.width=obj.height="1";
		obj.className=obj.className.replace(/\bpng24\b/i,"");
		obj.style.filter=	"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+ obj.src +"',sizingMethod='image');"
		obj.src=""; 
		return "";
}

//보이기감추기 여러개
//ex) displayOn('id1','id2'); displayOff('id1','id2'); //인수 개수에 상관없다.
function displayOn() {//보이기
	var i,j,a=displayOn.arguments;
	for(var i=0;i<a.length;i++){
		var obj = document.getElementById(a[i]);
		if(obj){ obj.style.display = "block"; }
	}
}
function displayOff() {//감추기
	var i,j,a=displayOff.arguments;
	for(var i=0;i<a.length;i++){
		var obj = document.getElementById(a[i]);
		if(obj){ obj.style.display = "none"; }
	}
}

//하나만 보이기
//ex) displayOnly('id문자열공통부분',전체수,현재순번); //현재순번의 객체만 보여준다.
//전체수 인수를 받지 않고 조건에 만족하는 객체배열.length 로 계산할 수 있지만
//함수 실행시마다 배열을 생성하는 것은 성능저하를 초래하지 않을까?
//
function displayOnly(coId,num,curr) {
	for(var i=0;i<=num;i++){
		var obj = document.getElementById(coId+i);
		if(obj){ obj.style.display = "none"; }
	}
	var obj = document.getElementById(coId+curr);
	if(obj){ obj.style.display = "block"; }
}

//활성상태표시 v2008.04.02
//ex) activeOnly('id문자열공통부분',전체수,현재순번); //현재순번의 객체만 활성화(class 에 "on" 추가)
function activeOnly(coId,num,curr) {
	var aa=0;
	var re=/(^|\s)on$/;//정규표현식 "on", " on" 둘다 매칭. "onx", " onx", "xonx", "xon", "xon " 형태는 배제.
	for(var i=1;i<=num;i++){//off상태로초기화
		var obj = document.getElementById(coId+i);
		if(obj){ if(re.test(obj.className)) obj.className = obj.className.replace(re,"");	}
	}
	var obj = document.getElementById(coId+curr);
	if(obj){ obj.className = (obj.className)? obj.className+" on" : "on"; }
}

/** 마우스오버아웃
* author: myshin
* update: 2008.06.16
* desc: 아웃이미지가 img.gif 이면 오버이미지는 imgon.gif
* .gif 에 국한된 확장자를 범용으로 수정함.
* _imgtype 를 전역변수로 지정해서 내장함수(obj.src.replace)에서도 사용가능.
* ex) 상황별로 다른 함수 사용.
*/
function imgOver(imgEl){//ex) oneEl.onmouseover = imgOver("이미지id");
	if(imgEl){
		_imgtype = imgEl.src.substr(imgEl.src.length-3,imgEl.src.length-1);
		var where = imgEl.src.indexOf("on."+_imgtype,0);
		if(where==-1) imgEl.src = imgEl.src.replace("."+_imgtype,"on."+_imgtype);
	}
}
function imgOut(imgEl){//ex) oneEl.onmouseover = imgOut("이미지id");
	if(imgEl){
		_imgtype = imgEl.src.substr(imgEl.src.length-3,imgEl.src.length-1);
		var where = imgEl.src.indexOf("on."+_imgtype,0);
		if(where!=-1) imgEl.src = imgEl.src.replace("on."+_imgtype,"."+_imgtype);
	}
}
function menuOver(){//ex) imgEl.onmouseover = menuOver; aEl.onfocus = menuOver;
	var imgEl = (this.src)? this: this.getElementsByTagName("img")[0];
	if(imgEl) {
		_imgtype = imgEl.src.substr(imgEl.src.length-3,imgEl.src.length-1);
		var where = imgEl.src.indexOf("on."+_imgtype,0);
		if(where==-1) imgEl.src = imgEl.src.replace("."+_imgtype,"on."+_imgtype);
	}
}
function menuOut(){//ex) imgEl.onmouseout = menuOver; aEl.onblur = menuOut;
	var imgEl = (this.src)? this: this.getElementsByTagName("img")[0];
	if(imgEl) {
		_imgtype = imgEl.src.substr(imgEl.src.length-3,imgEl.src.length-1);
		var where = imgEl.src.indexOf("on."+_imgtype,0);
		if(where!=-1) imgEl.src = imgEl.src.replace("on."+_imgtype,"."+_imgtype);
	}
}
/** 이미지 롤오버아웃
* author: myshin
* update: 2009.02.16
* desc: onfocus, onblur 추가.
* 콘테이너 안의 모든 img 요소에 롤오버 함수를 할당한다.
* .gif 에 국한된 확장자를 범용으로 수정함.
* _imgtype 를 전역변수로 지정해서 내장함수(obj.src.replace)에서도 사용가능.
* ex) initImgRoll("이미지그룹id");
*/
function initImgRoll(containerId) { 
 	var imgEl = document.getElementById(containerId).getElementsByTagName("img");
	if(imgEl){
		for(var i=0; i<imgEl.length; i++){
			var objImg = imgEl[i];
			_imgtype = objImg.src.substr(objImg.src.length-3,objImg.src.length-1);
			var where = objImg.src.indexOf("on."+_imgtype,0);
			if (where==-1){//함수필요(myshin.js)
				objImg.onmouseover = objImg.onfocus = menuOver;
				objImg.onmouseout = objImg.onblur = menuOut;
			}
		}
	}
}

/***************************************************************************************************/
/** 주메뉴
* author: myshin
* update: 2008.09.18
* desc: 경로 구애 없이 사용(이미지요소로대체 부분은 제외)
* 이미지, 텍스트 상관없이 사용
* 외부JS 분리할 수 있게 수정함.
* initTopMenu 함수 안에서 현재 위치 1, 2차메뉴 번호 전역변수로 초기화, 메뉴활성 초기화 실행
* 이미지대치기법으로 처음 로딩시 text 보이다가 사라지는거 수정.
* xhtml코드가 원래부터 img 일때는 이미지대치기법 수행안함.
* 2차메뉴 a 태그에 span 태그 추가
* top2Menu의 자식노드 중 끝li요소, 첫번째li요소에 class 부여.
* ex) initTopMenu(<%=d1n%>,<%=d2n%>);
*/
function top2menuView(a) //2차메뉴보기
{
	if(this.id){
		eidStr = this.id;
		eidNum=eidStr.substring(eidStr.lastIndexOf("m",eidStr.length)+1,eidStr.length);
		a = parseInt(eidNum);
	}
	top2menuHideAll();
	top1Menu = document.getElementById("top1m"+a);
	top2Menu = document.getElementById("top2m"+a);
	ann = (a<10)? "0"+a : ""+a;
	if(a==0){ //메인은2차메뉴활성화안함
	}else{
		if (top1Menu){ top1Menu.parentNode.className="on";
			var imgEl= top1Menu.childNodes[0]
			if(imgEl.src){
				_imgtype = imgEl.src.substr(imgEl.src.length-3,imgEl.src.length-1);
				var where = imgEl.src.indexOf("on."+_imgtype,0);
				if(where==-1) imgEl.src = imgEl.src.replace("."+_imgtype,"on."+_imgtype);
			}
			if (top2Menu) { top2Menu.style.display = "inline"; }
		}
	}
}
function top2menuHide(a) //2차메뉴감추기
{
	if(this.id){
		eidStr = this.id;
		eidNum=eidStr.substring(eidStr.lastIndexOf("m",eidStr.length)+1,eidStr.length);
		a = parseInt(eidNum);
	}
	//top2menuHideAll();
	top1Menu = document.getElementById("top1m"+a);
	top2Menu = document.getElementById("top2m"+a);
	top1MenuCurr = document.getElementById("top1m"+d1n);
	top2MenuCurr = document.getElementById("top2m"+d1n);
	ann = (a<10)? "0"+a : ""+a;
	if (top1Menu) { 	top1Menu.parentNode.className=""	;
		var imgEl= top1Menu.childNodes[0]
		if(imgEl.src){
			_imgtype = imgEl.src.substr(imgEl.src.length-3,imgEl.src.length-1);
			var where = imgEl.src.indexOf("on."+_imgtype,0);
			if(where!=-1) imgEl.src = imgEl.src.replace("on."+_imgtype,"."+_imgtype);
		}
		if(top2Menu){ 
			top2Menu.style.display = "none";
		}
		if(top1MenuCurr){ top1MenuCurr.parentNode.className="on";
			var imgEl= top1MenuCurr.childNodes[0]
			if(imgEl.src){
				_imgtype = imgEl.src.substr(imgEl.src.length-3,imgEl.src.length-1);
				var where = imgEl.src.indexOf("on."+_imgtype,0);
				if(where==-1) imgEl.src = imgEl.src.replace("."+_imgtype,"on."+_imgtype);
			}
		}
		if (top2MenuCurr) { top2MenuCurr.style.display = "inline"; }
	}
}
function top2menuHideAll() //2차메뉴모두감추기
{
	top1menuEl = document.getElementById("top1menu").childNodes;
	for (i=1;i<=11;i++)//메뉴삭제시 1차메뉴수가 안맞아 top1menuEl.length 대신 숫자로 넣음
	{
		top1Menu = document.getElementById("top1m"+i);
		top2Menu = document.getElementById("top2m"+i);
		inn = (i<10)? "0"+i : ""+i;
		if(top1Menu){ top1Menu.parentNode.className="";
			var imgEl= top1Menu.childNodes[0]
			if(imgEl.src){
				_imgtype = imgEl.src.substr(imgEl.src.length-3,imgEl.src.length-1);
				var where = imgEl.src.indexOf("on."+_imgtype,0);
				if(where!=-1) imgEl.src = imgEl.src.replace("on."+_imgtype,"."+_imgtype);
			}
			if (top2Menu) { top2Menu.style.display = "none"; }
		}
	}
}
function initTopMenu(d1,d2) {//1,2차메뉴초기화,마우스키보드이벤트할당
	d1n=d1; d2n=d2;//전역변수로설정
	d1nn = (d1n<10)? "0"+d1n : ""+d1n;
	d2nn = (d2n<10)? "0"+d2n : ""+d2n;
 	top1menuEl = document.getElementById("top1menu").childNodes;
	for (i=1;i<=11;i++)//메뉴삭제시 1차메뉴수가 안맞아 top1menuEl.length 대신 숫자로 넣음
	{
		top1Menu = document.getElementById("top1m"+i);
		top2Menu = document.getElementById("top2m"+i);
		if (top1Menu) {
			//var spanEl = document.createElement("span");//이미지대치기법용
			//top1Menu.insertBefore(spanEl,top1Menu.childNodes[0]);
			inn = (i<10)? "0"+i : ""+i;
			if(top1Menu.firstChild.tagName != "IMG"){//이미지가아니면
				top1Menu.innerHTML = '<img src="/img/inc/top1m'+inn+'.gif" alt="'+top1Menu.innerHTML+'" />';//이미지요소로대체
			}
			top1Menu.style.textIndent = "0";//스타일 원상태 복구.
			top1Menu.onmouseover = top1Menu.onfocus = top2menuView;
			top1Menu.onmouseout = top2menuHide;//onblur이벤트 제거 : IE에서 2차메뉴선택할 수 없어서..
			if (top2Menu) {
				top2Menu.style.display = "none";
				var top2MenuLastChild = top2Menu.lastChild;//끝li
				if(top2MenuLastChild){
					while(top2MenuLastChild.nodeName!="LI") top2MenuLastChild = top2MenuLastChild.previousSibling;
					top2MenuLastChild.className = "last";
				}
				var top2MenuFirstChild = top2Menu.firstChild;//첫li
				if(top2MenuFirstChild){
					while(top2MenuFirstChild.nodeName!="LI") top2MenuFirstChild = top2MenuFirstChild.nextSibling;
					top2MenuFirstChild.className = "first";
				}
				top2Menu.onmouseover = top2Menu.onfocus = top2menuView;
				top2Menu.onmouseout = top2Menu.onblur = top2menuHide;
				top2MenuAs = top2Menu.getElementsByTagName("a");
				if(top2MenuAs){
					for(j=0;j<top2MenuAs.length;j++){
						top2MenuAs[j].innerHTML = '<span>'+top2MenuAs[j].innerHTML+'</span>';//디자인용
					}
				}
			}
		}
	}
	//2차메뉴활성
	top2MenuCurrAct = document.getElementById("top2m"+d1+"m"+d2);
	if (top2MenuCurrAct) { top2MenuCurrAct.getElementsByTagName("a")[0].className="on"; }
	top2menuHide(d1);//메뉴활성초기화
}

/***************************************************************************************************/
