
/*
 * @title : Node °è»ê½Ã ie¸¦ Á¦¿ÜÇÑ ºê¶ó¿ìÀú¿¡¼­ °ø¹é±îÁö ³ëµå·Î Æ÷ÇÔ½ÃÅ°´Â °ÍÀ» Á¦°Å
 * @version : 1.0
 * @writer : ÀÌÈñ¿ø
 * @what's new :
 */
function removeNullNode(obj) {
	for(k=0;k<obj.length;k++) {
		if(obj[k].nodeType != 1) obj[k].parentNode.removeChild(obj[k]);
	}

	return obj;
}


try {
  document.execCommand('BackgroundImageCache', false, true);
} catch(e) {}

function $(id) { return document.getElementById(id); }


var xmlHttpGnb;
function $(id) { return document.getElementById(id); }
function createXMLHttpRequest() {
	if (window.ActiveXObject) {
		xmlHttpGnb = new ActiveXObject("Microsoft.XMLHTTP");
	}
	else if (window.XMLHttpRequest) {
		xmlHttpGnb = new XMLHttpRequest();
	}
}

function startRequest() {
	createXMLHttpRequest();
	xmlHttpGnb.onreadystatechange = handleStateChange;
	xmlHttpGnb.open("GET", "/global/meta/navigation/semiNavigation.xml", true);
	xmlHttpGnb.send(null);
}

function handleStateChange() {
	if(xmlHttpGnb.readyState == 4) {
		if(xmlHttpGnb.status == 200) {
			document.getElementById('globalNavigation').innerHTML = xmlHttpGnb.responseText;
			var gnbNavigation = new NavigationController('globalNavigation');
		}
	}
}

function menuOn(imgEl) { // menuOn Function Overridding.
	 if(imgEl.src.indexOf("_on") < 0) imgEl.src = imgEl.src.replace(".gif", "_on.gif");
}
function menuOut(imgEl) { // menuOut Function Overridding.
	 imgEl.src = imgEl.src.replace("_on.gif", ".gif");
}
function removeNullNode(obj) {
	for(k=0;k<obj.length;k++) {
		if(obj[k].nodeType != 1) obj[k].parentNode.removeChild(obj[k]);
	}

	return obj;
}

function findParentNode(o,e) {
	while(o) {
		o = o.parentNode;
		if(o.nodeName.toLowerCase() == e) break;
	}
	if(o) return o;
}

/*
 * @title : ElementÀÇ Àý´ë À§Ä¡,³Êºñ,³ôÀÌ°ª ¾Ë¾Æ³»±â
 * @version : 1.0
 * @writer : ÀÌÈñ¿ø
 * @modify(date,writer) :
 * @what's new :
 */
function eMatrix(element) {
	var matrix = new Array();
	matrix.x = 0;
	matrix.y = 0;
	matrix.w = element.clientWidth;
	matrix.h = element.clientHeight;
	while(element) {
		matrix.x += element.offsetLeft;
		matrix.y += element.offsetTop;
		element = element.offsetParent;
	}
	return matrix;
}

