/*INISEAL:[X5cZ1h0fbvtK1HY1YIyPrv4258Y%3D%0A]*/
/************************************************************************************************************
 (C) www.dhtmlgoodies.com, October 2005
 
 This is a script from www.dhtmlgoodies.com. You will find this and a lot of other scripts at our website.
 
 Terms of use:
 You are free to use this script as long as the copyright message is kept intact. However, you may not
 redistribute, sell or repost it without our permission.
 
 Update log:
 
 March, 15th: Fixed problem with sliding in MSIE
 
 Thank you!
 
 www.dhtmlgoodies.com
 Alf Magne Kalleland
 
 ************************************************************************************************************/
/*****************************************************************************
 * ÆÄÀÏ¸í : JHanaPortalMenu.js
 * ÀÛ¼ºÀÏ : 2008. 01. 15
 * ÀÛ¼ºÀÚ : ork(¿À·û°æ)
 * ¼³   ¸í : Alf Magne Kalleland ÀÇ dhtml menu ¸¦ Ä¿½ºÅÍ¸¶ÀÌÂ¡ÇÔ.
 * Dependency : DOM select ¿¡¼­ Ext API, prototype.js ¸¦  ¾¸, hana.JHanaAjax, pbk-package.js
 * ===========================================================================
 * º¯°æÀÌ·Â:
 * DATE				AUTHOR		DESCRIPTION
 * ---------------------------------------------------------------------------
 * 2008.01.17       ork         draft 0.1
 * 2008.01.18       ork         Å¬·ÎÁ® ¿ÜºÎ¿¡¼­ È£ÃâÇÏ´Â goFromOutside() ÇÔ¼ö Ãß°¡ 
 * 2008.01.19       ork         location.search ¿¡¼­ ¾ò´Â ÆÄ¶ó¸ÞÅÍ Ã³¸®¿Í 
 *                              (jsp)stack parameter Ã³¸®¸¦ µ¿ÀÏÇÑ ÇÔ¼ö¿¡¼­ Ã³¸®Åä·Ï ¼öÁ¤
 *                              draft 0.9
 * 2008.02.26       ork         MenuItem ¿¡ Function ¼Ó¼ºÀ» °¡Áöµµ·Ï ÁöÁ¤     
 * 2008.02.28       ork         MainMenuItem ¿¡ submenuItemÀÌ ¾øÀ» °æ¿ì ºó subItemÀ» ¸¸µé¾î scroll³ôÀÌ Á¶Á¤°¡´ÉÇÏµµ·Ï ¼öÁ¤  
 * 2008.09.18       ¿À·û°æ       (1)´Ü°èÀÇ ¼­ºê¸Þ´º°¡ ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì(¸µÅ©°¡ ¹Ù·Î °É·ÁÀÖ´Â°æ¿ì)   
 * 2008.11.05       ¿À·û°æ       ¸Þ´º°¡ ¹Ù²î¾úÀ» ¶§ History ¸¦ ¸¸µé¾î¼­ ºê¶ó¿ìÁ®¸ðµ¨¿¡ ÀúÀåÇÏ¿©µÐ´Ù. ¸Þ´º´Â back, forward °¡´ÉÅä·Ï ÁØºñ
 * 2008.12.23       ¿À·û°æ       20081223 initMenuItem È£Ãâ½Ã Àü¿ªº¯¼ö ÃÊ±âÈ­  
 * 2009.02.14       ¿À·û°æ       20090214 ¸Þ´º ÆîÄ§¿¡¼­ class »èÁ¦ / blank »èÁ¦ 
 * 2009.02.18       ¿À·û°æ       20090218 menuItem¿¡ index(tiles) urlÀ» °É¾úÀ» °æ¿ì Ã³¸®  
 * 2009.04.05       ¿À·û°æ       20090405 °Ë»ö°á°ú ÆäÀÌÁö ÀÌµ¿   
 * 2009.04.09       ¿À·û°æ       20090409 ÀÌ¹ÌÁö ¸Þ´ºÀÎ °æ¿ì¿Í °°ÀÌ º¸¿©Áö´Â ¸Þ´º¿Í ÀúÀåÇÑ ¸Þ´º ½ºÅ¸ÀÏÀÌ Æ²¸°°æ¿ì..  
 * 2009.06.01       ¿À·û°æ       20090601 itemId ·Î È£ÃâÇÏ±â À§ÇØ goFromOutside2 Ãß°¡, menuItem »ý¼ºÀÚ¿¡ ºÎ¸ð¾ÆÀÌµð Ãß°¡                    
 * ---------------------------------------------------------------------------
 * º¯°æ ÀÌ·ÂÀº ÀÌ°÷¿¡ Ãß°¡ ÇÕ´Ï´Ù.
 *****************************************************************************/

