PageSourceSearch

https://playpop.org/file/menufolder.js

js playpop.org collected 2026-10-07 13:42:27 UTC 27,119 bytes, 781 lines download raw bytes

1var _____WB$wombat$assign$function_____=function(name){return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name))||self[name];};if(!self.__WB_pmw){self.__WB_pmw=function(obj){this.__WB_source=obj;return this;}}{
2let window = _____WB$wombat$assign$function_____("window");
3let self = _____WB$wombat$assign$function_____("self");
4let document = _____WB$wombat$assign$function_____("document");
5let location = _____WB$wombat$assign$function_____("location");
6let top = _____WB$wombat$assign$function_____("top");
7let parent = _____WB$wombat$assign$function_____("parent");
8let frames = _____WB$wombat$assign$function_____("frames");
9let opens = _____WB$wombat$assign$function_____("opens");
10// Copyright (c) 2004-2007 koikikukan All Rights Reserved.
11// http://www.koikikukan.com/
12// License is granted if and only if this entire
13// copyright notice is included. By Yujiro ARAKI.
14
15// Ver1.00 initial version.
16// Ver2.00 add the state maintenance function by cookie.
17// Ver3.00 improve cookie processing.
18// Ver3.01 corresponds to Mac+IE.
19// Ver4.00 2005.03.31 add link display by block.
20// Ver5.00 2005.08.22 add Ajax library.
21// Ver5.01 2005.08.27 add flag of Ajax selection for subcategory.
22// Ver6.00 2006.07.10 add archives.
23// Ver6.01 2006.08.22 corresponds to image.
24// Ver6.02 2006.11.26 fix bug(corresponds to image).
25// Ver6.03 2007.01.30 add option to apply the anchor to year and improvement of performance.
26// Ver7.00 2007.04.27 add function to stateless hold.
27
28function deleteValue(name, nameEQ) {
29    var ca = document.cookie.split(';');
30    var newData = new Array();
31
32    // Repeat by cookie
33    for(var i = 0, len = ca.length; i < len; i++) {
34        var c = ca[i];
35        while (c.charAt(0)==' ') {
36            c = c.substring(1,c.length);
37        }
38        if (c.indexOf(nameEQ) == 0) {
39
40            // Delete the corresponding name.
41            var data = c.substring(nameEQ.length,c.length);
42            var list = data.split('|');
43            for(var x = 0; x < list.length; x++) {
44                if (list[x] != name) {
45
46                    // corresponds to Mac+IE
47                    newData[newData.length] = list[x];
48                }
49            }
50            return newData.join('|');
51        }
52    }
53
54    // Return empty when cookie does not exist.
55    return '';
56}
57
58function hasName(name, nameEQ) {
59    var ca = document.cookie.split(';');
60    for(var i = 0, len = ca.length; i < len; i++) {
61        var c = ca[i];
62        while (c.charAt(0)==' ') {
63            c = c.substring(1,c.length);
64        }
65        if (c.indexOf(nameEQ) == 0) {
66            var data = c.substring(nameEQ.length,c.length);
67            var list = data.split('|');
68            for(var x = 0, len2 = list.length; x < len2; x++) {
69                if (list[x] == name) {
70                    return true;
71                }
72            }
73            return false;
74        }
75    }
76}
77
78function createCookieByValue(name, onoff, days) {
79    if (days) {
80        var date = new Date();
81        date.setTime(date.getTime()+(days*24*60*60*1000));
82        var expires = "; expires="+date.toGMTString();
83    } else {
84        expires = "";
85    }
86
87    // Once delete a name from cookie.
88    var newOnData = deleteValue(name, 'sidebarMenuOn=');
89    var newOffData = deleteValue(name, 'sidebarMenuOff=');
90
91    // Set up a name as new data.
92    if (onoff == 'on') {
93        if (newOnData != '') {
94            newOnData += '|' + name;
95        } else {
96            newOnData = name;
97        }
98    } else {
99        if (newOffData != '') {
100            newOffData += '|' + name;
101        } else {
102            newOffData = name;
103        }
104    }
105
106    // Save cookie.
107    document.cookie = "sidebarMenuOn=" + newOnData + expires + "; path=/";
108    document.cookie = "sidebarMenuOff=" + newOffData + expires + "; path=/";
109}
110
111function readCookieByValue(name) {
112
113    // Search a menu.
114    // Return empty if there is nothing to both.
115    if (hasName(name, 'sidebarMenuOn=')) {
116        return 'on';
117    }
118    if (hasName(name, 'sidebarMenuOff=')) {
119        return 'off';
120    }
121    return null;
122}
123
124// リスト数取得
125function getListCount(objLists, viewNum, idName, linkNumber, trackbackNumber, rightMarkForListNumber, subCategoryCount, leftMarkForListNumber, 
125countTag, offsetValue) {
126
127    var objItems;
128    var href;
129    var commentCounter = 0;
130
131    // サブカテゴリーリスト
132    if (subCategoryCount && (idName.indexOf('subcategories') == 0)) {
133        objItems = objLists.getElementsByTagName('li');
134
135    // 指定されたタグを使用
136    } else if (countTag == 'li') {
137        objItems = objLists.getElementsByTagName(countTag);
138
139    // その他(aタグ)
140    } else {
141        objItems = objLists.getElementsByTagName('a');
142    }
143
144    // Recent Comments
145    if (idName == 'comment') {
146        for (i = 0, len = objItems.length; i < len; i++) { // Repeat a tag.
147            href = objItems[i].getAttribute("href");
148            if(href.indexOf('#') == -1){ // Count if '#' exists in a href attribute.
149                commentCounter++;
150            }
151        }
152    }
153
154    // Trackback
155    var counter;
156    if (idName == 'trackback') {
157        commentCounter = objItems.length / trackbackNumber;
158    }
159
160    // Subtract the unnecessary number of links.
161    if (idName.indexOf('link') == 0) {
162        var linkName;
163        for (j = 0; j < linkNumber; j++) {
164            linkName = 'link' + (j + 1);
165            if (idName == linkName) {
166                counter = objItems.length - offsetValue[j];
167            }
168        }
169    } else {
170
171        // Subtract the value of a counter from 'Recent Comments'
172        counter = objItems.length - commentCounter;
173    }
174
175    // decoration counter
176    if (leftMarkForListNumber) {
177        counter = leftMarkForListNumber + counter;
178    }
179    if (rightMarkForListNumber) {
180        counter = counter + rightMarkForListNumber;
181    }
182
183    return counter;
184}
185
186// リスト数設定
187function setListNumber(buffer, listCount, menuTitle, listNumberPosition, tlspace) {
188
189    // リスト数を前に表示
190    if (listNumberPosition) {
191        buffer[buffer.length] = listCount;
192        if (tlspace) {
193            buffer[buffer.length] = tlspace;
194        }
195        buffer[buffer.length] = menuTitle;
196
197    // リスト数を後に表示
198    } else {
199        buffer[buffer.length] = menuTitle;
200        if (tlspace) {
201            buffer[buffer.length] = tlspace;
202        }
203        buffer[buffer.length] = listCount;
204    }
205}
206
207// メニュータイトル+リスト数設定(block用)
208function setMenuTitleForBlock(viewNum, buffer, listCount, menuTitle, listNumberPosition, tlspace) {
209
210    // リスト数表示
211    if (viewNum) {
212        setListNumber(buffer, listCount, menuTitle, listNumberPosition, tlspace);
213
214    // リスト数非表示
215    } else {
216        buffer[buffer.length] = menuTitle;
217    }
218}
219
220// メニュータイトル+リスト数設定
221function setMenuTitle(viewNum, buffer, listCount, menuTitle, listNumberPosition, tlspace) {
222
223    // リスト数表示
224    if (viewNum) {
225
226        // リスト数を前に表示
227        if (listNumberPosition) {
228            buffer[buffer.length] = listCount;
229            if (tlspace) {
230                buffer[buffer.length] = tlspace;
231            }
232        }
233
234        buffer[buffer.length] = menuTitle;
235
236        // リスト数を後に表示
237        if (!listNumberPosition) {
238            if (tlspace) {
239                buffer[buffer.length] = tlspace;
240            }
241            buffer[buffer.length] = listCount;
242        }
243
244    // リスト数非表示
245    } else {
246        buffer[buffer.length] = menuTitle;
247    }
248}
249
250// 折りたたみ実行(タグ指定)
251function FoldNavigationByTagName(idName, initMode, viewNum, countTag, sp, state) {
252
253//--------------------------------------------------------
254// Configuration
255//--------------------------------------------------------
256
257//--------------------------------------------------------
258// メニュータイトル用設定データ
259//--------------------------------------------------------
260
261// リンク方式
262// 折りたたみマークにリンク付与:'unblock'
263// メニュータイトル枠全体にリンク付与 'block'
264var linkType = 'block';
265
266//-----------------------
267// 折りたたみスピード
268//-----------------------
269
270// 全てのメニューのスピード
271// 通常:'normal'
272// 遅い:'slow'
273var speed = 'normal';
274
275// サブカテゴリーのスピード(speed が slow の場合のみ有効)
276// 通常:'normal'
277// 遅い:'slow'
278var subcategorySpeed = 'normal';
279
280//-----------------------
281// 折りたたみマーク関連
282//-----------------------
283
284// 折りたたみマーク表示(メニュータイトル枠全体をリンクにする場合のみ有効)
285// 表示する:true
286// 表示しない:false
287var displayMark = false;
288
289// 折りたたみマーク
290// 上:閉じている状態で表示されるマーク
291// 下:開いている状態で表示されるマーク
292// 画像を設定する場合は右辺を '<img src="[画像のURL]" />'; と書いてください
293var openMarkForSideBarMenu  = '▽';
294var closeMarkForSideBarMenu = '△';
295
296// 折りたたみマーク位置(折りたたみマークを表示する場合のみ有効)
297// タイトル前に折りたたみマークを配置:true
298// タイトル後に折りたたみマークを配置:false
299// 左端または右端に折りたたみマークを配置:true
300var preMarkForSideBarMenu = true;
301
302// 折りたたみマーク画像(リンク方式が 'block' の場合のみ使われます)
303// 画像を使用する:true
304// 画像を使用しない:false
305// var image = false;
306
307//---------------
308// リスト数関連
309//---------------
310
311// リスト数表示位置
312// タイトル前にリスト数を表示:true
313// タイトル後にリスト数を表示:false
314var listNumberPosition = true;
315
316// リスト数表示を括るマーク
317var leftMarkForListNumber = '';
318var rightMarkForListNumber = '';
319
320// リンク数減算が必要なメニュー数
321// リンク数を減算する必要があるメニューはここに含めてください
322// 注:対象となるid属性名が「linkx(xは数字)」であること
323// 減算するメニューがない場合:0
324var linkNumber = 2;
325
326// 減算する各メニューのオフセット値
327// 注:対象となるid属性名が「linkx(xは数字)」であること
328var offsetValue = new Array(linkNumber);
329offsetValue[0] = 3;
330offsetValue[1] = 2;
331
332// トラックバック数の除数
333// 注1:対象となるid属性名が「trackback」であること
334// 注2:除算が不要な場合は'1'を設定すること
335var trackbackNumber = 2;
336
337// サブカテゴリーリスト数計数方法
338// liタグで計数:true
339// aタグで計数:false
340// 注:他のタグを指定する場合はfalseを設定してください
341var subCategoryCount = true;
342
343//-------------------
344// 表示位置補正関連
345//-------------------
346
347// タイトル表示位置補正フラグ(折りたたみマークを左端または右端に配置する場合)
348// 補正する:true
349// 補正しない:false
350var modificationFlag = true;
351
352// タイトル表示位置補正方向(折りたたみマークを左端または右端に配置する場合)
353// ・タイトルを右方向に補正:true
354// ・タイトルを左方向に補正:false
355var centeringPosition = false;
356
357// タイトル表示位置補正オフセット(折りたたみマークを左端または右端に配置した場合)
358var offsetForCentering = 0;
359
360// タイトルと折りたたみマークのスペース(上記以外で折りたたみマークを表示をする場合に有効)
361// 折りたたみマークを左端または右端に配置する場合'0'を設定
362var offsetForTitleAndMark = 0;
363
364// タイトルとリスト数のスペース(リスト数を表示するメニューに有効)
365var offsetForTitleAndLinkNumber = 1;
366
367//--------------------------------------------------------
368// サブカテゴリーリスト用設定データ
369//--------------------------------------------------------
370
371// サブカテゴリーフラグ
372// サブカテゴリーの折りたたみを有効にする(別途テンプレート設定が必要)
373// 有効にする:true
374// 無効にする:false
375var subCategory = true;
376
377// サブカテゴリー用折りたたみマーク
378// 上:閉じている状態で表示されるマーク
379// 下:開いている状態で表示されるマーク
380var openMarkForSubCategories  = '▼';
381var closeMarkForSubCategories = '▲';
382
383// サブカテゴリー用折りたたみマーク挿入位置
384// カテゴリー前に折りたたみマークを配置:true
385// カテゴリー後に折りたたみマークを配置:false
386var preMarkForSubCategory = false;
387
388// サブカテゴリーのタイトルとマークのスペース
389var offsetForTitleAndMarkOfSubcategory = 0;
390
391//--------------------------------------------------------
392// アーカイブリスト用設定データ
393//--------------------------------------------------------
394
395// アーカイブリストフラグ
396// サブカテゴリーの折りたたみを有効にする(別途テンプレート設定が必要)
397// 有効にする:true
398// 無効にする:false
399var archives = true;
400
401// アーカイブリスト用折りたたみマーク
402// 上:閉じている状態で表示されるマーク
403// 下:開いている状態で表示されるマーク
404var openMarkForArchives  = '▼';
405var closeMarkForArchives = '▲';
406
407// アーカイブリスト用折りたたみマーク挿入位置
408// カテゴリー前に折りたたみマークを配置:true
409// カテゴリー後に折りたたみマークを配置:false
410var preMarkForArchives = false;
411
412// アーカイブリストのタイトルとマークのスペース
413var offsetForTitleAndMarkOfArchives = 1;
414
415// アーカイブリスト用折りたたみマーク使用
416// 折りたたみマークを使用しない場合は年表示にリンクを設定
417// 使用する:true
418// 使用しない:false
419var displayArchivesMark = false;
420
421//--------------------------------------------------------
422// 状態保持用設定データ
423//--------------------------------------------------------
424
425// 状態保持フラグ
426// 有効にする:true
427// 無効にする:false
428var holdState = true;
429
430//--------------------------------------------------------
431
432    var openMark;  // The mark for opening, when having closed
433    var closeMark; // The mark for closing, when open
434
435    var idTitle = Array(idName,'name').join('');
436    var idList = Array(idName,'list').join('');
437    var objTitle = this.document.getElementById(idTitle);
438    var objLists = this.document.getElementById(idList);
439
440    if (!objTitle || !objLists) return;
441
442    // 折りたたみマーク
443    openMark = openMarkForSideBarMenu;
444    closeMark = closeMarkForSideBarMenu;
445    if (subCategory) {
446        if (idName.indexOf('subcategories') == 0) {
447            openMark = openMarkForSubCategories;
448            closeMark = closeMarkForSubCategories;
449        }
450    }
451    if (archives) {
452        if (idName.indexOf('archive') == 0) {
453            openMark = openMarkForArchives;
454            closeMark = closeMarkForArchives;
455        }
456    }
457
458    // 状態保持解除
459    if (!state) {
460        holdState = false;
461    }
462
463    var dispMode = objLists.style.display;
464    if (!dispMode) {
465
466        // Hold a fold-up state to cookie.
467        if (holdState) {
468            var cookie_initMode = readCookieByValue(idName);
469            if(cookie_initMode){
470                initMode = cookie_initMode;
471            }
472            createCookieByValue(idName, initMode, 365);
473        }
474
475        // 開始タグ
476        var buffer = new Array();
477        var tmpText;
478
479        // 折りたたみスピードによって起動関数を変更
480        if(sp != 'dummy'){
481            speed = sp;
482        }
483        if(speed == 'slow') {
484            tmpText = Array('FoldNavigationSlowly(',"'",idName,"','chng','');return(false);").join('');
485        } else {
486            tmpText = Array('FoldNavigation(',"'",idName,"','chng','');return(false);").join('');
487        }
488        var startTag = Array('<a class="foldmark" href="#" onclick="',tmpText,'" onkeypress="',tmpText,'">').join('');
489
490        // 終了タグ
491        var endTag = '</a>';
492
493        // 表示する折りたたみマーク
494        var foldMark = (initMode == 'off') ? openMark : closeMark;
495
496        // メニュータイトル
497        var menuTitle = objTitle.innerHTML;
498
499        // パディング
500        var padding = '';
501        for (k = 0; k < offsetForCentering; k++) {
502            padding += '&nbsp;';
503        }
504
505        // タイトルとリンク数のスペース
506        var tlspace = '';
507        for (l = 0; l < offsetForTitleAndLinkNumber; l++) {
508            tlspace += '&nbsp;';
509        }
510
511        // タイトルとマークのスペース
512        var tmspace = '';
513        for (l = 0; l < offsetForTitleAndMark; l++) {
514            tmspace += '&nbsp;';
515        }
516
517        // サブカテゴリー用タイトルとマークのスペース
518        var scspace = '';
519        for (l = 0; l < offsetForTitleAndMarkOfSubcategory; l++) {
520            scspace += '&nbsp;';
521        }
522
523        // アーカイブリスト用タイトルとマークのスペース
524        var alspace = '';
525        for (l = 0; l < offsetForTitleAndMarkOfArchives; l++) {
526            alspace += '&nbsp;';
527        }
528
529        // リスト数
530        var listCount;
531        if (viewNum) {
532            listCount = getListCount(objLists, viewNum, idName, linkNumber, trackbackNumber, rightMarkForListNumber, subCategoryCount, leftMarkForListNumber, 
532countTag, offsetValue);
533        }
534
535        // 折りたたみ表示つきタイトル生成
536
537        // サブカテゴリーリスト
538        if (subCategory && (idName.indexOf('subcategories') == 0)) {
539            if (preMarkForSubCategory) {
540                buffer[buffer.length] = startTag;
541                buffer[buffer.length] = foldMark;
542                buffer[buffer.length] = endTag;
543                if (scspace) {
544                    buffer[buffer.length] = scspace;
545                }
546                buffer[buffer.length] = menuTitle;
547            } else {
548                buffer[buffer.length] = menuTitle;
549                if (scspace) {
550                    buffer[buffer.length] = scspace;
551                }
552                buffer[buffer.length] = startTag;
553                buffer[buffer.length] = foldMark;
554                buffer[buffer.length] = endTag;
555            }
556
557        // アーカイブリスト
558        } else if (archives && (idName.indexOf('archive') == 0)) {
559            if (displayArchivesMark) {
560                if (preMarkForArchives) {
561                    buffer[buffer.length] = startTag;
562                    buffer[buffer.length] = foldMark;
563                    buffer[buffer.length] = endTag;
564                    if (alspace) {
565                        buffer[buffer.length] = alspace;
566                    }
567                    buffer[buffer.length] = menuTitle;
568                } else {
569                    buffer[buffer.length] = menuTitle;
570                    if (alspace) {
571                        buffer[buffer.length] = alspace;
572                    }
573                    buffer[buffer.length] = startTag;
574                    buffer[buffer.length] = foldMark;
575                    buffer[buffer.length] = endTag;
576                }
577            } else {
578                buffer[buffer.length] = startTag;
579                buffer[buffer.length] = menuTitle;
580                buffer[buffer.length] = endTag;
581            }
582
583        // メニュータイトル
584        } else {
585
586            // 生成パターン決定(buffer生成)
587            if (linkType == 'unblock') {
588
589                // マーク前
590                if (preMarkForSideBarMenu) {
591
592                    // 折りたたみマーク設定
593                    buffer[buffer.length] = startTag;
594                    buffer[buffer.length] = foldMark;
595                    buffer[buffer.length] = endTag;
596
597                    // 表示位置補正
598                    if(modificationFlag && centeringPosition) {
599                        buffer[buffer.length] = padding;
600                    }
601
602                    // タイトルとマークのスペース
603                    if(offsetForTitleAndMark) {
604                        buffer[buffer.length] = tmspace;
605                    }
606
607                    // タイトル設定
608                    setMenuTitle(viewNum, buffer, listCount, menuTitle, listNumberPosition, tlspace);
609
610                    // 表示位置補正
611                    if(modificationFlag && !centeringPosition) {
612                        buffer[buffer.length] = padding;
613                    }
614
615                // マーク後
616                } else {
617
618                    // 表示位置補正
619                    if(modificationFlag && centeringPosition) {
620                        buffer[buffer.length] = padding;
621                    }
622
623                    // タイトル設定
624                    setMenuTitle(viewNum, buffer, listCount, menuTitle, listNumberPosition, tlspace);
625
626                    // タイトルとマークのスペース
627                    if(offsetForTitleAndMark) {
628                        buffer[buffer.length] = tmspace;
629                    }
630
631                    // 折りたたみマーク設定
632                    buffer[buffer.length] = startTag;
633                    buffer[buffer.length] = foldMark;
634                    buffer[buffer.length] = endTag;
635
636                    // 表示位置補正
637                    if(modificationFlag && !centeringPosition) {
638                        buffer[buffer.length] = padding;
639                    }
640                }
641
642            // ブロック表示
643            } else {
644                buffer[buffer.length] = startTag;
645
646                // マーク表示
647                if (displayMark) {
648
649                    // マーク前
650                    if (preMarkForSideBarMenu) {
651                        buffer[buffer.length] = foldMark;
652
653                        // タイトルとマークのスペース
654                        if(offsetForTitleAndMark) {
655                            buffer[buffer.length] = tmspace;
656                        }
657
658                        setMenuTitleForBlock(viewNum, buffer, listCount, menuTitle, listNumberPosition, tlspace);
659
660                    // マーク後
661                    } else {
662                        setMenuTitleForBlock(viewNum, buffer, listCount, menuTitle, listNumberPosition, tlspace);
663
664                        // タイトルとマークのスペース
665                        if(offsetForTitleAndMark) {
666                            buffer[buffer.length] = tmspace;
667                        }
668                        buffer[buffer.length] = foldMark;
669                    }
670
671                // マーク非表示
672                } else {
673                    setMenuTitleForBlock(viewNum, buffer, listCount, menuTitle, listNumberPosition, tlspace);
674                }
675                buffer[buffer.length] = endTag;
676            }
677        }
678
679        // 生成データをオブジェクトに設定
680        objTitle.innerHTML = buffer.join('');
681
682        // スタイル設定
683        objLists.style.display = (initMode == 'off') ? 'none' : 'block';
684
685    } else if (initMode == 'chng') {
686
687        // 折りたたみマーク置換
688        var objMarks = objTitle.getElementsByTagName('a');
689        for (i = 0, len = objMarks.length; i < len; i++) {
690            if (objMarks[i].className == 'foldmark') {
691
692                if(linkType == 'block' && displayMark) {
693                    var title = objMarks[i].innerHTML;
694
695                    // 折りたたみマークの画像判定
696                    var image = openMarkForSideBarMenu.search(/^</) != -1 ? true : false;
697                    if (subCategory) {
698                        if (idName.indexOf('subcategories') == 0) {
699                            image = openMarkForSubCategories.search(/^</) != -1 ? true : false;
700                        }
701                    }
702                    if (archives) {
703                        if (idName.indexOf('archive') == 0) {
704                            image = openMarkForArchives.search(/^</) != -1 ? true : false;
705                        }
706                    }
707                    if(image){
708                        if(dispMode == 'none'){
709                            title = title.replace(/<.*>/, closeMark);
710                        } else {
711                            title = title.replace(/<.*>/, openMark);
712                        }
713                    } else {
714                        if(dispMode == 'none'){
715                           title = title.replace(openMark, closeMark);
716                        } else {
717                           title = title.replace(closeMark, openMark);
718                        }
719                    }
720                    objMarks[i].innerHTML = title;
721                } else if((linkType == 'unblock') || (subCategory && (idName.indexOf('subcategories') == 0)) || (archives && displayArchivesMark && (idName.indexOf('archive') == 0))) {
722                    objMarks[i].innerHTML = (dispMode == 'none') ? closeMark : openMark;
723                }
724            }
725        }
726
727        // 折りたたみスピード
728        if(sp != 'dummy'){
729            speed = sp;
730        }
731        if(speed == 'slow' || (idName.indexOf('subcategories') == 0 && subcategorySpeed == 'slow')) {
732            if(dispMode == 'none') {
733                element = $(idList);
734                options = {
735                    afterFinish: function(effect) {
736                        Element.undoClipping(effect.element);
737                        Element.show(effect.element); // prototype.js 修正要
738//                        element.style.display = 'block';
739                    }
740                };
741                Effect.BlindDown(element, options);
742            } else {
743                element = $(idList);
744                options = {
745                    afterFinish: function(effect) {
746                        Element.hide(effect.element);
747                    }
748                };
749                Effect.BlindUp(element, options);
750            }
751        } else {
752
753            // スタイル設定
754            objLists.style.display = (dispMode == 'none') ? 'block' : 'none';
755        }
756
757        // Hold a fold-up state to cookie, when a change occurs.
758        if (holdState) {
759            if (dispMode == 'none') {
760                createCookieByValue(idName, 'on', 365);
761            } else {
762                createCookieByValue(idName, 'off', 365);
763            }
764        }
765    }
766}
767
768// 折りたたみ実行
769function FoldNavigation(idName, initMode, viewNum) {
770    FoldNavigationByTagName(idName, initMode, viewNum, 'dummy', 'dummy', true);
771}
772
773function FoldNavigationSlowly(idName, initMode, viewNum) {
774    FoldNavigationByTagName(idName, initMode, viewNum, 'dummy', 'slow', true);
775}
776
777function FoldNavigationStateless(idName, initMode, viewNum) {
778    FoldNavigationByTagName(idName, initMode, viewNum, 'dummy', 'dummy', false);
779}
780
781}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.