function selectCompare(t,s) { // t : target, s : switch

	var selectArea,selectAreaMatrix,tMatrix;

	var oa = new Object();
	var ob = new Object();
	var oc = new Object();
	var od = new Object();
	var ta = new Object();
	var tb = new Object();
	var tc = new Object();
	var td = new Object();
	tMatrix = eMatrix(t);
	oa.x = parseInt(tMatrix.x,10);
	oa.y = parseInt(tMatrix.y,10);
	ob.x = parseInt(tMatrix.x,10)+parseInt(tMatrix.w,10);
	ob.y = parseInt(tMatrix.y,10);
	oc.x = parseInt(tMatrix.x,10);
	oc.y = parseInt(tMatrix.y,10)+parseInt(tMatrix.h,10);
	od.x = parseInt(tMatrix.x,10)+parseInt(tMatrix.w,10);
	od.y = parseInt(tMatrix.y,10)+parseInt(tMatrix.h,10);

	try {
		selectArea = document.getElementsByTagName('select');
		selectAreaMatrix = new Array();

		for(i=0;i<selectArea.length;i++) {
			selectAreaMatrix[i] = eMatrix(selectArea[i]);
		}
	} catch(e) {}

	if(s == 'off') {
		for(i=0;i<selectAreaMatrix.length;i++) {
			ta.x = parseInt(selectAreaMatrix[i].x,10);
			ta.y = parseInt(selectAreaMatrix[i].y,10);
			tb.x = parseInt(selectAreaMatrix[i].x,10)+parseInt(selectAreaMatrix[i].w,10);
			tb.y = parseInt(selectAreaMatrix[i].y,10);
			tc.x = parseInt(selectAreaMatrix[i].x,10);
			tc.y = parseInt(selectAreaMatrix[i].y,10)+parseInt(selectAreaMatrix[i].h,10);
			td.x = parseInt(selectAreaMatrix[i].x,10)+parseInt(selectAreaMatrix[i].w,10);
			td.y = parseInt(selectAreaMatrix[i].y,10)+parseInt(selectAreaMatrix[i].h,10);
			if(ob.y-10 <= ta.y && od.y >= ta.y) {
				if(oa.x <= ta.x && ob.x >= tb.x) {
					if(selectArea[i].style.visibility == '' || selectArea[i].style.visibility == 'visible') selectArea[i].style.visibility = 'hidden'; // ¿µ¿ª¾È¿¡ ÀÖÀ½
				} else  if(ob.x >= ta.x && ob.x <= tb.x) {
					if(selectArea[i].style.visibility == '' || selectArea[i].style.visibility == 'visible') selectArea[i].style.visibility = 'hidden'; // ¿µ¿ª¾È¿¡ ÀÖÀ½
				} else  if(oa.x >= ta.x && ob.x >= tb.x && oa.x <= tb.x) {
					if(selectArea[i].style.visibility == '' || selectArea[i].style.visibility == 'visible') selectArea[i].style.visibility = 'hidden'; // ÁÂÃø¿¡ °ÉÅÍÀÖ´Â °æ¿ì
				}
			}
		}
	} else {
		for(i=0;i<selectArea.length;i++) {
			selectArea[i].style.visibility = 'visible'
		}
	}
}

/*
 * @title : Global Navigation Script
 * @version : 1.6
 * @writer : ÀÌÈñ¿ø
 * @modify(date,writer) : 09. 08. 19
 * @Description : »ï¼º GNB È¯°æ¿¡ ÃÖÀû, select¹Ú½º °ãÃÄÁö¸é ¼û±è
 *
 */
