comm.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. var VisibleMenu = ''; // 記錄目前顯示的子選單的 ID
  2. // 顯示或隱藏子選單
  3. function switchMenu( theMainMenu, theSubMenu, theEvent ){
  4. var SubMenu = document.getElementById( theSubMenu );
  5. if( SubMenu.style.display == 'none' ){ // 顯示子選單
  6. SubMenu.style.display = 'block';
  7. hideMenu(); // 隱藏子選單
  8. VisibleMenu = theSubMenu;
  9. }
  10. else{ // 隱藏子選單
  11. if( theEvent != 'MouseOver' || VisibleMenu != theSubMenu ){
  12. SubMenu.style.display = 'none';
  13. VisibleMenu = '';
  14. }
  15. }
  16. }
  17. // 隱藏子選單
  18. function hideMenu(){
  19. if( VisibleMenu != '' ){
  20. document.getElementById( VisibleMenu ).style.display = 'none';
  21. }
  22. VisibleMenu = '';
  23. }
  24. function com_show_sub_tree(obj){
  25. eParent = obj.parentNode;
  26. var x=eParent.getElementsByTagName("ul");
  27. if(x[0].style.display=="none"){
  28. x[0].style.display="block";
  29. obj.getElementsByTagName("span")[0].innerHTML="-";
  30. }
  31. else{
  32. x[0].style.display="none";
  33. obj.getElementsByTagName("span")[0].innerHTML="+";
  34. }
  35. }
  36. //check if the next sibling node is an element node
  37. function com_get_nextsibling(n)
  38. {
  39. let x=n.nextSibling;
  40. if(x!=null){
  41. while (x.nodeType!=1)
  42. {
  43. x=x.nextSibling;
  44. if(x==null){
  45. return(null);
  46. }
  47. }
  48. }
  49. return x;
  50. }
  51. function com_guid(trim = true,hyphen= false) {//guid生成器
  52. if(trim){
  53. if(hyphen){
  54. var tmp='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx';
  55. }
  56. else{
  57. var tmp='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
  58. }
  59. }
  60. else{
  61. if(hyphen){
  62. var tmp='{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}';
  63. }
  64. else{
  65. var tmp='{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}';
  66. }
  67. }
  68. var guid=tmp.replace(/[xy]/g, function(c) {
  69. var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
  70. return v.toString(16);
  71. });
  72. return guid.toUpperCase();
  73. }
  74. function com_uuid() {//guid生成器
  75. let tmp='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx';
  76. let uuid=tmp.replace(/[xy]/g, function(c) {
  77. var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
  78. return v.toString(16);
  79. });
  80. return uuid.toLowerCase();
  81. }
  82. function com_xmlToString(elem){
  83. var serialized;
  84. try{
  85. serializer = new XMLSerializer();
  86. serialized = serializer.serializeToString(elem);
  87. }
  88. catch(e){
  89. serialized = elem.xml;
  90. }
  91. return(serialized);
  92. }
  93. function com_getPaliReal(inStr){
  94. var paliletter="abcdefghijklmnoprstuvyāīūṅñṭḍṇḷṃ";
  95. var output="";
  96. inStr = inStr.toLowerCase();
  97. inStr = inStr.replace(/ṁ/g,"ṃ");
  98. inStr = inStr.replace(/ŋ/g,"ṃ");
  99. for(x in inStr){
  100. if(paliletter.indexOf(inStr[x])!=-1){
  101. output+=inStr[x];
  102. }
  103. }
  104. return(output);
  105. }
  106. function getCookie(c_name)
  107. {
  108. if (document.cookie.length>0)
  109. {
  110. c_start=document.cookie.indexOf(c_name + "=")
  111. if (c_start!=-1)
  112. {
  113. c_start=c_start + c_name.length+1
  114. c_end=document.cookie.indexOf(";",c_start)
  115. if (c_end==-1)
  116. c_end=document.cookie.length
  117. return unescape(document.cookie.substring(c_start,c_end))
  118. }
  119. }
  120. else{
  121. return ""
  122. }
  123. }
  124. function setCookie(c_name,value,expiredays)
  125. {
  126. var exdate=new Date()
  127. exdate.setDate(exdate.getDate()+expiredays)
  128. document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : "; expires="+exdate.toGMTString()+";path=/")
  129. }