function RunGLNL(){
var today=new Date();
var d=new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
var DDDD=(today.getYear()<100 ? today.getYear()+1900:today.getYear())+"年"+(today.getMonth()+1)+"月"+today.getDate()+"日";
DDDD = DDDD + " " + d[today.getDay()];
DDDD = DDDD+ " " + (CnDateofDateStr(today));
//DDDD = DDDD+ " " + SolarTerm(today);
//document.write(DDDD);
}

function getTodayGL()
{
	var today=new Date();
	return (today.getYear()<100 ? today.getYear()+1900:today.getYear())+"."+(today.getMonth()+1)+"."+today.getDate();
}

function getTodayNL()
{
	var today=new Date();
	return CnMonthofDate(today) + CnDayofDate(today);
}

//获取佛教节日
function getFoFtv()
{
	var lFtvDay = new Array(
		"0101",
		"0106",
		"0208",
		"0209",
		"0215",
		"0219",
		"0221",
		"0316",
		"0404",
		"0408",
		"0428",
		"0513",
		"0603",
		"0619",
		"0713",
		"0715",
		"0721",
		"0724",
		"0730",
		"0822",
		"0919",
		"0930",
		"1005",
		"1117",
		"1208",
		"1229");
	var lFtvDayCN = new Array(
		"正月初一",
		"正月初六",
		"二月初八",
		"二月初九",
		"二月十五",
		"二月十九",
		"二月廿一",
		"三月十六",
		"四月初四",
		"四月初八",
		"四月廿八",
		"五月十三",
		"六月初三",
		"六月十九",
		"七月十三",
		"七月十五",
		"七月廿一",
		"七月廿四",
		"七月三十",
		"八月廿二",
		"九月十九",
		"九月三十",
		"十月初五",
		"十一月十七",
		"十二月初八",
		"十二月廿九");
	var lFtvName = new Array(
		"弥勒菩萨圣诞",
		"定光佛圣诞",
		"释迦牟尼佛出家",
		"慧能大师圣诞",
		"释迦牟尼佛涅槃",
		"观世音菩萨圣诞",
		"普贤菩萨圣诞",
		"准提菩萨圣诞",
		"文殊菩萨圣诞",
		"释迦牟尼佛圣诞",
		"药王菩萨圣诞",
		"伽蓝菩萨圣诞",
		"护法韦驮尊天菩萨圣诞",
		"观世音菩萨成道",
		"大势至菩萨圣诞",
		"佛欢喜日，盂兰盆会",
		"普安祖师圣诞",
		"龙树菩萨圣诞",
		"地藏王菩萨圣诞",
		"燃灯古佛圣诞",
		"观世音菩萨出家",
		"药师琉璃光如来圣诞",
		"达摩祖师圣诞",
		"阿弥陀佛圣诞",
		"释迦牟尼佛成道",
		"华严菩萨圣诞");

	var today=new Date();
	var todayNLMonthNoStr=CnMonthofDateNo(today);
	var todayNLDayNoStr=CnDayofDateNo(today);
	
	var todayNLNo=parseInt(todayNLMonthNoStr+todayNLDayNoStr,10);

	if(isLeap(today)) //闰月(最近的节日为闰月下个月第一个节日)
	{
		todayNLNo=(parseInt(todayNLMonthNoStr,10)+1)*100;
	}

	var ftvIndex=0;
	var tmpFtvDayNo=0;
	var leftDays=-1;
	
	for(var i=0;i<lFtvDay.length;i++)
	{
		tmpFtvDayNo=parseInt(lFtvDay[i],10);
		if(tmpFtvDayNo>=todayNLNo)
		{
			ftvIndex=i;
			if(tmpFtvDayNo==todayNLNo)
				leftDays=0;
			break;
		}
	}
	
	//获取相距多少天
	if(leftDays<0)  //不是节日当天,计算还有几天
	{
		//节日的农历月份和日期
		var ftvMonthInt=parseInt(lFtvDay[ftvIndex].substr(0,2),10);
		var ftvDayInt=parseInt(lFtvDay[ftvIndex].substr(2,2),10);
		//今天的农历月份和日期
		var todayMonthInt=parseInt(todayNLMonthNoStr,10);
		var todayDayInt=parseInt(todayNLDayNoStr,10)
		var todayYearInt=CnYearofDateNo(today);
		
		var leapMonth=leapYearMonth(todayYearInt);  //闰月
		
		leftDays=0;
		
		if(todayMonthInt<=ftvMonthInt)
		{
			var startMonth=todayMonthInt;
			
			if(todayMonthInt==leapMonth)
				startMonth=todayMonthInt+1;
			
			for(var intmonth=startMonth;intmonth<ftvMonthInt;intmonth++)
			{
				leftDays=leftDays+monthDays(todayYearInt,intmonth);
			}			
			if(leapMonth!=0&&leapMonth<ftvMonthInt&&leapMonth>=todayMonthInt)
				leftDays=leftDays+leapDays(todayYearInt);
				
			leftDays=leftDays+ftvDayInt-todayDayInt;		
		}
		else
		{
			var startMonth=todayMonthInt;
			
			if(todayMonthInt==leapMonth)
				startMonth=todayMonthInt+1;
				
			for(var intmonth=startMonth;intmonth<=12;intmonth++)
			{
				leftDays=leftDays+monthDays(todayYearInt,intmonth);
			}
			
			if(leapMonth!=0&&leapMonth<=12&&leapMonth>=todayMonthInt)
				leftDays=leftDays+leapDays(todayYearInt);
				
			for(var intmonth=1;intmonth<ftvMonthInt;intmonth++)
			{
				leftDays=leftDays+monthDays(todayYearInt+1,intmonth);
			}
			
			var leapMonth2=leapYearMonth(todayYearInt+1);  //下一年的闰月
			if(leapMonth2!=0&&leapMonth2<ftvMonthInt&&leapMonth2>=1)
				leftDays=leftDays+leapDays(todayYearInt+1);
			
			leftDays=leftDays+ftvDayInt-todayDayInt;
		}
		
	}
	
	//返回节日名|节日日期|距今天还有多少天
	return lFtvName[ftvIndex]+"|"+lFtvDayCN[ftvIndex]+"|"+leftDays;
}

