/*
 * Menu Link, Location Map, Menu Code 관리
 * @author HJin
*/

var xmlURL = "/swf/xml/navi_info.xml";
var xml = parseXML(xmlURL); // xml 파싱
var depth = 3; // 현재 사이트의 Depth

// 페이지 링크
function menu_link(pMenuCode) {

	xmlURL = "/swf/xml/navi_info.asp";
	xml = parseXML(xmlURL); // xml 파싱

	var isMove = false;

	if(pMenuCode != "") {
		$(xml).find("uLink").each(function(){
			if(pMenuCode == $(this).attr("menucode")) {
				if($(this).attr("gUrl") != "") {
					if($(this).attr("gTarget") == "_blank") {
						if(typeof($(this).attr("width")) != "undefined" && typeof($(this).attr("height")) != "undefined") {
							window.open($(this).attr("gUrl"), 'popup', 'width='+$(this).attr("width")+',height='+$(this).attr("height")+',top=150,left=250,toolbar=no,menubar=no,location=no,scrollbars=no,status=no');
						}
						else {
							window.open($(this).attr("gUrl"));
						}

						isMove = true;
						return false;
					}
					else {
						location.href = $(this).attr("gUrl");
						isMove = true;
						return false;
					}
				}
				else {
					alert("준비중입니다.");
					isMove = true;
					return false;
				}
			}
		});

		if(isMove) return false;

		for(var i=0; i<=depth; i++) {
		  $(xml).find("depth" + i).each(function() {
		    if (pMenuCode == $(this).attr("menucode")) {

					//마이룸 로그인 체크 여부
					if(jQuery(this).attr("menucode") == "07" || jQuery(this).attr("menucode") == "0701") {
						goMyRoom();
						return false;
					}

		      if ($(this).attr("gUrl") != "") {
		        if ($(this).attr("gTarget") == "_blank") {
		          if (typeof ($(this).attr("width")) != "undefined" && typeof ($(this).attr("height")) != "undefined") {
		            window.open($(this).attr("gUrl"), 'popup', 'width=' + $(this).attr("width") + ',height=' + $(this).attr("height") + ',top=150,left=250,toolbar=no,menubar=no,location=no,scrollbars=no,status=no');
		          }
		          else {
		            window.open($(this).attr("gUrl"));
		          }
		          return false;
		        }
		        else {
		          location.href = $(this).attr("gUrl");
		          return false;
		        }
		      }
		      else {
		        alert("준비중입니다.");
		        return false;
		      }
		    }
		  });
		}
	}
	else {
		alert("올바른 링크가 아닙니다.");
	}
}

//현재페이지 메뉴코드 리턴
function getMenuCode(){

	var linkType = "/";
	var arrTemp, strCompareOrigin, strCompare, strCompareQueryString, strMenuCode;

	arrTemp = location.href.split("/");

	strCompare = arrTemp[3];
	for(var i=4; i<arrTemp.length; i++) {
		strCompare = strCompare + "/" + arrTemp[i];
	}
	strCompareOrigin = linkType + strCompare;
	strCompare = strCompareOrigin.split("?")[0];
	strCompareQueryString = strCompareOrigin.split("?")[1];

	$(xml).find("uLink").each(function(){
		if(typeof($(this).attr("compareQueryString")) == "undefined") {
			if(strCompare == $(this).attr("gUrl")) {
				strMenuCode = $(this).attr("menucode");
				return false;
			}
		}
		else {
			if(strCompareQueryString != null || typeof(strCompareQueryString) != "undefined") {
				strCompare += "?";

				var startQueryString = 0;
				if(typeof($(this).attr("excludeQueryString")) != "undefined") {
					startQueryString = $(this).attr("excludeQueryString");
				}

				for(var j=startQueryString; j<Number(startQueryString) + Number($(this).attr("compareQueryString")); j++) {
					strCompare += strCompareQueryString.split("&")[j];

					if(j != Number(startQueryString) + Number($(this).attr("compareQueryString"))-1) {
						strCompare += "&";
					}
				}

				if(strCompare == $(this).attr("gUrl")) {
					strMenuCode = $(this).attr("menucode");

					return false;
				}
			}
			else {
				if(strCompare == $(this).attr("gUrl")) {
					strMenuCode = $(this).attr("menucode");

					return false;
				}
			}
		}

		strCompare = strCompareOrigin.split("?")[0];
	});

	for(var i=0; i<=depth; i++) {
		$(xml).find("depth"+i).each(function(){
			if(typeof($(this).attr("compareQueryString")) == "undefined") {
				if(strCompare == $(this).attr("gUrl")) {
					strMenuCode = $(this).attr("menucode");
					return false;
				}
			}
			else {
				if(strCompareQueryString != null || typeof(strCompareQueryString) != "undefined") {
					strCompare += "?";

					for(var j=0; j<$(this).attr("compareQueryString"); j++) {
						strCompare += strCompareQueryString.split("&")[j];

						if(j != $(this).attr("compareQueryString")-1) {
							strCompare += "&";
						}
					}

					if(strCompare == $(this).attr("gUrl")) {
						strMenuCode = $(this).attr("menucode");

						return false;
					}
				}
				else {
					if(strCompare == $(this).attr("gUrl")) {
					strMenuCode = $(this).attr("menucode");

					return false;
				}
				}
			}

			strCompare = strCompareOrigin.split("?")[0];
		});
	}

	return strMenuCode;
}

// Location Map 출력
function callLocationMap(pULClass, pSelectClass) {
	var strTemp = "";
	var strMenuCode = getMenuCode();
	var arrTemp = new Array();

	for(var i=0; i<strMenuCode.length/2; i++) {
		arrTemp[i] = strMenuCode.substr(0, (i+1)*2);
	}

	strTemp += '<ul class="'+pULClass+'">\n';
	strTemp += '<li class="home"><a href="menu_link(1)"><a href="/index.jsp"><img src="/new_home/images/common/icon/ico_home.gif" alt="HOME"></a></li>\n';
	for(var i=0; i<arrTemp.length; i++) {
		if(i != arrTemp.length-1) {
			strTemp += '<li><a href="javascript:menu_link(\''+arrTemp[i]+'\')">' + getNameAsMenuCode(arrTemp[i]) + '</a></li>\n';
		}
		else {
			strTemp += '<li class='+pSelectClass+'>' + getNameAsMenuCode(arrTemp[i]) + '</li>\n';
		}
	}
	strTemp += '</ul>';

	document.write(strTemp);
}

// MenuCode에 맞는 name 리턴
function getNameAsMenuCode(pMenuCode) {
	var strName;
	for(var i=0; i<=depth; i++) {
		$(xml).find("depth"+i).each(function(){
			if(pMenuCode == $(this).attr("menucode")) {
				strName = $(this).attr("name");
				return false;
			}
		});
	}

	return strName;
}
