⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iflateng.htm

📁 it is a flat calender
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<html>
<head>
<title>FlatCalendarXP 9.9.293 Lite Edition - Copyright 2003-2007 Idemfactor Solutions, Inc.</title>
<script type='text/javascript'>
// WARNING: Do NOT make any modification to this file, nor should you use this file in any commercial website or product.
// Using it without a proper license will be prosecuted by law.
var gd=new Date(), gToday=[gd.getFullYear(),gd.getMonth()+1,gd.getDate()];
var ua=navigator.userAgent.toLowerCase();
var KO=ua.match(/konqueror\/(\d+)/),KO3=KO&&KO[1]==3,SA=ua.match(/safari\/(\d+)/),SA1=SA&&SA[1]<86; KO=!!KO; SA=!!SA;
var MAC=/mac/.test(ua),OP=!!self.opera,WEBTV=/webtv/.test(ua),IE=/msie/.test(ua)&&!OP&&!WEBTV&&!SA&&!KO,GK=/gecko/.test(ua),OP8=/opera 8/.test(ua)&&OP;
var NN4=IE4=NS6=false,IE5=IE&&![].push&&!IE4;
var gfSelf=fGetById(parent.document,self.name);
var gTheme=self.name.split(":");
var gCurMonth=eval(gTheme[0]); gCurMonth=fCalibrate(gCurMonth[0],gCurMonth[1]);
var gContainer=parent,gDays=[31,31,28,31,30,31,30,31,31,30,31,30,31],g445=[1,5,9,14,18,22,27,31,35,40,44,48,53];
var fOnResize,fRepaint,fHoliday,fOnChange,fAfterSelected,fOnDrag,gcOtherDayBG,fOnWeekClick,fIsSelected,fParseInput,fFormatInput,fOnDoWClick,fOnload;
var __agenda=[], popkey=["Lite"], flatkey=["Lite"], __stub=[], _charset=gTheme[5]?" charset='"+gTheme[5]+"' ":"";
var MILLIDAY=86400000, giInitDelay=200, _lineThru=true, _noBound=false, _mcafee=false, _preferOOR=true, gbHideCalMiddle=false, _cacheOther=true, gb445=false, giFirstMonth=1, _cl=false;
if (![].push) Array.prototype.push=function () {
	for (var i=0; i<arguments.length; i++)
		this[this.length]=arguments[i];
	return this.length;
}

function varDate() {
	alert("Missing or invalid licence for FlatCalendarXP!\nPlease make sure the licence file is in the right place.");
}

function fCalibrate(y,m) {
	if (m<1) { y--; m+=12; }
	else if (m>12) { y++; m-=12; }
	return [y,m];
}

function fGetById(doc, id) {
	return doc.getElementById(id);
}

function fLoadScript(url,callback,postData) { 
   var req = createXMLHTTPObject(); 
   if (!req) return; 
   var method = (postData) ? "POST" : "GET"; 
   req.open(method,url,true); 
   req.setRequestHeader('User-Agent','XMLHTTP/1.0'); 
   if (postData) 
      req.setRequestHeader('Content-type','application/x-www-form-urlencoded'); 
   req.onreadystatechange = function () { 
      if (req.readyState != 4) return; 
      if (req.status != 200 && req.status != 304) return; 
	  if (callback) callback(req);
	  else fCallback(req);
   } 
   if (req.readyState == 4) return; 
   req.send(postData); 
}

function fCallback(req) { 
   eval(req.responseText); 
}
 
var XMLHttpFactories = [ 
   function () {return new XMLHttpRequest()}, 
   function () {return new ActiveXObject("Msxml2.XMLHTTP")}, 
   function () {return new ActiveXObject("Msxml3.XMLHTTP")}, 
   function () {return new ActiveXObject("Microsoft.XMLHTTP")} 
]; 

function createXMLHTTPObject() { 
   var xmlhttp = false; 
   for (var i=0;i<XMLHttpFactories.length;i++) { 
      try { 
         xmlhttp = XMLHttpFactories[i](); 
      } 
      catch (e) { 
         continue; 
      } 
      break; 
   } 
   return xmlhttp;
} 


function fFilterNull(str) {
	return str==null||str=="null"?null:str;
}

function fAddEvent(y,m,d,message,action,bgcolor,fgcolor,bgimg,boxit,html,etc) {
	var ag=gbShareAgenda?eval(gsAgShared):__agenda;
	ag[y+"-"+m+"-"+d]=[message,fFilterNull(action),fFilterNull(bgcolor),fFilterNull(fgcolor),fFilterNull(bgimg),fFilterNull(boxit),fFilterNull(html),etc];
}

