/* * Nekr Tab Menu Generator * Copyright(c) 2006-2008, Nekr.net * licensing@nekr.net * Yun Chong Min [minimaxs@paran.com] gTM : ulÀÇ ¾ÆÀ̵ð gTMBTI : ÅÇÀ» Ŭ¸¯ÇÏ¿´À» °æ¿ì blockµÉ Div defaultSelect : ±âº»ÀûÀ¸·Î ¼±ÅõǾî¾ßµÉ ÅÇ ¹øÈ£(0¹øºÎÅÍ ½ÃÀÛ) */ var tabMenu = Class.create({ initialize: function(gTM, gTMBTI, defaultSelect) { if ( defaultSelect == "" ) defaultSelectis = 0; else defaultSelectis = parseInt(defaultSelect, 10); this.TabMenu = gTM; this.TabMenuTargetBaseId = gTMBTI; this.tab_len = 0; this.userFunction = null; this.defaultSelect = parseInt(defaultSelectis, 10); }, tabMenuGen: function() { var _this = this; $(_this.TabMenu).addClassName("SetTab"); var tab = $(_this.TabMenu).childElements(); tab_len = tab.length; for ( i = 0; i < tab_len; i++ ) { intitle = tab[i].innerHTML.trim(); tab[i].setAttribute("title",intitle.strip_tags()); tab[i].setAttribute("id",$(_this.TabMenu).id+"_tabItem"+(i+1)); Event.observe(tab[i], "mouseover", function() { this.addClassName('over'); }); Event.observe(tab[i], "mouseout", function() { this.removeClassName('over'); }); Event.observe(tab[i], "focus", function() { this.addClassName('over'); }); Event.observe(tab[i], "blur", function() { this.removeClassName('over'); }); Event.observe(tab[i], "click", function() { _this.TabClick( $(this) ); if ( Object.isFunction( _this.userFunction ) ) eval(_this.userFunction( $(this).id )); }); tab[i].innerHTML = ""; if ( i == 0 && _this.defaultSelect == 0 ) { left_class = "left_start_on"; center_class = "middle_on"; } else if ( i == 0 ) { left_class = "left_start_off"; center_class = "middle_off"; } else { if ( i == 1 && _this.defaultSelect == 0 ) left_class = "middle_on_off"; else { if ( _this.defaultSelect == i ) left_class = "middle_off_on"; else if ( (_this.defaultSelect+1) == i ) left_class = "middle_on_off"; else left_class = "middle_off_off"; } if ( _this.defaultSelect == i ) center_class = "middle_on"; else center_class = "middle_off"; } var div_left = new Element("div"); tab[i].appendChild(div_left); div_left.addClassName(left_class); var div_center = new Element("div"); tab[i].appendChild(div_center); div_center.addClassName(center_class); // var div_center_title = new Element("div").update(intitle); var div_center_title = new Element("div").update(""+intitle+""); div_center.appendChild(div_center_title); div_center_title.addClassName("center_title"); if ( (i +1) == tab_len ) { if ( _this.defaultSelect == i ) right_class = "right_end_on"; else right_class = "right_end_off"; var div_right = new Element("div"); tab[i].appendChild(div_right); div_right.addClassName(right_class); } } tab[_this.defaultSelect].addClassName("sel"); loading_stop(); }, userAction: function ( Fn ) { var _this = this; _this.userFunction = Fn; }, TabClick: function( obj ) { var _this = this; var tab = $(_this.TabMenu).childElements(); what = parseInt($(obj).id.replaceAll($(_this.TabMenu).id+"_tabItem",""), 10); for ( i = 1; i <= tab_len; i++ ) { var chdiv = tab[(i-1)].childElements(); for ( k = 0; k < chdiv.length; k++ ) { if ( ie ) chdiv[k].setAttribute("className",""); else chdiv[k].setAttribute("class",""); } if ( what == i ) { if ( _this.TabMenuTargetBaseId != "" ) $(_this.TabMenuTargetBaseId+i).setStyle({"display":"block"}); tab[(i-1)].addClassName("sel"); chdiv[1].addClassName("middle_on"); if ( i == 1 ) chdiv[0].addClassName("left_start_on"); else chdiv[0].addClassName("middle_off_on"); if ( i == tab_len ) chdiv[2].addClassName("right_end_on"); } else { if ( _this.TabMenuTargetBaseId != "" ) $(_this.TabMenuTargetBaseId+i).setStyle({"display":"none"}); tab[(i-1)].removeClassName("sel"); chdiv[1].addClassName("middle_off"); if ( i == 1 ) chdiv[0].addClassName("left_start_off"); else { if ( what == (i-1) ) chdiv[0].addClassName("middle_on_off"); else chdiv[0].addClassName("middle_off_off"); } if ( i == tab_len ) chdiv[2].addClassName("right_end_off"); } } } });