// ******************************************************************************************* // // @brief °ü¸®ÀÚ ¸Þ´º À̺¥Æ® & µ¿ÀÛ ¼³Á¤ // // @Date 2009-03-20 // // @Developer Kim Jung Yong // // ******************************************************************************************* // // @class AdminMenuController // var AdminMenuController = { pannelTopMenu : null, //@brief topmenu ¶ó´Â id¸¦ °¡Áö°í ÀÖ´Â Å×ÀÌºí ¿¤¸®¸ÕÆ® oneDepthElms : null, //@brief ž¸Þ´º ¿¤¸®¸ÕÆ® twoDepthElms : null, //@brief Àڽĸ޴º ¿¤¸®¸ÕÆ®(ž¸Þ´º ¹ØÀ¸·Î ³ª¿À´Â ¸Þ´º) leftParentElms : null, //@brief ·¹ÇÁÆ®¸Þ´º ºÎ¸ð ¿¤¸®¸ÕÆ® leftChildElms : null, //@brief ·¹ÇÁÆ®¸Þ´º ÀÚ½Ä ¿¤¸®¸ÕÆ® leftHeadElm : null, //@brief ·¹ÇÁÆ®Çìµå ¿¤¸®¸ÕÆ® leftBannerElm : null, //@brief ·¹ÇÁÆ®¸Þ´º ¹è³Ê¿µ¿ª(ÇöÀç äÆÃ¸Å´ÏÁ® ¹è³Ê¸¸ »ç¿ë) onTopMenuElm : null, //@brief ÇöÀç ¸¶¿ì½º¸¦ ¿Ã¸°(onÀ̹ÌÁö°¡ Ȱ¼ºÈ­ µÇ¾îÀÖ´Â) ž¸Þ´º ¿¤¸®¸ÕÆ® currentMenu : [], //@brief ÇöÀç ¸Þ´º(currentMenu.T ž¸Þ´º , currentMenu.C Â÷Àϵå, ,currentMenu.CI Â÷ÀÏµå ¾ÆÀÌÅÛ, currentMenu.L ÇöÀç 2Depth ·¹ÇÁÆ® ¸Þ´º, currentMenu.LC ÇöÀç 2Depth ·¹ÇÁÆ®ÀÇ ÀÚ½Ä) docWidth : 1100, //@brief Â÷ÀÏµå ¸Þ´º°¡ ³ª¿À´Â À§Ä¡°ªÀ» °è»êÇϱâ À§ÇÑ ¹®¼­ ±âÁØ Å©±â ¼³Á¤ init : function(){ this.pannelTopMenu = getElm('topmenu'); this._setOneDepthElms(); this._setTwoDepthElms(); this._setLeftElms(); this.createView(); this.Util.setFirstChildMenuUrl(); this.Util.setChatBanner(); this.setRolloverImgLoad(); this.setCurrentMenuStyle(); this.setChildMenuStyle(); this.setLeftMenuStyle(); this.setEventTopMenu(); this.setEventLeftParentMenu(); }, _setOneDepthElms : function(){ if(getElm('onedepth') == null) return; this.oneDepthElms = getElm('onedepth').getElmsByTag('img'); }, _setTwoDepthElms : function(){ if(getElm('twodepth') == null) return; this.twoDepthElms = getElm('twodepth').getElmsByTag('dl'); }, _setLeftElms : function(){ if(getElm('leftmenu') == null) return; if(getElm('leftmenu').getElmsByTag('dt').length === 0) return; //leftmenu ºÎ¸ð TD ¹é±×¶ó¿îµå ´Ù½Ã ¼³Á¤(°¢ ÆäÀÌÁöº°·Î ȸ»öÀ¸·Î Ç¥½Ã°¡ µÇ¾î ÀÖ¾î ÀÌ·¸°Ô Àϰý·Î ó¸®) getElm('leftmenu').parentNode.style.backgroundColor = '#FFF'; this.leftHeadElm = getElm('left_menu_head'); this.leftParentElms = getElm('leftmenu').getElmsByTag('dt'); this.leftChildElms = getElm('leftmenu').getElmsByTag('dd'); this.leftBannerElm = getElm('leftmenu_banner'); }, _setOnTopMenuElm : function(){ var reg_on = new RegExp("_on", "i"); for(var i=0; (el=this.oneDepthElms[i]); i++){ alert(el.src); if(reg_on.exec(el.src)){ this.onTopMenuElm = el; break; } } }, /** * @brief °´Ã¼ ºä¾î¸¦ »ý¼º(¿¤¸®¸ÕÆ® °´Ã¼¾È¿¡¼­ ÇØ´ç Ŭ·¡½º¸¦ ÂüÁ¶ÇÒ¼ö ÀÖ°Ô Çϱâ À§ÇÔ) */ createView : function(){ if(this.oneDepthElms){ for(var i=0; (el = this.oneDepthElms[i]); i++){ el.AMC = this; } } if(this.leftParentElms){ for(var i=0; (el = this.leftParentElms[i]); i++){ el.AMC = this; } } }, /** * @brief ž¸Þ´º À̺¥Æ® ¼³Á¤ */ setEventTopMenu : function(){ if(this.oneDepthElms == null) return; for(var i=0; (el = this.oneDepthElms[i]); i++){ el.addEvent('mouseover', this.Event.onTopMenu); } }, /** * @brief 2Depth ¸Þ´º À̺¥Æ® ¼³Á¤ */ setEventLeftParentMenu : function(){ if(this.leftParentElms == null) return; for(var i=0; (el = this.leftParentElms[i]); i++){ el.addEvent('click', this.Event.clickLeftParentMenu); } }, /** * @brief ž¸Þ´º Àڽĸ޴ºÀÇ Ãʱ⠽ºÅ¸ÀÏ ¼³Á¤ */ setChildMenuStyle : function(){ if(this.twoDepthElms){ for(var i=0; (el = this.twoDepthElms[i]); i++){ el.lastChildElm('dd').addClass('end'); } } }, /** * @brief ·¹ÇÁÆ® ¸Þ´ºÀÇ Ãʱ⠽ºÅ¸ÀÏ ¼³Á¤ */ setLeftMenuStyle : function(){ if(this.leftParentElms){ this.leftParentElms[0].addClass('first'); } }, /** * @brief ·¹ÇÁÆ® ¸Þ´º Çìµå Á¦¸ñ ¼³Á¤ */ setLeftHead : function(str){ this.leftHeadElm.innerHTML = str; }, /** * @brief À̹ÌÁö¸¦ ¹Ì¸® ·ÎµåÇÑ´Ù. */ setRolloverImgLoad : function(){ if(this.oneDepthElms){ for(var i=0; (el = this.oneDepthElms[i]); i++){ (new Image()).src = el.getAttr('rollover'); } } }, /** * @brief ¸¶¿ì½º Ä¿¼­°¡ ž¸Þ´º Å×À̺íÀÇ ¿µ¿ªÀ» ¹þ¾î³ª¸é ÇöÀç ¸Þ´º Ç¥½Ã¸¦ Çϱâ À§ÇÔ */ setRestoreMenuStyle : function(){ }, /** * @brief ÇöÀç ÆäÀÌÁö°¡ ¾î¶°ÇÑ ¸Þ´ºÀÇ href¿¡ Æ÷ÇÔÀÌ µÇ¾î ÀÖÁö ¾ÊÀ» °æ¿ì cookie¿¡ ÀÖ´Â °ªÀ» ÂüÁ¶ÇØ º¯È­½ÃŲ´Ù. * ÀÌ ¸Þ¼­µå°¡ ÇÊ¿äÇÑ ÀÌÀ¯´Â ÆäÀÌÁö ¾È¿¡ ¶Ç´Ù¸¥ ¼Ò¸Þ´º°¡ Á¸ÀçÇÒ °æ¿ì url°ªÀ» ÂüÁ¶ÇÒ¼ö ¾ø±â ¶§¹® */ _xSetCurrentMenuStyle : function(menuType){ switch(menuType){ case 'topMenu' : var menuId = getCookie('currTopMenu'); this.currentMenu.T = getElm(menuId); this.onTopMenuElm = this.currentMenu.T; this.currentMenu.T.src = this.currentMenu.T.src.replace((new RegExp("_off", "i")), "_on"); var cName = 'child_' + menuId; var left = this.Util.getChildLeft(getElm(cName)); this.displayChildMenu(getElm(cName), left); break; case 'leftMenu' : var menuId = getCookie('leftMenu'); var subMenuId = getCookie('leftMenuSub'); this.currentMenu.L = getElm(menuId); this.currentMenu.LC = getElm(subMenuId) this.currentMenu.L.addClass('now'); this.currentMenu.LC.addClass('now_sub'); this.setLeftHead(this.currentMenu.L.getTextNode()); this.Util.displayLeftChild(this.currentMenu.L, 'onload'); break; case 'topChildMenu' : var menuId = getCookie('currChildMenu'); getElm(menuId).setStyle('color:#2568A9'); break; } }, /** * @brief ÇöÀç À§Ä¡¿¡ ÇØ´ç µÇ´Â ¸Þ´º ¿¤¸®¸ÕÆ®µé¿¡°Ô ½ºÅ¸ÀÏÀ» ¼³Á¤ÇÔ. */ setCurrentMenuStyle : function(){ var urlArgs = getURLArgs(); //ž ¸Þ´º if(this.oneDepthElms && typeof(urlArgs.tid) != 'undefined'){ for(var i=0; (el=this.oneDepthElms[i]); i++){ var str = 'tid='+urlArgs.tid; var o = getElm(el.parentNode.parentNode).getElmsByAttr('href', str, 1); if(o != null){ var findElm = o.getElmsByTag('img')[0]; findElm.src = findElm.src.replace((new RegExp("_off", "i")), "_on"); this.currentMenu.T = findElm; this.onTopMenuElm = findElm; //ÇöÀç top ¸Þ´º cookie·Î ÀúÀå setCookie('currTopMenu', findElm.id, null, '/'); //Ãʱ⠷εå½Ã ¾Æ·¡´Â ÇöÀçÀ§Ä¡ÀÇ Å¾ Àڽĸ޴º¸¦ °è¼Ó Ãâ·ÂÇϱâ À§ÇÔ var cName = 'child_' + findElm.id; var left = this.Util.getChildLeft(getElm(cName)); this.displayChildMenu(getElm(cName), left); } } //ÆÄÀÏ·Î °ü¸®µÇ´Â ³ðµé }else if (this.oneDepthElms) { for(var i=0; (el=this.oneDepthElms[i]); i++){ if(/_on\./i.test(el.src) == true){ this.currentMenu.T = el; this.onTopMenuElm = el; //ÇöÀç top ¸Þ´º cookie·Î ÀúÀå setCookie('currTopMenu', el.id, null, '/'); var cName = 'child_' + el.id; var left = this.Util.getChildLeft(getElm(cName)); this.displayChildMenu(getElm(cName), left); } } } //·¹ÇÁÆ® ¸Þ´º if(this.leftChildElms){ for(var i=0; (el=this.leftChildElms[i]); i++){ var str = getURLtail(); var o = el.getElmsByAttr('href', str, 1); if(o == null) continue; var currElm = getElm(o.parentNode); currElm.addClass('now_sub'); this.currentMenu.LC = currElm; //ÇöÀç left ¸Þ´º cookie·Î ÀúÀå(3Depth) setCookie('leftMenuSub', currElm.id, null, '/'); var parentElm = currElm.prevElm(); while(parentElm){ if(parentElm.tagName.toLowerCase() == 'dt'){ parentElm.addClass('now'); this.currentMenu.L = parentElm; //ÇöÀç left ¸Þ´º cookie·Î ÀúÀå(2Depth) setCookie('leftMenu', parentElm.id, null, '/'); this.setLeftHead(parentElm.getTextNode()); break; } parentElm = parentElm.prevElm(); } } } //TopÀÇ ÀÚ½Ä ¸Þ´º ¾ÆÀÌÅÛ if(this.currentMenu.C){ var currChildElms = this.currentMenu.C.getElmsByTag('dd'); for(var i=0; (el = currChildElms[i]); i++){ //·¹ÇÁÆ® ¸Þ´º°¡ ÀÖÀ» °æ¿ì if(this.currentMenu.L){ if(el.getTextNode() == this.currentMenu.L.getTextNode()){ this.currentMenu.CI = el.firstChildElm(); el.firstChildElm().setStyle('color:#2568A9'); //ÇöÀç Â÷ÀÏµå ¸Þ´º cookie·Î ÀúÀå setCookie('currChildMenu', this.currentMenu.CI.id, null, '/'); } } } } //ÇöÀç 2Depth ·¹ÇÁÆ® ¸Þ´º ÆîÄ¡±â if(this.currentMenu.L){ this.Util.displayLeftChild(this.currentMenu.L, 'onload'); } //@Waring À§ ÇÁ·Î¼¼½º¸¦ ŸÁö ¾ÊÀº ¿¹¿Ü»óȲÀÇ °æ¿ì ó¸® ¹æ¹ý if(this.leftChildElms){ if(this.currentMenu.T == null) this._xSetCurrentMenuStyle('topMenu'); if(this.currentMenu.L == null) this._xSetCurrentMenuStyle('leftMenu'); if(this.currentMenu.CI == null) this._xSetCurrentMenuStyle('topChildMenu'); } }, /** * @brief ž¸Þ´º ·Ñ¿À¹ö È¿°ú * @param (object) elm (ÇØ´ç ÀÎÀÚ »©°í´Â ¸ðµÎ offó¸®) */ rollOverTopMenu : function(elm){ var reg_off = new RegExp("_off", "i"); var reg_on = new RegExp("_on", "i"); elm.src = elm.src.replace(reg_off, "_on"); this.onTopMenuElm = elm; for(var i=0; (el = this.oneDepthElms[i]); i++){ if(elm != el){ el.src = el.src.replace(reg_on, "_off"); } } }, /** * @brief ž¸Þ´º ¿Â,¿À¹ö À̺¥Æ®¿¡ µû¸¥ ÀÚ½Ä ¸Þ´º Ãâ·Â * @param (object) elm (ÀÎÀÚ°¡ ¾Èµé¾î ¿Ã °æ¿ì´Â ¸ðµÎ ¼û±è) * @param (int) left (paddingLeft°ª) * */ displayChildMenu : function(elm, left){ if(!this.twoDepthElms) return; for(var i=0; (el = this.twoDepthElms[i]); i++){ if(elm){ if(el == elm){ el.style.left = left+'px'; el.style.visibility = 'visible'; //ÇöÀç Child ¸Þ´º¸¦ ÀúÀå½ÃÄѳõ´Â´Ù this.currentMenu.C = el; }else{ el.style.visibility = 'hidden'; } }else{ el.style.visibility = 'hidden'; } } } } // // @class AdminMenuController.Event // AdminMenuController.Event = { /** * @brief ž¸Þ´º ¿Â */ onTopMenu : function(e){ e = e || window.event; LENSVil.stopPropagation(e); var target = LENSVil.targetElm(e); var cName = 'child_' + target.id; target.AMC.rollOverTopMenu(target); var left = target.AMC.Util.getChildLeft(getElm(cName)); if(getElm(cName)){ target.AMC.displayChildMenu(getElm(cName), left); }else{ target.AMC.displayChildMenu(); } }, /** * @brief ž¸Þ´º ¾Æ¿ô */ outTopMenu : function(e){ }, /** * @brief TODO ž¸Þ´º Å×À̺íÀ» ¹þ¾î³¯ °æ¿ì setRestoreMenuStyle ¸Þ¼­µå È£Ãâ */ outPannelTopMenu : function(e){ e = e ? e : window.event; }, /** * @brief 2Depth ·¹ÇÁÆ® ¸Þ´º¸¦ Ŭ¸¯ÇÒ °æ¿ì */ clickLeftParentMenu : function(e){ e = e || window.event; LENSVil.stopPropagation(e); var target = LENSVil.targetElm(e); if (target.AMC) target.AMC.Util.displayLeftChild(target); } } // // @class AdminMenuController.Util // AdminMenuController.Util = { _parent : AdminMenuController, /** * @brief ž¸Þ´ºÀÇ ÀÚ½Ä ¸Þ´º°¡ À§Ä¡ÇÒ left°ªÀ» ¹Ýȯ */ getChildLeft : function(childElm){ if(!childElm) return 0; var result = 0; var docWidth = this._parent.docWidth; var childWidth = childElm.offsetWidth; var offsetLeft = getElmCoordi(this._parent.onTopMenuElm).left - 20; var offsetWidth = this._parent.onTopMenuElm.offsetWidth; if( (offsetLeft + childWidth) > docWidth){ result = offsetLeft - childWidth + offsetWidth; result = result < 0 ? 0 : result; }else{ result = offsetLeft; } return result; }, /** * @brief žÀÇ ÀÚ½Ä ¸Þ´ºÁß Ã¹¹øÂ° ¸Þ´º¸¦ ž¸Þ´ºÀÇ url·Î ¼¼ÆÃÇÑ´Ù. * @param (object) elm * * ÀÌ ¸Þ¼­µå´Â ž¸Þ´º¸¦ ´­·¶À» °æ¿ì 2Depth¸Þ´ºÀÇ Ã¹¹øÂ° ¸Þ´º°¡ ¸µÅ©°¡ °É·Á¾ß Çϱ⠶§¹® * DB»ó¿¡ url µ¥ÀÌÅ͸¦ ¹Ù²Ù¸é µÉ°Å °°Áö¸¸ DB»ó¿¡ ÀÖ´Â µ¥ÀÌÅ͸¸ ¹Ù²ã¼­´Â ÇöÀç ¸Þ´º Ç¥½Ã°¡ ºÒ°¡´ÉÇϱ⠶§¹®¿¡ * ÀϺη¯ ½ºÅ©¸³Æ® 󸮸¦ ÇØÁÜ */ setFirstChildMenuUrl : function(elm){ if (this._parent.oneDepthElems) { for(var i=0; (el = this._parent.oneDepthElms[i]); i++){ var cMenu = getElm('child_'+el.id); if(cMenu != null){ el.parentNode.href = cMenu.firstChildElm().getElmsByTag('a')[0].href; } } } }, /** * @brief ·¹ÇÁÆ® ¸Þ´ºÀÇ Àڽĸ޴ºµéÀ» ÆîÄ¡´Â ±â´É * @param (object) elm */ displayLeftChild : function(elm, isOnload){ //·¹ÇÁÆ® ¸Þ´º°¡ ¾øÀ» °æ¿ì Å»Ãâ if(!this._parent.currentMenu.L) return; //ÇöÀç Ŭ¸¯ÇÑ ¸Þ´º°¡ ¿­¸° ¸Þ´ºÀÏ °æ¿ì Å»Ãâ if(this._parent.currentMenu.L == elm && isOnload != 'onload') return; elm = getElm(elm); //ÇöÀç ¿­¸° ¸Þ´º ´Ý±â var parentElm = this._parent.currentMenu.L.nextElm(); while(parentElm){ if(parentElm.tagName.toLowerCase() == 'dd'){ parentElm.setStyle("display:none"); }else{ break; } parentElm = parentElm.nextElm(); } this._parent.currentMenu.L.removeClass('now'); //ÇöÀç Ŭ¸¯ÇÑ ¸Þ´º ¿­±â this._parent.currentMenu.L = elm; var parentElm = elm.nextElm(); while(parentElm){ if(parentElm.tagName.toLowerCase() == 'dd'){ parentElm.setStyle("display:block"); }else{ break; } parentElm = parentElm.nextElm(); } //È¿°ú this._parent.currentMenu.L.addClass('now'); }, /** * @brief äÆÃ¸Å´ÏÁ® ¹è³Ê »ðÀÔ */ setChatBanner : function(){ if( !getCookie('MRAZChatAdminWindow') ) return; try{ this._parent.leftBannerElm.setStyle('text-align:center;cursor:pointer'); this._parent.leftBannerElm.createElm('img', {src:'/cimg/chat/chat_manager_banner.gif'}, null, true); this._parent.leftBannerElm.addEvent('click', function(){ var coordi = getCoordiCenterByScr(337, 118); winOpen({ url : '/chtml/chat/admin_login.php', name : 'MRAZAdminWindow', width : 337, height : 118, top : coordi.y, left : coordi.x }); }); }catch(e){} } } // @brief DOM ·Îµå½Ã °ü¸®ÀÚ ¸Þ´º ÄÁÆ®·Ñ·¯ ÃʱâÈ­ ½ÇÇà LENSVil.DOMLoad.ready(function(){ AdminMenuController.init(); }); // // @±âÁ¸ left.tpl ¿¡ ¹°·ÁÀÖ´ø ¼Ò½ºµé // function bodyShow(idx){ var num= parseInt(idx) +1; var nodeObj= document.getElementById('menus_' +num ); if(nodeObj) { var dis = nodeObj.style.display; if(dis == 'none') dis = 'block'; else dis = 'none'; } } function popWin(uri , w , h,is_scroll,is_resize) { var features = "width=" + w + ",height=" + h; features += ",scrollbars=1"; if (is_resize) features += ",resizable=yes"; else features += ",resizable=no"; window.open(uri, 'popup' , features); } function setSelect(obj,value){ getElm(obj).value = '/admin/template/toss.php?tpl_id='+value; } function imgError(el) { var obj = document.getElementById(el); obj.innerHTML = ""; } function ctiMove(cti_id) { location.replace('http://cti.'+cti_id+'.cafe24.com/admin/cti/index.php?module=main'); } function moveMyTemplate(obj){ if(obj.selectedIndex != 0) window.open(obj.options[obj.selectedIndex].value,'_self'); else return; } function setNavigator(){ var navi_sub_title = getElm('leftmenu').getElmsByClass('now_sub').getTextNode(); var navi_sub_parent_title = getElm('leftmenu').getElmsByClass('now').getTextNode(); getElm('navi_sub_title').innerHTML = navi_sub_title; getElm('navi_curr_menu_parent').innerHTML = navi_sub_parent_title; getElm('navi_curr_menu').innerHTML = navi_sub_title; }