function fGetEvent(y,m,d) {
	var ag=gbShareAgenda?eval(gsAgShared):__agenda, id=y+"-"+m+"-"+d;
	return ag[id]?ag[id].slice(0):null;
}

function fRemoveEvent(y,m,d) {
	var ag=gbShareAgenda?eval(gsAgShared):__agenda;
	ag[y+"-"+m+"-"+d]=null;
}

function fWeekOffset(dow) {
	return dow<=3?1:0;
}

function fGetDays(y) {
	gDays[2]=y%4==0&&y%100!=0||y%400==0?29:28;
	return gDays;
}

document.write("<scr"+"ipt type='text/javascript' "+_charset+" src='"+gTheme[1]+".js?"+(_cacheOther?0:gd.getTime())+"'></scr"+"ipt>");
</script>
</head>
<body leftmargin=0 topmargin=0 marginwidth=0 marginheight=0 hspace=0 vspace=0 onload="fInitRange();if(fOnload)fOnload()" onselectstart="return false" ondraggesture="return false" ondragstart="return false" oncontextmenu="return false" onmouseup="top.defaultStatus='Powered by FlatCalendarXP 9.9.293 Lite Edition (c)2003-2007 Idemfactor Solutions, Inc.';fDragIt(0,0,0,2,event);return true;">
<script type='text/javascript'>
var gdBegin,gdEnd,gcbMon,gcbYear,gcTemp,giSat,giSun,gRange=[],__cal=[];
for (var i=0;i<6;i++) { __cal[i]=[]; for (var j=0;j<7;j++) __cal[i][j]=[]; }
with (document) {
	write("<scr"+"ipt type='text/javascript' "+_charset+" src='"+(gTheme[4]?gTheme[4]+(/\?/.test(gTheme[4])?"&":"?"):"plugins.js?")+(_cacheOther?0:gd.getTime())+"'></scr"+"ipt>");
	write("<lin"+"k rel='stylesheet' type='text/css' "+_charset+" href='"+gTheme[1]+".css?"+(_cacheOther?0:gd.getTime())+"'>");
}
</script>
<script type='text/javascript'>
giSat=(6-giFirstDOW)%7;
giSun=(7-giFirstDOW)%7;
gCurMonth=fCalibrate(gCurMonth[0],gCurMonth[1]);
gdSelect=gdSelect.slice(0); gBegin=gBegin.slice(0); gEnd=gEnd.slice(0);
if (!_noBound){if (gCurMonth[0]>gEnd[0]||gCurMonth[0]==gEnd[0]&&gCurMonth[1]>gEnd[1]) gCurMonth=gEnd.slice(0);
if (gCurMonth[0]<gBegin[0]||gCurMonth[0]==gBegin[0]&&gCurMonth[1]<gBegin[1]) gCurMonth=gBegin.slice(0);}


if (!fIsSelected)
	fIsSelected=function(y,m,d) {
		return gdSelect[2]==d&&gdSelect[1]==m&&gdSelect[0]==y;
	}

if (fOnDrag&&!(IE&&MAC||OP)) {
	var __om=IE4||IE5?gContainer.document.onmouseover:gContainer.document.onmouseup;
	if (IE4||IE5) gContainer.document.onmouseover=fOm;
	else gContainer.document.onmouseup=fOm;
}
function fOm(e){
	if(!e)e=gContainer.event;var t=e.target?e.target:e.srcElement;
	if(t.name!=self.name)__lastDrag=null;if(__om)__om(e)
}

var __lastDrag=null;
function fDragIt(y,m,d,aStat,e) {
	if (!fOnDrag||!(__lastDrag&&aStat>0||aStat==0)) return false;
	var dt=[y,m,d];
	if (aStat==1&&__lastDrag+''==dt+'') return false;
	__lastDrag=aStat==2||IE&&MAC||OP?null:dt;
	return fOnDrag(dt[0],dt[1],dt[2],aStat,e);
}

function fRepaint() {
	fSetCal(gCurMonth[0],gCurMonth[1],0,false,null);
}

function fUpdSelect(y,m,d) {
	gdSelect[0]=y; gdSelect[1]=m; gdSelect[2]=d;
}


function fGetXY(a,offset) {
	var p=offset?offset.slice(0):[0,0],tn;
	while(a) {
		tn=a.tagName.toUpperCase();
		p[0]+=a.offsetLeft-(!KO3&&tn=="DIV"&&a.scrollLeft?a.scrollLeft:0);
		p[1]+=a.offsetTop-(!KO3&&tn=="DIV"&&a.scrollTop?a.scrollTop:0);
		if (tn=="BODY") break;
		a=a.offsetParent;
	}
	return p;
}