function getNextDayGL(dayspan)
{
	var nextDayGL=new Date();
	
	var todayStr=nextDayGL.getYear()+"/"+(nextDayGL.getMonth()+1)+"/"+nextDayGL.getDate();
	
	nextDayGL.setTime(Date.parse(todayStr)-Date.parse("1970/01/01")+dayspan*86400000)
	
	return nextDayGL;
}

function validateFtv(dayspan,ftvday)
{
	var nextFtvDayGL=getNextDayGL(dayspan);
	var nextFtvDayNLNo=parseInt(CnMonthofDateNo(nextFtvDayGL)+CnDayofDateNo(nextFtvDayGL),10);
	var tmpFtvDayNo=parseInt(ftvday,10);
	
	//alert(nextFtvDayNLNo+"|"+tmpFtvDayNo);
	
	if(nextFtvDayNLNo==tmpFtvDayNo)
		return true;
	else
		return false;
}

function isLeap(DateGL)  //是否为闰月
{
	var Month = parseInt(CnDateofDate(DateGL)/100);
	if (Month < 0)
		return true;
	else
		return false;
}

function DaysNumberofDate(DateGL){
return parseInt((Date.parse(DateGL)-Date.parse(DateGL.getYear()+"/1/1"))/86400000)+1;
}
function CnDateofDate(DateGL){
var CnData=new Array(
0x16,0x2a,0xda,0x00,0x83,0x49,0xb6,0x05,0x0e,0x64,0xbb,0x00,0x19,0xb2,0x5b,0x00,
0x87,0x6a,0x57,0x04,0x12,0x75,0x2b,0x00,0x1d,0xb6,0x95,0x00,0x8a,0xad,0x55,0x02,
0x15,0x55,0xaa,0x00,0x82,0x55,0x6c,0x07,0x0d,0xc9,0x76,0x00,0x17,0x64,0xb7,0x00,
0x86,0xe4,0xae,0x05,0x11,0xea,0x56,0x00,0x1b,0x6d,0x2a,0x00,0x88,0x5a,0xaa,0x04,
0x14,0xad,0x55,0x00,0x81,0xaa,0xd5,0x09,0x0b,0x52,0xea,0x00,0x16,0xa9,0x6d,0x00,
0x84,0xa9,0x5d,0x06,0x0f,0xd4,0xae,0x00,0x1a,0xea,0x4d,0x00,0x87,0xba,0x55,0x04
);
var CnMonth=new Array();
var CnMonthDays=new Array();
var CnBeginDay;
var LeapMonth;
var Bytes=new Array();
var I;
var CnMonthData;
var DaysCount;
var CnDaysCount;
var ResultMonth;
var ResultDay;
var yyyy=DateGL.getYear();
var mm=DateGL.getMonth()+1;
var dd=DateGL.getDate();
if(yyyy<100) yyyy+=1900;
if ((yyyy < 1997) || (yyyy > 2020)){
    return 0;
    }
Bytes[0] = CnData[(yyyy - 1997) * 4];
Bytes[1] = CnData[(yyyy - 1997) * 4 + 1];
Bytes[2] = CnData[(yyyy - 1997) * 4 + 2];
Bytes[3] = CnData[(yyyy - 1997) * 4 + 3];
if ((Bytes[0] & 0x80) != 0) {CnMonth[0] = 12;}
else {CnMonth[0] = 11;}
CnBeginDay = (Bytes[0] & 0x7f);
CnMonthData = Bytes[1];
CnMonthData = CnMonthData << 8;
CnMonthData = CnMonthData | Bytes[2];
LeapMonth = Bytes[3];
for (I=15;I>=0;I--){
    CnMonthDays[15 - I] = 29;
    if (((1 << I) & CnMonthData) != 0 ){
      CnMonthDays[15 - I]++;}
    if (CnMonth[15 - I] == LeapMonth ){
      CnMonth[15 - I + 1] = - LeapMonth;}
    else{
      if (CnMonth[15 - I] < 0 ){CnMonth[15 - I + 1] = - CnMonth[15 - I] + 1;}
      else {CnMonth[15 - I + 1] = CnMonth[15 - I] + 1;}
      if (CnMonth[15 - I + 1] > 12 ){ CnMonth[15 - I + 1] = 1;}
    }
}
DaysCount = DaysNumberofDate(DateGL) - 1;
if (DaysCount <= (CnMonthDays[0] - CnBeginDay)){
    if ((yyyy > 1901) && (CnDateofDate(new Date((yyyy - 1)+"/12/31")) < 0)){
      ResultMonth = - CnMonth[0];}
    else {ResultMonth = CnMonth[0];}
    ResultDay = CnBeginDay + DaysCount;
}
else{
    CnDaysCount = CnMonthDays[0] - CnBeginDay;
    I = 1;
    while ((CnDaysCount < DaysCount) && (CnDaysCount + CnMonthDays[I] < DaysCount)){
      CnDaysCount+= CnMonthDays[I];
      I++;
    }
    ResultMonth = CnMonth[I];
    ResultDay = DaysCount - CnDaysCount;
}
if (ResultMonth > 0){
    return ResultMonth * 100 + ResultDay;}
else{return ResultMonth * 100 - ResultDay;}
}
function CnYearofDate(DateGL){
var YYYY=DateGL.getYear();
var MM=DateGL.getMonth()+1;
var CnMM=parseInt(Math.abs(CnDateofDate(DateGL))/100);
if(YYYY<100) YYYY+=1900;
if(CnMM>MM) YYYY--;
YYYY-=1864;
return CnEra(YYYY)+"年";
}

