search.js 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293
  1. var dict_pre_searching=false;
  2. var dict_pre_search_curr_word="";
  3. var dict_search_xml_http=null;
  4. function search_book_filter(objid,type){
  5. if(document.getElementById(objid).checked==true){
  6. $("."+type).show();
  7. }
  8. else{
  9. $("."+type).hide();
  10. }
  11. }
  12. function dict_bold_word_all_select(){
  13. var wordcount=$("#bold_word_count").val();
  14. for(var i=0;i<wordcount;i++){
  15. document.getElementById("bold_word_"+i).checked=document.getElementById("bold_all_word").checked;
  16. }
  17. dict_update_bold(0);
  18. }
  19. function dict_bold_word_select(id){
  20. var wordcount=$("#bold_word_count").val();
  21. for(var i=0;i<wordcount;i++){
  22. document.getElementById("bold_word_"+i).checked=false;
  23. }
  24. document.getElementById("bold_word_"+id).checked=true;
  25. dict_update_bold(0);
  26. }
  27. function dict_bold_book_select(id){
  28. var bookcount=$("#bold_book_count").val();
  29. for(var i=0;i<bookcount;i++){
  30. document.getElementById("bold_book_"+i).checked=false;
  31. }
  32. document.getElementById("bold_book_"+id).checked=true;
  33. dict_update_bold(0);
  34. }
  35. function dict_update_bold(currpage){
  36. var wordlist="(";
  37. var wordcount=$("#bold_word_count").val();
  38. for(var i=0;i<wordcount;i++){
  39. if(document.getElementById("bold_word_"+i).checked){
  40. wordlist+="'"+$("#bold_word_"+i).val()+"',";
  41. }
  42. }
  43. wordlist=wordlist.slice(0,-1);
  44. wordlist+=")";
  45. var booklist="(";
  46. var bookcount=$("#bold_book_count").val();
  47. for(var i=0;i<bookcount;i++){
  48. if(document.getElementById("bold_book_"+i).checked){
  49. booklist+="'"+$("#bold_book_"+i).val()+"',";
  50. }
  51. }
  52. booklist=booklist.slice(0,-1);
  53. booklist+=")";
  54. $.get("./search.php",
  55. {
  56. op:"update",
  57. target:"bold",
  58. word:"",
  59. wordlist:wordlist,
  60. booklist:booklist,
  61. currpage:currpage
  62. },
  63. function(data,status){
  64. //alert("Data: " + data + "\nStatus: " + status);
  65. $("#dict_bold_right").html(data);
  66. $("#bold_book_list").html($("#bold_book_list_new").html());
  67. $("#bold_book_list_new").html("");
  68. });
  69. }
  70. function search_search(word){
  71. if(!localStorage.searchword){
  72. localStorage.searchword="";
  73. }
  74. let oldHistory=localStorage.searchword;
  75. let arrOldHistory=oldHistory.split(",");
  76. let isExist=false;
  77. for(let i=0;i<arrOldHistory.length;i++){
  78. if(arrOldHistory[i]==word){
  79. isExist=true;
  80. }
  81. }
  82. if(!isExist){
  83. localStorage.searchword=word+","+oldHistory;
  84. }
  85. if(window.XMLHttpRequest)
  86. {// code for IE7, Firefox, Opera, etc.
  87. dict_search_xml_http=new XMLHttpRequest();
  88. }
  89. else if(window.ActiveXObject)
  90. {// code for IE6, IE5
  91. dict_search_xml_http=new ActiveXObject("Microsoft.XMLHTTP");
  92. }
  93. if (dict_search_xml_http!=null)
  94. {
  95. dict_search_xml_http.onreadystatechange=dict_search_serverResponse;
  96. word=word.replace(/\+/g,"%2b");
  97. dict_search_xml_http.open("GET", "./search.php?op=search&word="+word, true);
  98. dict_search_xml_http.send();
  99. }
  100. else
  101. {
  102. alert("Your browser does not support XMLHTTP.");
  103. }
  104. }
  105. function dict_search_serverResponse(){
  106. if (dict_search_xml_http.readyState==4)// 4 = "loaded"
  107. {
  108. if (dict_search_xml_http.status==200)
  109. {// 200 = "OK"
  110. var serverText = dict_search_xml_http.responseText;
  111. dict_result=document.getElementById("dict_ref_search_result");
  112. if(dict_result){
  113. dict_result.innerHTML=serverText;
  114. $("#dict_ref_dict_link").html($("#dictlist").html());
  115. $("#dictlist").html("");
  116. }
  117. //$("#dict_type").html($("#real_dict_tab").html());
  118. }
  119. else
  120. {
  121. alert(dict_pre_search_xml_http.statusText,0);
  122. }
  123. }
  124. }
  125. var dict_pre_search_xml_http=null;
  126. function search_pre_search(word){
  127. if(dict_pre_searching==true){return;}
  128. dict_pre_searching=true;
  129. dict_pre_search_curr_word=word;
  130. if(window.XMLHttpRequest)
  131. {// code for IE7, Firefox, Opera, etc.
  132. dict_pre_search_xml_http=new XMLHttpRequest();
  133. }
  134. else if(window.ActiveXObject)
  135. {// code for IE6, IE5
  136. dict_pre_search_xml_http=new ActiveXObject("Microsoft.XMLHTTP");
  137. }
  138. if (dict_pre_search_xml_http!=null)
  139. {
  140. dict_pre_search_xml_http.onreadystatechange=dict_pre_search_serverResponse;
  141. dict_pre_search_xml_http.open("GET", "./search.php?op=pre&word="+word, true);
  142. dict_pre_search_xml_http.send();
  143. }
  144. else
  145. {
  146. alert("Your browser does not support XMLHTTP.");
  147. }
  148. }
  149. function dict_pre_search_serverResponse(){
  150. if (dict_pre_search_xml_http.readyState==4)// 4 = "loaded"
  151. {
  152. if (dict_pre_search_xml_http.status==200)
  153. {// 200 = "OK"
  154. var serverText = dict_pre_search_xml_http.responseText;
  155. $("#pre_search_word_content").html(serverText);
  156. }
  157. else
  158. {
  159. alert(dict_pre_search_xml_http.statusText,0);
  160. }
  161. dict_pre_searching=false;
  162. var newword = document.getElementById("dict_ref_search_input").value;
  163. if(newword!=dict_pre_search_curr_word){
  164. search_pre_search(newword);
  165. }
  166. }
  167. }
  168. function dict_pre_word_click(word){
  169. $("#pre_search_result").hide();
  170. let inputSearch = $("#dict_ref_search_input").val();
  171. let arrSearch = inputSearch.split(" ");
  172. arrSearch[arrSearch.length-1]=word;
  173. let strSearchWord = arrSearch.join(" ");
  174. $("#dict_ref_search_input").val(strSearchWord);
  175. search_search(word);
  176. }
  177. function dict_input_change(obj){
  178. search_pre_search(obj.value);
  179. }
  180. function search_show_history(){
  181. if(!localStorage.searchword){
  182. localStorage.searchword="";
  183. }
  184. var arrHistory=localStorage.searchword.split(",");
  185. var strHistory="";
  186. if(arrHistory.length>0){
  187. strHistory+="<a onclick=\"cls_word_search_history()\">清空历史记录</a>";
  188. }
  189. for(var i=0;i<arrHistory.length;i++){
  190. var word=arrHistory[i];
  191. strHistory+="<div class='dict_word_list'>";
  192. strHistory+="<a onclick='dict_pre_word_click(\""+word+"\")'>"+word+"</a>";
  193. strHistory+="</div>";
  194. }
  195. $("#dict_ref_search_result").html(strHistory);
  196. }
  197. function search_input_onfocus(){
  198. if($("#dict_ref_search_input").val()==""){
  199. search_show_history();
  200. }
  201. }
  202. function search_input_keyup(e,obj){
  203. var keynum
  204. var keychar
  205. var numcheck
  206. if($("#dict_ref_search_input").val()==""){
  207. search_show_history();
  208. $("#pre_search_result").hide();
  209. return;
  210. }
  211. if(window.event) // IE
  212. {
  213. keynum = e.keyCode
  214. }
  215. else if(e.which) // Netscape/Firefox/Opera
  216. {
  217. keynum = e.which
  218. }
  219. var keychar = String.fromCharCode(keynum)
  220. if(keynum==13){
  221. search_search(obj.value);
  222. }
  223. else{
  224. if(obj.value.indexOf(" ")>=0){
  225. //search_pre_sent(obj.value);
  226. }
  227. else{
  228. $("#pre_search_sent").hide();
  229. }
  230. $("#pre_search_result").show();
  231. search_pre_search(obj.value);
  232. }
  233. }
  234. function search_pre_sent(word){
  235. pali_sent_get_word(word,function(result){
  236. let html="";
  237. try{
  238. let arrResult= JSON.parse(result);
  239. for(x in arrResult){
  240. html+=arrResult[x].text+"<br>";
  241. }
  242. $("#pre_search_sent_title_right").html("总共"+arrResult.lenght);
  243. $("#pre_search_sent_content").html(html);
  244. $("#pre_search_sent").show();
  245. }
  246. catch(e){
  247. console.error(e.message);
  248. }
  249. });
  250. }
  251. function cls_word_search_history(){
  252. localStorage.searchword="";
  253. $("#dict_ref_search_result").html("");
  254. }
  255. function search_edit_now(book,para,title){
  256. var res_list = new Array();
  257. res_list.push({"type":"1","album_id":"-1","book":book,"parNum":para,"parlist":para,"title":title+"-"+para});
  258. res_list.push({"type":"6","album_id":"-1","book":book,"parNum":para,"parlist":para,"title":title+"-"+para});
  259. var res_data = JSON.stringify(res_list);
  260. window.open("../studio/project.php?op=create&data="+res_data,"_blank");
  261. }