hana.JMenuPanel = {
    expandFirstItemAutomatically : false, // Expand first menu item automatically ?
    initMenuIdToExpand : false, // Id of menu item that should be initially expanded. the id is defined in the <li> tag.
    expandMenuItemByUrl :true, // Menu will automatically expand by url - i.e. if the href of the menu item is in the current location, it will expand
    initialMenuItemAlwaysExpanded : true, // NOT IMPLEMENTED YET
    dhtmlgoodies_slmenuObj: null,
    divToScroll : false,
    ulToScroll : false,
    divCounter : 1,
    otherDivsToScroll : new Array(),
    divToHide : false,
    parentDivToHide : new Array(),
    ulToHide : false,
    offsetOpera : 0,
    slideMenuHeightOfCurrentBox : 0,
    objectsToExpand : new Array(),
    initExpandIndex : 0,
    alwaysExpanedItems : new Array(),
	
	locationKey : null, //History ¸Þ´ºÅ¬¸¯½Ã »ý±â´Â locationKey ÀÓ½ÃÀúÀå
	menuTitle : {},  // MENU TITLE OBJECT,
	prevFirstMenuIdx : false,
	mainDiv : new Object(),
	menus : new Array(),
	selectedEl : {},
	prevSelectedEl : {},	
	selectedTitleEl : false,
	prevSelectedTitleEl : false,
		
	//---- Start Dynamic ¸Þ´º±¸¼ºÀ» À§ÇÑ È®Àå º¯¼ö ¼±¾ð ----//
	menuItemCode :  ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'],	
	errMsg : encodeURI('¾ÆÁ÷ ±¸ÇöµÇÁö ¾Ê¾Ò½À´Ï´Ù.'),
	errCodeMsg : encodeURI('Àß¸øµÈ ÄÚµåÀÔ´Ï´Ù.'),	
	MENU_DIV : 'hanaMenuDiv',
	MENU_TITLE_DIV : 'hanaMenuTitleDiv',

	/*currentPageCode : '',*/
		
	//---- END ----//
	
	/**
	 * Àü¿ªº¯¼ö ÃÊ±âÈ­ 
	 * 20081223
	 */
	init : function () {
		hana.JMenuPanel.expandFirstItemAutomatically = false;
	    hana.JMenuPanel.initMenuIdToExpand = false; 
	    hana.JMenuPanel.expandMenuItemByUrl =true;
	    hana.JMenuPanel.dhtmlgoodies_slmenuObj= null;
	    hana.JMenuPanel.divToScroll = false;
	    hana.JMenuPanel.ulToScroll = false;
	    hana.JMenuPanel.divCounter = 1;
	    hana.JMenuPanel.otherDivsToScroll = new Array();
	    hana.JMenuPanel.divToHide = false;
	    hana.JMenuPanel.parentDivToHide = new Array();
	    hana.JMenuPanel.ulToHide = false;
	    hana.JMenuPanel.offsetOpera = 0;
	    hana.JMenuPanel.slideMenuHeightOfCurrentBox = 0;
	    hana.JMenuPanel.objectsToExpand = new Array();
	    hana.JMenuPanel.initExpandIndex = 0;
	    hana.JMenuPanel.alwaysExpanedItems = new Array();
		hana.JMenuPanel.locationKey = null; 
		hana.JMenuPanel.menuTitle = {};  
		hana.JMenuPanel.prevFirstMenuIdx = false;
		hana.JMenuPanel.mainDiv = new Object();
		hana.JMenuPanel.menus = new Array();
		hana.JMenuPanel.selectedEl = {};
		hana.JMenuPanel.prevSelectedEl = {};
		hana.JMenuPanel.selectedTitleEl = false;
		hana.JMenuPanel.prevSelectedTitleEl = false;	
		hana.JMenuPanel.selectedItemId = null;	
		
		/*20090619*/
		/*hana.JMenuPanel.currentPageCode = '';*/
		
	},
	/**
	 * @since 20090409
	 */
	restoreMenus : function(menus) {
		hana.JMenuPanel.init();
		hana.JMenuPanel.menus = menus;
	},
	/**
	 * action ¸í È¤Àº.. ¿äÃ» ÆäÀÌÁö¸í¸¸ ¸®ÅÏ..
	 * @param {Object} actionURI
	 */
	getActionByParseUrl : function(actionURI) {
		var returnVal = "";
		if ("" !=actionURI && actionURI.indexOf("/") > -1 && actionURI.indexOf(".") > -1 ){
    		returnVal = actionURI.substring((actionURI.lastIndexOf("/") + 1), actionURI.indexOf("."));
		}				
		return returnVal;
	},	
	/**
	 * °Ë»öÆäÀÌÁöÀÇ °á°ú°ª ÆäÀÌÁö ÀÌµ¿ 
	 * @since 20090405
	 */
	goSearchPage : function(menuItemId,targetTile,targetPage){
		var sItemId = menuItemId;
		var sTargetTile = targetTile;
		var sTargetPage = targetPage;
		
		if (sItemId==null || sItemId=='') {
			alert('Àß¸øµÈ È£ÃâÀÔ´Ï´Ù.');
			return;
		}
		if (sTargetTile==null || sTargetTile=='') {
			alert('Àß¸øµÈ È£ÃâÀÔ´Ï´Ù.');
			return;
		}
		if (sTargetPage==null || sTargetPage=='') {
			alert('Àß¸øµÈ È£ÃâÀÔ´Ï´Ù.');
			return;
		}	
		
		/*** start Æ÷Å»¸Þ´º ºÐ±â 20090601 ***/
		var menuOrder = new Array();
		var order = 0;
		var filter = '[0-9]';
		var isOldMenuItemId = true;
        var re = new RegExp(filter);
		var firstChar = menuItemId.substring(0,1);
        if (!re.test(firstChar)) {
            menuOrder = menuItemId.split('-');
        } else {
			isOldMenuItemId = false;
		}
		/*** end Æ÷Å»¸Þ´º ºÐ±â 20090601 ***/
		
		/* Æ÷Å»°Ë»öÀ» À§ÇÔ ¿É¼Ç...*/
		var itemParam = {
			p1 : null,
			d  : 1,
			m0 : 'A',
			m1 : ''
		};
		
		var isPortal = false;
		// portalUrlHash ´Â JHanaAjax¿¡ Æ÷ÇÔµÇ¾î ÀÖ´Ù.
        if (targetPage.indexOf('/',1)  > -1) {
			var tempUrl = targetPage.substring(0,targetPage.indexOf('/',1));
			if (portalUrlHash.keys().include(tempUrl)) {
				isPortal = true;
			} else {
                isPortal = false;
			}
		}
		// Æ÷Å»ÀÎ °æ¿ì
		if (isPortal) {
					
			try {
				// 20090601 , oldStyle ÀÌ¸é 
				if (isOldMenuItemId) {
					// portalÀº 2-depth ±îÁö¸¸ Áö¿øÇÔ.
					switch (menuOrder.length) {
						case 1:{
							itemParam.d = 1;
							itemParam.m0 = hana.JMenuPanel.menuItemCode[parseInt(menuOrder[0], 10) - 1];
							break;
						}
						case 2:{
							itemParam.d = 1;
							itemParam.m0 = hana.JMenuPanel.menuItemCode[parseInt(menuOrder[0], 10) - 1];
							itemParam.m1 = hana.JMenuPanel.menuItemCode[parseInt(menuOrder[1], 10) - 1];
							break;
						}
						case 3:{
							itemParam.d = 2;
							itemParam.p1 = hana.JMenuPanel.menuItemCode[parseInt(menuOrder[0], 10) - 1];
							itemParam.m0 = hana.JMenuPanel.menuItemCode[parseInt(menuOrder[1], 10) - 1];
							itemParam.m1 = hana.JMenuPanel.menuItemCode[parseInt(menuOrder[2], 10) - 1];
							break;
						}
						// ±âº»°ª..
						default:
							{
								itemParam.d = 1;
								itemParam.m0 = 'A';
								break;
							}
					} 					
					var data = [{id:'d',   value: itemParam.d}
					           ,{id:'p1',  value: itemParam.p1}
							   ,{id:'m0',  value: itemParam.m0}
							   ,{id:'m1',  value: itemParam.m1}
							   ,{id:'isupdate',    value: 'false'}
							   ,{id:'targetPage',  value: targetPage}];
					location.href = pbk.APPLICATION_CONTEXT_ROOT+targetTile+'?d='+itemParam.d+'&p1='+itemParam.p1+'&m0='+itemParam.m0+'&m1='+itemParam.m1+'&isupdate=false&targetPage='+targetPage;					
					
				} else {
					// 20090601 menuItemId Çü½ÄÀÌ¸é 
					location.href = pbk.APPLICATION_CONTEXT_ROOT+targetTile+'?menuItemId='+menuItemId+'&isupdate=false&contentUrl='+targetPage;					
				}
			} catch (e) {
				// ignored...
			}

		} else {
            var pMenuItemId = hana.JMenuPanel.getActionByParseUrl(targetPage);			
			// Æ÷Å» °æ·Î°¡ ¾Æ´Ñ°æ¿ì 
			var data = [{id:'menuItemId', value: pMenuItemId}
					   ,{id:'isupdate',    value: 'true'}];			
			form.createFormSubmit(data, pbk.APPLICATION_CONTEXT_ROOT+targetTile);
		}
					
	},
	/**
	 * A,B,C,BÀÇ ¼ø¼­·Î µÈ ¾ÆÀÌÅÛ ÄÚµå¸¦ ¹Þ¾Æ 0,1,2,3,4 ÀÇ ¼ø¼­·Î ¹Ù²Ù¾î ¸®ÅÏ 
	 * @param {String} itemCode
	 */
	parseMenuItemCode : function (itemCode) {
		var arrayOrder;
		for (var i=0; i <hana.JMenuPanel.menuItemCode.length ; i++) {
			if (itemCode == hana.JMenuPanel.menuItemCode[i]) {
				arrayOrder = i;
				break; 
			}
		}
		return arrayOrder;
	},
	/**
	 * ¸Þ´º¿¡ ´ëÇÑ ÆäÀÌÁö ÀÌµ¿À» pbk.CONTENT_WRAP ¿µ¿ª¿¡ º¸¿©ÁÖ°í
	 * ¸Þ´º Å¬¸¯¿¡ ´ëÇÑ Ç¥½Ã¸¦ ÇØÁØ´Ù. 
	 * @param {String} pageURL
	 * @param {String} elementId
	 * @param {Object} formObj
	 * @param {Function} callbackFunc
	 */
	goMenu : function (pageURL,elementId,formObj,callbackFunc) {
		
		var destDiv = pbk.CONTENT_WRAP;

		var hanaAjax = new hana.JHanaAjax(destDiv, true, true);	
	
	    /* 20090218 Å¸ÀÏ ¾×¼ÇÀÌ¸é locationÀ» ¹Ù²ãÁØ´Ù. */
		if (callbackFunc && null != callbackFunc) {
			if (hana.JMenuPanel.isTilesAction(pageURL)) {
				/* ÆäÀÌÁö ÀÌµ¿½ÃÅ²´Ù.*/
				hana.JMenuPanel.moveToLink(pageURL,formObj);
			} else {
				hanaAjax.ajaxCommSubmitCallback(pbk.APPLICATION_CONTEXT_ROOT + pageURL, formObj, callbackFunc);	
			}
			
		} else {
			if (hana.JMenuPanel.isTilesAction(pageURL)) {
                /* ÆäÀÌÁö ÀÌµ¿½ÃÅ²´Ù.*/
				hana.JMenuPanel.moveToLink(pageURL,formObj);
			} else {
				hanaAjax.ajaxCommSubmit(pbk.APPLICATION_CONTEXT_ROOT + pageURL, formObj);
			}
			
		}
		
		var eleHTMLEle = $(elementId);
 		if (!eleHTMLEle || !eleHTMLEle.parentNode) {
			return;
		}
		else {
			hana.JMenuPanel.markSelectedMenu(elementId);
		}
	},
	
	/**
	 * XXXindex.do ¸¦ Æ÷ÇÔÇÑ url ÀÎÁö ÆÇ´ÜÇÑ´Ù.
	 * @since 20090218
	 * @param {String} reqUrl
	 */	
	isTilesAction : function(reqUrl){
		var returnValue = false;
		if (null==reqUrl || reqUrl == '') {
    		returnValue = false;
		} else {
			if (reqUrl.indexOf('.') !=-1) {
				if (reqUrl.indexOf('.do') != -1) {
					var lastIdx = reqUrl.indexOf('.do');
					var firstIdx = lastIdx - 5;
					var actionName = reqUrl.substring(firstIdx, lastIdx);
					if (actionName.toUpperCase() == 'INDEX') {
						returnValue = true;
					}
					else {
						returnValue = false;
					}
				}
			} else {
				returnValue = false;
			}
		}				
		return returnValue;
	},
	
	/**
	 * ÇØ´ç locationÀ» pageURL·Î ÀÌµ¿½ÃÅ²´Ù.
	 * 
	 * @since 20090218 
	 * @param {String} pageURL
	 * @param {Object} formObj
	 */
	moveToLink : function(pageURL, formObj) {
		var data = '';
		if (formObj!=undefined && formObj!=null) {
			data = Form.serialize(formObj);
		}
		if (pageURL.indexOf('?')!=-1){
			location.href = pageURL+'&'+data;
		} else {
			location.href = pageURL+'?'+data;
		}
	},
	
	/**
	 * ¼±ÅÃµÈ ¸Þ´º¸¦ ¸¶Å©ÇÏ°í ÀÌÀü ¸¶Å©¸¦ ¿ø·¡´ë·Î µ¹·Á³õ´Â´Ù.
	 * Å¬·ÎÁ® ³»ºÎ¿¡¼­ È£ÃâÇØ¾ß ÇÑ´Ù. 
	 * @param {String} elementId ElementId(A TagÀÇ)
	 */
	markSelectedMenu : function(elementId){
		hana.JMenuPanel.selectedItemId = elementId;
		var eleHTMLEle = document.getElementById(elementId);
		var ele = Ext.get(elementId);
		
		// ÀÌÀü ¸Þ´º¸¦ ¿ø»óÅÂ·Î ..
		if (null != hana.JMenuPanel.prevSelectedEl && (hana.JMenuPanel.prevSelectedEl.dom)) {
			var prevEle = document.getElementById(hana.JMenuPanel.prevSelectedEl.id);
			prevEle.className= 'redlink';
			prevEle.parentNode.className = 'suboff_select';
		} 
		
		// ´ë¸Þ´ºÀÏ °æ¿ì ¸®ÅÏÇÑ´Ù. 
		if (eleHTMLEle.parentNode.id.indexOf('mainMenuItem') != -1) {
			return;
		}
				
		// ele ´Â Ext Element type
		hana.JMenuPanel.selectedEl = ele;

		var eleParent = hana.JMenuPanel.selectedEl.dom.parentNode;
		
		// UL ÇÏÀ§ÀÇ LI´Â ¸ðµÎ suboff_select ·Î ¹Ù²Û´Ù. 
		var eleUL = eleParent.parentNode;
		var eleLI = eleUL.getElementsByTagName('LI')[0];
		while (eleLI) {
			eleLI.className = "suboff_select";
			eleLI = eleLI.nextSibling;
		}
		// ¼¿·ºÆ®µÈ »óÀ§³ëµå(LI)ÀÇ class ¸¦ ¹Ù²Û´Ù.				
		eleParent.className = "subon_select";


		hana.JMenuPanel.selectedEl.highlight("000000", {
		    attr: "background-color", 
		    endColor: "#F8F8F8",
		    easing: 'easeOut',
		    duration: 1
		});	
		
		eleHTMLEle.className = 'redselect';		
		// ÇöÀç ¼¿·ºÆ® µÈ ¸Þ´º¸¦ ÀÌÀü¸Þ´º·Î ÀÓ½Ã ÀúÀåÇØ ³õ´Â´Ù.
		hana.JMenuPanel.prevSelectedEl = hana.JMenuPanel.selectedEl;		
	},
	
	/**
	 * ¸Þ´º¾ÆÀÌµð¿Í ¸Þ´º¸ñÀ» °¡Áö°í ¸Þ´º¸¦ Ã£¾Æ¿Â´Ù.
	 * @param {Object} itemId
	 * @param {Object} items
	 */
	getItemById : function(itemId,items){
		if (itemId && items && items.length > 0) {
            for(var i = 0, len = items.length; i<len; i++){
				var item = items[i];
				
				if(itemId == item.id) {
					return item;
				}
				
				if(item.subMenus && item.subMenus.length > 0){
					// ÇÏÀ§¸Þ´º ½ºÄµ
					var tempItems = eval(item.subMenus.toJSON());
					var tmpItem = hana.JMenuPanel.getItemById(itemId, tempItems);
					
					if(!tmpItem) continue;
					
					return tmpItem;
				}
			}
		}
	},
		
	/**
	 * ¸Þ´º¾ÆÀÌµð¿Í ¸Þ´º¸ñÀ» °¡Áö°í ¸Þ´º¸¦ Ã£¾Æ¿Â´Ù.
	 * @param {Object} itemId
	 * @param {Object} items
	 */
	getPortalItemParamById : function(itemId,items){
		var itemParam = {
			p1 : null,
			d  : 0,
			m0 : 0,
			m1 : 0
		};
		if (itemId && items && items.length > 0) {
            for(var i = 0, len = items.length; i<len; i++){
				var item = items[i];
				
				if(itemId == item.id) {
					itemParam.d = 1;
					itemParam.m0= i;
				    break;
				}
				
				if(item.subMenus && item.subMenus.length > 0){
					// 1 depth ½ºÄµ
					var tempItems = eval(item.subMenus.toJSON());
					// m1 ½ºÄµ
					for (var j = 0, len = tempItems.length; j < len; j++) {
		                var tempItem = tempItems[j];
						
						if(itemId == tempItem.id) {
							itemParam.d = 1;
							itemParam.m0= i;
							itemParam.m1 =j;
							break;
						}
						
						if (tempItem.subMenus && tempItem.subMenus.length > 0) {
                            // 2 depth ½ºÄµ
					        var temp2Items = eval(tempItem.subMenus.toJSON());
					        // m1 ½ºÄµ
					        for (var k = 0, len = temp2Items.length; k < len; k++) {
								var temp2Item = temp2Items[k];
								
								if(itemId == temp2Item.id) {
									itemParam.d = 2;
									itemParam.p1 =i;
									itemParam.m0= j;
									itemParam.m1 =k;
									break;
								}								
							}					
						}
					}					
				}
			}
		}
		
		itemParam.m0 = hana.JMenuPanel.menuItemCode[itemParam.m0];
		itemParam.m1 = hana.JMenuPanel.menuItemCode[itemParam.m1];
		if (itemParam.p1 !=null){
			itemParam.p1 = hana.JMenuPanel.menuItemCode[itemParam.p1];
		}
		return itemParam;
	},
		
	/**
	 * ·¹ÀÌ¾Æ¿ô¿¡¼­ Á÷Á¢ ¸Þ´º¿¡ Á¢¼ÓÇÏ´Â °æ¿ì
	 * @param {String} parentDepth ¸Þ´ºÀÇ depth
	 * @param {String} eleMainCode m0ÀÇ ÄÚµå (»óÀ§¸Þ´º)
	 * @param {String} eleSubCode  m1ÀÇ ÄÚµå (¼±ÅÃÇÒ ¸Þ´º¾ÆÀÌÅÛ)
	 * @param {boolean} isCall ÆäÀÌÁö¸¦ ·ÎµùÇÒ Áö?
	 * @param {formObj} formObj ÆÄ¶ó¸ÞÅÍ·Î ³Ñ±æ formObj 
	 * @param {String} callbackFunc callbackÀ¸·Î Ã³¸®ÇØ¾ß ÇÒ function
	 * @param {String} queryConfig  depth °¡ 2 ÀÌ»óÀÏ¶§ ³ëµå¸¦ Ã£±â À§ÇÑ queryConfig (p1:A,p2:A)
	 */
	goFromOutside : function (parentDepth, parentEleCode, eleSubCode, isCall, formObj, callbackFunc,queryConfig) {
		var hanaAjax = null;
		var destDiv = pbk.CONTENT_WRAP;
		var parentEleItem;
		var childEleItem;	
		var parentEle;
		var childEle;
		var pIsCall = true;
		(isCall == null || isCall == undefined) ? pIsCall = true : pIsCall = isCall;

		var nodeOfEleParent; // parentEleÀÇ parentNode;	
		if (!parentDepth || parentDepth==null || parentDepth =='' || parentDepth == '0' || parentDepth =='null') {
			parentDepth = "1";
		}
		else{
		    parentDepth = ""+parentDepth;
		}
		
		var intParent = hana.JMenuPanel.parseMenuItemCode(parentEleCode);
		
		var intSub = '';
		try {
			intSub = hana.JMenuPanel.parseMenuItemCode(eleSubCode);
		} catch(e) {
			intSub = '';
		}
		// 20090408 ////////////////////////////////
		var isFormIncludeTargetPage = false;
		var existFormObj = false;
		if (formObj !=undefined && null!=formObj){
			existFormObj = true;
		}
		if (null!=formObj && 
			null!=formObj.targetPage &&
			null!=formObj.targetPage.value && 
			''!=formObj.targetPage.value) {
			isFormIncludeTargetPage = true;	
		}
		////////////////////////////////////////////
		switch (parentDepth) {
			// Ã¹¹øÂ° depthÀÇ ¸Þ´º¶ó¸é 
			case "1":{
				// Å¬¸¯ÇÑ ¸Þ´ºÀÇ »óÀ§ ¾ÆÀÌÅÛ 
				parentEleItem = eval(hana.JMenuPanel.menus[intParent]);
				if (parentEleItem) {
					// ¼­ºê¸Þ´º°¡ ÁöÁ¤µÇÁö ¾ÊÀº °æ¿ì (2008.09.18 ¿À·û°æ)
					if (parentEleCode && (!eleSubCode || null == eleSubCode)) {
						if (parentEleItem.subMenus.length == 0) {
							if (null!=parentEleItem.href && parentEleItem.href !='#' && (!existFormObj || !isFormIncludeTargetPage)) {								
								$(parentEleItem.id).onclick();
								hana.JMenuPanel.goMenu(parentEleItem.href, parentEleItem.id, formObj, parentEleItem.callbackFunc);
								return;
							} 
							// 20090407 ///////////////
							else if (null!=parentEleItem.href && parentEleItem.href !='#'){									
								$(parentEleItem.id).onclick();
                                if (existFormObj && !isFormIncludeTargetPage) {
									hana.JMenuPanel.goMenu(parentEleItem.href, parentEleItem.id, formObj, parentEleItem.callbackFunc);
								} else if(existFormObj && isFormIncludeTargetPage && !pIsCall){
									var hanaAjax = new hana.JHanaAjax(destDiv, true, true);
									hanaAjax.ajaxCommSubmit(pbk.APPLICATION_CONTEXT_ROOT + formObj.targetPage.value, formObj);
									return;
								}
							} 
							////////////////////////////
							else {
								return;
							}
						} else {
							// ¼­ºê¸Þ´º°¡ ÀÖ´Ù°í ÇØµµ ´ë¸Þ´º¿¡ ¸µÅ©°¡ °É·ÁÀÖÀ¸¸é ±×°ÍÀ» Å¬¸¯
							if (null != parentEleItem.href && parentEleItem.href != '#' && (!existFormObj || !isFormIncludeTargetPage)) {
								$(parentEleItem.id).onclick();								
								hana.JMenuPanel.goMenu(parentEleItem.href, parentEleItem.id, formObj, parentEleItem.callbackFunc);
								return;
							}
							else if (null != parentEleItem.href && parentEleItem.href != '#'){								
								$(parentEleItem.id).onclick();
                                if (existFormObj && !isFormIncludeTagkrgetPage) {
									hana.JMenuPanel.goMenu(parentEleItem.href, parentEleItem.id, formObj, parentEleItem.callbackFunc);
								} else if(existFormObj && isFormIncludeTargetPage && !pIsCall){
									var hanaAjax = new hana.JHanaAjax(destDiv, true, true);
									hanaAjax.ajaxCommSubmit(pbk.APPLICATION_CONTEXT_ROOT + formObj.targetPage.value, formObj);
									return;
								}
								return;						
							}
							else {
								childEleItem = parentEleItem.subMenus[intSub];
							}	
						}
					} else {
						childEleItem = parentEleItem.subMenus[intSub];
					}
				} else {
					return;
				}
				break;
			}
			// µÎ¹øÂ° depthÀÇ ¸Þ´º¶ó¸é
			case "2":{

				var items;
				var p1;
				if (queryConfig) {
					p1 = queryConfig.p1;
				} else {
					//alert(decodeURI(hana.JMenuPanel.errCodeMsg));
					return;
				}
				try {
					// ¸Þ´º¸¦ ¿¬´Ù.
					var p1Idx = hana.JMenuPanel.parseMenuItemCode(p1);
					var p1ItemId ='';
					//if ($A(hana.JMenuPanel.menus).size() > 0) {
						p1ItemId = eval(hana.JMenuPanel.menus[p1Idx]).id;
					//} else {
					//	return;
					//}
					//alert('hana.JMenuPanel.menus '+p1ItemId);
					$(p1ItemId).onclick();	
					var temp = eval(hana.JMenuPanel.menus[p1Idx]);    			
					parentEleItem = temp.subMenus[intParent];
					//alert(parentEleItem.id);
					if (parentEleItem) {
						childEleItem = parentEleItem.subMenus[intSub];
					}
					else {
						//alert(decodeURI(hana.JMenuPanel.errCodeMsg));
						return;
					}
				}catch (e) {
					alert(e.toString());
				}
				break;
			}
			//default : {
			//	alert('3depth ÀÌ»óÀÇ ¸Þ´º´Â Áö¿øÇÏÁö ¾Ê½À´Ï´Ù.');
			//	return;
			//}
		}
	    parentEle = document.getElementById(parentEleItem.id);
		nodeOfEleParent = parentEle.parentNode;
		// ¼­ºê¸Þ´º°¡ ÁöÁ¤µÇÁö ¾ÊÀº °æ¿ì´Â ¸Þ´º¸¦ ÆîÄ¡°í Ã¹¹øÂ° ¼­ºê ¾ÆÀÌÅÛÀ» ¼±ÅÃÇÑ´Ù.  
		if (parentEleCode && (!eleSubCode || null==eleSubCode)) {
			if (parentEleItem.subMenus.length > 0) {
				childEleItem = parentEleItem.subMenus[0];
			}
		}
		
		if (childEleItem) {
			hana.JMenuPanel.showSubMenu(false, nodeOfEleParent);
			childEle = document.getElementById(childEleItem.id);
			$(parentEleItem.id).onclick();
		}
		if (childEle) {
			// ±¸ÇöµÇÁö ¾ÊÀº ÆäÀÌÁö¶ó¸é 
			if (childEleItem.href == '$' || childEleItem.href =='') {
				alert(decodeURI(hana.JMenuPanel.errMsg));
			} else {
				// ¸Þ´º¸¦ Á÷Á¢ ¿­ ÇÊ¿ä°¡ ÀÖ´Ù¸é.				
				if (pIsCall) {
					var aHref = childEleItem.href;
					
					//////////// ½ÃÀÛ 20090319 Æ¯Á¤ ÆÄ¶ó¸ÞÅÍ(contentUrl) Ã³¸® 
					if (formObj != 'undefined' && formObj != null) {
						var oContentUrl = formObj.contentUrl;
						if (oContentUrl != null && oContentUrl != undefined) {
							var _contentUrl = oContentUrl.value;
							if (_contentUrl != "" && _contentUrl != null) {
								aHref = _contentUrl;
							}
						}
					}
					///////////// ³¡ 20090319
					
					if (aHref == '@') {				
					    hana.JMenuPanel.markSelectedMenu(childEleItem.id);
					    var callFunction = childEleItem.callbackFunc.replace(";","");					    
					    setTimeout(callFunction,"5");
						return;
					} 
                    var hanaAjax = new hana.JHanaAjax(destDiv, true, true);
					if (callbackFunc && null != callbackFunc) {
						hanaAjax.ajaxCommSubmitCallback(pbk.APPLICATION_CONTEXT_ROOT + aHref, formObj, callbackFunc);
					}
					else {
						hanaAjax.ajaxCommSubmit(pbk.APPLICATION_CONTEXT_ROOT + aHref, formObj);
					}					
				}
				// 20090405 ///////////////
				else if (pIsCall==false && null!=formObj && null!=formObj.targetPage.value && ''!=formObj.targetPage.value) {
					var hanaAjax = new hana.JHanaAjax(destDiv, true, true);
					hanaAjax.ajaxCommSubmit(pbk.APPLICATION_CONTEXT_ROOT + formObj.targetPage.value, formObj);
				}
				////////////////////////////
				hana.JMenuPanel.markSelectedMenu(childEleItem.id);
			}
		}
	},

    /**
     * aHref ÀÇ È®ÀåÀÚ°¡ j ·Î ½ÃÀÛÇÏ¸é true, ¾Æ´Ï¸é false;
     * @param {Object} aHref
	 * @since 20090619 
     */
    isJsp : function(aHref) {
		var isJsp = false;
		/* 200906019 .jsp ¿Í .do ºÐ±â */	
        if (aHref.length > 3) {
			var idx = aHref.indexOf('.');
			if (idx > -1) {
				var tempChar = aHref.substring(idx+1,idx+2);
				if (tempChar=='j') {
					isJsp = true;
				}
			}
		}
        /* 200906019 .jsp ¿Í .do ºÐ±â */	
		return 	isJsp;
	},
	
	/**
	 * url °ú ÆÄ¶ó¸ÞÅÍ¸¦ ºÙ¿©¼­ Á¦°øÇØÁØ´Ù.
	 * @param {String} aHref url
	 * @param {String} params ÆÄ¶ó¸ÞÅÍ 
	 * @since 20090619
	 */
	getHrefPlusParams : function(aHref,params){
		var tempHref = aHref;
		var tempParam = params;
		if (tempHref.indexOf('?') > -1) {
			if (tempHref.indexOf('=') > -1) {
				tempHref += '&'+tempParam;
			} else {
				tempHref += tempParam;
			}
		} else {
			tempHref += '?' + tempParam;
		}
		return tempHref;		
	},
	/**
	 * ·¹ÀÌ¾Æ¿ô¿¡¼­ Á÷Á¢ ¸Þ´º¿¡ Á¢¼ÓÇÏ´Â °æ¿ì
	 * @param {Object} pMenuItemId ¸Þ´ºÀÇ ¾ÆÀÌµð
	 * @param {Object} isCall ÆäÀÌÁö¸¦ ·ÎµùÇÒÁö ¿©ºÎ
	 * @param {Object} formObj ÆÄ¶ó¸ÞÅÍ·Î ³Ñ±æ formObj 
	 * @param {Object} callbackFunc callbackÀ¸·Î Ã³¸®ÇØ¾ß ÇÒ function
	 * @since 20090601 
	 */
	goFromOutside2 : function (pMenuItemId, isCall, formObj, callbackFunc) {
		var hanaAjax = null;
		var destDiv = pbk.CONTENT_WRAP;
		var parentEleItem;
		var childEleItem;	
		var parentEle;
		var childEle;
		var pIsCall;
		isCall == null ? pIsCall = true : pIsCall = isCall;
		
		var nodeOfEleParent; // parentEleÀÇ parentNode;	
		
		var tempItems = eval(hana.JMenuPanel.menus.toJSON()); 		
		childEleItem = hana.JMenuPanel.getItemById(pMenuItemId,tempItems);
		if (childEleItem==undefined || childEleItem == null) {
			//¸Þ´º¿¡´Â ¾ø´Â È£ÃâÀÓ.
			return;
		} 
		
		var parentEleArr = new Array();
		
		//ºÎ¸ð Object °¡Á®¿À±â
	    parentEle = $(childEleItem.parentId);
		parentEleArr.push(parentEle);
		
		//»óÀ§ depth Ã£±â loop 
		while(parentEle){
			
			//»óÀ§ ¸Þ´º ¾ÆÀÌÅÛ °¡Á®¿À±â
			tmpChildEleItem = hana.JMenuPanel.getItemById(parentEle.id,tempItems);
			//»óÀ§ ¸Þ´º°¡ ´õ ÀÌ»ó ¾ø´Â °æ¿ì break Ã³¸®ÇÑ´Ù.
			if(tmpChildEleItem.parentId == parentEle.id){
				break;
			}
			//ºÎ¸ð Object ¼³Á¤ loop ´Ù½Ã ½ÃÀÛ
			parentEle = $(tmpChildEleItem.parentId);
			parentEleArr.push(parentEle);
		}
		
		//¿ªÀ¸·Î ¿­¾î¾ßÇÔ...
		for(var i=(parentEleArr.length-1) ; i >= 0; i--){
			parentEle = parentEleArr[i];
			nodeOfEleParent = parentEle.parentNode;
			hana.JMenuPanel.showSubMenu(false, nodeOfEleParent);
			parentEle.onclick();
		}
		
		// 20090619 pageCode Ã³¸® //////////////////////////////////////
		// 20090619 ¿À·û°æ formObj °¡ ÀÖ´Ù¸é Àü¿ªº¯¼ö ¼³Á¤!!!
		/*
		if (formObj != 'undefined' && formObj != null) {
			var oPageCode = formObj.pageCode;
			if (oPageCode != null && oPageCode != undefined) {
				var _pageCode = oPageCode.value;
				if (_pageCode != "" && _pageCode != null) {
					hana.JMenuPanel.currentPageCode = _pageCode;
				}
			}
		}*/		
		// 20090619 pageCode Ã³¸® //////////////////////////////////////
		

		// ±¸ÇöµÇÁö ¾ÊÀº ÆäÀÌÁö¶ó¸é 
		if (childEleItem.href == '$' || childEleItem.href =='') {
			alert(decodeURI(hana.JMenuPanel.errMsg));
		} else {
			// ¸Þ´º¸¦ Á÷Á¢ ¿­ ÇÊ¿ä°¡ ÀÖ´Ù¸é.				
			if (pIsCall) {
				var aHref = childEleItem.href;
				
				//////////// ½ÃÀÛ 20090319 Æ¯Á¤ ÆÄ¶ó¸ÞÅÍ(contentUrl) Ã³¸® 
				if (formObj != 'undefined' && formObj != null) {
					var oContentUrl = formObj.contentUrl;
					if (oContentUrl != null && oContentUrl != undefined) {
						var _contentUrl = oContentUrl.value;
						if (_contentUrl != "" && _contentUrl != null) {
							aHref = _contentUrl;
						}
					}
				}
				///////////// ³¡ 20090319
								
				if (aHref == '@') {
					hana.JMenuPanel.markSelectedMenu(childEleItem.id);
					var callFunction = childEleItem.callbackFunc.replace(";", "");
					setTimeout(callFunction, 5);
					return;
				}
				else if (aHref == '#') {
					// ignored.. 
			    }
			    else if (aHref != '#' && false==hana.JMenuPanel.isJsp(aHref)) {
				    var hanaAjax = new hana.JHanaAjax(destDiv, true, true);
				    if (callbackFunc && null != callbackFunc) {
				    	hanaAjax.ajaxCommSubmitCallback(pbk.APPLICATION_CONTEXT_ROOT + aHref, formObj, callbackFunc);
				    }
				    else {
				    	hanaAjax.ajaxCommSubmit(pbk.APPLICATION_CONTEXT_ROOT + aHref, formObj);
				    }	
				} else {
					if (callbackFunc && null != callbackFunc) {
						var callFunction = childEleItem.callbackFunc.replace(";","");
						setTimeout(callFunction,5);
					}
				}
				/* 200906019 .jsp ¿Í .do ºÐ±â */					
			}
			hana.JMenuPanel.markSelectedMenu(childEleItem.id);
		}

	},	
	/**
	 * Å¬·ÎÁ® ³»ºÎ¿¡¼­ È£ÃâÇØ¾ß ÇÑ´Ù. 
	 */
   popMenusToShow : function(){
        var obj = hana.JMenuPanel.divToScroll;
        var endArray = new Array();
        while (obj && obj.tagName != 'BODY') {
            if (obj.tagName == 'DIV' && obj.id.indexOf('slideDiv') >= 0) {
                var objFound = -1;
                for (var no = 0; no < hana.JMenuPanel.otherDivsToScroll.length; no++) {
                    if (hana.JMenuPanel.otherDivsToScroll[no] == obj) {
                        objFound = no;
                    }
                }
                if (objFound >= 0) {
					// ¹è¿­¼Ó objFound ¸¦ Áö¿ì°í ´ÙÀ½  
                    hana.JMenuPanel.otherDivsToScroll.splice(objFound, 1);
                }
            }
            obj = obj.parentNode;
        }
    },	
    
	/**
	 * Å¬·ÎÁ® ³»ºÎ¿¡¼­ È£ÃâÇØ¾ß ÇÑ´Ù.  
	 * @param {Object} e
	 * @param {Object} inputObj
	 */
    showSubMenu : function(e, inputObj){
		//var gen = new locationGenerater(6);
		//var locationKey = gen.getlocationKey();	
		//hana.JMenuPanel.locationKey = locationKey;		
        if (this && this.tagName) 
            inputObj = this.parentNode;
        if (inputObj && inputObj.tagName == 'LI') {
			
			if (inputObj.id.indexOf('mainMenuItem') != -1) {
				// LI ÅÂ±×ÀÇ styleÀ» ÁöÁ¤ÇÑ´Ù. 
				inputObj.className = "m_on";
				
				var menuIdx;
				var selectedATag = inputObj.getElementsByTagName('A')[0];
				// ¼±ÅÃÇÑ ¸Þ´ºÀÇ index¸¦ °¡Á®¿Â´Ù. 
				var menuItems = eval('(' + hana.JMenuPanel.menus.toJSON() + ')');
				for (var i = 0; i < menuItems.length; i++) {
					var aMenus = menuItems[i];
					if (aMenus.id == selectedATag.id) {
						menuIdx = i;
						break;
					}
				}
				// ½ÃÀÛ - ½ºÅ¸ÀÏÀ» ÁöÁ¤ÇÑ´Ù. 			
				hana.JMenuPanel.selectedTitleEl = selectedATag;
				// ÀÌÀü ¸Þ´º¸¦ ¿ø»óÅÂ·Î ..
				if (null != hana.JMenuPanel.prevSelectedTitleEl && (hana.JMenuPanel.prevSelectedTitleEl)) {
					// ÀÌÀü ¸Þ´º¸¦ ¿ø»óÅÂ·Î µ¹¸°´Ù.
					if (hana.JMenuPanel.prevSelectedTitleEl.parentNode.id != hana.JMenuPanel.selectedTitleEl.parentNode.id) {
						hana.JMenuPanel.prevSelectedTitleEl.parentNode.className = "m_off ";
						if (hana.JMenuPanel.prevFirstMenuIdx ) {
							if (hana.JMenuPanel.prevFirstMenuIdx != menuIdx)
								document.getElementById(hana.JMenuPanel.menus[hana.JMenuPanel.prevFirstMenuIdx].id).parentNode.className = "m_off";
						}
						hana.JMenuPanel.prevSelectedTitleEl.className = "leftmenu";
					}
					// ¼±ÅÃµÈ ¸Þ´º ´ÙÀ½ ³ª¿À´Â Ã¹ ¸Þ´ºÀÇ ½ºÅ¸ÀÏÀ» º¯°æ ½ÃÅ²´Ù.
					if (hana.JMenuPanel.menus.length > menuIdx + 1) {
						hana.JMenuPanel.prevFirstMenuIdx = menuIdx + 1;
						document.getElementById(hana.JMenuPanel.menus[hana.JMenuPanel.prevFirstMenuIdx].id).parentNode.className = "m_off_first";
					}
					
					// ¼±ÅÃÇÑ ¸Þ´º°¡ ¸¶Áö¸·ÀÌ ¾Æ´Ï¸é  
					if (hana.JMenuPanel.selectedTitleEl.id != hana.JMenuPanel.menus[hana.JMenuPanel.menus.length - 1].id) {
						// ¸¶Áö¸· ¸Þ´º´Â ¶óÀÎÀ» ¾ø¾ÖÁØ´Ù. 
						document.getElementById(hana.JMenuPanel.menus[hana.JMenuPanel.menus.length - 1].id).parentNode.className = "m_off_end";
					} else {
						inputObj.className = "m_on";
					}
				}
				// A TagÀÇ ½ºÅ¸ÀÏÀ» ÁöÁ¤ÇÑ´Ù. 
				hana.JMenuPanel.selectedTitleEl.className = "leftmenu t_bold";
				
				// ÇÏÀ§ ¸ðµç IMG ÅÂ±×ÀÇ ½ºÅ¸ÀÏÀ» hidden ½ÃÅ²´Ù.
				var selectedImgTags = inputObj.parentNode.getElementsByTagName('IMG');
				for (var i = 0; i < selectedImgTags.length; i++) {
					selectedImgTags[i].style.display = 'none';
				}
				/** 20090214// IMG TagÀÇ ½ºÅ¸ÀÏÀ» ÁöÁ¤ÇÑ´Ù. 
				if (null != menuIdx) {
					var imgTag = document.getElementById('hanaMenuLineSep' + (menuIdx + 1));
					imgTag.style.display = 'inline';
					imgTag.style.marginTop = 0;
					imgTag.style.marginRight = 0;
					imgTag.style.marginBottom = '7px';
					imgTag.style.marginLeft = '-16px';
					imgTag.style._marginTop = '-10px';
					imgTag.style._marginRight = 0;
					imgTag.style._marginBottom = '-10px';
					imgTag.style._marginLeft = '-11px';
					if (document.all) {
						imgTag.style.paddingTop = '2px';
						imgTag.style.paddingRight = '0px';
						imgTag.style.paddingBottom = '8px';
						imgTag.style.paddingLeft = '0px';
					} else {
						imgTag.style.paddingTop = '-20px';
						imgTag.style.paddingRight = '0px';
						imgTag.style.paddingBottom = '-26px';
						imgTag.style.paddingLeft = '0px';						
					}
				}**/

				// ÇöÀç ¼¿·ºÆ® µÈ ¸Þ´º¸¦ ÀÌÀü¸Þ´º·Î ÀÓ½Ã ÀúÀåÇØ ³õ´Â´Ù.			
				hana.JMenuPanel.prevSelectedTitleEl = hana.JMenuPanel.selectedTitleEl;			
			} // ³¡ - ½ºÅ¸ÀÏÀ» ÁöÁ¤ÇÑ´Ù. 
            hana.JMenuPanel.divToScroll = inputObj.getElementsByTagName('DIV')[0];
            for (var no = 0; no < hana.JMenuPanel.otherDivsToScroll.length; no++) {
                if (hana.JMenuPanel.otherDivsToScroll[no] == hana.JMenuPanel.divToScroll) 
                    return;
            }
        }

        hana.JMenuPanel.hidingInProcess = false;
        if (hana.JMenuPanel.otherDivsToScroll.length > 0) {
            if (hana.JMenuPanel.divToScroll) {
                if (hana.JMenuPanel.otherDivsToScroll.length > 0) {
                    hana.JMenuPanel.popMenusToShow();
                }
                if (hana.JMenuPanel.otherDivsToScroll.length > 0) {
                    hana.JMenuPanel.autoHideMenus();
                    hana.JMenuPanel.hidingInProcess = true;
                }
            }
        }
        if (hana.JMenuPanel.divToScroll && !hana.JMenuPanel.hidingInProcess) {
            hana.JMenuPanel.divToScroll.style.display = '';
            hana.JMenuPanel.otherDivsToScroll.length = 0;
            hana.JMenuPanel.otherDivToScroll = hana.JMenuPanel.divToScroll.parentNode;
            hana.JMenuPanel.otherDivsToScroll.push(hana.JMenuPanel.divToScroll);
            while (hana.JMenuPanel.otherDivToScroll && hana.JMenuPanel.otherDivToScroll.tagName != 'BODY') {
                if (hana.JMenuPanel.otherDivToScroll.tagName == 'DIV' && hana.JMenuPanel.otherDivToScroll.id.indexOf('slideDiv') >= 0) {
                    hana.JMenuPanel.otherDivsToScroll.push(hana.JMenuPanel.otherDivToScroll);                    
                }
                hana.JMenuPanel.otherDivToScroll = hana.JMenuPanel.otherDivToScroll.parentNode;
            }
            hana.JMenuPanel.ulToScroll = hana.JMenuPanel.divToScroll.getElementsByTagName('UL')[0];
            if (hana.JMenuPanel.divToScroll.style.height.replace('px', '') / 1 <= 1) {
				hana.JMenuPanel.scrollDownSub();
			}
        }
        
    },
	/**
	 * Å¬·ÎÁ® ³»ºÎ¿¡¼­ È£ÃâÇØ¾ß ÇÑ´Ù.  
	 */		
    autoHideMenus : function(){
        if (hana.JMenuPanel.otherDivsToScroll.length > 0) {
            hana.JMenuPanel.divToHide = hana.JMenuPanel.otherDivsToScroll[hana.JMenuPanel.otherDivsToScroll.length - 1];
            hana.JMenuPanel.parentDivToHide.length = 0;
            var obj = hana.JMenuPanel.divToHide.parentNode.parentNode.parentNode;
            while (obj && obj.tagName == 'DIV') {
                if (obj.id.indexOf('slideDiv') >= 0) 
                    hana.JMenuPanel.parentDivToHide.push(obj);
                obj = obj.parentNode.parentNode.parentNode;
            }
            var tmpHeight = (hana.JMenuPanel.divToHide.style.height.replace('px', '') / 1 - hana.JMenuPanel.slideMenuHeightOfCurrentBox);
            if (tmpHeight < 0) 
                tmpHeight = 0;
            if (hana.JMenuPanel.slideMenuHeightOfCurrentBox) 
                hana.JMenuPanel.divToHide.style.height = tmpHeight + 'px';
            hana.JMenuPanel.ulToHide = hana.JMenuPanel.divToHide.getElementsByTagName('UL')[0];
            hana.JMenuPanel.slideMenuHeightOfCurrentBox = hana.JMenuPanel.ulToHide.offsetHeight;
            hana.JMenuPanel.scrollUpMenu();
        }
        else {
            hana.JMenuPanel.slideMenuHeightOfCurrentBox = 0;
            hana.JMenuPanel.showSubMenu();
        }
    },
	
	/**
	 * Å¬·ÎÁ® ³»ºÎ¿¡¼­ È£ÃâÇØ¾ß ÇÑ´Ù. 
	 */
    scrollUpMenu : function(){
        var height = hana.JMenuPanel.divToHide.offsetHeight;
        height -= 15;
        if (height < 0) 
            height = 0;
        hana.JMenuPanel.divToHide.style.height = height + 'px';
        
        for (var no = 0; no < hana.JMenuPanel.parentDivToHide.length; no++) {
            hana.JMenuPanel.parentDivToHide[no].style.height = hana.JMenuPanel.parentDivToHide[no].getElementsByTagName('UL')[0].offsetHeight + 'px';
        }
        if (height > 0) {
            //setTimeout(hana.JMenuPanel.scrollUpMenu, 50);
			hana.JMenuPanel.scrollUpMenu();
        }
        else {
            hana.JMenuPanel.divToHide.style.display = 'none';
            hana.JMenuPanel.otherDivsToScroll.length = hana.JMenuPanel.otherDivsToScroll.length - 1;
            hana.JMenuPanel.autoHideMenus();
        }
    },	
	
	/**
	 * Å¬·ÎÁ® ³»ºÎ¿¡¼­ È£ÃâÇØ¾ß ÇÑ´Ù.  
	 */
    scrollDownSub : function(){		
        if (hana.JMenuPanel.divToScroll) {
			/* 20090214 */
			var height = hana.JMenuPanel.divToScroll.offsetHeight / 1;
		    var offsetMove = Math.min(15, (hana.JMenuPanel.ulToScroll.offsetHeight - height));
			height = height + offsetMove;
			hana.JMenuPanel.divToScroll.style.height = height+ 'px';
			/*			
			if (hana.JMenuPanel.ulToScroll.offsetHeight == 0 || (hana.JMenuPanel.ulToScroll.offsetHeight - height) < 0) {
				offsetMove = 0;
				height = 0;
			} else {
				offsetMove = Math.max(15, (hana.JMenuPanel.ulToScroll.offsetHeight - height));
				height = height + offsetMove;
			}*/
            
            for (var no = 1; no < hana.JMenuPanel.otherDivsToScroll.length; no++) {
                var tmpHeight = hana.JMenuPanel.otherDivsToScroll[no].offsetHeight / 1 + offsetMove;
                hana.JMenuPanel.otherDivsToScroll[no].style.height = tmpHeight + 'px';
            }
            if (height < hana.JMenuPanel.ulToScroll.offsetHeight) 
                //setTimeout(hana.JMenuPanel.scrollDownSub, 50);
				hana.JMenuPanel.scrollDownSub();
            else {
                hana.JMenuPanel.divToScroll = false;
                hana.JMenuPanel.ulToScroll = false;
                if (hana.JMenuPanel.objectsToExpand.length > 0 && hana.JMenuPanel.initExpandIndex < (hana.JMenuPanel.objectsToExpand.length - 1)) {
                    hana.JMenuPanel.initExpandIndex++;
                    
                    hana.JMenuPanel.showSubMenu(false, objectsToExpand[initExpandIndex]);
                }
            }
        }
    },	
	/**F
	 * sub menuµéÀ» ±ÔÄ¢¿¡ ¸Â°Ô parsing ÇÑ´Ù. 
	 * Å¬·ÎÁ® ³»ºÎ¿¡¼­ È£ÃâÇØ¾ß ÇÑ´Ù.  
	 * @param {Object} mainMenuItem
	 * @param {Object} subItems
	 */		
    parsingSubMenuDom : function(mainMenuItem, subItems){
		//var param = 'pageCode=';
        
		/* 20090619 */
		/*
		if (hana.JMenuPanel.currentPageCode =='') {
			hana.JMenuPanel.currentPageCode = '020000';
			param = param+hana.JMenuPanel.currentPageCode;
		} else {
			param = param+hana.JMenuPanel.currentPageCode;
		}*/
		/* 20090619 */
				
        if (subItems && subItems.length > 0) {
            var subMenuItemUl = document.createElement('UL');
            // subItem À» DOMÀ¸·Î ÆÄ½ÌÇÑ´Ù. 
            for (var i = 0; i < subItems.length; i++) {
				var param = '';
                var subMenuItem = subItems[i];
                
                var subMenuItemLi = document.createElement('LI');
                //subMenuItemLi.id = subMenuItem.id;
                //ÇÏÀ§¼Ó¼ºÀ» ÁöÁ¤ÇØÁØ´Ù.
                var aTag = document.createElement('A');
				var errMsg = hana.JMenuPanel.errMsg;
				
				// »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö¸¦ ¹Ù·Î ½ÇÇàÇÏ±â À§ÇÑ ±âÈ£ Ãß°¡ ('@')
				if (subMenuItem.href != '#' && subMenuItem.href !='$' && subMenuItem.href != '@') {
					if (subMenuItem.callbackFunc != null && subMenuItem.callbackFunc != undefined) {
						if (false == hana.JMenuPanel.isJsp(subMenuItem.href)) {
							aTag.href = "javascript:hana.JMenuPanel.goMenu('" + subMenuItem.href + "','" + subMenuItem.id + "',null,new Function('" + subMenuItem.callbackFunc + "'));";
						} else {
							/* 20090619 */
							param +='menuItemId='+subMenuItem.id;
							var tempHref = subMenuItem.href;
							aTag.href = hana.JMenuPanel.getHrefPlusParams(tempHref,param);							
						}
					} else {
						if (false == hana.JMenuPanel.isJsp(subMenuItem.href)) {
							aTag.href = "javascript:hana.JMenuPanel.goMenu('" + subMenuItem.href + "','" + subMenuItem.id + "',null,null);";
						} else {
							/* 20090619 */
							param +='menuItemId='+subMenuItem.id;
							var tempHref = subMenuItem.href;
							aTag.href = hana.JMenuPanel.getHrefPlusParams(tempHref,param);							
						}
					}					
				} else if (subMenuItem.href =='#'){
					aTag.href = "javascript:void(0);";
				} else if (subMenuItem.href =='@' && subMenuItem.callbackFunc != null && subMenuItem.callbackFunc != undefined){
					// »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö¸¸ ½ÇÇà ÇÒ °æ¿ì	
					// ex) ¸Þ´º Å¬¸¯½Ã ÆäÀÌÁö Update ¾øÀÌ ´Ù¸¥ ¸Þ´º·Î ÀÌµ¿ÇÏ°Ô ÇÒ °æ¿ì (»ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö ³»¿¡ ±¸Çö)
					if (subMenuItem.callbackFunc.indexOf(';') > 0) {
						aTag.href = "javascript:" + subMenuItem.callbackFunc ;
					} else {
						aTag.href = "javascript:" + subMenuItem.callbackFunc + ";";
					}
					
				} else if (subMenuItem.href =='$'){
					aTag.href = "javascript:alert('"+decodeURI(errMsg)+"');";
				} else {
					aTag.href = "javascript:alert('"+decodeURI(errMsg)+"');";
				}
				//¾ÆÀÌÅÛÀÇ ¾ÆÀÌµð´Â A TagÀÇ Id ·Î ÇÒ´çÇÑ´Ù. 
				aTag.id = subMenuItem.id;
                var aTagName = document.createTextNode(subMenuItem.itemText);
                // End A Tag
                subMenuItemLi.appendChild(aTag);
                aTag.appendChild(aTagName);
                subMenuItemUl.appendChild(subMenuItemLi);
				mainMenuItem.appendChild(subMenuItemUl);
                
				// ÇÏÀ§¸Þ´º°¡ ÀÖ´Ù¸é ¹Ýº¹ÇÑ´Ù. 
				if (null != subMenuItem.subMenus && subMenuItem.subMenus != undefined) {
					hana.JMenuPanel.parsingSubMenuDom(subMenuItemLi, subMenuItem.subMenus);
				}
            }
        }		
    },
	/**
	 * Main menu ¾ÆÀÌÅÛÀÇ ½ºÅ¸ÀÏ°ú ÀÌº¥Æ®¸¦ ºÎ¿©ÇÑ´Ù.  
	 * Å¬·ÎÁ® ³»ºÎ¿¡¼­ È£ÃâÇØ¾ß ÇÑ´Ù.  
	 */
    initSlideDownMenu : function(){
        dhtmlgoodies_slmenuObj = hana.JMenuPanel.mainDiv;/*document.getElementById('slideMenuDiv');*/
        dhtmlgoodies_slmenuObj.style.visibility = 'visible';
        var mainUl = dhtmlgoodies_slmenuObj.getElementsByTagName('UL')[0];
		mainUl.className = "first_depth";
		
        var mainMenuItem = mainUl.getElementsByTagName('LI')[0];
		// ¸Þ´ºÄÚµå¸¦ ¼ø¼­¿Í ¸ÅÄª½ÃÅ°±â À§ÇÑ ¹è¿­

        var mainItemCounter = 0;
        while (mainMenuItem) {
            if (mainMenuItem.tagName == 'LI') {
				// ¾ÆÀÌÅÛÀÇ class ÁöÁ¤ÇÑ´Ù.
				mainMenuItem.className = "m_off";
								 
				// ¸¶Áö¸· ¾ÆÀÌÅÛÀÌ¶ó¸é 
				if (mainItemCounter == (hana.JMenuPanel.menus.length-1)) {
					mainMenuItem.className = "m_off_end";
				}				
				// A tag¿¡ ´ëÇÑ ½ºÅ¸ÀÏÀ» ÁöÁ¤ÇÑ´Ù. 
                var aTag = mainMenuItem.getElementsByTagName('A')[0];
                aTag.className = 'leftmenu';

                var subUl = mainMenuItem.getElementsByTagName('UL');
				mainMenuItem.id = 'mainMenuItem' + hana.JMenuPanel.menuItemCode[mainItemCounter];
                if (subUl.length > 0 || mainMenuItem.id.indexOf('mainMenuItem') != -1) {
					if (subUl.length > 0) {
						hana.JMenuPanel.initSubItems(subUl[0], 2);
					}
                    aTag.onclick = hana.JMenuPanel.showSubMenu;
                    mainItemCounter++;
                }
            }
            mainMenuItem = mainMenuItem.nextSibling;
        }
 
        /*
        if (hana.JMenuPanel.expandMenuItemByUrl) {
            var aTags = dhtmlgoodies_slmenuObj.getElementsByTagName('A');
            for (var no = 0; no < aTags.length; no++) {
                var hrefToCheckOn = aTags[no].href;
                if (location.href.indexOf(hrefToCheckOn) >= 0 && hrefToCheckOn.indexOf('#') < hrefToCheckOn.length - 1) {
                    hana.JMenuPanel.initMenuIdToExpand = false;
                    var obj = aTags[no].parentNode;
                    while (obj && obj.id != hana.JMenuPanel.mainDiv.id) {
                        if (obj.tagName == 'LI') {
                            var subUl = obj.getElementsByTagName('UL');
                            if (hana.JMenuPanel.initialMenuItemAlwaysExpanded) 
                                hana.JMenuPanel.alwaysExpanedItems[obj.parentNode] = true;
                            if (subUl.length > 0) {
                                hana.JMenuPanel.objectsToExpand.unshift(obj);
                            }
                        }
                        obj = obj.parentNode;
                    }
                    hana.JMenuPanel.showSubMenu(false, objectsToExpand[0]);
                    break;
                }
            }
        }
         
        if (hana.JMenuPanel.initMenuIdToExpand) {
            objectsToExpand = new Array();
            var obj = document.getElementById(initMenuIdToExpand)
            while (obj && obj.id != hana.JMenuPanel.mainDiv.id) {
                if (obj.tagName == 'LI') {
                    var subUl = obj.getElementsByTagName('UL');
                    if (hana.JMenuPanel.initialMenuItemAlwaysExpanded) 
                        hana.JMenuPanel.alwaysExpanedItems[obj.parentNode] = true;
                    if (subUl.length > 0) {
                        hana.JMenuPanel.objectsToExpand.unshift(obj);
                    }
                }
                obj = obj.parentNode;
            }
            
            hana.JMenuPanel.showSubMenu(false, objectsToExpand[0]);
            
        }*/
        
    },	
	/**
	 * Div ½ºÅ©·ÑÀ» À§ÇØ Empty Div ¸¦ MainMenuItem¿¡ ºÙÀÎ´Ù. ()
	 * @param {Object} inputObj MainMenuItem LI
	 * @param {Object} currentDepth
	 */
	initSubEmptyItems : function(inputObj, currentDepth) {
        hana.JMenuPanel.divCounter++;
        var div = document.createElement('DIV'); // Creating new div	
        var ul  = document.createElement('UL');  // Creating new UL
        var li  = document.createElement('LI');  // Creating new LI	
        div.style.overflow = 'hidden';
        div.style.position = 'relative';
        div.style.display = 'none';
        div.style.height = '0px';
		ul.style.display='none';
		ul.style.height ="0px";
		li.style.height ="0px";
        div.id = 'slideDiv' + hana.JMenuPanel.divCounter;
        div.className = 'slideMenuDiv' + currentDepth;		
		ul.appendChild(li);
		div.appendChild(ul);		
        inputObj.appendChild(div); // Appending DIV as child element of <LI> that is parent of input <UL>
	},
    /**
     * ¼­ºê ¸Þ´ºµé¿¡ ´ëÇÑ ½ºÅ¸ÀÏ°ú ÀÌº¥Æ®¸¦ ºÎ¿©ÇÑ´Ù. 
	 * Å¬·ÎÁ® ³»ºÎ¿¡¼­ È£ÃâÇØ¾ß ÇÑ´Ù.  
     * @param {Object} inputObj
     * @param {Object} currentDepth
     */
    initSubItems : function(inputObj, currentDepth){
        hana.JMenuPanel.divCounter++;
        var div = document.createElement('DIV'); // Creating new div		
        div.style.overflow = 'hidden';
        div.style.position = 'relative';
        div.style.display = 'none';
        div.style.height = '1px';
        div.id = 'slideDiv' + hana.JMenuPanel.divCounter;
        div.className = 'slideMenuDiv' + currentDepth;
        inputObj.parentNode.appendChild(div); // Appending DIV as child element of <LI> that is parent of input <UL>		
        div.appendChild(inputObj); // Appending <UL> to the div
        var menuItem = inputObj.getElementsByTagName('LI')[0];
        while (menuItem) {
            if (menuItem.tagName == 'LI') {
				// LI¿¡ ´ëÇÑ class ¸¦ ÁöÁ¤ÇÑ´Ù.
				menuItem.className = 'suboff_select';
				// ¼­ºê A TagÀÇ class ´Â redlink ·Î ÅëÀÏ ½ÃÄÑ ³õ´Â´Ù.  
                var aTag = menuItem.getElementsByTagName('A')[0];
                aTag.className = 'redlink';
				
                var subUl = menuItem.getElementsByTagName('UL');
                if (subUl.length > 0) {
                    hana.JMenuPanel.initSubItems(subUl[0], currentDepth + 1);
                }
                aTag.onclick = hana.JMenuPanel.showSubMenu;
            }
            menuItem = menuItem.nextSibling;
        }
    },
	/**
	 * Main ¸Þ´º¾ÆÀÌÅÛÀÇ ±¸Á¶¿¡ ¸Â°Ô DOMÀ» ÆÄ½ÌÇÏ°í ¸Þ´º¸¦ ±¸¼ºÇÑ´Ù. 
	 * Å¬·ÎÁ® ³»ºÎ¿¡¼­ È£ÃâÇØ¾ß ÇÑ´Ù. 
	 * 20090619 pPageCode Ãß°¡ 
	 * @param {String} rootDiv ¸Þ´º°¡ »ý±æ RootDiv
	 * @param {Object} menuItems
	 * @param {hana.JMenuItemPanel.menuTitle} menuTitle ´ë¸Þ´º Á¦¸ñ Object
	 * @param {String} pPageCode »ó´ÜÀÇ ÆäÀÌÁöÄÚµå 
	 */
    initMainItems: function(rootDiv, menuItems, menuTitle){
		/*20081223 ±¸¼ºÀü¿¡ ÃÊ±âÈ­ ÇÑ´Ù. */
		hana.JMenuPanel.init();		
		
		//var param = 'pageCode=';
		//var param = '';

		/* 20090619 */
		/*
		if (pPageCode != undefined && pPageCode != '') {
			hana.JMenuPanel.currentPageCode = pPageCode;
			param = param+hana.JMenuPanel.currentPageCode;
		} else {
			hana.JMenuPanel.currentPageCode = '020000';
			param = param+hana.JMenuPanel.currentPageCode;
		}*/
		/* 20090619 */
		
	    if (navigator.userAgent.indexOf('Opera') >= 0) 
	        hana.JMenuPanel.offsetOpera = 1;
			
		// 20081223 ¸Þ´º¿µ¿ª  ÃÊ±âÈ­		
		if ($(rootDiv)){
			$(rootDiv).innerHTML = "";
			hana.JMenuPanel.mainDiv = $(rootDiv);
			hana.JMenuPanel.mainDiv.id = rootDiv;
		} else {
			hana.JMenuPanel.mainDiv = document.createElement("DIV");
		    hana.JMenuPanel.mainDiv.id = rootDiv;
		}			
		

		hana.JMenuPanel.menuTitle   = menuTitle;
		
		// ¸Þ´º¿µ¿ª DIV¿¡ ºÙÀÎ´Ù. 
		var leftMenu = document.getElementById(hana.JMenuPanel.MENU_DIV);		
		
		if (leftMenu) {
			// ¸Þ´º¿µ¿ªÀÌ ÀÖ´Ù¸é ±×°÷¿¡.
			leftMenu.appendChild(hana.JMenuPanel.mainDiv); 
		}
		else {
			// ¾ø´Ù¸é body¿¡ 
			document.body.appendChild(hana.JMenuPanel.mainDiv);
		}
		 
		var menuTitleDivObj = $(hana.JMenuPanel.MENU_TITLE_DIV);
		// 20081223 ¸Þ´ºÅ¸ÀÌÆ² ÃÊ±âÈ­
		if (menuTitleDivObj)
			menuTitleDivObj.innerHTML = "";
		
  		var menuTitleImg;
		if (hana.JMenuPanel.menuTitle && menuTitleDivObj) {
			// ÀÌ¹ÌÁö ¼Ò½º°¡ ÀÖ´Ù¸é ÀÌ¹ÌÁö·Î 
			if (hana.JMenuPanel.menuTitle.src) {
				menuTitleImg = document.createElement('IMG');
				menuTitleImg.src = pbk.APPLICATION_CONTEXT_ROOT + '/contents/ionresource/images/common/' + hana.JMenuPanel.menuTitle.src;
				menuTitleImg.alt = hana.JMenuPanel.menuTitle.desc;
				
				menuTitleDivObj.appendChild(menuTitleImg);
			}
			// ¾ø´Ù¸é desc·Î menuTitleÀ» ºÙÀÎ´Ù.  
			else {
				menuTitleDivObj.appendChild(document.createTextNode(hana.JMenuPanel.menuTitle.desc));
			}
		}	
		
		var mainPanelUL = document.createElement("UL");

		
        hana.JMenuPanel.menus = menuItems;
        var menuItems = eval('(' + hana.JMenuPanel.menus.toJSON() + ')');
        // ¸ÞÀÎ ¸Þ´º ¾ÆÀÌÅÛÀÇ ¼ö ¸¸Å­ ·çÇÁ¸¦ µ·´Ù. 
        for (var i = 0; i < menuItems.length; i++) {
			var param = '';
            var menuItem = menuItems[i];
            var mainMenuItem = document.createElement('LI');
           
            // ÇÏÀ§¼Ó¼ºÀ» ÁöÁ¤ÇØÁØ´Ù.
			// ½ÃÀÛ - A Tag 
            var aTag = document.createElement('A');
			var errMsg = hana.JMenuPanel.errMsg;
            
			// »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö¸¦ ¹Ù·Î ½ÇÇàÇÏ±â À§ÇÑ ±âÈ£ Ãß°¡ ('@')
			if (menuItem.href != '#' && menuItem.href != '$' && menuItem.href != '@') {
				if (menuItem.callbackFunc != null && menuItem.callbackFunc != undefined) {					
					if (false == hana.JMenuPanel.isJsp(menuItem.href)) {
						aTag.href = "javascript:hana.JMenuPanel.goMenu('" + menuItem.href + "','" + menuItem.id + "',null,new Function('" + menuItem.callbackFunc + "'));";
					} else {
						/* 20090619 */
						param +='menuItemId='+menuItem.id;
						var tempHref = menuItem.href;
						aTag.href = hana.JMenuPanel.getHrefPlusParams(tempHref,param);
					}
				}
				else {
					if (false == hana.JMenuPanel.isJsp(menuItem.href)) {
						aTag.href = "javascript:hana.JMenuPanel.goMenu('" + menuItem.href + "','" + menuItem.id + "',null,null);";
					} else {
					    /* 20090619 */
						param +='menuItemId='+menuItem.id;
						var tempHref = menuItem.href;
                        aTag.href = hana.JMenuPanel.getHrefPlusParams(tempHref,param);
					}
				}
			}
			else if (menuItem.href == '#') {
				aTag.href = "javascript:void(0);";
			} 
			else if (menuItem.href == '@' && menuItem.callbackFunc != null && menuItem.callbackFunc != undefined) {
				// »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö¸¸ ½ÇÇà ÇÒ °æ¿ì
				// ex) ¸Þ´º Å¬¸¯½Ã ÆäÀÌÁö Update ¾øÀÌ ´Ù¸¥ ¸Þ´º·Î ÀÌµ¿ÇÏ°Ô ÇÒ °æ¿ì (»ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö ³»¿¡ ±¸Çö)
				aTag.href = "javascript:" + menuItem.callbackFunc;
			}
			else if (menuItem.href == '$') {
				aTag.href = "javascript:alert('" + decodeURI(errMsg) + "');";
			} else {
				aTag.href = "javascript:alert('" + decodeURI(errMsg) + "');";
			}
			
			aTag.id = menuItem.id;
            var aTagName = document.createTextNode(menuItem.itemText);            
            // ³¡ A Tag
			
            mainMenuItem.appendChild(aTag);
            aTag.appendChild(aTagName);
           
            mainPanelUL.appendChild(mainMenuItem);
			
            hana.JMenuPanel.mainDiv.appendChild(mainPanelUL);
            
            // Submenu ¸¦ ÃßÃâÇÏ¿© ÃÊ±âÈ­ ÇÑ´Ù. 
            var subItems = menuItem.subMenus;
            if (null != subItems && subItems != undefined) {
                hana.JMenuPanel.parsingSubMenuDom(mainMenuItem, subItems);
            }
        } // end of for
        
		hana.JMenuPanel.initSlideDownMenu();
    }

    
}

