﻿var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
var isClicked=false, current=null, menu, prevSub;

function load_menu(xmlFile) {	
	xmlDoc.async="false";
	xmlDoc.onreadystatechange=verify;
	xmlDoc.load(xmlFile);
	
	menu=xmlDoc.documentElement;
	build_menu();	
} 

function verify() { 
	if (xmlDoc.readyState != 4) { return false; } 
} 

function build_menu() {
	var menuBuilder, menuArea;
	if (document.all) {
		menuArea=document.all('menu');
		menuBuilder=ie_menu();
		menuArea.innerHTML=menuBuilder;    
	} 
} 

function ie_menu () {
	var builder,menutxt,menuwidth;
	
	builder="<table class=menu border=0 cellspacing=0 cellpadding=0 width=982 height=22><tr>";	// 전체테이블
	//builder+="<td width=8><table height=22 cellspacing=0 cellpadding=0 width=8 border=0><tr>";
	//builder+="<td width=1></td>";
	//builder+="<td width=6 bgcolor=#e3e3e3>&nbsp;</td>";
	//builder+="<td width=1></td>";
	//builder+="</tr></table></td>";
	
	for (var i=0; i<menu.childNodes.length; i++) {
		menutxt=menu.childNodes(i).firstChild.text;
		
		if(menu.childNodes(i).getAttribute('width') != null)	// 주메뉴 width 값 설정
			menuwidth = menu.childNodes(i).getAttribute('width');
		
						
		builder += "<td id=menu"+i+" width="+menuwidth+" class=menu bgcolor=#4680e9 onClick='menu_click(this,"+'"menu.childNodes('+i+')"'+")' onMouseover='menu_over(this,"+'"menu.childNodes('+i+')"'+")' onMouseout='menu_out(this)' nowrap align='center'>"+menutxt+"</td>"; 
	}
	
	builder += "</tr></table>"; 	
	return builder;
	
} 
	
function menu_over(menuObj,menuStr)  {
	
	var menuid="sub"+menuObj.className, menuDom=eval(menuStr);	
		
	while(document.all("sub"+menuid)) 
	{			
			document.all("sub"+menuid).style.visibility="hidden"; 
			menuid="sub"+menuid; 
	}
	
	show_sub(menuObj,menuStr);	// 선택한 sub menu 보기			
	
	menuObj.style.backgroundColor = "#0242a3";	// mouseover 시 bg설정
	
	if (current!=menuObj) 
	{ 
		move_sub(menuObj,menuStr); 				
		current=menuObj; 
	}     
} 

function menu_click(menuObj,menuStr) { 
	var menuDom=eval(menuStr); 
	var url = menuDom.getAttribute('action');	  
		
	isClicked=!(isClicked); 
	
	if (isClicked) { 
		go_targetUrl(url);
	}
	event.cancelBubble = true;
} 

function go_targetUrl(url)
{
	document.location.href = url;
}		

function menu_out(menuObj) { // parent menu에서 mouseout 할때
	menuObj.style.backgroundColor="#4680e9";
}

function show_sub(menuObj,menuStr) {	// sub 메뉴 보기	

	var menuDom=eval(menuStr); 
	move_sub(menuObj,menuStr); 	
	document.all('sub'+menuObj.className).style.visibility = "visible"; 
}

function move_sub(menuObj,menuStr) {
	var menuDom=eval(menuStr); 

	var ytop = 0, xleft=0, pwidth=menuObj.style.width;

	if (document.all('sub'+menuObj.className)) 
	{ 
		document.all('sub'+menuObj.className).innerHTML=build_sub(menuObj,menuStr); 
	}

	for (var p=menuObj; p&&p.tagName!='BODY'; p=p.offsetParent){
		xleft+=p.offsetLeft; 
		ytop+=p.offsetTop;
	} 
	
	if (menuObj.className=="menu") 
	{
		xleft = menuDom.getAttribute('startposition');
		
		document.all('sub'+menuObj.className).style.top  = menuObj.offsetHeight + ytop;
		document.all('sub'+menuObj.className).style.left = xleft - 1; 
	} 
	else {
		document.all('sub'+menuObj.className).style.top  = ytop;
		document.all('sub'+menuObj.className).style.left = xleft + menuObj.offsetWidth; 
	} 
} 

function build_sub(menuObj,menuStr) {
	var builder, content, hasChild, actionUrl, width, content, target;
	var menuDom=eval(menuStr); 
	
	menuObj.style.backgroundColor = "#0242a3";	// mouseover 시 bg설정
	
	if (menuObj&&menuDom) { 		
		builder="<table class=sub border=0 cellspacing=0 cellpadding=0 height=23><tr valign=middle>";
		for (var i=0; i<menuDom.childNodes.length; i++) {
			
			hasChild=false;			
			
			if (menuDom.childNodes(i).firstChild) 
			{
				if (menuDom.childNodes(i).hasChildNodes()) {	// 3rd Menu가 존재하면
					for (var k=0; k<menuDom.childNodes(i).childNodes.length; k++) {
						if (menuDom.childNodes(i).childNodes(k).nodeType==1) { 
							more="<font face=webdings>&nbsp;&nbsp;&nbsp;4</font>";
							hasChild=true;
							break;
						} 
					}
				} 
				
				actionUrl = menuDom.childNodes(i).getAttribute('action');
				width = menuDom.childNodes(i).getAttribute('width');
				content = menuDom.childNodes(i).firstChild.text;
				target = menuDom.childNodes(i).getAttribute('target');
				

				
				if(target == null)
					target = '_self';							
												
				builder +="<td class=m_top_02 nowrap width="+width+" align='center'><a href='"+actionUrl+"' target='"+target+"'>"+content+"</a></td>"; 
			} 
			else 
			{
				if (menuDom.childNodes(i).nodeType==1&&menuDom.childNodes(i).getAttribute('type')=="rule") {
					builder+="<td width=10 style='padding-Top:3px; font-size:9pt; font-weight:normal;' align='center'>|</td>"; 
				} 
			}   
		}
		builder += "</tr></table>";	   
	}	
	return builder;
} 		

function sub_out(menuObj,subMenu) {
	if (menuObj!=prevSub) { menuObj.style.backgroundColor = "#cccccc"; menuObj.style.color = "black"; }
} 


function hide_sub(menuObj) {
	if (menuObj) { menuObj.style.visibility = "hidden"; }
}