function CnYearofDateNo(DateGL){
var YYYY=DateGL.getYear();
var MM=DateGL.getMonth()+1;
var CnMM=parseInt(Math.abs(CnDateofDate(DateGL))/100);
if(YYYY<100) YYYY+=1900;
if(CnMM>MM) YYYY--;
return YYYY;
}

function CnMonthofDate(DateGL){
var CnMonthStr=new Array("零","正","二","三","四","五","六","七","八","九","十","十一","十二");
var Month;
Month = parseInt(CnDateofDate(DateGL)/100);
if (Month < 0){return "闰" + CnMonthStr[-Month] + "月";}
else{return CnMonthStr[Month] + "月";}
}

function CnMonthofDateNo(DateGL){
var CnMonthStr=new Array("00","01","02","03","04","05","06","07","08","09","10","11","12");
var Month;
Month = parseInt(CnDateofDate(DateGL)/100);
if (Month < 0){return CnMonthStr[-Month];}
else{return CnMonthStr[Month];}
}

function CnDayofDate(DateGL){
var CnDayStr=new Array("零",
    "初一", "初二", "初三", "初四", "初五",
    "初六", "初七", "初八", "初九", "初十",
    "十一", "十二", "十三", "十四", "十五",
    "十六", "十七", "十八", "十九", "二十",
    "廿一", "廿二", "廿三", "廿四", "廿五",
    "廿六", "廿七", "廿八", "廿九", "三十");
var Day;
Day = (Math.abs(CnDateofDate(DateGL)))%100;
return CnDayStr[Day];
}