function fInitRange(r) {
	gRange=r?r:[];
	var rb=gRange[0]?r[0]:gBegin;
	gdBegin=new Date(rb[0],rb[1]-1,rb[2]);
	gRange[0]=rb;
	var re=gRange[1]?r[1]:gEnd;
	gdEnd=new Date(re[0],re[1]-1,re[2]);
	gRange[1]=re;

	if (gcbYear) {
	 	for(var i=0;i+rb[0]<=re[0];i++) gcbYear.options[i]=new Option(i+rb[0],i+rb[0]);
 		for(var j=gcbYear.options.length-1;j>=i;j--) gcbYear.options[j]=null;
	}
	if (!gRange[2]) gRange[2]=rb.slice(0);
	if (fIsOutRange(gCurMonth[0],gCurMonth[1]))
		fSetCal(gRange[2][0],gRange[2][1],0);
	else fRepaint();
}

function fGetAgenda(y,m,d,taint) {
	var s=fCalibrate(y,m),cm=gCurMonth;
	var def=["",gsAction,gcCellBG,null,guCellBGImg,false,gsCellHTML];
	if (taint) if ((giShowOther&4)&&(s[0]<cm[0]||s[0]==cm[0]&&s[1]<cm[1])||(giShowOther&8)&&(s[0]>cm[0]||s[0]==cm[0]&&s[1]>cm[1]))
		return null;
	var ag=fHoliday?fHoliday(s[0],s[1],d):fGetEvent(y,m,d);
	if (ag==null) ag=def;
	else {
		for (var i=0;i<7;i++) {
			if (gAgendaMask[i]!=-1) ag[i]=gAgendaMask[i];
			if (ag[i]==null&&i!=1) ag[i]=def[i];
		}
		if (taint&&s[1]!=cm[1]&&!(giShowOther&1)) {
			def[0]=ag[0]; def[1]=ag[1]; ag=null; ag=def;
		}
	}
	if (taint&&s[1]!=cm[1]) {
		if (gcOtherDayBG&&ag[2]==gcCellBG) ag[2]=gcOtherDayBG;
		ag[3]=gcOtherDay;
	}
	if (!fValidRange(s[0],s[1],d)) {
		ag[1]=null;
		if (_preferOOR&&gsOutOfRange) ag[0]=gsOutOfRange;
		if (_preferOOR&&guOutOfRange) ag[4]=guOutOfRange;
	}
	return ag;
}

function fGetDOW(y,m,d) {
	return (7+(new Date(y,m-1,d).getDay())-giFirstDOW)%7;
}

function fGetWeekNo(y,m,d) {
	var yy=m<giFirstMonth?y-1:y;
	var dow=fGetDOW(yy,giFirstMonth,1);
	return Math.ceil(((Date.UTC(y,m-1,d)-Date.UTC(yy,giFirstMonth-1,1))/MILLIDAY+dow-6)/7)+fWeekOffset(dow);
}

function fW2Date(y,w,wd) { // w > 0, wd > 0
	var dow=fGetDOW(y,giFirstMonth,1);
	w-=fWeekOffset(dow);
	var date=new Date(Date.UTC(y,giFirstMonth-1,1)-0+(w*7+wd-dow-1)*MILLIDAY);
	return [date.getUTCFullYear(),date.getUTCMonth()+1,date.getUTCDate()];
}

function fDate2W(y,m,d) {
	var w=fGetWeekNo(y,m,d), wd=fGetDOW(y,m,d)+1;
	var yy=m<giFirstMonth?y-1:y;
	if (w==0) {
		var dt=new Date(yy,giFirstMonth-1,0);
		w=fGetWeekNo(dt.getFullYear(),dt.getMonth()+1,dt.getDate());
	}
	else if (w>52) {
		var w1=fGetWeekNo(yy+1,giFirstMonth,1);
		if (w1>0) {yy++; w=w1;}
	}
	return [yy,w,wd];
}

function fGetDateByDOW(y,m,q,dow) { // q: 1-5; dow: 0-6
	var dom=new Date(y,m-1,1).getDay();
	var d=7*q-6+dow-dom;
	if (dom>dow) d+=7;
	if (d>fGetDays(y)[m]) d-=7;
	return d;	// 1-31
}

function fValidRange(y,m,d) {
	for (var i=3; i<gRange.length; i++)
		if (gRange[i][2]==d&&gRange[i][1]==m&&gRange[i][0]==y)
			return false;
	var dt=new Date(y,m-1,d);
	return (dt>=gdBegin)&&(dt<=gdEnd);
}

function fBuildCal(y,m) {
	var days=fGetDays(y),iDay1=fGetDOW(y,m,1),wk=fDate2W(y,m,1);
	var iLast=days[m-1]-iDay1+1,iDate=1,iNext=1, wi=0;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -