buddhist_calendar.php 37 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103
  1. <?php
  2. require 'checklogin.inc';
  3. require 'config.php';
  4. if(isset($_GET["language"])){
  5. $currLanguage=$_GET["language"];
  6. $_COOKIE["language"]=$currLanguage;
  7. }
  8. else{
  9. if(isset($_COOKIE["language"])){
  10. $currLanguage=$_COOKIE["language"];
  11. }
  12. else{
  13. $currLanguage="en";
  14. $_COOKIE["language"]=$currLanguage;
  15. }
  16. }
  17. //load language file
  18. if(file_exists($dir_language.$currLanguage.".php")){
  19. require $dir_language.$currLanguage.".php";
  20. }
  21. else{
  22. include $dir_language."default.php";
  23. }
  24. if(isset($_GET["device"])){
  25. $currDevice=$_GET["device"];
  26. }
  27. else{
  28. if(isset($_COOKIE["device"])){
  29. $currDevice=$_COOKIE["device"];
  30. }
  31. else{
  32. $currDevice="computer";
  33. }
  34. }
  35. //修改页面编码
  36. //header("content-type:text/html;charset=utf-8");
  37. //获取当前年
  38. $year=$_GET['y']?$_GET['y']:date('Y');
  39. //获取当年月
  40. $month=$_GET['m']?$_GET['m']:date('m');
  41. //获取当前日
  42. //$selected_date=$_GET['d']?$_GET['d']:date('j');
  43. ?>
  44. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  45. <html>
  46. <head>
  47. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  48. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  49. <link type="text/css" rel="stylesheet" href="css/style.css"/>
  50. <link type="text/css" rel="stylesheet" href="css/color_day.css" id="colorchange" />
  51. <link type="text/css" rel="stylesheet" href="css/style_mobile.css" media="screen and (max-width:767px)">
  52. <title>PCD Studio</title>
  53. <script language="javascript" src="config.js"></script>
  54. <script language="javascript" src="js/common.js"></script>
  55. <script language="javascript" src="charcode/sinhala.js"></script>
  56. <script language="javascript" src="charcode/myanmar.js"></script>
  57. <script language="javascript" src="charcode/unicode.js"></script>
  58. <link type="text/css" rel="stylesheet" href="css/style.css"/>
  59. <script language="javascript" src="module/editor/language/default.js"></script>
  60. <script language="javascript" src="module/editor/language/<?php echo $currLanguage; ?>.js"></script>
  61. <script src="js/jquery-3.3.1.min.js"></script>
  62. <script language="javascript" src="module/editor_palicannon/palicannon.js"></script>
  63. <script language="javascript" src="module/editor_palicannon/language/<?php echo $currLanguage; ?>.js"></script>
  64. <style type="text/css">
  65. .BE_icon_span{
  66. width: 10em;
  67. display: inline-block;
  68. }
  69. #BE_icon{
  70. font-size: 150%;
  71. }
  72. .td_today{
  73. margin: auto;
  74. background: silver;
  75. color: black;
  76. width: 2em;
  77. }
  78. .new_moon_uposatha{
  79. background:black;
  80. border-radius: 2em;
  81. width: 2em;
  82. margin: auto;
  83. }
  84. .full_moon_uposatha{
  85. background:orange;
  86. border-radius: 2em;
  87. width: 2em;
  88. margin: auto;
  89. }
  90. .table_body{
  91. width:700px;
  92. border:1px;
  93. font-size: 150%;
  94. width: 34em;
  95. line-height: 2em;
  96. text-align: center;
  97. margin: 20px 0px;
  98. border-collapse: collapse;
  99. }
  100. .table_line{
  101. display: flex;
  102. }
  103. .table_column{
  104. border:solid;
  105. border-width: thin;
  106. flex:1;
  107. }
  108. </style>
  109. <!--加载语言文件 -->
  110. <script language="javascript" src="language/default.js"></script>
  111. <script language="javascript">
  112. <?php
  113. //加载js语言包
  114. require_once '../public/load_lang_js.php';
  115. ?>
  116. </script>
  117. //加载js语言包
  118. <!--加载语言文件结束 -->
  119. <script src="js/jquery-3.3.1.min.js"></script>
  120. <script src="js/fixedsticky.js"></script>
  121. <script type="text/javascript">
  122. var g_device = "computer";
  123. var strSertch = location.search;
  124. if(strSertch.length>0){
  125. strSertch = strSertch.substr(1);
  126. var sertchList=strSertch.split('&');
  127. for ( i in sertchList){
  128. var item = sertchList[i].split('=');
  129. if(item[0]=="device"){
  130. g_device=item[1];
  131. }
  132. }
  133. }
  134. if(g_device=="mobile"){
  135. g_is_mobile=true;
  136. }
  137. else{
  138. g_is_mobile=false;
  139. }
  140. var g_language="en";
  141. var pali_num_str=[
  142. { "id":"1" , "value":"eka" },
  143. { "id":"2" , "value":"dve" },
  144. { "id":"3" , "value":"ti" },
  145. { "id":"4" , "value":"catu" },
  146. { "id":"5" , "value":"pañca" },
  147. { "id":"6" , "value":"cha" },
  148. { "id":"7" , "value":"satta" },
  149. { "id":"8" , "value":"aṭṭha" },
  150. { "id":"9" , "value":"nava" },
  151. { "id":"10" , "value":"dasa" },
  152. { "id":"11" , "value":"ekādasa" },
  153. { "id":"12" , "value":"dvādasa " },
  154. { "id":"13" , "value":"terasa" },
  155. { "id":"14" , "value":"cuddasa" },
  156. { "id":"15" , "value":"paṇṇarasa" },
  157. { "id":"16" , "value":"soḷasa" },
  158. { "id":"17" , "value":"sattarasa" },
  159. { "id":"18" , "value":"aṭṭharasa" },
  160. { "id":"19" , "value":"ekūna-vīsati" },
  161. { "id":"20" , "value":"vīsati" },
  162. { "id":"21" , "value":"eka-vīsati" },
  163. { "id":"22" , "value":"dve-vīsati" },
  164. { "id":"23" , "value":"te-vīsati" },
  165. { "id":"24" , "value":"catu-vīsati" },
  166. { "id":"25" , "value":"pañca-vīsati" },
  167. { "id":"26" , "value":"cha-bbīsati" },
  168. { "id":"27" , "value":"satta-vīsati" },
  169. { "id":"28" , "value":"aṭṭha-vīsati" },
  170. { "id":"29" , "value":"ekūna-tiṃsati" },
  171. { "id":"30" , "value":"tiṃsati" },
  172. { "id":"31" , "value":"eka-tiṃsati" },
  173. { "id":"32" , "value":"dvattiṃsati" },
  174. { "id":"33" , "value":"tettiṃsati" },
  175. { "id":"34" , "value":"catuttiṃsati" },
  176. { "id":"35" , "value":"pañcatiṃsati" },
  177. { "id":"36" , "value":"chattiṃsati" },
  178. { "id":"37" , "value":"sattatiṃsati" },
  179. { "id":"38" , "value":"aṭṭhatiṃsati" },
  180. { "id":"39" , "value":"ekūna-cattālīsati" },
  181. { "id":"40" , "value":"cattālīsati" },
  182. { "id":"41" , "value":"eka-cattālīsati" },
  183. { "id":"42" , "value":"dve-cattālīsati" },
  184. { "id":"43" , "value":"ti-cattālīsati" },
  185. { "id":"44" , "value":"catu-cattālīsati" },
  186. { "id":"45" , "value":"pañca-cattālīsati" },
  187. { "id":"46" , "value":"cha-cattālīsati" },
  188. { "id":"47" , "value":"satta-cattālīsati" },
  189. { "id":"48" , "value":"aṭṭha-cattālīsati" },
  190. { "id":"49" , "value":"ekūna-paññāsā" },
  191. { "id":"50" , "value":"paññāsā" },
  192. { "id":"51" , "value":"eka-paññāsā" },
  193. { "id":"52" , "value":"dve-paññāsā" },
  194. { "id":"53" , "value":"ti-paññāsā" },
  195. { "id":"54" , "value":"catu-paññāsā" },
  196. { "id":"55" , "value":"pañca-paññāsā" },
  197. { "id":"56" , "value":"cha-paññāsā" },
  198. { "id":"57" , "value":"satta-paññāsā" },
  199. { "id":"58" , "value":"aṭṭha-paññāsā" },
  200. { "id":"59" , "value":"ekūna-saṭṭhi" },
  201. { "id":"60" , "value":"saṭṭhi" },
  202. { "id":"61" , "value":"eka-saṭṭhi" },
  203. { "id":"62" , "value":"dve-saṭṭhi" },
  204. { "id":"63" , "value":"ti-saṭṭhi" },
  205. { "id":"64" , "value":"catu-saṭṭhi" },
  206. { "id":"65" , "value":"pañca-saṭṭhi" },
  207. { "id":"66" , "value":"cha-saṭṭhi" },
  208. { "id":"67" , "value":"satta-saṭṭhi" },
  209. { "id":"68" , "value":"aṭṭha-saṭṭhi" },
  210. { "id":"69" , "value":"ekūna-sattati" },
  211. { "id":"70" , "value":"sattati" },
  212. { "id":"71" , "value":"eka-sattati" },
  213. { "id":"72" , "value":"dve-sattati" },
  214. { "id":"73" , "value":"ti-sattati" },
  215. { "id":"74" , "value":"catu-sattati" },
  216. { "id":"75" , "value":"pañca-sattati" },
  217. { "id":"76" , "value":"cha-sattati" },
  218. { "id":"77" , "value":"satta-sattati" },
  219. { "id":"78" , "value":"aṭṭha-sattati" },
  220. { "id":"79" , "value":"ekūnāsīti" },
  221. { "id":"80" , "value":"asīti" },
  222. { "id":"81" , "value":"eka-asīti" },
  223. { "id":"82" , "value":"dve-asīti" },
  224. { "id":"83" , "value":"ti-asīti" },
  225. { "id":"84" , "value":"catu-asīti" },
  226. { "id":"85" , "value":"pañca-asīti" },
  227. { "id":"86" , "value":"cha-asīti" },
  228. { "id":"87" , "value":"satta-asīti" },
  229. { "id":"88" , "value":"aṭṭha-asīti" },
  230. { "id":"89" , "value":"ekūna-navuti" },
  231. { "id":"90" , "value":"navuti" },
  232. { "id":"91" , "value":"eka-navuti" },
  233. { "id":"92" , "value":"dve-navuti" },
  234. { "id":"93" , "value":"ti-navuti" },
  235. { "id":"94" , "value":"catu-navuti" },
  236. { "id":"95" , "value":"pañca-navuti" },
  237. { "id":"96" , "value":"cha-navuti" },
  238. { "id":"97" , "value":"satta-navuti" },
  239. { "id":"98" , "value":"aṭṭha-navuti" },
  240. { "id":"99" , "value":"ekūna-sata" },
  241. { "id":"100" , "value":"sata" },
  242. { "id":"200" , "value":"dvi-sata" },
  243. { "id":"300" , "value":"ti-sata" },
  244. { "id":"400" , "value":"catu-sata" },
  245. { "id":"500" , "value":"pañca-sata" },
  246. { "id":"600" , "value":"cha-sata" },
  247. { "id":"700" , "value":"satta-sata" },
  248. { "id":"800" , "value":"aṭṭha-sata" },
  249. { "id":"900" , "value":"nava-sata" },
  250. { "id":"1000" , "value":"sahassa" },
  251. { "id":"2000" , "value":"dve-sahassa" },
  252. { "id":"3000" , "value":"ti-sahassa" },
  253. { "id":"4000" , "value":"catu-sahassa" },
  254. { "id":"5000" , "value":"pañca-sahassa" }
  255. ]
  256. var pali_num_str_pl=[
  257. //{ "id":"0" , "value":"na" },
  258. //{ "id":"1" , "value":"eka" },
  259. { "id":"2" , "value":"dve" },
  260. { "id":"3" , "value":"tīṇi" },
  261. { "id":"4" , "value":"cattāri" },
  262. { "id":"5" , "value":"pañca" },
  263. { "id":"6" , "value":"cha" },
  264. { "id":"7" , "value":"satta" },
  265. { "id":"8" , "value":"aṭṭha" },
  266. { "id":"9" , "value":"nava" },
  267. { "id":"10" , "value":"dasa" },
  268. { "id":"11" , "value":"ekādasa" },
  269. { "id":"12" , "value":"dvādasa " },
  270. { "id":"13" , "value":"terasa" },
  271. { "id":"14" , "value":"cuddasa" },
  272. { "id":"15" , "value":"paṇṇarasa" },
  273. { "id":"16" , "value":"soḷasa" },
  274. { "id":"17" , "value":"sattarasa" },
  275. { "id":"18" , "value":"aṭṭharasa" },
  276. { "id":"19" , "value":"ekūna-vīsati" },
  277. { "id":"20" , "value":"vīsati" },
  278. { "id":"21" , "value":"eka-vīsati" },
  279. { "id":"22" , "value":"dve-vīsati" },
  280. { "id":"23" , "value":"te-vīsati" },
  281. { "id":"24" , "value":"catu-vīsati" },
  282. { "id":"25" , "value":"pañca-vīsati" },
  283. { "id":"26" , "value":"cha-bbīsati" },
  284. { "id":"27" , "value":"satta-vīsati" },
  285. { "id":"28" , "value":"aṭṭha-vīsati" },
  286. { "id":"29" , "value":"ekūna-tiṃsati" }
  287. ]
  288. var pali_year_name=[
  289. { "id":"0" , "value":"sappa" , "icon":"🐍"},
  290. //🐀🐃🐄🐏🐑
  291. //🐭🐮🐯🐰🐲🐍🐴🐵🐔🐶🐷
  292. { "id":"1" , "value":"assa" , "icon":"🐎"},
  293. { "id":"2" , "value":"aja" , "icon":"🐐"},
  294. { "id":"3" , "value":"kapi" , "icon":"🐒"},
  295. { "id":"4" , "value":"kukkuṭa" , "icon":"🐓"},
  296. { "id":"5" , "value":"soṇa" , "icon":"🐕"},
  297. { "id":"6" , "value":"sūkara" , "icon":"🐖"},
  298. { "id":"7" , "value":"mūsika" , "icon":"🐁"},
  299. { "id":"8" , "value":"vasabha" , "icon":"🐂"},
  300. { "id":"9" , "value":"vyaggaha" , "icon":"🐅"},
  301. { "id":"10" , "value":"sasa" , "icon":"🐇"},
  302. { "id":"11" , "value":"nāga" , "icon":"🐉"}
  303. ]
  304. var pali_month_name=[
  305. { "id":"1" , "value":"jeṭṭha" , "season":"gimhāna" , "season_icon":"☀"},//5.X-四-十五-心
  306. { "id":"2" , "value":"asāḷha" , "season":"gimhāna" , "season_icon":"☀"},//6.X-五-十五、十六-箕、斗
  307. { "id":"3" , "value":"sāvana" , "season":"vassāna" , "season_icon":"☔"},//7.X-六-十五-女
  308. { "id":"4" , "value":"poṭṭhapāda" , "season":"vassāna" , "season_icon":"☔"},//8.x-七-十五、十六-室、壁
  309. { "id":"5" , "value":"assajuja" , "season":"vassāna" , "season_icon":"☔"},//9.X-八-十五-樓
  310. { "id":"6" , "value":"kattika" , "season":"vassāna" , "season_icon":"☔"},//10.X-九-十五-昂
  311. { "id":"7" , "value":"māgasira" , "season":"hemanta" , "season_icon":"❄"},//11.X-十-十五-觜
  312. { "id":"8" , "value":"phussa" , "season":"hemanta" , "season_icon":"❄"},//12.X-十一-十五-鬼
  313. { "id":"9" , "value":"māgha" , "season":"hemanta" , "season_icon":"❄"},//1.X-十二-十五-星
  314. { "id":"10" , "value":"phagguna" , "season":"hemanta" , "season_icon":"❄"},//2.X-正月-十四、十五-張、異
  315. { "id":"11" , "value":"citta" , "season":"gimhāna" , "season_icon":"☀"},//3.X-二月-十五-角
  316. { "id":"12" , "value":"vesākha" , "season":"gimhāna" , "season_icon":"☀"}//4.X-三月-十五-氐
  317. ]
  318. var pali_date_name=[
  319. { "id":"1" , "value":"paṭhamaṃ" },
  320. { "id":"2" , "value":"dutiyaṃ" },
  321. { "id":"3" , "value":"tatiyaṃ" },
  322. { "id":"4" , "value":"catutthaṃ" },
  323. { "id":"5" , "value":"pañcamaṃ" },
  324. { "id":"6" , "value":"chaṭṭhamaṃ" },
  325. { "id":"7" , "value":"sattamaṃ" },
  326. { "id":"8" , "value":"aṭṭhamaṃ" },
  327. { "id":"9" , "value":"navamaṃ" },
  328. { "id":"10" , "value":"dasamaṃ" },
  329. { "id":"11" , "value":"ekādasamaṃ" },
  330. { "id":"12" , "value":"dvādasamaṃ" },
  331. { "id":"13" , "value":"terasamaṃ" },
  332. { "id":"14" , "value":"cuddasamaṃ" },
  333. { "id":"15" , "value":"paṇṇarasamaṃ" }
  334. ]
  335. var pali_week_day_name=[
  336. { "id":"0" , "value":"ravi" ,"icon":"☀"},
  337. { "id":"1" , "value":"canda" ,"icon":"🌙"},
  338. { "id":"2" , "value":"bhumma" ,"icon":""},//土
  339. { "id":"3" , "value":"budha" ,"icon":""},//水星
  340. { "id":"4" , "value":"guru" ,"icon":""},//木星
  341. { "id":"5" , "value":"sukka" ,"icon":"♀"},//金星
  342. { "id":"6" , "value":"sora" ,"icon":"♂"}//火星
  343. ]
  344. var g_Unix_now=0;
  345. function startTime(){
  346. var today=new Date()
  347. var h=today.getHours()
  348. var m=today.getMinutes()
  349. var s=today.getSeconds()
  350. // add a zero in front of numbers<10
  351. h=checkTime(h)
  352. m=checkTime(m)
  353. s=checkTime(s)
  354. document.getElementById('clock_string').innerHTML=h+":"+m+":"+s
  355. g_Unix_now=today.getTime()
  356. t=setTimeout('startTime()',500)
  357. }
  358. function checkTime(i){
  359. if (i<10)
  360. {i="0" + i}
  361. return i
  362. }
  363. </script>
  364. </head>
  365. <body class="indexbody" onload="startTime()">
  366. <!-- tool bar begin-->
  367. <div class='index_toolbar'>
  368. <div id="index_nav">
  369. <button><a href="index.php?language=<?php echo $currLanguage; ?>"><?php echo $module_gui_str['editor']['1018'];?></a></button>
  370. <button><a href="index_pc.php?language=<?php echo $currLanguage; ?>"><?php echo $module_gui_str['editor_wizard']['1002'];?></a></button>
  371. <button><a href="filenew.php?language=<?php echo $currLanguage; ?>"><?php echo $module_gui_str['editor']['1064'];?></a></button>
  372. <button class="selected"><?php echo $module_gui_str['editor']['1052'];?></button>
  373. </div>
  374. <div class="toolgroup1">
  375. <span><?php echo $module_gui_str['editor']['1050'];?></span>
  376. <?php
  377. echo "<select id='id_language' name='menu' onchange=\"menuLangrage(this,".$year.",".$month.")\">";
  378. echo "<option value='pali' >Pāḷi Roman</option>";
  379. echo "<option value='en' >English</option>";
  380. echo "<option value='sinhala' >සිංහල</option>";
  381. echo "<option value='myanmar' >myanmar</option>";
  382. echo "<option value='zh' >简体中文</option>";
  383. echo "<option value='tw' >繁體中文</option>";
  384. echo "</select>";
  385. echo $module_gui_str['editor']['1049'];
  386. echo "<a href=\"setting.php?item=account\">";
  387. echo $_COOKIE["nickname"];
  388. echo "</a>";
  389. echo $module_gui_str['editor']['1042'];
  390. echo "<a href='login.php?op=logout'>";
  391. echo $module_gui_str['editor']['1089'];
  392. echo "</a>";
  393. ?>
  394. </div>
  395. </div>
  396. <!--tool bar end -->
  397. <script>
  398. document.getElementById("id_language").value="<?php echo($currLanguage); ?>";
  399. </script>
  400. <?php
  401. //獲取今天是幾號
  402. $cur_date=date('j');
  403. //获取当前月多少天
  404. $days=date('t',strtotime("{$year}-{$month}-1"));
  405. //選定日
  406. if($cur_date>$days){
  407. $selected_date=1;
  408. }
  409. else{
  410. $selected_date=$cur_date;
  411. }
  412. //当前一号周几
  413. $week=date('w',strtotime("{$year}-{$month}-1"));
  414. //居中
  415. echo "<br/><br/><br/>";
  416. echo "<div style='display:flex;'>";
  417. echo "<center style='display: flex;flex: 3;flex-direction: column;padding: 40px;'>";
  418. //設定vesakha日
  419. $vesakha_day=date_create("2019-5-18");
  420. $vesakha_day_1=date_sub($vesakha_day,date_interval_create_from_date_string("-354 days"));
  421. $vesakha_day=date_create("2019-5-18");
  422. //當前日差值
  423. $diff=date_diff($vesakha_day,date_create("{$year}-{$month}-{$selected_date}"));
  424. $diff_1=date_diff($vesakha_day_1,date_create("{$year}-{$month}-{$selected_date}"));
  425. $days_diff=$diff->format("%R%a");
  426. $days_diff_1=$diff_1->format("%R%a");
  427. if($days_diff_1>0){
  428. $days_diff=$days_diff_1;
  429. }
  430. //當前年差值
  431. if($diff->format("%R")=="+" && $diff_1->format("%R")=="+"){
  432. $years_diff_total=544-1+date_format($vesakha_day_1,"Y");
  433. }
  434. else if($diff->format("%R")=="+" && $diff_1->format("%R")=="-"){
  435. $years_diff_total=544-1+date_format($vesakha_day,"Y");
  436. }
  437. else{
  438. $years_diff_total=544-2+date_format($vesakha_day,"Y");
  439. }
  440. //计算上个月
  441. if($month==1){
  442. $prevyear=$year-1;
  443. $prevmonth=12;
  444. }
  445. else{
  446. $prevyear=$year;
  447. $prevmonth=$month-1;
  448. }
  449. //计算下个月
  450. if($month==12){
  451. $nextyear=$year+1;
  452. $nextmonth=1;
  453. }
  454. else{
  455. $nextyear=$year;
  456. $nextmonth=$month+1;
  457. }
  458. //生成年份名稱
  459. if($currLanguage=="en"){
  460. $year_text=$year."/";
  461. }
  462. else{
  463. $year_text="{$year}".$module_gui_str['tools']['1018'];//年
  464. }
  465. //生成月份名稱
  466. if($currLanguage=="en"){
  467. $month_text=date('F',strtotime("{$year}-{$month}-1"));
  468. }
  469. else{
  470. $month_text="{$month}".$module_gui_str['tools']['1019'];//月
  471. }
  472. //输出表头
  473. echo "<h2 style='font-size: 150%;'>";
  474. echo "<a href='buddhist_calendar.php?y={$prevyear}&m={$prevmonth}'>";
  475. echo $module_gui_str['tools']['1027'];//上一月
  476. echo "</a>|";
  477. echo $year_text;
  478. echo $month_text;
  479. echo "|<a href='buddhist_calendar.php?y={$nextyear}&m={$nextmonth}'>";
  480. echo $module_gui_str['tools']['1028'];//下一月
  481. echo "</a></h2>";
  482. //输出日期表格
  483. echo "<table class='table_body' >";
  484. echo "<tr class='table_line'>";
  485. echo "<th class='table_column'>".$module_gui_str['tools']['1026']."</th>";
  486. echo "<th class='table_column'>".$module_gui_str['tools']['1020']."</th>";
  487. echo "<th class='table_column'>".$module_gui_str['tools']['1021']."</th>";
  488. echo "<th class='table_column'>".$module_gui_str['tools']['1022']."</th>";
  489. echo "<th class='table_column'>".$module_gui_str['tools']['1023']."</th>";
  490. echo "<th class='table_column'>".$module_gui_str['tools']['1024']."</th>";
  491. echo "<th class='table_column'>".$module_gui_str['tools']['1025']."</th>";
  492. echo "</tr>";
  493. //铺表格
  494. for($i=1-$week; $i <=$days ;){
  495. echo "<tr class='table_line'>";
  496. for ($j=0; $j < 7; $j++){
  497. if ($i>$days || $i<1){
  498. echo "<td class='table_column'>&nbsp;</td>";
  499. }
  500. else if($i==$cur_date && $month==date('m')){
  501. $days_diff_X=$days_diff-$selected_date+$i;
  502. $cur_years_diff_total=$years_diff_total;
  503. $cur_days_diff=$days_diff_X;
  504. $cur_week_day=$j;
  505. echo "<td class='table_column' id='td_{$i}' onclick=\"pali_date($i,$days,$years_diff_total,$days_diff_X,$j,'".$currLanguage."')\")' ><div class='td_today'>{$i}</div>";
  506. echo "</td>";
  507. if($i==$days){
  508. $key_days_num=$days_diff_X;
  509. }
  510. }
  511. else if($i==$selected_date){
  512. $days_diff_X=$days_diff-$selected_date+$i;
  513. $cur_years_diff_total=$years_diff_total;
  514. $cur_days_diff=$days_diff_X;
  515. $cur_week_day=$j;
  516. echo "<td class='table_column' id='td_{$i}' onclick=\"pali_date($i,$days,$years_diff_total,$days_diff,$j,'".$currLanguage."')\">{$i}</td>";
  517. if($i==$days){
  518. $key_days_num=$days_diff;
  519. }
  520. }
  521. else{
  522. $days_diff_X=$days_diff-$selected_date+$i;
  523. $cur_years_diff_total=$years_diff_total;
  524. $cur_days_diff=$days_diff_X;
  525. $cur_week_day=$j;
  526. echo "<td class='table_column' id='td_{$i}' onclick=\"pali_date($i,$days,$years_diff_total,$days_diff_X,$j,'".$currLanguage."')\">{$i}</td>";
  527. if($i==$days){
  528. $key_days_num=$days_diff_X;
  529. }
  530. }
  531. $i++;
  532. }
  533. echo "</tr>";
  534. }
  535. echo "</table>";
  536. echo "<div style='display:flex; margin: 20px;'>";
  537. echo "<div style='display:grid; flex:3'>";
  538. echo "<span id='time_A_string_X' style='font-size: 150%;'></span>";
  539. echo "<span id='clock_string_X' style='font-size: 150%;'></span>";
  540. echo "<span id='time_B_string_X' style='font-size: 150%; '></span>";
  541. echo "</div>";
  542. echo "<div style='display:grid; flex:2'>";
  543. echo "<span id='time_A_string' style='font-size: 150%; '></span>";
  544. echo "<span id='clock_string' style='font-size: 150%; '></span>";
  545. echo "<span id='time_B_string' style='font-size: 150%; '></span>";
  546. echo "</div>";
  547. echo "<div style='display:grid; flex:6'>";
  548. echo "<span id='kala_judge' style='font-size: 150%; '></span>";
  549. echo "<span id='kala_inst_1' style='font-size: 150%; '></span>";
  550. echo "<span id='kala_inst_2' style='font-size: 150%; '></span>";
  551. echo "</div>";
  552. echo "</div>";
  553. echo "<span id='key_num_string' style='display: none; '>{$key_days_num}-{$days}-{$year}</span>";
  554. if($cur_years_diff_total!=null && $cur_days_diff!=null && $cur_week_day!=null){
  555. echo "<span id='cur_day_string' style='display: none; '>{$cur_date}-{$days}-{$cur_years_diff_total}-{$cur_days_diff}-{$cur_week_day}-{$currLanguage}</span>";
  556. }
  557. echo "</center>";
  558. date_default_timezone_set("Asia/Rangoon");
  559. $Unix_now_time=strtotime("now");
  560. $sun_info=date_sun_info(strtotime("now"),14.150142,98.226393);//7.738562,80.519675
  561. $sun_info_1=date_sun_info(strtotime("+1 day"),7.738562,80.519675);
  562. $Unix_dawn=$sun_info['civil_twilight_begin']*1000;
  563. $Unix_dawn_1=$sun_info_1['civil_twilight_begin']*1000;
  564. $Unix_noon=($sun_info['sunrise']+$sun_info['sunset'])/2*1000;
  565. $Unix_noon_1=($sun_info_1['sunrise']+$sun_info_1['sunset'])/2*1000;
  566. echo "<span id='time_string' style='display: none; '>{$Unix_dawn}-{$Unix_noon}-{$Unix_dawn_1}-{$Unix_noon_1}</span>";
  567. //echo date("H:i:s",$Unix_dawn)."<br/>";
  568. //echo date("H:i:s",$Unix_noon)."<br/>";
  569. //太陽赤緯
  570. $diff_time=strtotime("now")-date_timestamp_get(date_create("{$year}-01-1"));
  571. $N=$diff_time/1000/3600/24;
  572. $year_day=366-ceil($year%4/4);
  573. $b=2*pi()*($N-1)/$year_day;
  574. $sun_angle=0.006918-0.399912*cos($b)+0.070257*sin($b)-0.006758*cos($b*2)+0.000907*sin($b*2)-0.002697*cos($b*3)+0.00148*sin($b*3);
  575. //echo "<button onclick='set_uposatha_day()'>set uposatha</button>";
  576. echo "<div id='pali_era' style='font-size: 150%;width: 40em;display: flex;flex: 7;padding: 40px;flex-direction: column;'>";
  577. echo "<div id='pali_era_graph' style='display:grid;flex:3;'></div>";
  578. echo "<div id='pali_era_pali' style='display:grid;flex:7;'></div>";
  579. echo "</div>";
  580. //echo date_format($vesakha_day,"Y-m-d")."|".date_format($vesakha_day_1,"Y-m-d")
  581. echo "</div>";
  582. ?>
  583. <script language="javascript">
  584. dawn_noon_display();
  585. function dawn_noon_display(){
  586. var Unix_string=document.getElementById('time_string').innerHTML
  587. var Unix_Array=Unix_string.split("-");
  588. var time_A=new Date();
  589. var time_B=new Date();
  590. $("#clock_string_X").html(local_gui.now_time+":")
  591. if(g_Unix_now<Unix_Array[0]){
  592. time_B.setTime(Unix_Array[0])
  593. $("#time_B_string_X").html(local_gui.twilight_time+":");
  594. $("#time_B_string").html(set_time_string(time_B));
  595. $("#kala_judge").html("【"+local_gui.vikala+"】");
  596. $("#kala_inst_1").html(local_gui.no_string+local_gui.eat);
  597. $("#kala_inst_2").html(local_gui.need_inform+local_gui.no_string+local_gui.gama_entry);
  598. }
  599. else if(g_Unix_now>=Unix_Array[0] && g_Unix_now<Unix_Array[1]){
  600. time_A.setTime(Unix_Array[0])
  601. time_B.setTime(Unix_Array[1])
  602. $("#time_A_string_X").html(local_gui.twilight_time+":");
  603. $("#time_A_string").html(set_time_string(time_A));
  604. $("#time_B_string_X").html(local_gui.noon_time+":");
  605. $("#time_B_string").html(set_time_string(time_B));
  606. $("#kala_judge").html("【"+local_gui.kala+"】");
  607. $("#kala_inst_1").html(local_gui.yes_string+local_gui.eat);
  608. $("#kala_inst_2").html(local_gui.need_inform+local_gui.yes_string+local_gui.gama_entry);
  609. }
  610. else if(g_Unix_now>=Unix_Array[1] && g_Unix_now<Unix_Array[2]){
  611. time_A.setTime(Unix_Array[1])
  612. time_B.setTime(Unix_Array[2])
  613. $("#time_A_string_X").html(local_gui.noon_time+":");
  614. $("#time_A_string").html(set_time_string(time_A));
  615. $("#time_B_string_X").html(local_gui.twilight_time+":");
  616. $("#time_B_string").html(set_time_string(time_B));
  617. $("#kala_judge").html("【"+local_gui.vikala+"】");
  618. $("#kala_inst_1").html(local_gui.no_string+local_gui.eat);
  619. $("#kala_inst_2").html(local_gui.need_inform+local_gui.no_string+local_gui.gama_entry);
  620. }
  621. t=setTimeout('dawn_noon_display()',1000)
  622. }
  623. function set_time_string(date_obj){
  624. var hh=date_obj.getHours()
  625. var mm=date_obj.getMinutes()
  626. var ss=date_obj.getSeconds()
  627. // add a zero in front of numbers<10
  628. hh=checkTime(hh)
  629. mm=checkTime(mm)
  630. ss=checkTime(ss)
  631. return(hh+":"+mm+":"+ss)
  632. }
  633. function menuLangrage(obj,year,month){
  634. g_language=obj.value;
  635. setCookie('language',g_language,365);
  636. window.location.assign("buddhist_calendar.php?language="+g_language+"&y="+year+"&m="+month);
  637. }
  638. set_uposatha_day();
  639. set_cur_day_era();
  640. function set_cur_day_era(){
  641. if(document.getElementById('cur_day_string')!=null){
  642. var cur_day_string=document.getElementById('cur_day_string').innerHTML;
  643. var cur_date=cur_day_string.split("-")[0];
  644. var cur_years_diff_total=cur_day_string.split("-")[1];
  645. var cur_days_diff=cur_day_string.split("-")[2];
  646. var cur_week_day=cur_day_string.split("-")[3];
  647. var currLanguage=cur_day_string.split("-")[4];
  648. pali_date(cur_date,cur_years_diff_total,cur_days_diff,cur_week_day,currLanguage);
  649. }
  650. }
  651. function set_uposatha_day(){
  652. var key_num=document.getElementById('key_num_string').innerHTML;
  653. var total_days=key_num.split("-")[0];
  654. var month_days=key_num.split("-")[1];
  655. var year=key_num.split("-")[2];
  656. for(i_uposatha=1;i_uposatha<=month_days;i_uposatha++){
  657. var pres_obj=pali_date_num(year,total_days-month_days+i_uposatha)[1];
  658. var uposatha_obj=uposatha_calculator(pres_obj.month,pres_obj.day);
  659. var day_id="td_"+i_uposatha;
  660. if(uposatha_obj.uposatha && uposatha_obj.pakkha=="kāla"){
  661. //document.getElementById(day_id).innerHTML+="<svg class='icon'><use xlink:href='svg/icon.svg#new_moon'></use></svg>";
  662. document.getElementById(day_id).innerHTML="<div class='new_moon_uposatha' >"+i_uposatha+"</div>";
  663. }
  664. else if(uposatha_obj.uposatha && uposatha_obj.pakkha=="sukka"){
  665. //document.getElementById(day_id).innerHTML+="<svg class='icon'><use xlink:href='svg/icon.svg#full_moon'></use></svg>";
  666. document.getElementById(day_id).innerHTML="<div class='full_moon_uposatha' >"+i_uposatha+"</div>";
  667. }
  668. }
  669. }
  670. function pali_date_num(year,days){
  671. var date_num_array=new Array;
  672. var past_obj=new Object;
  673. var pres_obj=new Object;
  674. var left_obj=new Object;
  675. past_obj.year=Number(year);
  676. pres_obj.year=Number(year)+1;
  677. left_obj.year=5000-Number(year)-1;
  678. if(days%59<=30 && days%59!=0){//奇數月
  679. past_obj.month=Math.floor(days/59)*2;
  680. pres_obj.month=past_obj.month+1
  681. past_obj.day=days%59-1;
  682. pres_obj.day=days%59;
  683. pres_obj.month_length=30;
  684. if(pres_obj.month>=13){
  685. pres_obj.month=pres_obj.month%12;
  686. past_obj.month=pres_obj.month-1;
  687. past_obj.year=past_obj.year+Math.floor(pres_obj.month/12);
  688. pres_obj.year=past_obj.year+1;
  689. }
  690. }
  691. else if(days%59>30){//偶數月
  692. past_obj.month=Math.floor(days/59)*2+1;
  693. pres_obj.month=past_obj.month+1
  694. past_obj.day=days%59-30-1;
  695. pres_obj.day=past_obj.day+1
  696. pres_obj.month_length=29;
  697. }
  698. else if(days%59==0){//偶數月最後一天
  699. past_obj.month=days/59*2-1;
  700. pres_obj.month=past_obj.month+1
  701. past_obj.day=28;
  702. pres_obj.day=29;
  703. pres_obj.month_length=29;
  704. }
  705. left_obj.month=12-past_obj.month-1;
  706. left_obj.day=pres_obj.month_length-past_obj.day-1;
  707. date_num_array.push(past_obj,pres_obj,left_obj);
  708. return(date_num_array);
  709. }
  710. function pali_date(id,m_days,year,days,week_day,currLanguage){
  711. //改變日曆中選中日的樣式
  712. for(var i_date=1;i_date<=m_days;i_date++){
  713. $("#td_"+i_date)[0].style="";
  714. }
  715. $("#td_"+id)[0].style="background:purple;";
  716. //佛曆數據解析
  717. var date_num_array=pali_date_num(year,days);
  718. var past=date_num_array[0];
  719. var pres=date_num_array[1];
  720. var left=date_num_array[2];
  721. //生成佛曆圖表外殻
  722. var pres_date_string ="<span>"+local_gui.today+local_gui.BE+"</span>";
  723. pres_date_string+="<span style='font-size: 400%;'>";
  724. pres_date_string+=pres.year+local_gui.year_1;
  725. pres_date_string+=pres.month+local_gui.month_1;
  726. pres_date_string+=pres.day+local_gui.day+"</span>";
  727. pres_date_string+="<span id='BE_icon'></span>";
  728. $("#pali_era_graph").html(pres_date_string);
  729. //生成佛曆巴利外殻
  730. var past_date_string_pali ="<span id='past_string'></span>";
  731. var pres_date_string_pali ="<span id='pres_string'></span>";
  732. var left_date_string_pali ="<span id='left_string'></span>";
  733. var output_string_pali = past_date_string_pali+left_date_string_pali+pres_date_string_pali;
  734. $("#pali_era_pali").html(output_string_pali);
  735. //寫入佛曆圖表數據
  736. var pres_language_string_0= "";
  737. pres_language_string_0+=get_year_name(pres.year).string_0;
  738. pres_language_string_0+=get_month_name(pres.month,pres.day).string_0;
  739. pres_language_string_0+=get_week_day_name(week_day).string_0;
  740. var past_date_string ="<div>"+local_gui.dhamma_time+"</div>"
  741. past_date_string+="<div><span class='BE_icon_span'>"+local_gui.past+":</span>";
  742. past_date_string+=past.year+local_gui.years;
  743. past_date_string+=past.month+local_gui.months;
  744. past_date_string+=past.day+local_gui.days+"</div>";
  745. var left_date_string= "<div><span class='BE_icon_span'>"+local_gui.left+":</span>";
  746. left_date_string+=left.year+local_gui.years
  747. left_date_string+=left.month+local_gui.months
  748. left_date_string+=left.day+local_gui.days+"</div>";
  749. $('#BE_icon').html(pres_language_string_0+"<br>"+past_date_string+left_date_string);
  750. //解析佛曆數據為文字
  751. var past_language_string="";
  752. var pres_language_string="";
  753. var left_language_string="";
  754. var pali_begin="idāni kho pana ";
  755. var pali_past_end=" atikkantāni.";
  756. var pali_left_end=" avasiṭṭhāni.";
  757. if(past.day==1 && past.month!=0){
  758. past_language_string+=pali_begin;
  759. past_language_string+=get_year_pali_string(past.year)+"ceva, ";
  760. past_language_string+=get_day_pali_string(past.day).pre;
  761. past_language_string+=get_month_pali_string(past.month).suff
  762. past_language_string+=pali_past_end;
  763. }
  764. else if(past.day==1 && past.month==0){
  765. past_language_string+=pali_begin;
  766. past_language_string+=get_day_pali_string(past.day).pre;
  767. past_language_string+=get_year_pali_string(past.year);
  768. past_language_string+=get_month_pali_string(past.month).suff
  769. past_language_string+=pali_past_end;
  770. }
  771. else if(past.day==0 && past.month==1){
  772. past_language_string+=pali_begin;
  773. past_language_string+=get_day_pali_string(past.month).pre;
  774. past_language_string+=get_year_pali_string(past.year)+"ceva, "
  775. past_language_string+=get_month_pali_string(past.day).suff
  776. past_language_string+=pali_past_end;
  777. }
  778. else if(past.day==0 && past.month>1){
  779. past_language_string+=pali_begin;
  780. past_language_string+=get_year_pali_string(past.year)
  781. past_language_string+=get_month_pali_string(past.month).suff;
  782. past_language_string+=get_day_pali_string(past.day).suff;
  783. past_language_string+=pali_past_end;
  784. }
  785. else{
  786. past_language_string+=pali_begin;
  787. past_language_string+=get_year_pali_string(past.year)
  788. past_language_string+=get_month_pali_string(past.month).suff+"ca, ";
  789. past_language_string+=get_day_pali_string(past.day).suff;
  790. past_language_string+=pali_past_end;
  791. }
  792. if(left.day==1 && left.month!=0){
  793. left_language_string+=get_year_pali_string(left.year)+"ceva, ";
  794. left_language_string+=get_day_pali_string(left.day).pre;
  795. left_language_string+=get_month_pali_string(left.month).suff;
  796. left_language_string+=pali_left_end;
  797. }
  798. else if(left.day==1 && left.month==0){
  799. left_language_string+=get_day_pali_string(left.day).pre;
  800. left_language_string+=get_year_pali_string(left.year);
  801. left_language_string+=get_month_pali_string(left.month).suff
  802. left_language_string+=pali_left_end;
  803. }
  804. else if(left.day==0 && left.month==1){
  805. left_language_string+=get_day_pali_string(left.month).pre;
  806. left_language_string+=get_year_pali_string(left.year)+"ceva, ";
  807. left_language_string+=get_month_pali_string(left.day).suff
  808. left_language_string+=pali_left_end;
  809. }
  810. else if(left.day==0 && left.month>1){
  811. left_language_string+=get_year_pali_string(left.year);
  812. left_language_string+=get_month_pali_string(left.month).suff;
  813. left_language_string+=get_day_pali_string(left.day).suff;
  814. left_language_string+=pali_left_end;
  815. }
  816. else{
  817. left_language_string+=get_year_pali_string(left.year);
  818. left_language_string+=get_month_pali_string(left.month).suff+"ca, ";
  819. left_language_string+=get_day_pali_string(left.day).suff;
  820. left_language_string+=pali_left_end;
  821. }
  822. pres_language_string+=get_year_name(pres.year).string_1;
  823. pres_language_string+=get_month_name(pres.month,pres.day).string_1;
  824. pres_language_string+=get_week_day_name(week_day).string_1;
  825. switch(currLanguage){
  826. case "sinhala":
  827. for(i_sinhala in char_unicode_to_si_n){
  828. eval("past_language_string=past_language_string.replace(/"+char_unicode_to_si_n[i_sinhala].id+"/g,char_unicode_to_si_n[i_sinhala].value);");
  829. eval("pres_language_string=pres_language_string.replace(/"+char_unicode_to_si_n[i_sinhala].id+"/g,char_unicode_to_si_n[i_sinhala].value);");
  830. eval("left_language_string=left_language_string.replace(/"+char_unicode_to_si_n[i_sinhala].id+"/g,char_unicode_to_si_n[i_sinhala].value);");
  831. }
  832. break;
  833. case "myanmar":
  834. for(r_to_m_i in char_roman_to_myn){
  835. eval("past_language_string=past_language_string.replace(/"+char_roman_to_myn[r_to_m_i].id+"/g,char_roman_to_myn[r_to_m_i].value);");
  836. eval("pres_language_string=pres_language_string.replace(/"+char_roman_to_myn[r_to_m_i].id+"/g,char_roman_to_myn[r_to_m_i].value);");
  837. eval("left_language_string=left_language_string.replace(/"+char_roman_to_myn[r_to_m_i].id+"/g,char_roman_to_myn[r_to_m_i].value);");
  838. }
  839. break;
  840. default:
  841. past_language_string=past_language_string.charAt(0).toUpperCase()+past_language_string.slice(1);
  842. left_language_string=left_language_string.charAt(0).toUpperCase()+left_language_string.slice(1);
  843. //pres_language_string=pres_language_string;
  844. var new_string=pres_language_string.charAt(0).toUpperCase();
  845. new_string+=pres_language_string.split('\. ')[0].slice(1)+". ";
  846. new_string+=pres_language_string.split('\. ')[1].charAt(0).toUpperCase();
  847. new_string+=pres_language_string.split('\. ')[1].slice(1);
  848. pres_language_string=new_string;
  849. }
  850. $('#past_string').html(past_language_string);
  851. $('#pres_string').html(pres_language_string);
  852. $('#left_string').html(left_language_string);
  853. }
  854. function get_year_pali_string(year){
  855. if(year>999){
  856. year=year.toString()
  857. Tp=year.charAt(0)*1000;
  858. Hp=year.charAt(1)*100;
  859. Sp=year.slice(2,4);
  860. }
  861. for(i_year in pali_num_str){
  862. if(Tp==pali_num_str[i_year].id){
  863. var Tp_string=pali_num_str[i_year].value;
  864. }
  865. if(Hp==pali_num_str[i_year].id){
  866. var Hp_string=pali_num_str[i_year].value;
  867. }
  868. if(Sp==pali_num_str[i_year].id){
  869. var Sp_string=pali_num_str[i_year].value;
  870. }
  871. }
  872. if(year==1){
  873. var year_pali_end=" saṃvaccharaṃ ceva, ";
  874. }
  875. else{
  876. var year_pali_end=" saṃvaccharāni ";
  877. }
  878. var year_string=Tp_string+"-"+Hp_string+"-"+Sp_string+year_pali_end;
  879. return(year_string);
  880. }
  881. function get_month_pali_string(month){
  882. var month_obj=new Object;
  883. if(month>=2){
  884. month=month.toString();
  885. for(i_month in pali_num_str_pl){
  886. if(month==pali_num_str_pl[i_month].id){
  887. var month_num_string=pali_num_str_pl[i_month].value;
  888. }
  889. }
  890. month_obj.suff=month_num_string+" māsāni "
  891. month_obj.pre="";
  892. }
  893. else if(month==1){
  894. month_obj.suff="dve-pakkhāni";
  895. month_obj.pre="eka-māsādhika-";
  896. }
  897. else if(month==0){
  898. month_obj.suff="";
  899. month_obj.pre="";
  900. }
  901. return(month_obj);
  902. }
  903. function get_day_pali_string(day){
  904. var day_obj=new Object;
  905. if(day>=2){
  906. day=day.toString();
  907. for(i_day in pali_num_str_pl){
  908. if(day==pali_num_str_pl[i_day].id){
  909. var day_num_string=pali_num_str_pl[i_day].value;
  910. }
  911. }
  912. day_obj.suff=day_num_string+" divasāni "
  913. day_obj.pre="";
  914. }
  915. else if(day==1){
  916. day_obj.suff="";
  917. day_obj.pre="eka-divasādhika-";
  918. }
  919. else if(day==0){
  920. day_obj.suff="";
  921. day_obj.pre="";
  922. }
  923. return(day_obj);
  924. }
  925. function get_year_name(year){
  926. var year_num=year%12;
  927. var year_name_string=new Object;
  928. for(i_year_name in pali_year_name){
  929. if(year_num==pali_year_name[i_year_name].id){
  930. year_name_string.value=pali_year_name[i_year_name].value;
  931. year_name_string.icon=pali_year_name[i_year_name].icon;
  932. }
  933. }
  934. year_name_string.string_0 ="<div><span class='BE_icon_span'>"+local_gui.year_0+"</span>";
  935. year_name_string.string_0+=year_name_string.icon+"</div>";
  936. year_name_string.string_1="ayaṃ "+year_name_string.value+"-saṃvacchare ";
  937. return(year_name_string);
  938. }
  939. function uposatha_calculator(month,day){
  940. var day_obj=new Object;
  941. if(month%2==1){
  942. var days_per_month=30;
  943. }
  944. else{
  945. var days_per_month=29;
  946. }
  947. if(days_per_month==30){
  948. if(day<=15){
  949. day_obj.day=day;
  950. day_obj.pakkha="kāla";
  951. day_obj.pakkha_icon="🌖→🌑";
  952. if(day==15){
  953. day_obj.uposatha=true;
  954. }
  955. else{
  956. day_obj.uposatha=false;
  957. }
  958. }
  959. else{
  960. day_obj.day=day-15;
  961. day_obj.pakkha="sukka";//🌕🌗🌗🌒🌓🌔🌝🌚🌞🌜🌛
  962. day_obj.pakkha_icon="🌒→🌕";
  963. if(day==30){
  964. day_obj.uposatha=true;
  965. }
  966. else{
  967. day_obj.uposatha=false;
  968. }
  969. }
  970. }
  971. else if(days_per_month==29){
  972. if(day<=14){
  973. day_obj.day=day;
  974. day_obj.pakkha="kāla";
  975. day_obj.pakkha_icon="🌖→🌑";
  976. if(day==14){
  977. day_obj.uposatha=true;
  978. }
  979. else{
  980. day_obj.uposatha=false;
  981. }
  982. }
  983. else{
  984. day_obj.day=day-14;
  985. day_obj.pakkha="sukka";
  986. day_obj.pakkha_icon="🌒→🌕";
  987. if(day==29){
  988. day_obj.uposatha=true;
  989. }
  990. else{
  991. day_obj.uposatha=false;
  992. }
  993. }
  994. }
  995. return(day_obj);
  996. }
  997. function get_month_name(month,day){
  998. var return_string=new Object;
  999. for(i_month_name in pali_month_name){
  1000. if(month==pali_month_name[i_month_name].id){
  1001. var month_name_string=pali_month_name[i_month_name].value;
  1002. var season_name_string=pali_month_name[i_month_name].season;
  1003. var season_icon_string=pali_month_name[i_month_name].season_icon;
  1004. }
  1005. }
  1006. return_string.string_0 ="<div><span class='BE_icon_span'>"+local_gui.season+"</span>";
  1007. return_string.string_0+=season_icon_string+"</div>";
  1008. return_string.string_0+="<div><span class='BE_icon_span'>"+local_gui.month+"</span>";
  1009. return_string.string_0+=month_name_string+"</div>";
  1010. return_string.string_1=season_name_string+"-utu. "
  1011. return_string.string_1+="asmiṃ utumhi "+month_name_string+"-māsassa ";
  1012. var day_object=uposatha_calculator(month,day);
  1013. for(i_day_name in pali_date_name){
  1014. if(day_object.day==pali_date_name[i_day_name].id){
  1015. day_name_string=pali_date_name[i_day_name].value;
  1016. var day_num_string=day_object.day
  1017. }
  1018. }
  1019. var pakkha_name_string=day_object.pakkha+"-pakkhe "+day_name_string;
  1020. return_string.string_0+="<div><span class='BE_icon_span'>"+local_gui.pakkha+"</span>";
  1021. return_string.string_0+=day_object.pakkha_icon+"</div>";
  1022. return_string.string_0+="<div><span class='BE_icon_span'>"+local_gui.date+"</span>";
  1023. return_string.string_0+=day_num_string+"</div>";
  1024. return_string.string_1+=pakkha_name_string+", ";
  1025. return(return_string);
  1026. }
  1027. function get_week_day_name(week_day){
  1028. var week_day_string=new Object;
  1029. for(i_week in pali_week_day_name){
  1030. if(week_day==pali_week_day_name[i_week].id){
  1031. week_day_string.string_0=pali_week_day_name[i_week].value
  1032. week_day_string.string_1=pali_week_day_name[i_week].value
  1033. }
  1034. }
  1035. week_day_string.string_0="<div><span class='BE_icon_span'>"+local_gui.week_day+"</span>"+week_day_string.string_0+"</div>";
  1036. week_day_string.string_1+="-varamidan’ti daṭṭhabbaṃ."
  1037. return(week_day_string);
  1038. }
  1039. </script>