filenew.js 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  1. var numOfTranInput = 1;
  2. var fileName = "";
  3. var txtXML="";
  4. function fileNew(){
  5. window.location.assign("filenew.html");
  6. }
  7. function fileNewSave()
  8. {
  9. if(fileName==""){
  10. var inputFileName=prompt("File Name","filename.xml");
  11. if (inputFileName==null || inputFileName=="")
  12. {
  13. alert("File Name?");
  14. return;
  15. }
  16. else{
  17. fileName=inputFileName;
  18. }
  19. }
  20. xmlHttp=null;
  21. var_dump("loading");
  22. if (window.XMLHttpRequest)
  23. {// code for IE7, Firefox, Opera, etc.
  24. xmlHttp=new XMLHttpRequest();
  25. var_dump("test XMLHttpRequest<br/>");
  26. }
  27. else if (window.ActiveXObject)
  28. {// code for IE6, IE5
  29. xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  30. var_dump("testing Microsoft.XMLHTTP<br/>");
  31. }
  32. if (xmlHttp!=null)
  33. {
  34. var_dump("ok");
  35. xmlHttp.open("POST", "./xml_save.php", false);
  36. var sendHead="filename="+"../user/My Document/"+fileName+"#";
  37. xmlHttp.send(sendHead+txtXML);
  38. var_dump(xmlHttp.responseText);
  39. }
  40. else
  41. {
  42. alert("Your browser does not support XMLHTTP.");
  43. }
  44. }
  45. function new_getPaliReal(inStr){
  46. var paliletter="abcdefghijklmnoprstuvyāīūṅñṭḍṇḷṃ";
  47. var output="";
  48. inStr=inStr.toLowerCase();
  49. inStr = inStr.replace(/ṁ/g,"ṃ");
  50. inStr = inStr.replace(/ŋ/g,"ṃ");
  51. for(x in inStr){
  52. if(paliletter.indexOf(inStr[x])!=-1){
  53. output+=inStr[x];
  54. }
  55. }
  56. return(output);
  57. }
  58. function fileNewPreview(){
  59. try{
  60. var strData = document.getElementById("txtNewInput").value;
  61. var strPar=strData.split("\n");
  62. var strDataTran1 = document.getElementById("txtNewInputTran1").value;
  63. strDataTran1=strDataTran1.replace(/#br#/g,"&lt;br&gt;");
  64. var strParTran1=strDataTran1.split("\n");
  65. var strDataTran2 = document.getElementById("txtNewInputTran2").value;
  66. strDataTran2=strDataTran2.replace(/#br#/g,"&lt;br&gt;");
  67. var strParTran2=strDataTran2.split("\n");
  68. var strWord;
  69. var x;
  70. var iContentStart=0;
  71. var iWordCount=0;
  72. txtXML="<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";
  73. var txtHtml;
  74. txtHtml = "<div class='sutta'>";
  75. txtXML = txtXML + "<book>\n<sutta id=\"suttaid\">\n";
  76. var tranLangauge1 = document.getElementById("tranlanguage1").value;
  77. var tranLangauge2 = document.getElementById("tranlanguage2").value;
  78. if(document.getElementById("chk_title").checked){
  79. txtXML = txtXML + "<title>";
  80. txtXML = txtXML + "<text>";
  81. txtXML = txtXML + "<info><language>pali</language><author>author</author></info>";
  82. txtXML = txtXML + "<data>"+strPar[0]+"</data>";
  83. txtXML = txtXML + "</text>";
  84. if(strDataTran1.length>0){
  85. txtXML = txtXML + "<text>";
  86. txtXML = txtXML + "<info><language>"+tranLangauge1+"</language><author>author</author></info>";
  87. txtXML = txtXML + "<data>"+strParTran1[0]+"</data>";
  88. txtXML = txtXML + "</text>";
  89. }
  90. if(strDataTran2.length>0){
  91. txtXML = txtXML + "<text>";
  92. txtXML = txtXML + "<info><language>"+tranLangauge2+"</language><author>author</author></info>";
  93. txtXML = txtXML + "<data>"+strParTran2[0]+"</data>";
  94. txtXML = txtXML + "</text>";
  95. }
  96. txtXML = txtXML + "</title>";
  97. iContentStart=1;
  98. txtHtml = txtHtml + "<div class='sutta_title'>\n";
  99. txtHtml = txtHtml + "<h1>" + strPar[0] + "</h1>\n";
  100. if(strDataTran1.length>0){
  101. txtHtml = txtHtml + "<p class='tran_h1_"+tranLangauge1+"' >" + strParTran1[0] + "</p>\n";
  102. }
  103. if(strDataTran2.length>0){
  104. txtHtml = txtHtml + "<p class='tran_h1_"+tranLangauge2+"' >" + strParTran2[0] + "</p>\n";
  105. }
  106. txtHtml = txtHtml + "</div>\n";
  107. }
  108. for (var i=iContentStart;i<strPar.length;i++)
  109. {
  110. txtHtml = txtHtml + "<div class='sutta_paragraph' >\n";
  111. txtHtml = txtHtml + "<div class='pali_par_mobile'>\n";
  112. txtXML = txtXML + "<paragraph>\n";
  113. txtXML = txtXML + "<palipar>\n";
  114. strWord = strPar[i].split(" ");
  115. for (var k=0;k<strWord.length;k++){
  116. sPaliWord = strWord[k];
  117. sOrgWord = "?";
  118. sMeanWord = "?";
  119. sCaseWord = "?";
  120. sIdWord = k;
  121. sWordId = iWordCount;/*自动的单词计数器*/
  122. txtXML = txtXML + "<word><pali>"+sPaliWord+"</pali><real>"+new_getPaliReal(sPaliWord)+"</real><id>"+sWordId+"</id><mean>?</mean><org>?</org><om>?</om><case>?</case></word>\n";
  123. if(sPaliWord=="#br#"){
  124. txtHtml = txtHtml + "<div class=\"enter\"></div>\n";
  125. }
  126. else{
  127. /*输出Pali单词部分*/
  128. /*长度为1的为标点符号*/
  129. //if(sPaliWord.length<=1)
  130. //{
  131. // txtHtml = txtHtml + "<div id=\"wb"+sWordId+"\" class='word_punc'> ";
  132. // txtHtml = txtHtml + "<p class='pali' name='wPali'> <span name=\"spali\">";
  133. // txtHtml = txtHtml + sPaliWord;
  134. // txtHtml = txtHtml + "</span></p>\n";
  135. //}
  136. //else
  137. {
  138. txtHtml = txtHtml + "<div id=\"wb"+sWordId+"\" class='word'> ";
  139. txtHtml = txtHtml + "<p class='pali' name='wPali'>";
  140. txtHtml = txtHtml +"<a name='w"+sWordId+"' title=\""+sMeanWord+"\" >";
  141. txtHtml = txtHtml + "<span name=\"spali\">"+sPaliWord+"</span>";
  142. txtHtml = txtHtml + "</a></p>\n";
  143. }
  144. /*输出Detail块部分*/
  145. /*设置detail 块可见性。非巴利词不可见*/
  146. txtHtml = txtHtml + "<div id='detail"+sWordId+"' class='bg"+(iWordCount%2)+"'>";
  147. txtHtml = txtHtml + "<span >?</span>"
  148. txtHtml = txtHtml + "</div>";/*detail块结束*/
  149. txtHtml = txtHtml + "</div>\n";/*单词块结束*/
  150. }
  151. iWordCount = iWordCount + 1;
  152. }
  153. txtXML = txtXML + "</palipar>\n";
  154. txtHtml = txtHtml + "</div>";/*end of pali par*/
  155. txtHtml = txtHtml + "<div class='clr'></div> ";
  156. /*翻译块开始*/
  157. txtHtml = txtHtml + "<div class='tran_par_mobile'>";
  158. txtXML = txtXML + "<translate>\n";
  159. if(strDataTran1.length>0){
  160. if(i<strParTran1.length){
  161. var strTranEn = strParTran1[i];
  162. txtHtml = txtHtml + "<p class=tran_par_"+tranLangauge1+">" + strParTran1[i] + "</p>";
  163. txtXML = txtXML + "<text>\n";
  164. txtXML = txtXML + "<info>\n";
  165. txtXML = txtXML + "<language>"+tranLangauge1+"</language>\n";
  166. txtXML = txtXML + "<author>"+document.getElementById("tranauthor1").value+"</author>\n";
  167. txtXML = txtXML + "</info>\n";
  168. txtXML = txtXML + "<data>"+strParTran1[i]+"</data>\n";
  169. txtXML = txtXML + "</text>\n";
  170. }
  171. }
  172. if(strDataTran2.length>0){
  173. if(i<strParTran2.length){
  174. var strTranEn = strParTran2[i];
  175. txtHtml = txtHtml + "<p class=tran_par_"+tranLangauge2+">" + strParTran2[i] + "</p>";
  176. txtXML = txtXML + "<text>\n";
  177. txtXML = txtXML + "<info>\n";
  178. txtXML = txtXML + "<language>"+tranLangauge2+"</language>\n";
  179. txtXML = txtXML + "<author>"+document.getElementById("tranauthor2").value+"</author>\n";
  180. txtXML = txtXML + "</info>\n";
  181. txtXML = txtXML + "<data>"+strParTran2[i]+"</data>\n";
  182. txtXML = txtXML + "</text>\n";
  183. }
  184. }
  185. txtHtml = txtHtml + "</div>\n";
  186. txtXML = txtXML + "</translate>\n";
  187. /*end of translate block*/
  188. txtHtml = txtHtml + "</div>";
  189. txtXML = txtXML + "</paragraph>\n";
  190. /*end of paragraph*/
  191. }
  192. txtHtml = txtHtml + "</div>";
  193. txtXML = txtXML + "</sutta>\n";
  194. txtXML = txtXML + "</book>\n";
  195. document.getElementById("sutta_text").innerHTML = txtHtml;
  196. }
  197. catch(e){
  198. alert(e);
  199. }
  200. }
  201. function newTran(){
  202. var para=document.createElement("div");
  203. para.innerHTML = "<select name=\"language\"><option value=\"cn\">Chinese</option><option value=\"en\">English</option></select><input type=\"input\" value=\"*\"/><p><textarea id=\"txtNewInputTran1\" rows=\"15\" cols=\"80\" ></textarea></p>";
  204. var element=document.getElementById("inputTran");
  205. element.appendChild(para);
  206. }
  207. function inputMode(obj){
  208. switch(obj.value){
  209. case "single":
  210. document.getElementById("linenum").style.display="none";
  211. document.getElementById("divlineinfo").style.display="none";
  212. document.getElementById("inputTran").style.display="block";
  213. document.getElementById("file_new").style.display="block";
  214. break;
  215. case "mix":
  216. document.getElementById("linenum").style.display="inline";
  217. document.getElementById("divlineinfo").style.display="block";
  218. document.getElementById("inputTran").style.display="none";
  219. document.getElementById("file_new").style.display="none";
  220. break;
  221. }
  222. }
  223. function lineNum(obj){
  224. document.getElementById("divline2").style.display="none";
  225. document.getElementById("divline3").style.display="none";
  226. document.getElementById("divline4").style.display="none";
  227. switch(obj.value){
  228. case "4":
  229. document.getElementById("divline4").style.display="block";
  230. case "3":
  231. document.getElementById("divline3").style.display="block";
  232. case "2":
  233. document.getElementById("divline2").style.display="block";
  234. }
  235. }