function CnDayofDateNo(DateGL){
var CnDayStr=new Array("00",
    "01", "02", "03", "04", "05",
    "06", "07", "08", "09", "10",
    "11", "12", "13", "14", "15",
    "16", "17", "18", "19", "20",
    "21", "22", "23", "24", "25",
    "26", "27", "28", "29", "30");
var Day;
Day = (Math.abs(CnDateofDate(DateGL)))%100;
return CnDayStr[Day];
}

function DaysNumberofMonth(DateGL){
var MM1=DateGL.getYear();
    MM1<100 ? MM1+=1900:MM1;
var MM2=MM1;
    MM1+="/"+(DateGL.getMonth()+1);
    MM2+="/"+(DateGL.getMonth()+2);
    MM1+="/1";
    MM2+="/1";
return parseInt((Date.parse(MM2)-Date.parse(MM1))/86400000);
}
function CnEra(YYYY){
var Tiangan=new Array("甲","乙","丙","丁","戊","己","庚","辛","壬","癸");
//var Dizhi=new Array("子(鼠)","丑(牛)","寅(虎)","卯(兔)","辰(龙)","巳(蛇)",
                    //"午(马)","未(羊)","申(猴)","酉(鸡)","戌(狗)","亥(猪)");
var Dizhi=new Array("子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥");
return Tiangan[YYYY%10]+Dizhi[YYYY%12];
}
function CnDateofDateStr(DateGL){
if(CnMonthofDate(DateGL)=="零月") return "　请调整您的计算机日期!";
else return "农历"+CnYearofDate(DateGL)+ " " + CnMonthofDate(DateGL) + CnDayofDate(DateGL);
}
function SolarTerm(DateGL){
var SolarTermStr=new Array(
        "小寒","大寒","立春","雨水","惊蛰","春分",
        "清明","谷雨","立夏","小满","芒种","夏至",
        "小暑","大暑","立秋","处暑","白露","秋分",
        "寒露","霜降","立冬","小雪","大雪","冬至");
var DifferenceInMonth=new Array(
        1272060,1275495,1281180,1289445,1299225,1310355,
        1321560,1333035,1342770,1350855,1356420,1359045,
        1358580,1355055,1348695,1340040,1329630,1318455,
        1306935,1297380,1286865,1277730,1274550,1271556);
var DifferenceInYear=31556926;
var BeginTime=new Date(1901/1/1);
BeginTime.setTime(947120460000);
     for(;DateGL.getYear()<BeginTime.getYear();){
        BeginTime.setTime(BeginTime.getTime()-DifferenceInYear*1000);
     }
     for(;DateGL.getYear()>BeginTime.getYear();){
        BeginTime.setTime(BeginTime.getTime()+DifferenceInYear*1000);
     }
     for(var M=0;DateGL.getMonth()>BeginTime.getMonth();M++){
        BeginTime.setTime(BeginTime.getTime()+DifferenceInMonth[M]*1000);
     }
     if(DateGL.getDate()>BeginTime.getDate()){
        BeginTime.setTime(BeginTime.getTime()+DifferenceInMonth[M]*1000);
        M++;
     }
     if(DateGL.getDate()>BeginTime.getDate()){
        BeginTime.setTime(BeginTime.getTime()+DifferenceInMonth[M]*1000);
        M==23?M=0:M++;
     }
var JQ;
if(DateGL.getDate()==BeginTime.getDate()){
    JQ="　 今天是<font color='#FF9999'><b>"+SolarTermStr[M] + "</b></font>";
}
else if(DateGL.getDate()==BeginTime.getDate()-1){
    JQ="　 明天是<font color='#FF9999'><b>"+SolarTermStr[M] + "</b></font>";
}
else if(DateGL.getDate()==BeginTime.getDate()-2){
    JQ="　 后天是<font color='#FF9999'><b>"+SolarTermStr[M] + "</b></font>";
}
else{
   JQ=" "
   if(DateGL.getMonth()==BeginTime.getMonth()){
      JQ+="　 本月";
   }
   else{
     JQ+="　 下月";
   }
   JQ+=BeginTime.getDate()+"日"+"<font color='#FF9999'><b>"+SolarTermStr[M]+"</b></font>";
}
return JQ;
}
function CAL()
{}
RunGLNL();

