var lunarInfo = new Array(19416, 19168, 42352, 21717, 53856, 55632, 91476, 22176, 39632, 21970, 19168, 42422, 42192, 53840, 119381, 46400, 54944, 44450, 38320, 84343, 18800, 42160, 46261, 27216, 27968, 109396, 11104, 38256, 21234, 18800, 25958, 54432, 59984, 28309, 23248, 11104, 100067, 37600, 116951, 51536, 54432, 120998, 46416, 22176, 107956, 9680, 37584, 53938, 43344, 46423, 27808, 46416, 86869, 19872, 42448, 83315, 21200, 43432, 59728, 27296, 44710, 43856, 19296, 43748, 42352, 21088, 62051, 55632, 23383, 22176, 38608, 19925, 19152, 42192, 54484, 53840, 54616, 46400, 46496, 103846, 38320, 18864, 43380, 42160, 45690, 27216, 27968, 44870, 43872, 38256, 19189, 18800, 25776, 29859, 59984, 27480, 21952, 43872, 38613, 37600, 51552, 55636, 54432, 55888, 30034, 22176, 43959, 9680, 37584, 51893);
var Gan = new Array("\u7532", "\u4e59", "\u4e19", "\u4e01", "\u620a", "\u5df1", "\u5e9a", "\u8f9b", "\u58ec", "\u7678");
var Zhi = new Array("\u5b50", "\u4e11", "\u5bc5", "\u536f", "\u8fb0", "\u5df3", "\u5348", "\u672a", "\u7533", "\u9149", "\u620c", "\u4ea5");
var now = new Date();
var SY = now.getFullYear();
var SM = now.getMonth();
var SD = now.getDate();
function cyclical(a) {
    return (Gan[a % 10] + Zhi[a % 12])
}
function lYearDays(c) {
    var a, b = 348;
    for (a = 32768; a > 8; a >>= 1) {
        b += (lunarInfo[c - 1900] & a) ? 1 : 0
    }
    return (b + leapDays(c))
}
function leapDays(a) {
    if (leapMonth(a)) {
        return ((lunarInfo[a - 1900] & 65536) ? 30 : 29)
    } else {
        return (0)
    }
}
function leapMonth(a) {
    return (lunarInfo[a - 1900] & 15)
}
function monthDays(b, a) {
    return (lunarInfo[b - 1900] & (65536 >> a)) ? 30 : 29
}
function Lunar(e) {
    var c, b = 0,
    a = 0;
    var d = new Date(1900, 0, 31);
    var f = (e - d) / 86400000;
    this.dayCyl = f + 40;
    this.monCyl = 14;
    for (c = 1900; c < 2050 && f > 0; c++) {
        a = lYearDays(c);
        f -= a;
        this.monCyl += 12
    }
    if (f < 0) {
        f += a;
        c--;
        this.monCyl -= 12
    }
    this.year = c;
    this.yearCyl = c - 1864;
    b = leapMonth(c);
    this.isLeap = false;
    for (c = 1; c < 13 && f > 0; c++) {
        if (b > 0 && c == (b + 1) && this.isLeap == false) {--c;
            this.isLeap = true;
            a = leapDays(this.year)
        } else {
            a = monthDays(this.year, c)
        }
        if (this.isLeap == true && c == (b + 1)) {
            this.isLeap = false
        }
        f -= a;
        if (this.isLeap == false) {
            this.monCyl++
        }
    }
    if (f == 0 && b > 0 && c == b + 1) {
        if (this.isLeap) {
            this.isLeap = false
        } else {
            this.isLeap = true; --c; --this.monCyl
        }
    }
    if (f < 0) {
        f += a; --c; --this.monCyl
    }
    this.month = c;
    this.day = f + 1
}
function YYMMDD() {
    return ( SY + "\u5e74" + (SM + 1) + "\u6708" + SD + "\u65e5   ")
}
function weekday() {
    var a = new Array("\u661f\u671f\u65e5", "\u661f\u671f\u4e00", "\u661f\u671f\u4e8c", "\u661f\u671f\u4e09", "\u661f\u671f\u56db", "\u661f\u671f\u4e94", "\u661f\u671f\u516d");
    return ("&nbsp;" + a[now.getDay()] )
}
function cDay(a, f) {
    var c = new Array("\u65e5", "\u4e00", "\u4e8c", "\u4e09", "\u56db", "\u4e94", "\u516d", "\u4e03", "\u516b", "\u4e5d", "\u5341");
    var b = new Array("\u521d", "\u5341", "\u5eff", "\u5345", "\u3000");
    var e;
    if (a > 10) {
        e = "\u5341" + c[a - 10]
    } else {
        e = c[a]
    }
    e += "\u6708";
    switch (f) {
    case 10:
        e += "\u521d\u5341";
        break;
    case 20:
        e += "\u4e8c\u5341";
        break;
    case 30:
        e += "\u4e09\u5341";
        break;
    default:
        e += b[Math.floor(f / 10)];
        e += c[f % 10]
    }
    return (e)
}
function solarDay2() {
    var b = new Date(SY, SM, SD);
    var c = new Lunar(b);
    var a = "&nbsp;" + cDay(c.month, c.day);
    return (a)
}
function clock() {
    return YYMMDD() + weekday() + solarDay2()
}