/**
 * @classDescription ¸Þ´º¸¦ ´ã°í ÀÖ´Â ÆÐ³ÎÀÌ´Ù.
 * @constructor
 * @param {Object} rootDiv ¸Þ´ºÀÇ Root Div
 * @param {hana.JMenuTitle} jMenuTitle ´ë¸Þ´º ºÐ·ù¸¦ À§ÇÑ Å¸ÀÌÆ² Object
 * 
 */
hana.JMenuItemPanel = function (rootDiv,jMenuTitle) {
	this.rootDiv = rootDiv;
	this.menuTitle = jMenuTitle;
	/**
	 * {hana.JMenuItem[]} JMenuItemÀÇ ¹è¿­(ÃÖ»óÀ§ ¸Þ´ºÀÇ ¹è¿­)
	 */
	this.menuItems = new Array();
}
hana.JMenuItemPanel.prototype = {
	/**
	 * JMenuItem ÇÏ³ª¸¦ ´õÇÑ´Ù. 
	 * @param {hana.JMenuItem} menuItem
	 */
	add : function(menuItem) {
	    this.menuItems[this.menuItems.length] = menuItem;
	    return this;	
	},
	/**
	 * JMenuPanel À» º¸¿©ÁØ´Ù.
	 */
	show : function() {
		hana.JMenuPanel.initMainItems(this.rootDiv,this.menuItems, this.menuTitle);
	}
}
/**
 * @classDescription ¸Þ´º ¾ÆÀÌÅÛ
 * @constructor
 * @param {String} id  ÀÚ½ÅÀÇ ¾ÆÀÌµð
 * @param {String} itemText
 * @param {String} href
 * @param {String} callbackFunc (ex) pbk.common.login.callback('1')
 * @param {String} pId ºÎ¸ð¾ÆÀÌÅÛ ¾ÆÀÌµð
 * @since 20090601  
 */
hana.JMenuItem = function(id, itemText, href, callbackFunc, pId ){
    /* Member Field */
    this.id = id;
    this.itemText = itemText;
    this.href = href;
	
	/* ºÎ¸ð¾ÆÀÌÅÛÀÌ ¾øÀ¸¸é ÀÚ½ÅÀÌ ºÎ¸ð¾ÆÀÌÅÛ */
	this.parentId=null;
	if (pId && null!=pId && pId != undefined) {
		this.parentId = pId;
	} else {
		this.parentId = id;
	}
	
	this.callbackFunc = null;
	if (callbackFunc && null != callbackFunc && callbackFunc != undefined) {
		this.callbackFunc = callbackFunc;
	} else {
		this.callbackFunc = null;
	}
    this.subMenus = new Array();
}
hana.JMenuItem.prototype = {
    /**
     * ¼­ºê¸Þ´º¸¦ ÇÏ³ª Ãß°¡ÇÑ´Ù.
     * @param {hana.JMenuItem} menuItem
     */
    add: function(menuItem){
        this.subMenus[this.subMenus.length] = menuItem;
        return this;
    }
}
hana.JMenuTitle = function(id,desc,src) {
	this.id = id;
	this.desc = desc;
	this.src = src;	
}