function CurentTime(){ 
    var now = new Date(); 
    var hh = now.getHours(); 
    var mm = now.getMinutes(); 
    var ss = now.getTime() % 60000; 
    ss = (ss - (ss % 1000)) / 1000; 
    var clock = hh+':'; 
    if (mm < 10) clock += '0'; 
    clock += mm+':'; 
    if (ss < 10) clock += '0'; 
    clock += ss; 
    return(clock); 
}

var lunarInfo=new Array(
0x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x055d2,
0x04ae0,0x0a5b6,0x0a4d0,0x0d250,0x1d255,0x0b540,0x0d6a0,0x0ada2,0x095b0,0x14977,
0x04970,0x0a4b0,0x0b4b5,0x06a50,0x06d40,0x1ab54,0x02b60,0x09570,0x052f2,0x04970,
0x06566,0x0d4a0,0x0ea50,0x06e95,0x05ad0,0x02b60,0x186e3,0x092e0,0x1c8d7,0x0c950,
0x0d4a0,0x1d8a6,0x0b550,0x056a0,0x1a5b4,0x025d0,0x092d0,0x0d2b2,0x0a950,0x0b557,
0x06ca0,0x0b550,0x15355,0x04da0,0x0a5d0,0x14573,0x052d0,0x0a9a8,0x0e950,0x06aa0,
0x0aea6,0x0ab50,0x04b60,0x0aae4,0x0a570,0x05260,0x0f263,0x0d950,0x05b57,0x056a0,
0x096d0,0x04dd5,0x04ad0,0x0a4d0,0x0d4d4,0x0d250,0x0d558,0x0b540,0x0b5a0,0x195a6,
0x095b0,0x049b0,0x0a974,0x0a4b0,0x0b27a,0x06a50,0x06d40,0x0af46,0x0ab60,0x09570,
0x04af5,0x04970,0x064b0,0x074a3,0x0ea50,0x06b58,0x055c0,0x0ab60,0x096d5,0x092e0,
0x0c960,0x0d954,0x0d4a0,0x0da50,0x07552,0x056a0,0x0abb7,0x025d0,0x092d0,0x0cab5,
0x0a950,0x0b4a0,0x0baa4,0x0ad50,0x055d9,0x04ba0,0x0a5b0,0x15176,0x052b0,0x0a930,
0x07954,0x06aa0,0x0ad50,0x05b52,0x04b60,0x0a6e6,0x0a4e0,0x0d260,0x0ea65,0x0d530,
0x05aa0,0x076a3,0x096d0,0x04bd7,0x04ad0,0x0a4d0,0x1d0b6,0x0d250,0x0d520,0x0dd45,
0x0b5a0,0x056d0,0x055b2,0x049b0,0x0a577,0x0a4b0,0x0aa50,0x1b255,0x06d20,0x0ada0);

//====================================== 传回农历 y年m月的总天数
function monthDays(y,m) {
   return( (lunarInfo[y-1900] & (0x10000>>m))? 30: 29 )
}

//====================================== 传回农历 y年闰哪个月 1-12 , 没闰传回 0
function leapYearMonth(y) {
   return(lunarInfo[y-1900] & 0xf)
}

//====================================== 传回农历 y年闰月的天数
function leapDays(y) {
   if(leapYearMonth(y))  return((lunarInfo[y-1900] & 0x10000)? 30: 29)
   else return(0)
}

function showTime(){
var date=new Date();
var year=date.getYear();
var month=date.getMonth()+1;
var day=date.getDate();
var xingqi;
xingqi="星期"+"日一二三四五六".charAt(date.getDay());
var hour=date.getHours();
var minute=date.getMinutes();
var second=date.getSeconds();

return year+'-'+month+'-'+day+'&nbsp;&nbsp;&nbsp;'+xingqi;
}
