2 Copyright (C) 2011 by Cuong Le <metacuong@gmail.com>
4 This program is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program. If not, see <http://www.gnu.org/licenses/>
21 Phương Nam 1.Giác 2.Cang 3.Đe 4.Phòng 5.Tâm 6.Vĩ 7.Cơ
22 Phương Đông 8.Đẩu 9.Ngưu 10.Nữ 11.Hư 12.Nguy 13.Thất 14.Bích
23 Phương Bắc 15.Khuê 16.Lâu 17.Vị 18.Mão 19.Tất 20.Chuỷ 21.Sâm
24 Phương Tây 22.Tinh 23.Quỷ 24.Liễu 25.Tinh 26.Trương 27.Lực 28.Chẩn
25 Ngày tuần lễ Thứ Năm Thứ sáu Thứ bảy Chủ nhật Thứ hai Thứ ba Thứ tư
28 mặt trời Mộc Kim Thổ Thái dươn Thái âm Hoả Thuỷ
30 var TUAN_SAO = new Array("Giác", "Cáng", "Đê", "Phòng", "Tâm", "Vĩ", "Cơ", "Đẩu", "Ngưu","Nữ","Hư","Nguy","Thất",
31 "Bích","Khuê","Lâu","Vị","Mão","Tất","Chủy","Sâm","Tinh","Quỷ","Liễu","Tinh","Trương","Lực","Chẩn");
32 var SAO_CON_VAT = new Array("Giao Long","Rồng","Lạc","Thỏ","Hồ","Hổ","Báo","Giải","Trâu","Dơi","Chuột","Én","Lợn",
33 "Du","Lang","Chó","Trĩ","Gà","Chim","Khỉ","Vượn","Hươu Bướu","Dê","Hoẵng","Ngựa","Hươu","Rắn","Giun");
34 var SAO_THUOC = new Array("Mộc","Kim","Thổ","Thái Dương","Thái Âm","Hoả","Thuỷ","Mộc","Kim","Thổ",
35 "Thái Dương","Thái Âm","Hoả","Thuỷ","Mộc","Kim","Thổ","Thái Dương","Thái Âm","Hoả","Thuỷ",
36 "Mộc","Kim","Thổ","Thái Dương","Thái Âm","Hoả","Thuỷ")
38 function sao(curYear, totalDays) {
43 for (var j=1901;j<=curYear;j++){
59 return "Sao: <b>"+TUAN_SAO[k-1]+"</b> Thuộc: <b>"+SAO_THUOC[k-1]+"</b> Con vật: <b>"+SAO_CON_VAT[k-1]+"</b>"
62 var TRUC = new Array("Kiến", "Trừ","Mãn","Bình","Định","Chấp","Phá","Nguy","Thành","Thu","Khai","Bế");
66 var TRUC_TOT_XAU = new Array(
67 "Tốt với xuất hành, giá thú.<br>Nhưng xấu với động thổ (vì trùng với Thổ phủ)",
69 "Tốt với tế tự, cầu tài, cầu phú, xấu với các việc khác (vì trùng sao xấu)",
71 "Tốt với cầu tài, ký hợp đồng, yến tiệc xấu với tố tụng, tranh chấp, chữa bệnh (vì có Đại hao, Quan phù)",
72 "Tốt với khởi công xây dựng, xấu với xuất hành, di chuyển, khai trương",
73 "Xấu với mọi việc, riêng chữa bệnh, dỡ nhà củ, phá bỏ đồ củ là tốt",
75 "Tốt với xuất hành, giá thú, khai trương. Xấu với kiện cáo, tranh chấp",
76 "Thu hoạch tốt, kỵ khởi công, xuất hành, an táng",
77 "Tốt mọi việc, trừ động thổ, an táng",
78 "Xấu mọi việc, trừ đắp đê, lấp hố rãnh"
81 var TRUC_THANG = new Array(
82 new Array([3, 0],[4, 1],[5, 2],[6, 3],[7, 4],[8, 5],[9, 6],[10, 7],[11, 8],[12, 9],[1, 10],[2, 11]),//1
83 new Array([4, 0],[5, 1],[6, 2],[7, 3],[8, 4],[9, 5],[10, 6],[11, 7],[12, 8],[1, 9],[2, 10],[3, 11]),//2
84 new Array([5, 0],[6, 1],[7, 2],[8, 3],[9, 4],[10, 5],[11, 6],[12, 7],[1, 8],[2, 9],[3, 10],[4, 11]),//3
85 new Array([6, 0],[7, 1],[8, 2],[9, 3],[10, 4],[11, 5],[12, 6],[1, 7],[2, 8],[3, 9],[4, 10],[5, 11]),//4
86 new Array([7, 0],[8, 1],[9, 2],[10, 3],[11, 4],[12, 5],[1, 6],[2, 7],[3, 8],[4, 9],[5, 10],[6, 11]),//5
87 new Array([8, 0],[9, 1],[10, 2],[11, 3],[12, 4],[1, 5],[2, 6],[3, 7],[4, 8],[5, 9],[6, 10],[7, 11]),//6
88 new Array([9, 0],[10, 1],[11, 2],[12, 3],[1, 4],[2, 5],[3, 6],[4, 7],[5, 8],[6, 9],[7, 10],[8, 11]),//7
89 new Array([10, 0],[11, 1],[12, 2],[1, 3],[2, 4],[3, 5],[4, 6],[5, 7],[6, 8],[7, 9],[8, 10],[9, 11]),//8
90 new Array([11, 0],[12, 1],[1, 2],[2, 3],[3, 4],[4, 5],[5, 6],[6, 7],[7, 8],[8, 9],[9, 10],[10, 11]),//9
91 new Array([12, 0],[1, 1],[2, 2],[3, 3],[4, 4],[5, 5],[6, 6],[7, 7],[8, 8],[9, 9],[10, 10],[11, 11]),//10
92 new Array([1, 0],[2, 1],[3, 2],[4, 3],[5, 4],[6, 5],[7, 6],[8, 7],[9, 8],[10, 9],[11, 10],[12, 11]),//11
93 new Array([2, 0],[3, 1],[4, 2],[5, 3],[6, 4],[7, 5],[8, 6],[9, 7],[10, 8],[11, 9],[12, 10],[1, 11])//12
97 "Thanh Long Hoàng đạo",
98 "Minh Đường Hoàng đạo",
102 "Bảo Quang(Kim Đường) Hoàng đạo",
104 "Ngọc Đường Hoàng đạo",
111 var HD_MATRIX = new Array(
112 new Array([9, 0],[10, 1],[11, 2],[12, 3],[1, 4],[2, 5],[3, 6],[4, 7],[5, 8],[6, 9],[7, 10],[8, 11]),//1 Ty
113 new Array([11, 0],[12, 1],[1, 2],[2, 3],[3, 4],[4, 5],[5, 6],[6, 7],[7, 8],[8, 9],[9, 10],[10, 11]),//2 Suu
114 new Array([1, 0],[2, 1],[3, 2],[4, 3],[5, 4],[6, 5],[7, 6],[8, 7],[9, 8],[10, 9],[11, 10],[12, 11]),//3 Dan
115 new Array([3, 0],[4, 1],[5, 2],[6, 3],[7, 4],[8, 5],[9, 6],[10, 7],[11, 8],[12, 9],[1, 10],[2, 11]),//4 Mao
116 new Array([5, 0],[6, 1],[7, 2],[8, 3],[9, 4],[10, 5],[11, 6],[12, 7],[1, 8],[2, 9],[3, 10],[4, 11]),//5 Thin
117 new Array([7, 0],[8, 1],[9, 2],[10, 3],[11, 4],[12, 5],[1, 6],[2, 7],[3, 8],[4, 9],[5, 10],[6, 11]),//6 Ty
118 new Array([9, 0],[10, 1],[11, 2],[12, 3],[1, 4],[2, 5],[3, 6],[4, 7],[5, 8],[6, 9],[7, 10],[8, 11]),//7 Ngo
119 new Array([11, 0],[12, 1],[1, 2],[2, 3],[3, 4],[4, 5],[5, 6],[6, 7],[7, 8],[8, 9],[9, 10],[10, 11]),//8 Mui
120 new Array([1, 0],[2, 1],[3, 2],[4, 3],[5, 4],[6, 5],[7, 6],[8, 7],[9, 8],[10, 9],[11, 10],[12, 11]),//9 Than
121 new Array([3, 0],[4, 1],[5, 2],[6, 3],[7, 4],[8, 5],[9, 6],[10, 7],[11, 8],[12, 9],[1, 10],[2, 11]),//10 Dau
122 new Array([5, 0],[6, 1],[7, 2],[8, 3],[9, 4],[10, 5],[11, 6],[12, 7],[1, 8],[2, 9],[3, 10],[4, 11]),//11 Tuat
123 new Array([7, 0],[8, 1],[9, 2],[10, 3],[11, 4],[12, 5],[1, 6],[2, 7],[3, 8],[4, 9],[5, 10],[6, 11])//12 Hoi
129 function truc(lunarMonth, lunarDayCanChi, lunarMonthCanChi){
130 var CHI = lunarDayCanChi.split(" ")[1];
131 var MCHI = lunarMonthCanChi.split(" ")[1];
136 case "Tý": chi_so_gia=1; break;
137 case "Sửu": chi_so_gia=2; break;
138 case "Dần": chi_so_gia=3; break;
139 case "Mão": chi_so_gia=4; break;
140 case "Thìn": chi_so_gia=5; break;
141 case "Tỵ": chi_so_gia=6; break;
142 case "Ngọ": chi_so_gia=7; break;
143 case "Mùi": chi_so_gia=8; break;
144 case "Thân": chi_so_gia=9; break;
145 case "Dậu": chi_so_gia=10; break;
146 case "Tuất": chi_so_gia=11; break;
147 case "Hợi": chi_so_gia=12; break;
150 var getTrucofMonth = TRUC_THANG[lunarMonth-1];
153 for (var i=0;i<12;i++)
154 if (getTrucofMonth[i][0]==chi_so_gia){
155 txtTruc = TRUC[getTrucofMonth[i][1]];
156 glTruc = getTrucofMonth[i][1];
163 case "Tý": chi_so_giaM=1; break;
164 case "Sửu": chi_so_giaM=2; break;
165 case "Dần": chi_so_giaM=3; break;
166 case "Mão": chi_so_giaM=4; break;
167 case "Thìn": chi_so_giaM=5; break;
168 case "Tỵ": chi_so_giaM=6; break;
169 case "Ngọ": chi_so_giaM=7; break;
170 case "Mùi": chi_so_giaM=8; break;
171 case "Thân": chi_so_giaM=9; break;
172 case "Dậu": chi_so_giaM=10; break;
173 case "Tuất": chi_so_giaM=11; break;
174 case "Hợi": chi_so_giaM=12; break;
180 if (HD_MATRIX[chi_so_giaM-1][i][0] == chi_so_gia){
181 txtLangay=HD[HD_MATRIX[chi_so_giaM-1][i][1]];
185 return "Là ngày: <b>"+txtLangay+"</b>, Trực: <b>"+txtTruc+"</b>";
189 function luangiai(curDay){
191 return TRUC_TOT_XAU[glTruc];
193 return "Tốt đối với:<br>Hơi tốt:<br>Hạn chế làm:<br>Không nên:<br>";
196 var SAO_TOT_TEN = new Array(
240 "Dân nhật, thời đức",
248 var SAO_TOT_MATRIX = new Array(
863 var SAO_TOT_TINHCHAT = new Array(
867 "Tốt mọi việc, kỵ tố tụng",
868 "Tốt mọi việc, nhất là hôn thú",
869 "Tốt mọi việc, nhất là xây dựng nhà cửa, khai trương và an táng",
871 "Tốt cho tế tự, giải oan, trừ được các sao xấu, chỉ kiêng kỵ động thổ. Nếu gặp trực khai thì rất tốt tức là ngày thiên xá gặp sinh khí",
872 "Tốt mọi việc, nhất là làm nhà, sửa nhà, động thổ, trồng cây",
876 "Tốt cho việc xuất hành, giao dịch, cầu tài lộc",
877 "Tốt cho việc cầu tài lộc, khai trương",
878 "Tốt cho việc cầu tài lộc, khai trương",
879 "Tốt cho việc cầu tài lộc, khai trương, xuất hành, di chuyển, giao dịch",
881 "Tốt cho việc làm nhà, làm gường",
883 "Tốt mọi việc, nhất là cầu phúc, tế tự",
885 "Tốt cho việc cầu tài, khai trương, giao dịch",
887 "Tốt mọi việc","Tốt mọi việc","Tốt mọi việc","Tốt mọi việc","Tốt đối với tang lễ",
888 "Tốt mọi việc","Tốt mọi việc","Tốt mọi việc",
889 "Tốt, nhưng gặp thụ tử thì xấu","Tốt cho việc tế tự,tố tụng, gải oan (trừ được các sao xấu)",
890 "Tốt mọi việc, làm phúc, giá thú, xuất hành","Tốt mọi việc, nhất là giá thú","Tốt mọi việc, nhất là giá thú",
891 "Tốt mọi việc, nhất là giá thú","Tốt mọi việc, nhất là xuất hành","Tốt mọi việc","Tốt mọi việc","Tốt về cầu tài lộc, khai trương",
892 "Tốt về cầu tài lộc, khai trương","Tốt mọi việc","Tốt mọi việc","Hoàng Đạo - Tốt mọi việc","Hoàng Đạo - Tốt mọi việc",
893 "Hoàng Đạo - Tốt mọi việc","Hoàng Đạo - Tốt mọi việc"
897 var SAO_XAU_TEN = new Array(
900 "Thiên Ngục Thiên Hoả",
915 "Nguyệt Hoả Độc Hoả",
924 "Băng tiêu ngoạ hãm",
941 "Thiên địa chính chuyển",
942 "Thiên địa chuyển sát",
957 var SAO_XAU_MATRIX= new Array(
1668 function cacsaotot(lunarMonth, lunarDayCanChi){
1669 var CHI = lunarDayCanChi.split(" ")[1];
1670 var CAN = lunarDayCanChi.split(" ")[0];
1674 case "Tý": chi_so_gia=1; break;
1675 case "Sửu": chi_so_gia=2; break;
1676 case "Dần": chi_so_gia=3; break;
1677 case "Mão": chi_so_gia=4; break;
1678 case "Thìn": chi_so_gia=5; break;
1679 case "Tỵ": chi_so_gia=6; break;
1680 case "Ngọ": chi_so_gia=7; break;
1681 case "Mùi": chi_so_gia=8; break;
1682 case "Thân": chi_so_gia=9; break;
1683 case "Dậu": chi_so_gia=10; break;
1684 case "Tuất": chi_so_gia=11; break;
1685 case "Hợi": chi_so_gia=12; break;
1691 case "Giáp": can_so_gia=1; break;
1692 case "Ất": can_so_gia=2; break;
1693 case "Bính": can_so_gia=3; break;
1694 case "Đinh": can_so_gia=4; break;
1695 case "Mậu": can_so_gia=5; break;
1696 case "Kỷ": can_so_gia=6; break;
1697 case "Canh": can_so_gia=7; break;
1698 case "Tân": can_so_gia=8; break;
1699 case "Nhâm": can_so_gia=9; break;
1700 case "Quý": can_so_gia=10; break;
1703 var final_can_so_gia = can_so_gia + 12;
1709 for (var j=0;j<=48;j++){
1711 if (lunarDayCanChi == SAO_TOT_MATRIX[lunarMonth-1][j] || SAO_TOT_MATRIX[lunarMonth-1][j].indexOf(CAN) != -1 || SAO_TOT_MATRIX[lunarMonth-1][j].indexOf(CHI) != -1)
1713 SAOTOT = SAO_TOT_TEN[j];
1716 SAOTOT += ", "+SAO_TOT_TEN[j];
1722 function cacsaoxau(lunarMonth, lunarDayCanChi){
1723 var CHI = lunarDayCanChi.split(" ")[1];
1724 var CAN = lunarDayCanChi.split(" ")[0];
1728 case "Tý": chi_so_gia=1; break;
1729 case "Sửu": chi_so_gia=2; break;
1730 case "Dần": chi_so_gia=3; break;
1731 case "Mão": chi_so_gia=4; break;
1732 case "Thìn": chi_so_gia=5; break;
1733 case "Tỵ": chi_so_gia=6; break;
1734 case "Ngọ": chi_so_gia=7; break;
1735 case "Mùi": chi_so_gia=8; break;
1736 case "Thân": chi_so_gia=9; break;
1737 case "Dậu": chi_so_gia=10; break;
1738 case "Tuất": chi_so_gia=11; break;
1739 case "Hợi": chi_so_gia=12; break;
1745 case "Giáp": can_so_gia=1; break;
1746 case "Ất": can_so_gia=2; break;
1747 case "Bính": can_so_gia=3; break;
1748 case "Đinh": can_so_gia=4; break;
1749 case "Mậu": can_so_gia=5; break;
1750 case "Kỷ": can_so_gia=6; break;
1751 case "Canh": can_so_gia=7; break;
1752 case "Tân": can_so_gia=8; break;
1753 case "Nhâm": can_so_gia=9; break;
1754 case "Quý": can_so_gia=10; break;
1757 var final_can_so_gia = can_so_gia + 12;
1763 for (var j=0;j<=48;j++){
1765 if (lunarDayCanChi == SAO_XAU_MATRIX[lunarMonth-1][j] || SAO_XAU_MATRIX[lunarMonth-1][j].indexOf(CAN) != -1 || SAO_XAU_MATRIX[lunarMonth-1][j].indexOf(CHI) != -1)
1767 SAOXAU = SAO_XAU_TEN[j];
1770 SAOXAU += ", "+SAO_XAU_TEN[j];
1776 function huong_xuat_hanh(lunarDayCanChi){
1777 var CAN = lunarDayCanChi.split(" ")[0];
1778 var hythan_huong="";
1779 var taithan_huong="";
1780 var hacthan_huong="";
1782 if (CAN == "Giáp" || CAN == "Kỷ") hythan_huong = "Đông Bắc";else
1783 if (CAN == "Ất" || CAN == "Canh") hythan_huong = "Tây Bắc";else
1784 if (CAN == "Bính" || CAN == "Tân") hythan_huong = "Tây Nam";else
1785 if (CAN == "Đinh" || CAN == "Nhâm") hythan_huong = "Nam";else
1786 hythan_huong = "Đông Nam";
1788 if (CAN == "Giáp" || CAN == "Ất") taithan_huong = "Đông Nam";else
1789 if (CAN == "Bính" || CAN == "Đinh") taithan_huong = "Đông";else
1790 if (CAN == "Mậu") taithan_huong = "Bắc";else
1791 if (CAN == "Kỷ") taithan_huong = "Nam";else
1792 if (CAN == "Canh" || CAN == "Tân") taithan_huong = "Tây Nam";else
1793 if (CAN == "Nhâm") taithan_huong = "Tây";else
1794 taithan_huong = "Tây Bắc";
1796 if (lunarDayCanChi == "Kỷ Dậu" || lunarDayCanChi == "Canh Tuất" || lunarDayCanChi == "Tân Hợi" || lunarDayCanChi == "Nhâm Tý"
1797 || lunarDayCanChi == "Quý Sửu" || lunarDayCanChi == "Giáp Dần")
1798 hacthan_huong = "Đông Bắc";
1800 if (lunarDayCanChi == "Ất Mão" || lunarDayCanChi == "Bính Thìn" || lunarDayCanChi == "Đinh Tỵ" || lunarDayCanChi == "Mậu Ngọ"
1801 || lunarDayCanChi == " Kỷ Mùi" )
1802 hacthan_huong = "Đông";
1804 if (lunarDayCanChi == "Canh Thân" || lunarDayCanChi == "Tân Dậu" || lunarDayCanChi == "Nhâm Tuất" || lunarDayCanChi == "Quý Hợi"
1805 || lunarDayCanChi == "Giáp Tý" || lunarDayCanChi == "Ất Sửu" )
1806 hacthan_huong = "Đông Nam";
1808 if (lunarDayCanChi == "Bính Dần" || lunarDayCanChi == "Đinh Mão" || lunarDayCanChi == "Mậu Thìn" || lunarDayCanChi == "Kỷ Tỵ"
1809 || lunarDayCanChi == "Canh Ngọ" )
1810 hacthan_huong = "Nam";
1812 if (lunarDayCanChi == "Tân Mùi" || lunarDayCanChi == "Nhâm Thân" || lunarDayCanChi == "Quý Dậu" || lunarDayCanChi == "Giáp Tuất"
1813 || lunarDayCanChi == "Ất Hợi" || lunarDayCanChi == "Bính Tý" )
1814 hacthan_huong = "Tây Nam";
1816 if (lunarDayCanChi == "Đinh Sửu" || lunarDayCanChi == "Mậu Dần" || lunarDayCanChi == "Kỷ Mão" || lunarDayCanChi == "Canh Thìn"
1817 || lunarDayCanChi == "Tân Tỵ" )
1818 hacthan_huong = "Tây";
1820 if (lunarDayCanChi == "Nhâm Ngọ" || lunarDayCanChi == "Quý Mùi" || lunarDayCanChi == "Giáp Thân" || lunarDayCanChi == "Ất Dậu"
1821 || lunarDayCanChi == "Bính Tuất" || lunarDayCanChi == "Đinh Hợi")
1822 hacthan_huong = "Tây Bắc";
1824 if (lunarDayCanChi == "Mậu Tý" || lunarDayCanChi == "Kỷ Sửu" || lunarDayCanChi == "Canh Dần" || lunarDayCanChi == "Tân Mão"
1825 || lunarDayCanChi == "Nhâm Thìn")
1826 hacthan_huong = "Bắc";
1828 var rfinal="• Tài Thần: <b>"+taithan_huong+"</b><br>• Hỷ Thần: <b>"+hythan_huong+"</b>";
1830 rfinal+="<br>• Hạc Thần:<b>"+hacthan_huong+"</b>";