load_skin_set.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384
  1. function main_css_regex_data(data) {
  2. return new RegExp('(?:^|; )' + data + '=([^;]*)');
  3. }
  4. function main_css_get_post() {
  5. var check = document.getElementById('main_css_strike');
  6. if(check.value === 'normal') {
  7. document.cookie = 'main_css_del_strike=0;';
  8. } else if(check.value === 'change') {
  9. document.cookie = 'main_css_del_strike=1;';
  10. } else {
  11. document.cookie = 'main_css_del_strike=2;';
  12. }
  13. check = document.getElementById('main_css_bold');
  14. if(check.value === 'normal') {
  15. document.cookie = 'main_css_del_bold=0;';
  16. } else if(check.value === 'change') {
  17. document.cookie = 'main_css_del_bold=1;';
  18. } else {
  19. document.cookie = 'main_css_del_bold=2;';
  20. }
  21. check = document.getElementById('main_css_include');
  22. if(check.checked) {
  23. document.cookie = 'main_css_include_link=1;';
  24. } else {
  25. document.cookie = 'main_css_include_link=0;';
  26. }
  27. check = document.getElementById('main_css_category');
  28. if(check.value === 'bottom') {
  29. document.cookie = 'main_css_category_set=0;';
  30. } else {
  31. document.cookie = 'main_css_category_set=1;';
  32. }
  33. check = document.getElementById('main_css_footnote');
  34. if(check.value === 'spread') {
  35. document.cookie = 'main_css_footnote_set=1;';
  36. } else {
  37. document.cookie = 'main_css_footnote_set=0;';
  38. }
  39. check = document.getElementById('main_css_image');
  40. if(check.value === 'new_click') {
  41. document.cookie = 'main_css_image_set=2;';
  42. } else if(check.value === 'click') {
  43. document.cookie = 'main_css_image_set=1;';
  44. } else {
  45. document.cookie = 'main_css_image_set=0;';
  46. }
  47. check = document.getElementById('main_css_image_paste');
  48. if(check.checked) {
  49. document.cookie = 'main_css_image_paste=1;';
  50. } else {
  51. document.cookie = 'main_css_image_paste=0;';
  52. }
  53. check = document.getElementById('main_css_toc');
  54. if(check.value === 'on') {
  55. document.cookie = 'main_css_toc_set=2;';
  56. } else if(check.value === 'off') {
  57. document.cookie = 'main_css_toc_set=1;';
  58. } else {
  59. document.cookie = 'main_css_toc_set=0;';
  60. }
  61. check = document.getElementById('main_css_font_size');
  62. if(check.value.match(/^[0-9]+$/)) {
  63. document.cookie = 'main_css_font_size=' + check.value + ';';
  64. } else {
  65. document.cookie = 'main_css_font_size=;';
  66. }
  67. history.go(0);
  68. }
  69. function main_css_skin_load() {
  70. var head_data = document.querySelector('head');
  71. if(document.cookie.match(main_css_regex_data('main_css_del_strike'))) {
  72. if(document.cookie.match(main_css_regex_data('main_css_del_strike'))[1] === '1') {
  73. head_data.innerHTML += '<style>s { text-decoration: none; } s:hover { background-color: transparent; }</style>';
  74. } else if(document.cookie.match(main_css_regex_data('main_css_del_strike'))[1] === '2') {
  75. head_data.innerHTML += '<style>s { display: none; }</style>';
  76. }
  77. }
  78. if(document.cookie.match(main_css_regex_data('main_css_del_bold'))) {
  79. if(document.cookie.match(main_css_regex_data('main_css_del_bold'))[1] === '1') {
  80. head_data.innerHTML += '<style>b { font-weight: normal; }</style>';
  81. } else if(document.cookie.match(main_css_regex_data('main_css_del_bold'))[1] === '2') {
  82. head_data.innerHTML += '<style>b { display: none; }</style>';
  83. }
  84. }
  85. if(
  86. document.cookie.match(main_css_regex_data('main_css_include_link')) &&
  87. document.cookie.match(main_css_regex_data('main_css_include_link'))[1] === '1'
  88. ) {
  89. head_data.innerHTML += '<style>#include_link { display: inline; }</style>';
  90. }
  91. if(
  92. document.cookie.match(main_css_regex_data('main_css_category_set')) &&
  93. document.cookie.match(main_css_regex_data('main_css_category_set'))[1] === '1'
  94. ) {
  95. var get_category = document.getElementById('cate_all');
  96. if(get_category) {
  97. var backup_category = get_category.innerHTML;
  98. var in_data = document.getElementById('in_data_0').innerHTML;
  99. get_category.innerHTML = '';
  100. document.getElementById('in_data_0').innerHTML = backup_category + in_data;
  101. head_data.innerHTML += '<style>#cate { margin-top: 0px; margin-bottom: 20px; }</style>';
  102. }
  103. }
  104. if(
  105. document.cookie.match(main_css_regex_data('main_css_font_size')) &&
  106. document.cookie.match(main_css_regex_data('main_css_font_size'))[1] !== ''
  107. ) {
  108. head_data.innerHTML += '<style>.all_in_data { font-size: ' + document.cookie.match(main_css_regex_data('main_css_font_size'))[1] + 'px; }</style>';
  109. }
  110. if(document.cookie.match(main_css_regex_data('main_css_toc_set'))) {
  111. if(document.cookie.match(main_css_regex_data('main_css_toc_set'))[1] === '2') {
  112. head_data.innerHTML += '<style>#auto_toc { display: none; }</style>';
  113. } else if(document.cookie.match(main_css_regex_data('main_css_toc_set'))[1] === '1') {
  114. head_data.innerHTML += '<style>#toc { display: none; }</style>';
  115. }
  116. }
  117. }
  118. function main_css_load_lang(name) {
  119. var set_language = {
  120. "en-US" : {
  121. "default" : "Default",
  122. "change_to_normal" : "Change to normal text",
  123. "delete" : "Delete",
  124. "include_link" : "Using include link",
  125. "save" : "Save",
  126. "strike" : "Strike",
  127. "bold" : "Bold",
  128. "other" : "Other",
  129. "where_category" : "Set category location",
  130. "bottom" : "Bottom",
  131. "top" : "Top",
  132. "set_footnote" : "Set footnote",
  133. "renderer" : "Renderer",
  134. "spread" : "Spread",
  135. "set_image" : "Set image",
  136. "set_toc" : "Set TOC",
  137. "click_load" : "Load on click",
  138. "in_content" : "Only when TOC is in the document",
  139. "all_off" : "Always off",
  140. "set_font_size" : "Set font size",
  141. "change_to_link" : "Change to link",
  142. "font_size" : "font size"
  143. }, "ko-KR" : {
  144. "default" : "기본값",
  145. "change_to_normal" : "일반 텍스트로 변경",
  146. "delete" : "삭제",
  147. "include_link" : "틀 링크 사용",
  148. "save" : "저장",
  149. "strike" : "취소선",
  150. "bold" : "볼드체",
  151. "other" : "기타",
  152. "where_category" : "분류 위치 설정",
  153. "bottom" : "아래",
  154. "top" : "위",
  155. "set_footnote" : "각주 설정",
  156. "renderer" : "렌더러",
  157. "spread" : "펼치기",
  158. "set_image" : "이미지 설정",
  159. "set_toc" : "목차 설정",
  160. "click_load" : "클릭시 불러오기",
  161. "in_content" : "문서 안에 있을 때만",
  162. "all_off" : "항상 끔",
  163. "set_font_size" : "글자 크기 설정",
  164. "change_to_link" : "링크로 변경",
  165. "font_size" : "글자 크기"
  166. }
  167. }
  168. var server_language = document.cookie.match(main_css_regex_data('language'))[1];
  169. var user_language = document.cookie.match(main_css_regex_data('user_language'))[1];
  170. if(user_language in set_language) {
  171. language = user_language;
  172. } else {
  173. if(server_language in set_language) {
  174. language = server_language;
  175. } else {
  176. language = 'en-US';
  177. }
  178. }
  179. if(name in set_language[language]) {
  180. return set_language[language][name];
  181. } else {
  182. return name + ' (' + language + ')';
  183. }
  184. }
  185. function main_css_skin_set() {
  186. var set_data = {};
  187. var strike_list = [
  188. ['0', 'normal', main_css_load_lang('default')],
  189. ['1', 'change', main_css_load_lang('change_to_normal')],
  190. ['2', 'delete', main_css_load_lang('delete')]
  191. ];
  192. set_data["strike"] = '';
  193. var i = 0;
  194. while(strike_list[i]) {
  195. if(
  196. document.cookie.match(main_css_regex_data('main_css_del_strike')) &&
  197. document.cookie.match(main_css_regex_data('main_css_del_strike'))[1] === strike_list[i][0]
  198. ) {
  199. set_data["strike"] = '<option value="' + strike_list[i][1] + '">' + strike_list[i][2] + '</option>' + set_data["strike"];
  200. } else {
  201. set_data["strike"] += '<option value="' + strike_list[i][1] + '">' + strike_list[i][2] + '</option>';
  202. }
  203. i += 1;
  204. }
  205. var bold_list = [
  206. ['0', 'normal', main_css_load_lang('default')],
  207. ['1', 'change', main_css_load_lang('change_to_normal')],
  208. ['2', 'delete', main_css_load_lang('delete')]
  209. ];
  210. set_data["bold"] = '';
  211. i = 0;
  212. while(bold_list[i]) {
  213. if(
  214. document.cookie.match(main_css_regex_data('main_css_del_bold')) &&
  215. document.cookie.match(main_css_regex_data('main_css_del_bold'))[1] === bold_list[i][0]
  216. ) {
  217. set_data["bold"] = '<option value="' + bold_list[i][1] + '">' + bold_list[i][2] + '</option>' + set_data["bold"];
  218. } else {
  219. set_data["bold"] += '<option value="' + bold_list[i][1] + '">' + bold_list[i][2] + '</option>';
  220. }
  221. i += 1;
  222. }
  223. if(
  224. document.cookie.match(main_css_regex_data('main_css_include_link')) &&
  225. document.cookie.match(main_css_regex_data('main_css_include_link'))[1] === '1'
  226. ) {
  227. set_data["include"] = "checked";
  228. } else {
  229. set_data["include"] = "";
  230. }
  231. if(
  232. document.cookie.match(main_css_regex_data('main_css_image_paste')) &&
  233. document.cookie.match(main_css_regex_data('main_css_image_paste'))[1] === '1'
  234. ) {
  235. set_data["image_paste"] = "checked";
  236. } else {
  237. set_data["image_paste"] = "";
  238. }
  239. var category_list = [
  240. ['0', 'bottom', main_css_load_lang('bottom')],
  241. ['1', 'top', main_css_load_lang('top')],
  242. ];
  243. set_data["category"] = '';
  244. i = 0;
  245. while(category_list[i]) {
  246. if(
  247. document.cookie.match(main_css_regex_data('main_css_category_set')) &&
  248. document.cookie.match(main_css_regex_data('main_css_category_set'))[1] === category_list[i][0]
  249. ) {
  250. set_data["category"] = '<option value="' + category_list[i][1] + '">' + category_list[i][2] + '</option>' + set_data["category"];
  251. } else {
  252. set_data["category"] += '<option value="' + category_list[i][1] + '">' + category_list[i][2] + '</option>';
  253. }
  254. i += 1;
  255. }
  256. var footnote_list = [
  257. ['0', 'normal', main_css_load_lang('default')],
  258. ['1', 'spread', main_css_load_lang('spread')]
  259. ];
  260. set_data["footnote"] = '';
  261. i = 0;
  262. while(footnote_list[i]) {
  263. if(
  264. document.cookie.match(main_css_regex_data('main_css_footnote_set')) &&
  265. document.cookie.match(main_css_regex_data('main_css_footnote_set'))[1] === footnote_list[i][0]
  266. ) {
  267. set_data["footnote"] = '<option value="' + footnote_list[i][1] + '">' + footnote_list[i][2] + '</option>' + set_data["footnote"];
  268. } else {
  269. set_data["footnote"] += '<option value="' + footnote_list[i][1] + '">' + footnote_list[i][2] + '</option>';
  270. }
  271. i += 1;
  272. }
  273. var image_list = [
  274. ['0', 'normal', main_css_load_lang('default')],
  275. ['1', 'click', main_css_load_lang('change_to_link')],
  276. ['2', 'new_click', main_css_load_lang('click_load')]
  277. ];
  278. set_data["image"] = '';
  279. i = 0;
  280. while(image_list[i]) {
  281. if(
  282. document.cookie.match(main_css_regex_data('main_css_image_set')) &&
  283. document.cookie.match(main_css_regex_data('main_css_image_set'))[1] === image_list[i][0]
  284. ) {
  285. set_data["image"] = '<option value="' + image_list[i][1] + '">' + image_list[i][2] + '</option>' + set_data["image"];
  286. } else {
  287. set_data["image"] += '<option value="' + image_list[i][1] + '">' + image_list[i][2] + '</option>';
  288. }
  289. i += 1;
  290. }
  291. var toc_list = [
  292. ['0', 'normal', main_css_load_lang('default')],
  293. ['1', 'off', main_css_load_lang('all_off')],
  294. ['2', 'on', main_css_load_lang('in_content')]
  295. ];
  296. set_data["toc"] = '';
  297. i = 0;
  298. while(toc_list[i]) {
  299. if(
  300. document.cookie.match(main_css_regex_data('main_css_toc_set')) &&
  301. document.cookie.match(main_css_regex_data('main_css_toc_set'))[1] === toc_list[i][0]
  302. ) {
  303. set_data["toc"] = '<option value="' + toc_list[i][1] + '">' + toc_list[i][2] + '</option>' + set_data["toc"];
  304. } else {
  305. set_data["toc"] += '<option value="' + toc_list[i][1] + '">' + toc_list[i][2] + '</option>';
  306. }
  307. i += 1;
  308. }
  309. if(document.cookie.match(main_css_regex_data('main_css_font_size'))) {
  310. set_data["font_size"] = document.cookie.match(main_css_regex_data('main_css_font_size'))[1];
  311. } else {
  312. set_data["font_size"] = '';
  313. }
  314. document.getElementById("main_skin_set").innerHTML = ' \
  315. <h2>1. ' + main_css_load_lang('renderer') + '</h2> \
  316. <h3>1.1. ' + main_css_load_lang('strike') + '</h3> \
  317. <select id="main_css_strike"> \
  318. ' + set_data["strike"] + ' \
  319. </select> \
  320. <h3>1.2. ' + main_css_load_lang('bold') + '</h3> \
  321. <select id="main_css_bold"> \
  322. ' + set_data["bold"] + ' \
  323. </select> \
  324. <h3>1.3. ' + main_css_load_lang('where_category') + '</h3> \
  325. <select id="main_css_category"> \
  326. ' + set_data["category"] + ' \
  327. </select> \
  328. <h3>1.4. ' + main_css_load_lang('set_footnote') + '</h3> \
  329. <select id="main_css_footnote"> \
  330. ' + set_data["footnote"] + ' \
  331. </select> \
  332. <h3>1.5. ' + main_css_load_lang('set_image') + '</h3> \
  333. <select id="main_css_image"> \
  334. ' + set_data["image"] + ' \
  335. </select> \
  336. <h3>1.6. ' + main_css_load_lang('other') + '</h3> \
  337. <input ' + set_data["include"] + ' type="checkbox" id="main_css_include" value="include"> ' + main_css_load_lang('include_link') + ' \
  338. <hr class="main_hr"> \
  339. <input ' + set_data["image_paste"] + ' type="checkbox" id="main_css_image_paste" value="image_paste"> 클립보드 이미지 업로드 (ko-KR) \
  340. <h3>1.7. ' + main_css_load_lang('set_toc') + '</h3> \
  341. <select id="main_css_toc"> \
  342. ' + set_data["toc"] + ' \
  343. </select> \
  344. <h3>1.8. ' + main_css_load_lang('set_font_size') + '</h3> \
  345. <input id="main_css_font_size" placeholder="' + main_css_load_lang('font_size') + '" value="' + set_data["font_size"] + '"> \
  346. <hr class="main_hr"> \
  347. <button onclick="main_css_get_post();">' + main_css_load_lang('save') + '</button> \
  348. ';
  349. }