var Calendar={result:{},parseDate:function(a){this.date=a;this.Y=a.getFullYear();this.M=a.getMonth()+1;this.D=a.getDate();this.getLunarDate();this.getSolarTerm();this.getFestival();return this.result},getSolarTerm:function(){var i=[4,19,3,18,4,19,4,19,4,20,4,20,6,22,6,22,6,22,7,22,6,21,6,21];var h="0123415341536789:;<9:=<>:=1>?012@015@015@015AB78CDE8CD=1FD01GH01GH01IH01IJ0KLMN;LMBEOPDQRST0RUH0RVH0RWH0RWM0XYMNZ[MB\\]PT^_ST`_WH`_WH`_WM`_WM`aYMbc[Mde]Sfe]gfh_gih_Wih_WjhaWjka[jkl[jmn]ope]qph_qrh_sth_W";var d="211122112122112121222211221122122222212222222221222122222232222222222222222233223232223232222222322222112122112121222211222122222222222222222222322222112122112121222111211122122222212221222221221122122222222222222222222223222232222232222222222222112122112121122111211122122122212221222221221122122222222222222221211122112122212221222211222122222232222232222222222222112122112121111111222222112121112121111111222222111121112121111111211122112122112121122111222212111121111121111111111122112122112121122111211122112122212221222221222211111121111121111111222111111121111111111111111122112121112121111111222111111111111111111111111122111121112121111111221122122222212221222221222111011111111111111111111122111121111121111111211122112122112121122211221111011111101111111111111112111121111121111111211122112122112221222211221111011111101111111110111111111121111111111111111122112121112121122111111011111121111111111111111011111111112111111111111011111111111111111111221111011111101110111110111011011111111111111111221111011011101110111110111011011111101111111111211111001011101110111110110011011111101111111111211111001011001010111110110011011111101111111110211111001011001010111100110011011011101110111110211111001011001010011100110011001011101110111110211111001010001010011000100011001011001010111110111111001010001010011000111111111111111111111111100011001011001010111100111111001010001010000000111111000010000010000000100011001011001010011100110011001011001110111110100011001010001010011000110011001011001010111110111100000010000000000000000011001010001010011000111100000000000000000000000011001010001010000000111000000000000000000000000011001010000010000000";var g="小寒 大寒 立春 雨水 惊蛰 春分 清明 谷雨 立夏 小满 芒种 夏至 小暑 大暑 立秋 处暑 白露 秋分 寒露 霜降 立冬 小雪 大雪 冬至".split(" ");function f(k,j){return i[j]+Math.floor(d.charAt((Math.floor(h.charCodeAt(k-1900))-48)*24+j))}var b=this.Y,e=this.M-1,a=this.D;var c=(a==f(b,e*2))?g[e*2]:((a==f(b,e*2+1))?g[e*2+1]:"");this.result.solarTerm=c;return this.result},getLunarDate:function(){var s=2006;var p=[8235709,381522,369863,6113722,346830,169667,4544183,350922,10147135,190803,447176,7251260,435536,412357,4888377,174924,350913,2808118,223562,6771389,234193,206278,5655482,415181,175427,3500855,373963,12298559,371027,365256,7153084,337359,153028,5418424,186060,374081,2992438,444746,8295102,430801,338630,5920442,154446,187074,3496759,484555,8689601,300883,412488,6726972,338895,438852,4896312,240332,238786,3970869,215497,8211133,169425,339397,5614266,354894,373443,4533943,339275,9082303,346835,169671,7034171,350927,350789,4873528,447180,338754,3838902,430921,7809469,436817,350918,5561018,308814,479939,4532024,206282,9343806,153042,175559,6731067,355663,306757,4869817,365260,345537,2986677];var o="* 正 二 三 四 五 六 七 八 九 十 十一 腊".split(" ");var i="* 初一 初二 初三 初四 初五 初六 初七 初八 初九 初十 十一 十二 十三 十四 十五 十六 十七 十八 十九 二十 廿一 廿二 廿三 廿四 廿五 廿六 廿七 廿八 廿九 三十".split(" ");var m="甲 乙 丙 丁 戊 己 庚 辛 壬 癸".split(" ");var n="子 丑 寅 卯 辰 巳 午 未 申 酉 戌 亥".split(" ");function j(x,y,w){var v=[1,32,60,91,121,152,182,213,244,274,305,335];if(x%4==0&&(x%100!=0||x%400==0)){v=[1,32,61,92,122,153,183,214,245,275,306,336]}return v[y-1]+(w-1)}var c=this.Y,g=this.M,k=this.D;var l=false;if(c<=s||c>s+p.length-1){return"---"}var t=c-s;var r=(p[t]&96)>>5;var a=(p[t]&31);var u=j(c,g,k);var e=j(c,r,a);this.isSpringEve=(u==e-1);var d=u-e+1;if(d<=0){t--;c--;if(t<0){return"---"}r=(p[t]&96)>>5;a=(p[t]&31);e=j(c,r,a);d=u+j(c,12,31)-e+1}var f=1;var q=29;for(;f<=13;f++){q=29;if((p[t]>>(6+f))&1){q=30}if(d<=q){break}else{d-=q}}var b=(p[t]>>20)&15;if(b>0&&b<f){f--;if(f==b){l=true}}this.lunarMonth=f;this.lunarDay=d;var h="";c-=4;h+=m[c%10]+n[c%12]+"年";h+=(l?"闰":"")+o[f]+"月";h+=i[d];return this.result.lunarDate=h},getFestival:function(){var s=[{"1":"*元旦|邓小平逝世,2010","8":"周恩来逝世"},{"2":"世界湿地日","10":"国际气象节","14":"#情人节","19":"邓小平逝世,1997"},{"1":"国际海豹日","3":"全国爱耳日","5":"学雷锋日,1963","8":"#妇女节","12":"植树节|孙中山逝世,1925","14":"白色情人节|国际警察日","15":"消费者权益日,1983","17":"中国国医节|国际航海日","21":"世界森林日","22":"#世界水日","23":"#世界气象日","24":"世界防治结核病日,1982"},{"1":"愚人节,1564","7":"世界卫生日","22":"#世界地球日","23":"世界读书日","26":"世界知识产权日","30":"全国交通安全日"},{"1":"*劳动节,1889","4":"#青年节","8":"世界红十字日","12":"汶川5·12地震|国际护士节","15":"#国际家庭日","17":"国际电信日","18":"国际博物馆日","23":"国际牛奶日","30":"“五卅”运动纪念日","31":"世界无烟日"},{"1":"#儿童节,1925","5":"#世界环境日","6":"全国爱眼日","7":"防治荒漠化和干旱日","22":"中国儿童慈善活动日","23":"国际奥林匹克日","25":"全国土地日","26":"国际禁毒日"},{"1":"#香港回归,1997|建党节,1921|世界建筑日","2":"国际体育记者日","7":"抗日战争纪念日,1937","11":"#世界人口日","20":"人类首次登月"},{"1":"#建军节,1927","6":"国际电影节","8":"中国男子节(爸爸节)","15":"#抗日战争胜利纪念,1945"},{"3":"#抗日战争胜利纪念日","8":"国际扫盲日,1966|国际新闻工作者日","9":"毛泽东逝世,1976","10":"#教师节","14":"世界清洁地球日","16":"国际臭氧层保护日","18":"9·18事变纪念日","20":"国际爱牙日","21":"国际和平日","22":"世界无车日","27":"世界旅游日","28":"孔子诞辰"},{"1":"*国庆节,1949|世界音乐日|国际老人日","4":"世界动物日","8":"世界视觉日","9":"世界邮政日","10":"#辛亥革命纪念日|世界精神卫生日","13":"世界保健日|国际教师节","14":"世界标准日","15":"国际盲人节","16":"世界粮食日","17":"世界消除贫困日","22":"世界传统医药日","24":"联合国日","31":"世界勤俭日"},{"9":"全国消防安全宣传日","10":"世界青年节","12":"孙中山诞辰","14":"世界糖尿病日","17":"国际大学生节","20":"世界儿童日","21":"世界问候日|世界电视日"},{"1":"#世界艾滋病日,1988","3":"世界残疾人日","4":"中国法制宣传日","9":"12·9运动纪念日|世界足球日","10":"世界人权日","12":"#西安事变纪念日","13":"#南京大屠杀纪念日·勿忘国耻,1937","20":"澳门回归纪念日","21":"国际篮球日","24":"#平安夜","25":"#圣诞节","26":"毛泽东诞辰"}];var n={"1:-1-0":"#世界麻风日","4:3-0":"世界儿童日","5:2-0":"#母亲节","5:3-0":"全国助残日","6:3-0":"#父亲节","9:1-1":"美国劳动节","9:3-2":"#国际和平日","9:4-0":"国际聋人节|世界儿童日","9:3-6":"全民国防教育日","10:1-1":"国际住房日","10:1-3":"#国际减灾日","11:4-4":"#感恩节"};var f={"1-1":"*春节","1-2":"*大年初二","1-3":"*大年初三","1-15":"元宵节","2-2":"春龙节(龙抬头)","3-23":"妈祖生辰","5-5":"*端午节","7-7":"七夕情人节","7-15":"盂兰盆会(鬼节)","8-15":"*中秋节","9-9":"*重阳节","12-8":"腊八节","12-23":"小年","1-0":"*除夕"};function p(w,x){w=w.indexOf("|")>0?w.split("|"):[w];for(var r=0;r<w.length;r++){var u=w[r];if(u.indexOf(",")>0){u=u.split(",");var v=parseInt(u[1],10);if(!isNaN(v)&&v>this.Y){continue}u=u[0]}x.push(u)}}var k=[];var a=this.Y,d=this.M,h=this.D;if(!this.lunarMonth||!this.lunarDay){return}var e=this.isSpringEve?"1-0":this.lunarMonth+"-"+this.lunarDay;var m=f[e];if(m){p(m,k)}var m=s[d-1][h];if(m){p(m,k)}var l=[31,28,31,30,31,30,31,31,30,31,30,31];l=l[d-1];if(d==2&&(a%4==0&&(a%100!=0||a%400==0))){l=29}var g=(new Date(a,d-1,1)).getDay();var c=this.date.getDay();var b=Math.floor((h-c+6)/7)+1;if(g>c){b--}var m=n[d+":"+b+"-"+c];if(m){p(m,k)}var t=Math.floor((l-h)/7)+1;var m=n[d+":-"+t+"-"+c];if(m){p(m,k)}var j={major:[],normal:[],minor:[]};for(var o=0;o<k.length;o++){var q=k[o];if(q.indexOf("*")==0){j.major.push(q.substr(1))}else{if(q.indexOf("#")==0){j.normal.push(q.substr(1))}else{j.minor.push(q)}}}return this.result.fest=j}};