var NavigationController = function(obj) {

	var obj = $(obj);
	var getObj = obj.getElementsByTagName('ul')[0];
	var list = removeNullNode(getObj.childNodes);
	var targetElement,statusTimer,outTimer,getCurrentElement,getCurrentImgElement;

	if(typeof(flashAccessMenuSelectNumber) == 'undefined' || flashAccessMenuSelectNumber<0 || flashAccessMenuSelectNumber >= list.length ) n = false;
	else n = parseInt(flashAccessMenuSelectNumber,10) + 1;

	function currentActiveImage(o) {
		if(o.src.indexOf('_on.gif') == -1) menuOn(o);
		getCurrentImgElement = o;
		getCurrentElement = o.parentNode.parentNode.getElementsByTagName('div')[0];
	}

	function currentDeImage(o) {
		if(o.src.indexOf('_on.gif') != -1) menuOut(o);
	}

	for(i=0,j=list.length;i<j;i++) {

		targetElement = list[i].getElementsByTagName('div')[0];
		targetImage = list[i].getElementsByTagName('a')[0].getElementsByTagName('img')[0];

		if(document.addEventListener) {
			list[i].getElementsByTagName('a')[0].addEventListener("focus",overTimerFunc,false);
			list[i].addEventListener("mouseover",overTimerFunc,false);
			getObj.addEventListener("mouseout",outTimerFunc,false);
		} else {
			list[i].firstChild.attachEvent("onfocus",overTimerFunc);
			list[i].attachEvent("onmouseover",overTimerFunc);
			getObj.attachEvent("onmouseout",outTimerFunc);
		}
	}

	function outTimerFunc(e) {
		clearTimeout(outTimer);
		outTimer = setTimeout(nodeOut,10);
	}

	function overTimerFunc(e) {
		clearTimeout(outTimer);
		nodeShow(e);
	}

	function nodeOut() {

		//$('tmpNode').innerHTML = $('tmpNode').innerHTML + "nodeOut<br />";

		if(getCurrentElement.style.display != "none") getCurrentElement.style.display = "none";
		if(getCurrentElement.parentNode.className != "") getCurrentElement.parentNode.className = "";
		if(n) {
			if(getCurrentImgElement != list[n-1].getElementsByTagName('a')[0].getElementsByTagName('img')[0]) currentDeImage(getCurrentImgElement);
			currentActiveImage(list[n-1].getElementsByTagName('a')[0].getElementsByTagName('img')[0]);
		} else {
			currentDeImage(getCurrentImgElement);
		}
		selectCompare(getCurrentElement,'on');
	}

	function nodeShow(e) {

		//$('tmpNode').innerHTML = $('tmpNode').innerHTML + "nodeShow<br />";

		if(!e) e = window.event;
		if(document.all) currentElement = e.srcElement;
		else currentElement = e.target;

		var checkLayer = true;

		var recentNodeName = currentElement.nodeName.toLowerCase();

		if(recentNodeName == 'a') {
			if(currentElement.parentNode.parentNode.parentNode != obj) checkLayer = false;
		} else if(recentNodeName == 'img') {
			if(currentElement.parentNode.parentNode.parentNode.parentNode != obj) checkLayer = false;
		} else if(recentNodeName == 'li') {
			if(currentElement.parentNode.parentNode != obj) checkLayer = false;
		} else if(recentNodeName == 'div') {
			if(currentElement.className.indexOf('submenu') == 1) checkLayer = false;
			if(currentElement.parentNode.parentNode.parentNode != obj) checkLayer = false;
		} else {
			if(currentElement.parentNode.parentNode.parentNode != obj) checkLayer = false;
		}

		if(checkLayer) {


			//$('tmpNode').innerHTML = $('tmpNode').innerHTML + "nodeIn<br />";

			if(currentElement.nodeName.toLowerCase() == "img" ) thisNode = currentElement.parentNode.parentNode;
			else if(currentElement.nodeName.toLowerCase() == "a") thisNode = currentElement.parentNode;
			else thisNode = currentElement;

			var targetElement = thisNode.getElementsByTagName('div')[0];
			var targetImgElement = thisNode.getElementsByTagName('img')[0];

			selectCompare(targetElement,'on');

			if(getCurrentElement) {

				if(targetElement != getCurrentElement) {
					getCurrentElement.style.display = "none";
					getCurrentElement.parentNode.className = "";
					currentDeImage(getCurrentImgElement);
				}

				if(targetElement.style.display != "block") targetElement.style.display = "block";
				if(targetElement.parentNode.className != "over") targetElement.parentNode.className = "over";
				currentActiveImage(targetImgElement);
				selectCompare(targetElement,'off');

				getCurrentElement = targetElement;

			} else {

				if(targetElement.style.display != "block") targetElement.style.display="block";
				if(targetElement.parentNode.className != "over") targetElement.parentNode.className = "over";
				currentActiveImage(targetImgElement);
				selectCompare(targetElement,'off');

				getCurrentElement = targetElement;
			}
		}





	}

	if(n) { currentActiveImage(list[n-1].getElementsByTagName('a')[0].getElementsByTagName('img')[0]); }
}