/******************************************************************************* TTBOARD Description : category script Programmer : Kim Dong-kyu Last Modified : 2003.03.31 *******************************************************************************/ var cate_idx = new Array(); var cate_name = new Array(); var cate_level = new Array(); var cate_parent = new Array(); var cate_articles = new Array(); var cate_child = new Array(); var ncate = 0; // number of category function cate_row(idx) { return parseInt(document.all["cate"+idx+"_row"].value); } /******************************************************************************* top category script *******************************************************************************/ // subcategory¸¦ º¯°æ½ÃÅ´. function top_layer(idx) { var row = cate_row(idx); var level = cate_level[row-1]; var parent_idx, name; var cnt_cate = 0; var text = ""; // make subcategory. (parent°¡ idxÀÎ category¸¦ (level+1)¿¡ insert.) text += ""; text += "
"; text += "\n"; // Àü´Ü°è Ä«Å×°í¸® À̸§ÀÌ ³ª¿Àµµ·Ï // Ä«Å×°í¸® ¼ö´Â cate_articles[row-1] text += "\n"; for(i = 0; i < ncate; i++) { parent_idx = cate_parent[i]; child_idx = cate_idx[i]; child_level = cate_level[i]; child_articles = cate_articles[i]; if(parent_idx != 0 && parent_idx == parseInt(idx)) { text += "" text += "\n"; cnt_cate++; } } text += "
¡á " + cate_name[row-1] + "
" } else { text += " onMouseOver=this.className='catestyle1' onMouseOut=this.className=''>" } text += cate_name[i] + " (" + cate_articles[i] + ")"; // more layer if(parseInt(cate_child[i]) != 0) { text += " ¢º"; } text += "
\n"; text += "
\n"; if(cnt_cate != 0) { obj = document.all["id_toplayer" + level]; nLeft = event.x - event.offsetX -2 + document.body.scrollLeft; nTop = event.y - event.offsetY + 14 + document.body.scrollTop; obj.innerHTML = text; if(level==2) { obj.style.posTop = nTop+5; obj.style.posLeft = nLeft+30; } else { obj.style.posTop = nTop; obj.style.posLeft = nLeft; } obj.style.display='block'; } } function top_show(level) { document.all["id_toplayer"+level].style.display='block'; } function top_hide(level) { document.all["id_toplayer"+level].style.display='none'; document.all["id_toplayer"+level].style.width = 0; } // ÇØ´ç category¸¸ ¼±Åà function top_go(idx) { location.href = LINK_LIST + "&s_mode=def&s_cate=1&s_key="+idx; } function top_add(idx, name, level, parent, child, articles) { cate_idx[ncate] = idx; cate_name[ncate] = name; cate_level[ncate] = level; cate_parent[ncate] = parent; cate_child[ncate] = child; cate_articles[ncate] = articles; ncate++; } /******************************************************************************* select category script *******************************************************************************/ // subcategory¸¦ º¯°æ½ÃÅ´. function select_change(level) { var cur_sel = document.all["select_level"+level]; var select_level1 = document.all["select_level1"]; var select_level2 = document.all["select_level2"]; var select_level3 = document.all["select_level3"]; var idx = cur_sel.value; var sel_idx = ""; /* selected index */ var count = 0; /* total subcategories */ if(level == 1) { // hide select object select_level2.style.display = "none"; select_level3.style.display = "none"; // intialize option for(var i = select_level2.length - 1; i > 0; i--) select_level2.options[i] = null; for(var i = select_level3.length - 1; i > 0; i--) select_level3.options[i] = null; if(idx != "") { // set options count = select_subcate(select_level2, idx); // display select category if(count) select_level2.style.display = "inline"; } sel_idx = idx; } else if(level == 2) { // hide select_level3 select_level3.style.display = "none"; // initialize option for(var i = select_level3.length - 1; i > 0; i--) select_level3.options[i] = null; if(idx != "") { // set options sel_idx = idx; count = select_subcate(select_level3, idx); // display select category if(count) select_level3.style.display = "inline"; } else { sel_idx = select_level1.value; } } else { if(idx != "") sel_idx = idx; else sel_idx = select_level2.value; } // set category index document.all["cate_idx"].value = sel_idx; } // subcategory¸¦ ¼±ÅÃÇÑ´Ù. (parent°¡ idxÀÎ category¸¦ (level+1)¿¡ insert.) function select_subcate(next_sel, idx) { var parent_idx, name; var count = 0; /* total subcategories */ for(i = 0; i < ncate; i++) { parent_idx = cate_parent[i]; if(parent_idx != 0 && parent_idx == parseInt(idx)) { name = "" + cate_name[i] + " (" + cate_articles[i] + ")"; if(parseInt(cate_child[i]) != 0) { name += " ¢º"; } next_sel.options[next_sel.length] = new Option(name, cate_idx[i]); count++; } } return count; } // category¸¦ ÃʱâÈ­½ÃÅ´. function select_init(idx) { if(idx == 0) return; var row = cate_row(idx); var level = cate_level[row-1]; var select_level1 = document.all["select_level1"]; var select_level2 = document.all["select_level2"]; var select_level3 = document.all["select_level3"]; var level1_idx, level2_idx; if(level == 1) { init_select(select_level1, ""+idx); select_change(1); } else if(level == 2) { // level 1 level1_idx = cate_parent[row-1]; init_select(select_level1, ""+level1_idx); select_change(1); // level 2 init_select(select_level2, ""+idx); select_change(2); } else { level2_idx = cate_parent[row-1]; // level 1 level1_idx = cate_parent[cate_row(level2_idx)-1]; init_select(select_level1, ""+level1_idx); select_change(1); // level 2 init_select(select_level2, ""+level2_idx); select_change(2); // level 3 init_select(select_level3, ""+idx); select_change(3); } } // ÇØ´ç category¸¸ ¼±Åà function select_go() { var idx = document.all["cate_idx"].value; if(idx == "") location.href = LINK_LIST; else location.href = LINK_LIST + "&s_mode=def&s_cate=1&s_key="+idx; } function select_add(idx, name, level, parent, child, articles) { cate_idx[ncate] = idx; cate_name[ncate] = name; cate_level[ncate] = level; cate_parent[ncate] = parent; cate_child[ncate] = child; cate_articles[ncate] = articles; ncate++; } /******************************************************************************* side category script *******************************************************************************/ // subcategory¸¦ ¿¬´Ù. function side_open(idx) { var row = cate_row(idx); var opened = parseInt(document.all["cate"+idx+"_opened"].value); var parent_level = cate_level[row-1]; var child_idx, child_level; for(i = row; i <= ncate; i++) { /* pos -> idx */ child_idx = cate_idx[i]; child_level = cate_level[i]; if(opened) { // close cate if(child_level > parent_level) { document.all["cate"+child_idx].style.display = "none"; document.all["cate"+child_idx+"_opened"].value = "0"; } } else { // open cate if(child_level == parent_level+1) { document.all["cate"+child_idx].style.display = "block"; } } if(child_level == parent_level) { break; } } if(opened) { document.all["cate"+idx+"_opened"].value = "0"; document.all["cate"+idx+"_img"].src = PATH_SKIN + "images/category_plus.gif"; } else { document.all["cate"+idx+"_opened"].value = "1"; document.all["cate"+idx+"_img"].src = PATH_SKIN + "images/category_minus.gif"; } } // category¸¦ ÃʱâÈ­ÇÑ´Ù. function side_init(idx) { if(idx == 0) return; var row = cate_row(idx); var level = cate_level[row-1]; var parent_idx; for(parent_idx = idx, i = level; i > 1; i--) { parent_idx = cate_parent[cate_row(parent_idx)-1]; if(parent_idx == 0) break; side_open(parent_idx); } // check Ç¥½Ã document.all["cate"+idx+"_name"].style.fontColor = "#FF00000"; } // category¸¦ ¼±Åà function side_go(idx) { location.href = LINK_LIST + "&s_mode=def&s_cate=1&s_key="+idx; } function side_add(idx, level, parent) { cate_idx[ncate] = idx; cate_level[ncate] = level; cate_parent[ncate] = parent; ncate++; }