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(
1030 function cacsaotot(lunarMonth, lunarDayCanChi){
1031 var CHI = lunarDayCanChi.split(" ")[1];
1032 var CAN = lunarDayCanChi.split(" ")[0];
1036 case "Tý": chi_so_gia=1; break;
1037 case "Sửu": chi_so_gia=2; break;
1038 case "Dần": chi_so_gia=3; break;
1039 case "Mão": chi_so_gia=4; break;
1040 case "Thìn": chi_so_gia=5; break;
1041 case "Tỵ": chi_so_gia=6; break;
1042 case "Ngọ": chi_so_gia=7; break;
1043 case "Mùi": chi_so_gia=8; break;
1044 case "Thân": chi_so_gia=9; break;
1045 case "Dậu": chi_so_gia=10; break;
1046 case "Tuất": chi_so_gia=11; break;
1047 case "Hợi": chi_so_gia=12; break;
1053 case "Giáp": can_so_gia=1; break;
1054 case "Ất": can_so_gia=2; break;
1055 case "Bính": can_so_gia=3; break;
1056 case "Đinh": can_so_gia=4; break;
1057 case "Mậu": can_so_gia=5; break;
1058 case "Kỷ": can_so_gia=6; break;
1059 case "Canh": can_so_gia=7; break;
1060 case "Tân": can_so_gia=8; break;
1061 case "Nhâm": can_so_gia=9; break;
1062 case "Quý": can_so_gia=10; break;
1065 var final_can_so_gia = can_so_gia + 12;
1072 for (var j=0;j<=48;j++){
1074 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)
1076 SAOTOT = SAO_TOT_TEN[j];
1083 SAOTOT += rchar+SAO_TOT_TEN[j];
1091 function cacsaoxau(lunarMonth, lunarDayCanChi){
1092 var CHI = lunarDayCanChi.split(" ")[1];
1093 var CAN = lunarDayCanChi.split(" ")[0];
1097 case "Tý": chi_so_gia=1; break;
1098 case "Sửu": chi_so_gia=2; break;
1099 case "Dần": chi_so_gia=3; break;
1100 case "Mão": chi_so_gia=4; break;
1101 case "Thìn": chi_so_gia=5; break;
1102 case "Tỵ": chi_so_gia=6; break;
1103 case "Ngọ": chi_so_gia=7; break;
1104 case "Mùi": chi_so_gia=8; break;
1105 case "Thân": chi_so_gia=9; break;
1106 case "Dậu": chi_so_gia=10; break;
1107 case "Tuất": chi_so_gia=11; break;
1108 case "Hợi": chi_so_gia=12; break;
1114 case "Giáp": can_so_gia=1; break;
1115 case "Ất": can_so_gia=2; break;
1116 case "Bính": can_so_gia=3; break;
1117 case "Đinh": can_so_gia=4; break;
1118 case "Mậu": can_so_gia=5; break;
1119 case "Kỷ": can_so_gia=6; break;
1120 case "Canh": can_so_gia=7; break;
1121 case "Tân": can_so_gia=8; break;
1122 case "Nhâm": can_so_gia=9; break;
1123 case "Quý": can_so_gia=10; break;
1126 var final_can_so_gia = can_so_gia + 12;
1133 for (var j=0;j<=48;j++){
1135 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)
1137 SAOXAU = SAO_XAU_TEN[j];
1144 SAOXAU += rchar+SAO_XAU_TEN[j];