index.js 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
  1. var gCurrPage=0;
  2. var gCurrBookTitle="";
  3. var gCurrBookId="";
  4. var gPrevTocLevelBase=-1;
  5. function index_page_init(){
  6. main_menu_show(0);
  7. search_best("all");
  8. wizard_palicannon_index_render_c1("");
  9. }
  10. function close_res_info(){
  11. document.getElementById("res_info_"+gCurrPage).className = "right_nav_bar_off";
  12. }
  13. function wizard_palicannon_index_changed_book(parentLevel,strParent,strBookTitle,strBookId){
  14. gCurrBookTitle=strBookTitle;
  15. gCurrBookId=strBookId;
  16. wizard_palicannon_heading_div_cls(1);
  17. //wizard_palicannon_index_render_book(parentLevel,strParent,strBookTitle)
  18. //wizard_palicannon_show_filelist(strBookId);
  19. index_render_res_list(strBookId,-1,"-1");
  20. }
  21. var res_list_stack=new Array();
  22. function index_render_res_list(book_id,album_id,paragraph,goback=false){
  23. if(goback){
  24. book_id=res_list_stack[res_list_stack.length-2].book;
  25. album_id=res_list_stack[res_list_stack.length-2].album;
  26. paragraph=res_list_stack[res_list_stack.length-2].paragraph;
  27. res_list_stack.pop();
  28. }
  29. else{
  30. res_list_stack.push({ book: book_id, album: album_id,paragraph: paragraph });
  31. }
  32. $.get("./get_res_index.php", { book: book_id, album: album_id,paragraph: paragraph },
  33. function(data){
  34. $("#para_res_list").html(data);
  35. document.getElementById("para_res_list_shell").style.display="block";
  36. document.getElementById("res_info_"+gCurrPage).appendChild(document.getElementById("para_res_list_shell"));
  37. document.getElementById("res_info_"+gCurrPage).className = "right_nav_bar_on";
  38. if(res_list_stack.length>1){
  39. var back_like="<a onclick=\"index_render_res_list(1,1,1,true)\">Back</a>";
  40. $("#res_list_back").html(back_like);
  41. }
  42. });
  43. }
  44. function show_par_res_in_toc(book,paragraph){
  45. if($("#toc_para_res_"+paragraph).html()==""){
  46. $.get("./get_res_index.php", { book: book, album: "-1",paragraph: paragraph },
  47. function(data){
  48. $(".toc_para_res").html("");
  49. $(".toc_para_res").slideUp();
  50. $("#toc_para_res_"+paragraph).html(data);
  51. $("#toc_para_res_"+paragraph).slideDown();
  52. });
  53. }
  54. else{
  55. $("#toc_para_res_"+paragraph).slideUp(300,function(){$("#toc_para_res_"+paragraph).html("");});
  56. }
  57. }
  58. function wizard_palicannon_heading_change(base=-1,select=-1){
  59. var output="";
  60. var maxLevel=100;
  61. var endOfPar = wizard_palicannon_get_par_end_index(base);
  62. if(base==-1){
  63. endOfPar = toc_info.length-1
  64. wizard_palicannon_heading_div_cls(1);
  65. }
  66. else{
  67. var baseLevel = toc_info[base].level;
  68. wizard_palicannon_heading_div_cls(baseLevel+1);
  69. }
  70. for(var iPar=base+1;iPar<=endOfPar;iPar++){
  71. parHeadingLevel=toc_info[iPar].level;
  72. if(parHeadingLevel>0 && parHeadingLevel<maxLevel){
  73. maxLevel = parHeadingLevel;
  74. }
  75. }
  76. for(var iPar=base+1;iPar<=endOfPar;iPar++){
  77. parHeadingLevel=toc_info[iPar].level;
  78. if(parHeadingLevel==maxLevel){
  79. title = toc_info[iPar].title;
  80. newTitle=wizard_ger_toc_title(iPar,gTocCurrLanguage);
  81. if(newTitle!=null){
  82. title=newTitle;
  83. }
  84. var cssSelected="";
  85. if(iPar==select){
  86. cssSelected="selected";
  87. var parent_title="<div class=\"book_list_item \"><span onclick='wizard_palicannon_heading_click("+base+","+iPar+")'>"+title+"</span></div>";
  88. }
  89. else{
  90. if(select!=-1){
  91. cssSelected="item_hidden";
  92. }
  93. }
  94. parNum=toc_info[iPar].paragraph;
  95. output += "<div class=\"book_list_item "+cssSelected+" level_"+maxLevel+"\" >";
  96. if(toc_type=="album"){
  97. output += "<button><a href='./reader.php?book="+gCurrBookId+"&album="+toc_album+"&paragraph="+parNum+"' target='_blank'>读</a></button>";
  98. }
  99. else{
  100. output += "<button onclick=\"show_par_res_in_toc('"+gCurrBookId+"',"+parNum+")\">资</button>";
  101. }
  102. output += "<span onclick='wizard_palicannon_heading_click("+base+","+iPar+")'>"+title+"</span></div>";
  103. output += "<div id='toc_para_res_"+parNum+"' class='toc_para_res'></div>";
  104. }
  105. }
  106. $("#toc_h"+maxLevel).html(output);
  107. if(select==-1){
  108. $("#toc_h"+maxLevel).show();
  109. }
  110. else{
  111. $("#toc_p_h"+maxLevel).hide();
  112. $("#toc_p_h"+maxLevel).html(parent_title);
  113. $("#toc_p_h"+maxLevel).show(200);
  114. $("#toc_h"+maxLevel).slideUp(1000);
  115. }
  116. gPrevTocLevelBase=base;
  117. }
  118. function wizard_palicannon_heading_div_cls(from){
  119. for(var i=from;i<9;i++){
  120. $("#toc_p_h"+i).html("");
  121. $("#toc_h"+i).html("");
  122. }
  123. }
  124. function wizard_palicannon_heading_click(pearent,index){
  125. var currLevel = toc_info[index].level;
  126. currLevel++;
  127. //wizard_palicannon_heading_div_cls(currLevel);
  128. wizard_palicannon_heading_change(pearent,index);
  129. wizard_palicannon_heading_change(index,-1);
  130. }
  131. //获取段落终止点
  132. //输入:索引
  133. //输出:索引
  134. function wizard_palicannon_get_par_end_index(beginIndex){
  135. var iStartPar=0
  136. var iStartLevel=0
  137. if(beginIndex==-1){
  138. return(toc_info.length-1);
  139. }
  140. if(toc_info[beginIndex].level==0){
  141. return(beginIndex);
  142. }
  143. for(var iPar=beginIndex+1;iPar<toc_info.length;iPar++){
  144. parLevel=toc_info[iPar].level;
  145. if(parLevel>0){
  146. if(parLevel <= toc_info[beginIndex].level){
  147. return(iPar-1);
  148. }
  149. }
  150. }
  151. //没找到 返回数组最后一个索引号
  152. return(toc_info.length-1);
  153. }
  154. function wizard_palicannon_get_par_end(beginParNum){
  155. var iStartPar=0
  156. var iStartLevel=0
  157. for(var iPar=0;iPar<toc_info.length;iPar++){
  158. currParNum=toc_info[iPar].paragraph;
  159. if(currParNum==beginParNum){
  160. iStartPar=iPar;
  161. break;
  162. }
  163. }
  164. var iEnd = wizard_palicannon_get_par_end_index(iStartPar);
  165. /*
  166. for(var iPar=iStartPar+1;iPar<gXmlParIndex.length;iPar++){
  167. parLevel=getNodeText(gXmlParIndex[iPar],"level");
  168. if(parLevel>0){
  169. if(parLevel <= iStartLevel){
  170. //iEndPar=getNodeText(gXmlParIndex[iPar],"par")
  171. return(iPar-1);
  172. }
  173. }
  174. }
  175. return(gXmlParIndex.length-1);
  176. */
  177. return(toc_info[iEnd].paragraph);
  178. }
  179. //渲染书列表
  180. function wizard_palicannon_index_render_book(parentLevel,strParent,strSelected){
  181. var bookTitle= new Array();
  182. var bookId= new Array();
  183. switch(parentLevel){
  184. case 1:
  185. var strC1=strParent;
  186. for(index in local_palicannon_index){
  187. if(local_palicannon_index[index].c1==strC1){
  188. pc_pushNewToList(bookTitle,local_palicannon_index[index].title);
  189. pc_pushNewToList(bookId,local_palicannon_index[index].id);
  190. }
  191. }
  192. break;
  193. case 2:
  194. var strC2=strParent;
  195. for(index in local_palicannon_index){
  196. if(local_palicannon_index[index].c1==strC1 && local_palicannon_index[index].c2==strC2){
  197. pc_pushNewToList(bookTitle,local_palicannon_index[index].title);
  198. pc_pushNewToList(bookId,local_palicannon_index[index].id);
  199. }
  200. }
  201. break;
  202. case 3:
  203. strC3=strParent;
  204. for(index in local_palicannon_index){
  205. if(local_palicannon_index[index].c1==strC1 && local_palicannon_index[index].c2==strC2 && local_palicannon_index[index].c3==strC3){
  206. pc_pushNewToList(bookTitle,local_palicannon_index[index].title);
  207. pc_pushNewToList(bookId,local_palicannon_index[index].id);
  208. }
  209. }
  210. break;
  211. case 4:
  212. break;
  213. }
  214. var objBook = document.getElementById("pali_book_item_list");
  215. objBook.innerHTML="";
  216. for(index in bookTitle){
  217. if(bookTitle[index]==strSelected){
  218. var cssItem="pali_res_list_item selected";
  219. }
  220. else{
  221. var cssItem="pali_res_list_item";
  222. }
  223. var bookitem="";
  224. bookitem += "<div class='book_block' onclick=\"wizard_palicannon_index_changed_book("+parentLevel+",'"+strParent+"','"+bookTitle[index]+"','"+bookId[index]+"')\">";
  225. bookitem += "<div class='book_block_cover'>";
  226. bookitem += "<span class='type_flag'>mula</span>";
  227. bookitem += "</div>";
  228. bookitem += "<div class='book_block_info'>";
  229. bookitem += "<div class='book_block_title'>";
  230. bookitem +=bookTitle[index];
  231. bookitem += "</div>";
  232. bookitem += "<div class='book_block_detail'>";
  233. bookitem += "本母";
  234. bookitem += "</div>";
  235. bookitem += "</div>";
  236. bookitem += "</div>";
  237. objBook.innerHTML+=bookitem;
  238. //objBook.innerHTML += "<div class=\""+cssItem+"\" onclick=\"wizard_palicannon_index_changed_book("+parentLevel+",'"+strParent+"','"+bookTitle[index]+"','"+bookId[index]+"')\">"+bookTitle[index]+"</div>";
  239. }
  240. //document.getElementById("id_wizard_palicannon_index_book").style.display="block";
  241. }
  242. function wizard_palicannon_index_changed_c1(indexSelected){
  243. wizard_palicannon_heading_div_cls(1);
  244. wizard_palicannon_palitext_div_cls();
  245. wizard_palicannon_index_render_c1(indexSelected);
  246. wizard_palicannon_index_render_book(1,indexSelected,"");
  247. //document.getElementById("item_list").style.display="block";
  248. //document.getElementById("book_info_div").style.display="none";
  249. //wizard_palicannon_index_render_c2(indexSelected,"");
  250. }
  251. function wizard_palicannon_index_render_c1(strSelected){
  252. gCurrBookType=strSelected;
  253. var objC1 = document.getElementById("id_wizard_palicannon_index_c1");
  254. objC1.innerHTML="";
  255. var currStr="";
  256. var list= new Array();
  257. for(index in local_palicannon_index){
  258. pc_pushNewToList(list,local_palicannon_index[index].c1);
  259. }
  260. for(index in list){
  261. if(list[index]==strSelected){
  262. var cssItem="menu_list_item selected";
  263. }
  264. else{
  265. var cssItem="menu_list_item";
  266. }
  267. objC1.innerHTML += "<li class=\""+cssItem+"\" onclick=\"wizard_palicannon_index_changed_c1('"+list[index]+"')\">"+list[index]+"</li>"
  268. }
  269. }
  270. function main_menu_show(id){
  271. $("#page_0").hide(200);
  272. $("#page_1").hide(200);
  273. $("#page_2").hide(200);
  274. $("#page_3").hide(200);
  275. $("#page_4").hide(200);
  276. $("#page_"+id).show(200);
  277. gCurrPage=id;
  278. }
  279. function search_tag(search_tag){
  280. $.post("./tag_search.php",
  281. {
  282. tag:search_tag,
  283. order:"hit"
  284. },
  285. function(data,status){
  286. $("#category_item_list").html(data);
  287. });
  288. }
  289. function search_best(search_type){
  290. $.get("./get_best.php",
  291. {
  292. op:search_type,
  293. },
  294. function(data,status){
  295. $("#page_best_content").html(data);
  296. });
  297. }
  298. function toc_show_level(level){
  299. for(var i=1;i<8;i++){
  300. if(i<=level){
  301. $(".toc_level_"+i).show();
  302. }
  303. else{
  304. $(".toc_level_"+i).hide();
  305. }
  306. }
  307. $(".toc_para_res").html("");
  308. }
  309. function toc_hide_show(){
  310. $("#album_info_head").slideToggle("slow");
  311. }