1 // historymanager.js
  2 // (2007/08/07)
  3 
  4 /** @fileOverview
  5  * スキン側でも履歴を管理してみようの巻。
  6  * コンテキストメニューもどきと連携させてみる
  7  */
  8 
  9 /** 板の ID と名称の対応テーブル
 10  * @type Object
 11  * @example
 12  * dump(boardTable["liveetv"]); //  "番組ch(NHK教育)"
 13  */
 14 var boardTable = {
 15 "namazuplus":"地震速報",
 16 "eq":"臨時地震",
 17 "eqplus":"臨時地震+",
 18 "manifesto":"政治家語録",
 19 "bizplus":"ビジネスnews+",
 20 "mnewsplus":"芸スポ速報+",
 21 "femnewsplus":"美人ニュース+",
 22 "be":"面白ネタnews",
 23 "nandemo":"なんでも質問",
 24 "argue":"朝生",
 25 "newsplus":"ニュース速報+",
 26 "wildplus":"ニュース二軍+",
 27 "moeplus":"萌えニュース+",
 28 "dqnplus":"痛いニュース+",
 29 "scienceplus":"科学ニュース+",
 30 "owabiplus":"お詫び+",
 31 "liveplus":"ニュース実況+",
 32 "news":"ニュース速報",
 33 "trafficinfo":"交通情報",
 34 "musicnews":"芸能音楽速報",
 35 "comicnews":"アニメ漫画速報",
 36 "gamenews":"ゲーム速報",
 37 "pcnews":"PCニュース",
 38 "news7":"私のニュース",
 39 "archives":"懐かしニュース",
 40 "news2":"ニュース議論",
 41 "asia":"ニュース極東",
 42 "bakanews":"バカニュース",
 43 "editorial":"社説",
 44 "kokusai":"国際情勢",
 45 "news4plus":"東アジアnews+",
 46 "news5":"イスラム情勢",
 47 "iraq":"イラク情勢",
 48 "news5plus":"ニュース国際+",
 49 "entrance":"ラウンジ",
 50 "entrance2":"ラウンジclassic",
 51 "qa":"初心者の質問",
 52 "pcqa":"PC初心者",
 53 "goods":"グッズリスト",
 54 "gline":"ガイドライン",
 55 "event":"イベント企画",
 56 "2chse":"2ch証券取引所",
 57 "dataroom":"資料室",
 58 "vote":"投票所",
 59 "operate":"運用情報",
 60 "operatex":"運用情報(超臨時)",
 61 "sec2ch":"規制情報",
 62 "sec2chd":"規制議論",
 63 "saku2ch":"削除要請",
 64 "saku":"削除整理",
 65 "sakud":"削除議論",
 66 "sakukb":"削除知恵袋",
 67 "intro":"自己紹介",
 68 "honobono":"ほのぼの",
 69 "yume":"夢・独り言",
 70 "offmatrix":"大規模OFF",
 71 "offreg":"定期OFF",
 72 "offevent":"突発OFF",
 73 "aasaloon":"AAサロン",
 74 "mona":"モナー",
 75 "nida":"ニダー",
 76 "aastory":"AA長編",
 77 "kao":"顔文字",
 78 "mass":"マスコミ",
 79 "youth":"少年犯罪",
 80 "disaster":"自然災害",
 81 "gender":"男性論女性論",
 82 "giin":"議員・選挙",
 83 "police":"警察",
 84 "court":"裁判・司法",
 85 "soc":"社会・世評",
 86 "atom":"環境・電力",
 87 "river":"河川・ダム等",
 88 "traf":"運輸・交通",
 89 "recruit":"就職",
 90 "job":"転職",
 91 "volunteer":"ボランティア",
 92 "welfare":"介護・福祉",
 93 "mayor":"地方自治知事",
 94 "jsdf":"自衛隊",
 95 "nenga":"郵便・郵政",
 96 "lifework":"生涯学習",
 97 "regulate":"通信行政",
 98 "venture":"起業・ベンチャー",
 99 "manage":"経営学",
100 "management":"店舗運営",
101 "estate":"賃貸分譲不動産",
102 "koumu":"公務員",
103 "shikaku":"法律勉強相談",
104 "lic":"資格全般",
105 "haken":"派遣業界",
106 "hoken":"保険業界",
107 "tax":"税金経理会計",
108 "exam":"会計全般試験",
109 "hosp":"病院・医者",
110 "bio":"医療業界",
111 "hikari":"光通信",
112 "dtp":"DTP・印刷",
113 "part":"アルバイト",
114 "koukoku":"広告業界",
115 "agri":"農林水産業",
116 "build":"建設・住宅業界",
117 "peko":"食品業界・問題",
118 "company":"ちくり裏事情",
119 "bouhan":"防犯・詐欺対策",
120 "antispam":"架空請求・スパム対策",
121 "ihou":"薬・違法",
122 "ihan":"違反の潰し方",
123 "expo":"万博・地方博",
124 "subcal":"サブカル",
125 "bun":"創作文芸",
126 "poem":"詩・ポエム",
127 "movie":"映画一般・8mm",
128 "cinema":"映画作品・映画人",
129 "rmovie":"懐かし邦画",
130 "kinema":"懐かし洋画",
131 "occult":"オカルト",
132 "sfx":"特撮!",
133 "rsfx":"昭和特撮",
134 "drama":"演劇・舞台役者",
135 "siki":"宝塚・四季",
136 "fortune":"占い",
137 "uranai":"占術理論実践",
138 "kyoto":"神社仏閣",
139 "gallery":"美術鑑賞",
140 "rakugo":"伝統芸能",
141 "ruins":"世界遺産",
142 "rikei":"理系全般",
143 "sci":"物理",
144 "life":"生物",
145 "bake":"化学",
146 "kikai":"機械・工学",
147 "denki":"電気・電子",
148 "robot":"ロボットテクノロジー",
149 "infosys":"情報システム",
150 "informatics":"情報学",
151 "sim":"シミュレーション",
152 "nougaku":"農学",
153 "sky":"天文・気象",
154 "doctor":"医歯薬看護",
155 "kampo":"東洋医学",
156 "math":"数学",
157 "doboku":"土木・建築",
158 "material":"材料物性",
159 "space":"航空・船舶",
160 "future":"未来技術",
161 "wild":"昆虫・野生動物",
162 "earth":"地球科学",
163 "psycho":"心理学",
164 "gengo":"言語学",
165 "pedagogy":"教育学",
166 "sociology":"社会学",
167 "economics":"経済学",
168 "book":"文学",
169 "poetics":"詩文学",
170 "history":"日本史",
171 "history2":"日本近代史",
172 "whis":"世界史",
173 "archeology":"考古学",
174 "min":"民俗・神話学",
175 "kobun":"古文・漢文・漢字",
176 "english":"English",
177 "korea":"ハングル",
178 "china":"中国",
179 "taiwan":"台湾",
180 "geo":"地理・人類学",
181 "chiri":"地理お国自慢",
182 "gogaku":"外国語",
183 "art":"芸術デザイン",
184 "philo":"哲学",
185 "jurisp":"法学",
186 "shihou":"司法試験",
187 "kaden":"家電製品",
188 "wm":"ポータブルオーディオ",
189 "vcamera":"ビデオカメラ",
190 "bakery":"調理家電",
191 "toilet":"シャワートイレ・トイレ",
192 "sony":"ソニー",
193 "phs":"携帯・PHS",
194 "keitai":"携帯機種",
195 "chakumelo":"携帯コンテンツ",
196 "appli":"携帯電話ゲーム",
197 "dgoods":"デジタルモノ",
198 "camera":"カメラ",
199 "dcamera":"デジカメ",
200 "av":"AV機器",
201 "pav":"ピュアオーディオ",
202 "seiji":"政治",
203 "diplomacy":"外交政策",
204 "trafficpolicy":"交通政策",
205 "eco":"経済",
206 "stock":"株式",
207 "stockb":"株個別銘柄",
208 "market":"投資一般",
209 "livemarket1":"市況1",
210 "livemarket2":"市況2",
211 "deal":"先物",
212 "koumei":"創価・公明",
213 "kyousan":"共産党",
214 "sisou":"政治思想",
215 "kova":"ゴーマニズム宣言",
216 "money":"金融",
217 "food":"食べ物",
218 "candy":"お菓子・甘味",
219 "juice":"ソフトドリンク",
220 "pot":"お茶・珈琲",
221 "cook":"料理",
222 "salt":"調味料",
223 "ramen":"ラーメン",
224 "nissin":"インスタント麺",
225 "jnoodle":"そば・うどん",
226 "sushi":"おすし",
227 "don":"丼(重禁止)",
228 "curry":"カレー",
229 "bread":"パン",
230 "pasta":"パスタ・ピザ",
231 "kbbq":"焼肉",
232 "konamono":"たこ焼き等",
233 "toba":"珍味",
234 "gurume":"グルメ外食",
235 "famires":"ファミレス",
236 "jfoods":"B級グルメ",
237 "bento":"弁当・駅弁",
238 "sake":"お酒・Bar",
239 "wine":"ワイン",
240 "drunk":"居酒屋",
241 "recipe":"レシピ",
242 "patissier":"製菓・製パン",
243 "supplement":"健康食品・サプリメント",
244 "lifesaloon":"生活サロン",
245 "kankon":"生活全般",
246 "okiraku":"その日暮らし",
247 "homealone":"一人暮らし",
248 "countrylife":"田舎暮らし",
249 "debt":"借金生活",
250 "inpatient":"入院生活",
251 "sportsclub":"スポーツクラブ",
252 "bath":"お風呂・銭湯",
253 "anniversary":"記念日",
254 "sousai":"冠婚葬祭",
255 "baby":"育児",
256 "kagu":"家具・インテリア",
257 "diy":"DIY",
258 "shop":"通販・買い物",
259 "trend":"流行",
260 "ticketplus":"Walker+",
261 "model":"モデル",
262 "fashion":"ファッション",
263 "shoes":"靴",
264 "female":"化粧",
265 "diet":"美容",
266 "seikei":"美容整形",
267 "shapeup":"ダイエット",
268 "world":"一般海外生活",
269 "northa":"北米海外生活",
270 "credit":"クレジット",
271 "point":"ポイント・マイル",
272 "cafe30":"30代",
273 "cafe40":"40代",
274 "cafe50":"50代以上",
275 "live":"家庭",
276 "souji":"掃除全般",
277 "goki":"ゴキ(生物被害対策本部)",
278 "kechi2":"ドケチ",
279 "chance":"懸賞・プレゼント",
280 "cigaret":"たばこ",
281 "megane":"めがね・コンタクト",
282 "yuusen":"電話会社",
283 "conv":"コンビニ",
284 "sale":"バーゲンセール",
285 "stationery":"文房具",
286 "class":"習い事",
287 "shar":"新シャア専用",
288 "x3":"旧シャア専用",
289 "denpa":"電波・お花畑",
290 "owarai":"お笑い小咄",
291 "2chbook":"同人ノウハウ",
292 "uwasa":"噂話",
293 "charaneta":"キャラネタ",
294 "charaneta2":"なりきりネタ",
295 "mascot":"マスコットキャラクター",
296 "lovesaloon":"恋愛サロン",
297 "ex":"カップル",
298 "x1":"×1",
299 "gaysaloon":"同性愛サロン",
300 "nohodame":"のほほんダメ",
301 "dame":"無職・だめ",
302 "loser":"負け組",
303 "hikky":"引きこもり",
304 "mental":"メンヘルサロン",
305 "single":"独身貴族",
306 "wom":"女性",
307 "sfe":"独身女性限定",
308 "wmotenai":"もてない女",
309 "ms":"既婚女性",
310 "male":"独身男性",
311 "motetai":"もてたい男",
312 "motenai":"モテない男性",
313 "alone":"孤独な男性",
314 "tomorrow":"既婚男性",
315 "employee":"リーマン",
316 "campus":"大学生活",
317 "student":"大学学部・研究",
318 "otaku":"おたく",
319 "nendai":"年代別",
320 "sepia":"セピア",
321 "gag":"駄洒落",
322 "575":"しりとり",
323 "tanka":"五七五・短歌",
324 "4649":"アウトロー",
325 "livesaturn":"なんでも実況S",
326 "livevenus":"なんでも実況VIP",
327 "livejupiter":"なんでも実況J",
328 "liveuranus":"なんでも実況U",
329 "endless":"実況ch",
330 "weekly":"番組ch",
331 "livewkwest":"番組ch(西日本)",
332 "livenhk":"番組ch(NHK)",
333 "liveetv":"番組ch(NHK教育)",
334 "liventv":"番組ch(NTV)",
335 "livetbs":"番組ch(TBS)",
336 "livecx":"番組ch(フジ)",
337 "liveanb":"番組ch(テレビ朝日)",
338 "livetx":"番組ch(TV東京)",
339 "livebs":"BS実況ch(NHK)",
340 "livewowow":"BS実況ch(民放)",
341 "liveskyp":"スカパー実況",
342 "liveradio":"ラジオ実況",
343 "dome":"スポーツch",
344 "livebase":"野球ch",
345 "livefoot":"サッカーch",
346 "oonna":"オリンピック実況(女)",
347 "ootoko":"五輪実況(男)",
348 "dancesite":"芸能ch",
349 "festival":"お祭り会場",
350 "edu":"教育・先生",
351 "jsaloon":"大学受験サロン",
352 "kouri":"大学受験",
353 "juku":"学習塾・予備校",
354 "ojyuken":"お受験",
355 "senmon":"専門学校",
356 "design":"美術・デザイン学校",
357 "musicology":"音楽系学校",
358 "govexam":"公務員試験",
359 "hobby":"趣味一般",
360 "magic":"手品・曲芸",
361 "card":"トランプ",
362 "puzzle":"パズル",
363 "craft":"手芸・ハンドクラフト",
364 "toy":"おもちゃ",
365 "zoid":"ゾイド",
366 "smoking":"煙草銘柄・器具",
367 "knife":"刃物",
368 "doll":"お人形",
369 "engei":"園芸",
370 "dog":"犬猫大好き",
371 "pet":"ペット大好き",
372 "aquarium":"アクアリウム",
373 "goldenfish":"日本の淡水魚",
374 "insect":"昆虫",
375 "cat":"生き物苦手",
376 "bike":"バイク",
377 "car":"自動車",
378 "kcar":"軽自動車",
379 "auto":"車種・車メーカー",
380 "usedcar":"中古車",
381 "truck":"大型車・特殊車両",
382 "army":"軍事",
383 "radio":"無線",
384 "train":"鉄道総合",
385 "rail":"鉄道路線・車両",
386 "ice":"鉄道(海外)",
387 "gage":"鉄道模型",
388 "bus":"バス・バス路線",
389 "airline":"エアライン",
390 "mokei":"模型・プラモ",
391 "radiocontrol":"RC(ラジコン)",
392 "gun":"サバイバルゲーム",
393 "fireworks":"花火",
394 "warhis":"三国志・戦国",
395 "chinahero":"中国英雄",
396 "sengoku":"戦国時代",
397 "nanminhis":"歴史難民",
398 "dance":"ダンス",
399 "bird":"野鳥観察",
400 "collect":"コレクション",
401 "photo":"写真撮影",
402 "sposaloon":"スポーツサロン",
403 "sports":"スポーツ",
404 "rsports":"なつかしスポーツ",
405 "stadium":"競技場・スポーツ施設",
406 "athletics":"陸上競技",
407 "gymnastics":"体操・新体操",
408 "muscle":"ウエイトトレーニング",
409 "noroma":"運動音痴",
410 "wsports":"冬スポーツ",
411 "ski":"スキー・スノボ",
412 "skate":"スケート",
413 "swim":"水泳(競泳・演技)",
414 "msports":"マリンスポーツ",
415 "boat":"船スポーツ",
416 "birdman":"空スポーツ",
417 "fish":"釣り",
418 "bass":"バス釣り",
419 "bicycle":"自転車",
420 "equestrian":"乗馬・馬術",
421 "f1":"F1・モータースポーツ",
422 "olympic":"オリンピック",
423 "bullseye":"的スポーツ",
424 "parksports":"公園スポーツ",
425 "amespo":"アメスポ",
426 "cheerleading":"チアリーディング",
427 "xsports":"X-Sports",
428 "base":"プロ野球",
429 "npb":"球界改革議論",
430 "meikyu":"野球殿堂",
431 "mlb":"野球総合",
432 "hsb":"高校野球",
433 "kyozin":"アンチ球団",
434 "soccer":"国内サッカー",
435 "eleven":"日本代表サッカー",
436 "wc":"ワールドカップ",
437 "football":"海外サッカー",
438 "basket":"バスケット",
439 "tennis":"テニス",
440 "volley":"バレーボール",
441 "ovalball":"ラグビー",
442 "pingpong":"卓球",
443 "gutter":"ボウリング",
444 "golf":"ゴルフ",
445 "billiards":"ビリヤード",
446 "k1":"格闘技",
447 "wres":"プロレス",
448 "budou":"武道・武芸",
449 "boxing":"ボクシング",
450 "sumou":"相撲",
451 "jyudo":"伝統武術",
452 "oversea":"海外旅行",
453 "21oversea":"危ない海外",
454 "travel":"国内旅行",
455 "hotel":"ホテル・旅館",
456 "localfoods":"みやげ物・特産物",
457 "tropical":"トロピカル",
458 "onsen":"温泉",
459 "park":"遊園地",
460 "zoo":"動物園・水族館・植物園等",
461 "museum":"博物館・美術館・記念館等",
462 "out":"登山キャンプ",
463 "tvsaloon":"テレビサロン",
464 "kouhaku":"年末年始番組",
465 "tv":"テレビ番組",
466 "natsutv":"懐かしテレビ",
467 "tvd":"テレビドラマ",
468 "nhkdrama":"大河ドラマ",
469 "natsudora":"懐かしドラマ",
470 "kin":"時代劇",
471 "am":"ラジオ番組",
472 "rradio":"懐かしラジオ",
473 "tv2":"海外テレビ",
474 "cs":"ケーブルTV",
475 "skyp":"スカパー",
476 "bs":"BS・地上波デジタル",
477 "nhk":"NHK",
478 "cm":"広告・CM",
479 "geino":"芸能",
480 "celebrity":"海外芸能人",
481 "kyon2":"懐かしアイドル/芸能人",
482 "actor":"男性俳優",
483 "actress":"女優",
484 "geinoj":"ジュニアアイドル・子役",
485 "geinin":"お笑い芸人",
486 "ana":"アナウンサー",
487 "ami":"あみ&あゆ",
488 "apple":"椎名林檎",
489 "ainotane":"モ娘(羊)",
490 "zurui":"モ娘(鳩)",
491 "mendol":"男性アイドル",
492 "idol":"女性アイドル",
493 "jan":"ジャニーズ",
494 "smap":"スマップ",
495 "jr":"ジャニーズ2",
496 "jr2":"ジャニーズJr",
497 "mj":"麻雀・他",
498 "pachi":"パチンコサロン",
499 "pachij":"パチンコ店情報",
500 "pachik":"パチンコ機種・メーカー",
501 "slot":"スロットサロン",
502 "slotj":"スロット店情報",
503 "slotk":"スロット機種",
504 "keiba":"競馬",
505 "uma":"競馬2",
506 "keirin":"競輪",
507 "kyotei":"競艇",
508 "autorace":"オートレース",
509 "gamble":"ギャンブル",
510 "loto":"宝くじ",
511 "gsaloon":"ゲームサロン",
512 "gameover":"家庭用ゲーム攻略",
513 "goveract":"家ゲーアクション攻略",
514 "goverrpg":"家ゲーRPG攻略",
515 "gamerpg":"家ゲーRPG",
516 "ff":"FF・ドラクエ",
517 "gamesrpg":"家ゲーSRPG",
518 "gamerobo":"ロボットゲー",
519 "gal":"ギャルゲー",
520 "gboy":"女向ゲーム大人",
521 "ggirl":"女向ゲーム一般",
522 "gamespo":"スポーツゲーム・レースゲーム",
523 "gamehis":"歴史ゲーム",
524 "otoge":"音ゲー",
525 "gamefight":"格闘ゲーム",
526 "gamestg":"シューティング",
527 "gamef":"PCアクション",
528 "fly":"フライトシム",
529 "famicom":"家庭用ゲーム",
530 "retro":"レトロゲーム",
531 "retro2":"家庭用レトロゲーム",
532 "game90":"90年代家ゲー",
533 "arc":"アーケード",
534 "amusement":"メダル・プライズ・エレメカ・アミューズメント",
535 "gecen":"ゲーセン",
536 "game":"PCゲーム",
537 "gameama":"同人ゲーム",
538 "gameswf":"ブラウザゲーム",
539 "cgame":"卓上ゲーム",
540 "tcg":"TCG",
541 "bgame":"将棋・チェス",
542 "gamestones":"囲碁・オセロ",
543 "quiz":"クイズ雑学",
544 "ghard":"ハード・業界",
545 "gameurawaza":"裏技・改造",
546 "gamechara":"ゲームキャラ",
547 "gamemusic":"ゲーム音楽",
548 "handygame":"携帯ゲームソフト",
549 "handygover":"携帯ゲーム攻略",
550 "handygrpg":"携帯ゲームRPG",
551 "poke":"ポケモン",
552 "wifi":"Wi-Fiコネクション",
553 "rhandyg":"携帯ゲームレトロ",
554 "pokechara":"携帯ゲームキャラクター",
555 "mmonews":"ネトゲ速報",
556 "mmoqa":"ネトゲ質問",
557 "ogame":"ネトゲ実況",
558 "ogame2":"ネトゲ実況2",
559 "ogame3":"ネトゲ実況3",
560 "mmosaloon":"ネトゲサロン",
561 "netgame":"ネットゲーム",
562 "mmo":"大規模MMO",
563 "mmominor":"小規模MMO",
564 "asaloon":"アニメサロン",
565 "anime4vip":"アニメサロンex",
566 "anime":"アニメ",
567 "anime2":"アニメ2",
568 "anime3":"アニメ新作情報",
569 "ranime":"懐かしアニメ昭和",
570 "ranimeh":"懐かしアニメ平成",
571 "animovie":"アニメ映画",
572 "anichara":"アニキャラ総合",
573 "anichara2":"アニキャラ個別",
574 "cosp":"コスプレ",
575 "voice":"声優総合",
576 "voiceactor":"声優個人",
577 "doujin":"同人",
578 "comiket":"同人イベント",
579 "csaloon":"漫画サロン",
580 "comic":"漫画",
581 "rcomic":"懐かし漫画",
582 "ymag":"少年漫画",
583 "wcomic":"週刊少年漫画",
584 "gcomic":"少女漫画",
585 "4koma":"4コマ漫画",
586 "cchara":"漫画キャラ",
587 "sakura":"CCさくら",
588 "eva":"エヴァンゲリオン",
589 "cartoon":"海外アニメ漫画",
590 "iga":"アニメ・漫画業界",
591 "bookall":"文芸・書籍サロン",
592 "magazin":"ライトノベル",
593 "mystery":"ミステリー",
594 "sf":"SF・Fantasy・ホラー",
595 "zassi":"雑誌",
596 "books":"一般書籍",
597 "ehon":"絵本",
598 "juvenile":"児童書",
599 "illustrator":"イラストレーター",
600 "msaloon":"音楽サロン",
601 "mjsaloon":"邦楽サロン",
602 "musicj":"邦楽",
603 "musicjm":"邦楽男性ソロ",
604 "musicjf":"邦楽女性ソロ",
605 "musicjg":"邦楽グループ",
606 "natsumeloj":"懐メロ邦楽",
607 "enka":"演歌",
608 "mesaloon":"洋楽サロン",
609 "musice":"洋楽",
610 "natsumeloe":"懐メロ洋楽",
611 "music":"音楽一般",
612 "beatles":"ビートルズ",
613 "visual":"ヴィジュアルサロン",
614 "visualb":"ヴィジュアルバンド",
615 "dj":"DJ・クラブ",
616 "disco":"ディスコ",
617 "randb":"R&B・SOUL",
618 "punk":"パンク",
619 "hrhm":"HR・HM",
620 "hiphop":"HIPHOP",
621 "techno":"TECHNO",
622 "progre":"プログレ",
623 "healmusic":"ヒーリング音楽",
624 "wmusic":"ワールド音楽",
625 "classic":"ジャズ",
626 "fusion":"フュージョン",
627 "classical":"クラシック",
628 "contemporary":"現代音楽",
629 "nika":"エレクトロニカ、ポストロック、音響系",
630 "suisou":"吹奏楽",
631 "chorus":"合唱",
632 "doyo":"童謡・唱歌",
633 "asong":"アニソン等",
634 "soundtrack":"サントラ",
635 "karaok":"カラオケ",
636 "legend":"伝説の",
637 "minor":"インディーズ",
638 "band":"バンド",
639 "compose":"楽器・作曲",
640 "piano":"鍵盤楽器",
641 "healing":"癒し",
642 "jinsei":"人生相談",
643 "psy":"心と宗教",
644 "body":"身体・健康",
645 "handicap":"ハンディキャップ",
646 "infection":"新型感染症",
647 "hiv":"HIVサロン",
648 "atopi":"アトピー",
649 "allergy":"花粉症・アレルギー",
650 "hage":"ハゲ・ズラ",
651 "pure":"純情恋愛",
652 "furin":"不倫・浮気",
653 "gay":"同性愛",
654 "utu":"メンタルヘルス",
655 "break":"失恋",
656 "pc2nanmin":"PCサロン",
657 "win":"Windows",
658 "jobs":"旧・mac",
659 "mac":"新・mac",
660 "os":"OS",
661 "desktop":"デスクトップ",
662 "pc":"パソコン一般",
663 "notepc":"ノートPC",
664 "jisaku":"自作PC",
665 "printer":"プリンタ,スキャナー",
666 "hard":"ハードウェア",
667 "cdr":"CD-R,DVD",
668 "software":"ソフトウェア",
669 "mobile":"モバイル",
670 "bsoft":"ビジネスsoft",
671 "unix":"UNIX",
672 "db":"データベース",
673 "linux":"Linux",
674 "prog":"プログラマー",
675 "tech":"プログラム技術",
676 "cg":"CG",
677 "dtm":"DTM",
678 "avi":"映像制作",
679 "swf":"FLASH・動画",
680 "gamedev":"ゲーム製作技術",
681 "i4004":"昔のPC",
682 "internet":"インターネット",
683 "download":"ダウンロードソフト",
684 "hp":"Web制作管理",
685 "affiliate":"Web収入",
686 "hosting":"レンタルサーバ",
687 "mysv":"自宅サーバ",
688 "php":"Webプログラミング",
689 "hack":"ネットワーク",
690 "sec":"セキュリティ",
691 "network":"通信技術",
692 "friend":"ポストペット・IRC",
693 "isp":"プロバイダー",
694 "netspot":"ネットカフェ・漫画喫茶・無線LANスポット",
695 "nifty":"Nifty",
696 "mmag":"メルマガ",
697 "nanmin":"難民",
698 "ad":"宣伝掲示板",
699 "esite":"ネットサービス",
700 "streaming":"YouTube",
701 "mdis":"音楽配信",
702 "blog":"ブログ",
703 "sns":"ソーシャルネットワーク",
704 "net":"ネットウォッチ",
705 "yahoo":"オークション",
706 "nntp":"nntp",
707 "bobby":"おいらロビー",
708 "lobby":"ロビー",
709 "maru":"●",
710 "mog2":"なんでもあり",
711 "mukashi":"昔",
712 "kitchen":"厨房!",
713 "tubo":"最悪",
714 "joke":"学歴",
715 "shugi":"主義・主張",
716 "rights":"人権問題",
717 "accuse":"批判要望",
718 "morningcoffee":"モ娘(狼)",
719 "ranking":"格付け",
720 "siberia":"シベリア超速報",
721 "news4vip":"ニュース速報(VIP)",
722 "heaven4vip":"天国",
723 "neet4vip":"ニー速",
724 "hnews":"ピンクニュース",
725 "pinkqa":"pink初心者",
726 "sureh":"大人のスレH・エロ会話板",
727 "erolive":"大人の実況",
728 "hneta":"えっちねた",
729 "pinkcafe":"PINKのおいらロビー",
730 "eromog2":"PINKのなんでもあり",
731 "ogefin":"お下品",
732 "pinknanmin":"ぴんく難民",
733 "erobbs":"pink秘密基地",
734 "housekeeping":"PINK削除依頼",
735 "21oversea2":"大人の危ない海外",
736 "hgame":"エロゲー",
737 "hgame2":"エロゲー(作品別)",
738 "erog":"エロゲネタ",
739 "leaf":"Leaf・key",
740 "adultsite":"アダルトサイト",
741 "webmaster":"ウェブマスター",
742 "avideo":"AV総合",
743 "avideo2":"AV女優",
744 "nude":"ヌード・エロ本",
745 "eroanime":"エロアニメ等",
746 "erocomic":"エロ漫画小説",
747 "erodoujin":"エロ同人",
748 "natuero":"懐かしエロ",
749 "kgirls":"韓国美人",
750 "erocosp":"エロコスプレ",
751 "eroacademy":"PINKな学問",
752 "mcheck":"大人の健康相談",
753 "couple":"夫婦生活",
754 "kageki":"過激な恋愛",
755 "kageki2":"大人の過激な恋愛",
756 "onatech":"オナテク",
757 "loveho":"ラブホテル・モーテル",
758 "adultgoods":"アダルトグッズ",
759 "adultaccessory":"大人の飾り",
760 "sm":"SM",
761 "feti":"フェチ",
762 "mature":"熟女",
763 "okama":"おかま・おなべ",
764 "gaypink":"大人の同性愛",
765 "lesbian":"レズ・百合萌え",
766 "eroaa":"エロAA",
767 "erochara":"キャラサロン",
768 "erochara2":"オリキャラなりきり",
769 "801":"801",
770 "erocg":"お絵描き・創作",
771 "eroparo":"エロパロ",
772 "ascii":"半角文字列",
773 "ascii2d":"半角二次元",
774 "ascii2kana":"半角かな",
775 "girls":"アイドル画像",
776 "sportgirls":"スポーツ画像",
777 "club":"風俗全般",
778 "pub":"お水・出会い系",
779 "host":"ホストクラブ",
780 "nuki":"へるす",
781 "soap":"ソープ",
782 "neet4pink":"ニー速(pink)",
783 "cherryboy":"童貞",
784 "megami":"女神",
785 "tawara":"会議室",
786 "hokkaidou":"北海道",
787 "touhoku":"東北",
788 "kousinetu":"北陸・甲信越",
789 "kanto":"関東",
790 "tokyo":"東京",
791 "tama":"多摩",
792 "kana":"神奈川",
793 "toukai":"東海",
794 "kinki":"近畿",
795 "osaka":"大阪",
796 "cyugoku":"中国",
797 "sikoku":"四国",
798 "kyusyu":"九州",
799 "okinawa":"沖縄"
800 }
801 
802 /** スキン側で独自に履歴を管理します。
803  * @static
804  */
805 var HistoryManager = {
806 	/** 履歴のデータ
807 	 * @type Array
808 	 * @example
809 	 * [
810 	 *     ["http://pc11.2ch.net/test/read.cgi/software/1188656807/", "bbs2chreader Part12"],
811 	 *     ["http://pc11.2ch.net/test/read.cgi/tech/1164625238/", "Mozillaでプログラミング(XUL) その3"],
812 	 *     ["http://ex21.2ch.net/test/read.cgi/f1/1181576414/", "アレックス・ヴルツ"]
813 	 * ]
814 	 */
815 	items: [],
816 	/** 履歴の最大保存件数
817 	 * @type Number
818 	 */
819 	maxCount: 0,
820 	/** 履歴のデータを読み込み、現在開いているスレッドのデータを追加して保存します。*/
821 	initialise: function() {
822 		this.load();
823 		this.maxCount = SkinPref.getInt("valueHistoryItemCounts", 32);
824 		this.add(EXACT_URL, ThreadDocument.title);
825 		this.save();
826 	},
827 	/** globalStorage から履歴のデータを読み込み eval() で評価します。結果は自動的に items プロパティに格納されます。*/
828 	load: function() {
829 		this.items = eval(SkinPref.getStr("valueHistoryManager","([])"));
830 	},
831 	/** eval() で評価するのに都合の悪い文字をエスケープします。
832 	 * @param  {String} e 文字列
833 	 * @return {String} エスケープされた文字列
834 	 */
835 	escape: function(e) {
836 		return e.replace(/([\\"'])/g,"\\$1")
837 	},
838 	/** globalStorage に履歴のデータを eval() で評価できる形で保存します。*/
839 	save: function() {
840 		var arrayTemp=[];
841 		for (var i = 0; i < this.items.length; i++) {
842 			
843 			arrayTemp.push('["' + this.escape(this.items[i][0]) + '","' + this.escape(this.items[i][1]) + '"]');
844 		}
845 		SkinPref.setStr("valueHistoryManager", "([" + arrayTemp.join(",") + "])")
846 	},
847 	/** 履歴を追加します。保存件数を超えたものは古いものから削除されます。
848 	 * @param {String} url   URI
849 	 * @param {String} title スレッドタイトル
850 	 */
851 	add: function(url, title) {
852 		for (var i = 0; i < this.items.length; i++) {
853 			if (this.items[i][0] == url) {
854 				this.items.push(this.items[i]);
855 				this.items.splice(i,1);
856 				return;
857 			}
858 		}
859 		if (this.items.length >= this.maxCount) this.items.shift();
860 		this.items.push([url, title]);
861 	},
862 	/** globalStorage から履歴のデータを削除します。*/
863 	clear: function() {
864 		SkinPref.remove("valueHistoryManager");
865 	},
866 	/** 履歴のデータから、指定されたインデックスの URI を取得します。
867 	 * @param  {Number} index インデックス
868 	 * @return {String} URI
869 	 */
870 	getUrl: function(index) {
871 		return this.items[index][0];
872 	},
873 	/** 履歴のデータから、指定されたインデックスのスレッドタイトルを取得します。
874 	 * @param  {Number} index インデックス
875 	 * @return {String} スレッドタイトル
876 	 */
877 	getThreadTitle: function(index) {
878 		return this.items[index][1];
879 	},
880 	/** 履歴のデータから、指定されたインデックスの板の名称を取得します。
881 	 * @param  {Number} index インデックス
882 	 * @return {String} 板の名前
883 	 */
884 	getBoardName: function(index) {
885 		var array = this.items[index][0].split("/");
886 		for (var i = 0; i < array.length; i++) if (array[i] == "read.cgi") break;
887 		return boardTable[array[i+1]] ? boardTable[array[i+1]] : array[i+1];
888 	},
889 	/** 履歴のデータから、指定されたインデックスの板の URI を  bbs2chreader 形式で取得します。
890 	 * @param  {Number} index インデックス
891 	 * @return {String} URI
892 	 */
893 	getBoardUrl: function(index) {
894 		return this.items[index][0].replace(/(.*)test\/read\.cgi\/(.*?)\/.*/,"bbs2ch:board:$1$2/");
895 	},
896 	getContextMenuItems: function() {
897 		
898 	}
899 }