亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? plugins.js

?? it is a flat calender
?? JS
字號:
/////////////////// Plug-in file for CalendarXP 9.0 /////////////////
// This file is totally configurable. You may remove all the comments in this file to minimize the download size.
/////////////////////////////////////////////////////////////////////


////////////////// Calendar fOnWeekClick Handler ///////////////////////
// It's triggered when the week number is clicked.
// NOTE: DO NOT define this handler unless you really need to use it.
////////////////////////////////////////////////////////////////////
function fOnWeekClick(year, weekNo) {
	var wmark=fGetEvent(year, -weekNo, 0);
	for (var i=1; i<=7; i++) {
		var dts=fW2Date(year,weekNo,i);
		if (wmark) {
			fRemoveRange(dts[0],dts[1],dts[2],false);
		} else {
			fAddRange(dts[0],dts[1],dts[2],false);
		}
	}
	if (wmark) {
		fRemoveEvent(year, -weekNo, 0);
	} else {
		fAddEvent(year, -weekNo, 0, "selected");
	}
	fRepaint();
}


////////////////// Calendar fOnDoWClick Handler ///////////////////////
// It's triggered when the week head (day of week) is clicked.
// dow ranged from 0-6 while 0 denotes Sunday, 6 denotes Saturday.
// NOTE: DO NOT define this handler unless you really need to use it.
////////////////////////////////////////////////////////////////////

function fOnDoWClick(year, month, dow) {
       var dmark=fGetEvent(year, month, -1-dow);

       var md = __cal[0][(7+dow-giFirstDOW)%7];
       var i = 0, dt = new Date(year, md[0]-1, md[1]);
       while (i<4||i==4&&((month-giFirstMonth+1)%3==0)) {
               if (dmark) {
                       fRemoveRange(dt.getUTCFullYear(),dt.getUTCMonth()+1,dt.getUTCDate(),false);
               } else {
                       fAddRange(dt.getUTCFullYear(),dt.getUTCMonth()+1,dt.getUTCDate(),false);
               }
               dt.setDate(dt.getDate()+7);i++;
       }
       if (dmark) {
               fRemoveEvent(year, month, -1-dow);
       } else {
               fAddEvent(year, month, -1-dow, "selected");
       }
       fRepaint();
}

///////////// Calendar Onchange Handler ////////////////////////////
// It's triggered whenever the calendar gets changed to y(ear),m(onth),d(ay)
// d = 0 means the calendar is about to switch to the month of (y,m); 
// d > 0 means a specific date [y,m,d] is about to be selected.
// e is a reference to the triggering event object
// Return a true value will cancel the change action.
// NOTE: DO NOT define this handler unless you really need to use it.
////////////////////////////////////////////////////////////////////
function fOnChange(y,m,d,e) {
	fSync(y,m,d);
	return false;  // return true to cancel the change.
}


///////////// Calendar AfterSelected Handler ///////////////////////
// It's triggered whenever a date gets fully selected.
// The selected date is passed in as y(ear),m(onth),d(ay)
// e is a reference to the triggering event object
// NOTE: DO NOT define this handler unless you really need to use it.
////////////////////////////////////////////////////////////////////
function fAfterSelected(y,m,d,e) {}


///////////// Calendar Cell OnDrag Handler ///////////////////////
// It triggered when you try to drag a calendar cell. (y,m,d) is the cell date. 
// aStat = 0 means a mousedown is detected (dragstart)
// aStat = 1 means a mouseover between dragstart and dragend is detected (dragover)
// aStat = 2 means a mouseup is detected (dragend)
// e is a reference to the triggering event object
// NOTE: DO NOT define this handler unless you really need to use it.
//       If you use fRepaint() here, fAfterSelected() will be ignored.
////////////////////////////////////////////////////////////////////
function fOnDrag(y,m,d,aStat,e) {
	if (aStat==0) {
		var bRangeClick=e?fCheckKeyPressed(1+2+4,e):false;	// use ctrl, shift or alt to select range end
		if (fIsSelected(y,m,d))
			fRemoveRange(y,m,d,bRangeClick||(e?e.button==2||e.which==3:false));
		else
			fAddRange(y,m,d,bRangeClick);
		fRepaint();
	} else if (aStat==1) {
		if (!fIsSelected(y,m,d)) {
			fAddRange(y,m,d,true);
			fRepaint();
		}
	} else
		fAfterSelected(y,m,d,e);
	return true; // cancel setDate action, 'cause we use multi-select now.
}




////////////////// Calendar OnResize Handler ///////////////////////
// It's triggered after the calendar panel has finished drawing.
// NOTE: DO NOT define this handler unless you really need to use it.
////////////////////////////////////////////////////////////////////
// function fOnResize() {}



////////////////// Calendar fIsSelected Callback ///////////////////////
// It's triggered for every date passed in as y(ear) m(onth) d(ay). And if 
// the return value is true, that date will be rendered using the giMarkSelected,
// gcFGSelected, gcBGSelected and guSelectedBGImg theme options.
// NOTE: If NOT defined here, the engine will create one that checks the gdSelect only.
////////////////////////////////////////////////////////////////////
function fIsSelected(y,m,d) {
	if (eval(gsPDS).length==0) return false;
	var dt=Date.UTC(y,m-1,d);
	for (var i=0; i<eval(gsPDS).length; i++)
		if (eval(gsPDS)[i][0]<=dt&&dt<=eval(gsPDS)[i][1])
			return true;
	return false;
}



////////////////// Calendar fOnload Handler ///////////////////////
// It's triggered when the calendar engine is fully loaded by the browser.
// NOTE: DO NOT define this handler unless you really need to use it.
////////////////////////////////////////////////////////////////////
// function fOnload() {}


// ====== predefined utility functions for use with agendas. ========
// load an url in the window/frame designated by "framename".
function popup(url,framename) {	
	var w=parent.open(url,framename,"top=200,left=200,width=400,height=200,scrollbars=1,resizable=1");
	if (w&&url.split(":")[0]=="mailto") w.close();
	else if (w&&!framename) w.focus();
}

// ====== Following are self-defined and/or custom-built functions! =======

// ======= the following plugin is coded for the 445 accounting calendar demo ========

function fHeaderClick (y,m) {
	var yy=m<giFirstMonth?y-1:y;
    var dateRange = fGetFinPeriod(yy,(m-giFirstMonth+12)%12+1);

    fAddRange(dateRange[0][0],dateRange[0][1],dateRange[0][2],false);
    if ( fIsSelected(dateRange[1][0],dateRange[1][1],dateRange[1][2]) ) {
        fAddRange(dateRange[1][0],dateRange[1][1],dateRange[1][2],true);
        fRemoveRange(dateRange[0][0],dateRange[0][1],dateRange[0][2],false);
        fRemoveRange(dateRange[1][0],dateRange[1][1],dateRange[1][2],false);
		fRemoveRange(dateRange[0][0],dateRange[0][1],dateRange[0][2]+1,true);
    }
    else
    {
        fAddRange(dateRange[1][0],dateRange[1][1],dateRange[1][2],true);
    }

    fRepaint();    
}

function fGetFinPeriod(y,period) {
	var s = fW2Date(y,g445[period-1],1);
	var e = fW2Date(y,g445[period]-1,7);
	return [s,e];
}

// indicates how many calendars need to be synchronized, their engine-context-names must end with "_1", "_2" and so on
var _calendars4sync=12;	// MUST be specified to exact number of your calendars, or you will get errors.

function fSync(y,m,d) {
	var cn=gTheme[3].split("_");	// get current context id
	var no=parseInt(cn[1]),ctx;
	var r=fCalibrate(1,no+gdSelect[1]-m)[1]; // find the one needs refreshing
	for (var n=1; n<=_calendars4sync; n++)
		if (n!=no) {
			ctx=eval("gContainer."+cn[0]+"_"+n);
			if (!ctx) return;	// loading, not ready
			if (d>0) ctx.fUpdSelect(y,m,d);
			if (y!=gCurMonth[0]||m!=gCurMonth[1]||n==r&&gdSelect[1]!=0) ctx.fSetCal(y,m+n-no,0,false);
		}
}

function fRepaintAll() {
	var cn=gTheme[3].split("_");
	for (var i=1; i<=_calendars4sync; i++)
       eval("gContainer."+cn[0]+"_"+i+".fRepaint()");
}

// ======= the following plugin is coded for the multi-select plugin ========
// If you define a fAddListItem(strDate) and a fRemoveListItem(strDate) in the 
// container page, they will be called whenever dates are adding or removing from
// the range. You may make use of them to populate the listbox on your page.
// The format of param strDate can be modified in fDateString() function
// ------------------------------------------------------------------------
giMarkSelected=1+2;	// change the effects of selection
gcBGSelected="#99FF99";	// set the background color of selection


var gc=gContainer; //  Make objects shared between calendar contexts by moving them into the gContainer.
var gsPDS=gsAgShared+"_pds";
if (!eval(gsPDS)) eval(gsPDS+"=[]"); // selected date periods. It's an array of 1 or more time periods in array format [startdate,enddate]. (startdate and enddate are represented in UTC milliseconds)
var gsLS=gsAgShared+"_ls";
if (!eval(gsLS)) eval(gsLS+"=null"); // last selected date, in UTC milliseconds.

function fGetPDS() { // for external use
	return eval(gsPDS);
}

function fDateString(y,m,d) {
	return y+"/"+fPad0(m)+"/"+fPad0(d);
}

function fPad0(n) {
	return n<10?"0"+n:n;
}

function fCheckKeyPressed(key,e) {
	var ALT=1, CTRL=2, SHIFT=4, pr=false;
	if (key&&ALT) pr=NN4?e.modifiers&1:e.altKey;
	if (!pr&&key&&CTRL) pr=NN4?e.modifiers&2:e.ctrlKey;
	if (!pr&&key&&SHIFT) pr=NN4?e.modifiers&4:e.shiftKey;
	return pr;
}

function fAddDate(y,m,d) {
	var ag=fGetAgenda(y,m,d,false);
	if (fIsSelected(y,m,d)||ag[1]==null) return;
	if (gContainer.fAddListItem) gContainer.fAddListItem(fDateString(y,m,d));
}

function fRemoveDate(y,m,d) {
	if (gContainer.fRemoveListItem) gContainer.fRemoveListItem(fDateString(y,m,d));
}

function fAddRange(y,m,d,bBatch) {
	var dt=Date.UTC(y,m-1,d);
	if (eval(gsLS)==null||!bBatch) {
		fAddDate(y,m,d);
		eval(gsLS+"=dt");
		eval(gsPDS).push([dt,dt]);
	} else {
		var pd=[eval(gsLS),eval(gsLS)];
		eval(gsLS+"=dt");
		if (dt<pd[0]) pd[0]=dt;
		else if (pd[1]<dt) pd[1]=dt;
		for (var i=pd[0];i<=pd[1];i+=MILLIDAY) {
			var di=new Date(i);
			fAddDate(di.getUTCFullYear(),di.getUTCMonth()+1,di.getUTCDate());
		}
		eval(gsPDS).push(pd);
	}
	fMergePDS();
}

function fSort(a,b) {
	return a[0]<b[0]?-1:a[0]>b[0]?1:0;
}

function fMergePDS() {
	if (eval(gsPDS).length<=1) return;
	eval(gsPDS).sort(fSort);
	var tmpd=[eval(gsPDS)[0]];
	for (var i=0,j=1; j<eval(gsPDS).length; j++)
		if (tmpd[i][1]<eval(gsPDS)[j][0]-MILLIDAY) {
			i=tmpd.length;
			tmpd[i]=eval(gsPDS)[j];
		} else
			tmpd[i][1]=Math.max(tmpd[i][1],eval(gsPDS)[j][1]);
	eval(gsPDS+"=tmpd");
}

function fRemoveRange(y,m,d,bBatch) {
	var dt=Date.UTC(y,m-1,d);
	for (var i=0; i<eval(gsPDS).length; i++)
		if (eval(gsPDS)[i][0]<=dt&&eval(gsPDS)[i][1]>=dt) break;
	if (i==eval(gsPDS).length) return;
	if (bBatch||eval(gsPDS)[i][0]==eval(gsPDS)[i][1]) {
		for (var k=eval(gsPDS)[i][0];k<=eval(gsPDS)[i][1];k+=MILLIDAY) {
			var dk=new Date(k);
			fRemoveDate(dk.getUTCFullYear(),dk.getUTCMonth()+1,dk.getUTCDate());
		}
		fSplice(eval(gsPDS),i);
	} else {
		fRemoveDate(y,m,d);
		if (dt<eval(gsPDS)[i][1]) eval(gsPDS).push([dt+MILLIDAY,eval(gsPDS)[i][1]]);
		if (eval(gsPDS)[i][0]<dt) eval(gsPDS)[i][1]=dt-MILLIDAY;
		else fSplice(eval(gsPDS),i);
	}
	eval(gsLS+"=null");
}

function fClearAll() {
	var miny=10000, maxy=0;
	for (var i=eval(gsPDS).length-1; i>=0; i--) {
		var dt=new Date(eval(gsPDS)[i][0]);
		var y=dt.getUTCFullYear(),m=dt.getUTCMonth()+1,d=dt.getUTCDate();
		fRemoveRange(y,m,d,true);
		miny=Math.min(miny,y);
		maxy=Math.max(maxy,y);
	}
	for (var y=miny; y<=maxy; y++) {
		for (var w=1; w<=53; w++) fRemoveEvent(y, -w, 0);
		for (var m=1; m<=12; m++)
			for (var dow=1; dow<=7; dow++)
				fRemoveEvent(y, m, -dow);
	}
}

function fSplice(arr,n) { // made for IE5, push() had already been implemented in the engine
	for (var i=n; i<arr.length-1; i++) arr[i]=arr[i+1];
	arr[i]=null;
	arr.length--;
}

// ======= end of multi-select plugin ========

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本女人一区二区三区| 亚洲一二三区在线观看| 最新不卡av在线| 日韩中文字幕91| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 日韩理论片网站| 秋霞午夜av一区二区三区| 成人av小说网| 久久精品亚洲国产奇米99| 亚洲一区二区在线视频| 97久久精品人人做人人爽| 欧美日韩国产不卡| 1000部国产精品成人观看| 精品制服美女丁香| 欧美在线一二三| 中文字幕一区二区在线观看| 日日夜夜一区二区| 成人av手机在线观看| 国产午夜精品久久久久久久| 亚洲成av人片一区二区梦乃| 成人短视频下载| 欧美成人在线直播| 亚洲伦在线观看| 国产中文字幕精品| 日韩精品一区二区三区中文不卡| 亚洲丝袜精品丝袜在线| 国产福利一区二区三区在线视频| 欧美手机在线视频| 亚洲一区二区欧美日韩| 色呦呦国产精品| 亚洲私人黄色宅男| 色婷婷av一区二区三区软件| 国产精品伦理在线| 国产成人午夜精品影院观看视频 | 亚洲黄一区二区三区| 国产一区不卡视频| 久久毛片高清国产| 国产成人啪免费观看软件| 日韩一级片网址| 偷偷要91色婷婷| 日韩精品一区二区三区在线播放 | 日韩成人一区二区三区在线观看| 91浏览器在线视频| 亚洲免费观看高清完整版在线 | 国产成人精品一区二| 国产亚洲视频系列| 成人激情综合网站| 亚洲精品国产a久久久久久| 日本道免费精品一区二区三区| 亚洲靠逼com| 91麻豆国产在线观看| 亚洲美女精品一区| 欧美日韩亚洲丝袜制服| 麻豆91在线播放免费| 久久久91精品国产一区二区精品| 国产风韵犹存在线视精品| 亚洲特级片在线| 欧美日韩免费在线视频| 日韩av在线免费观看不卡| 日韩午夜在线观看视频| 精品一区二区三区香蕉蜜桃| 久久久不卡网国产精品二区| thepron国产精品| 香蕉久久一区二区不卡无毒影院 | 91搞黄在线观看| 日韩av电影一区| 欧美激情资源网| 91成人免费在线| 免费成人av在线| 亚洲男同性恋视频| 欧美一区二区播放| 成人免费看的视频| 亚洲免费av高清| 日韩精品一区国产麻豆| 风间由美中文字幕在线看视频国产欧美| 亚洲欧洲精品一区二区三区| 欧美一区二区美女| 97久久超碰国产精品| 天天亚洲美女在线视频| 中文av一区二区| 在线精品视频一区二区三四| 美腿丝袜在线亚洲一区| 亚洲欧美综合在线精品| 7777精品伊人久久久大香线蕉最新版| 韩国女主播成人在线| 一区二区视频在线| 欧美一级久久久| 91在线观看美女| 青青草原综合久久大伊人精品 | 一区二区三区在线视频免费 | 国产精品久久久久婷婷二区次| a美女胸又www黄视频久久| 极品美女销魂一区二区三区 | 国产精品一品二品| 五月婷婷综合激情| 亚洲综合激情网| 欧美激情一区三区| 精品国产亚洲在线| 91精品国产一区二区| 欧美午夜在线观看| 色婷婷久久99综合精品jk白丝| 成人av免费在线观看| 国产美女精品在线| 久久99国产精品尤物| 蜜臀精品一区二区三区在线观看 | 972aa.com艺术欧美| 高清国产一区二区| 国产真实乱对白精彩久久| 人禽交欧美网站| 免费在线观看一区二区三区| 日韩经典中文字幕一区| 香蕉成人伊视频在线观看| 亚洲国产中文字幕| 亚洲国产精品一区二区www在线| 一区二区三区精品在线观看| 一区二区三区中文在线| 亚洲最大成人综合| 亚洲一区二区三区小说| 午夜精品福利视频网站| 秋霞影院一区二区| 国产毛片精品视频| 国产99精品视频| 91玉足脚交白嫩脚丫在线播放| 91免费观看视频在线| 欧美专区在线观看一区| 欧美美女视频在线观看| 欧美精品xxxxbbbb| 日韩美女天天操| 国产区在线观看成人精品| 国产精品美女一区二区| 亚洲一区二区偷拍精品| 免费高清成人在线| 粉嫩久久99精品久久久久久夜| av不卡一区二区三区| 在线观看亚洲精品| 日韩欧美国产综合在线一区二区三区 | 国产亚洲1区2区3区| 国产精品盗摄一区二区三区| 亚洲视频免费在线观看| 亚洲高清免费在线| 玖玖九九国产精品| 成人国产精品免费观看动漫 | 久久久久九九视频| 国产精品久久久久影院| 香蕉久久夜色精品国产使用方法| 激情丁香综合五月| 色综合亚洲欧洲| 欧美一卡2卡3卡4卡| 久久精品视频一区二区三区| 亚洲黄一区二区三区| 国产一区二区三区免费观看| 91丝袜国产在线播放| 日韩欧美国产麻豆| 国产精品久久久久aaaa| 日日摸夜夜添夜夜添精品视频| 国产高清一区日本| 欧美日本在线观看| 国产精品久久久久久久午夜片| 天堂一区二区在线| av福利精品导航| 欧美sm极限捆绑bd| 亚洲国产毛片aaaaa无费看| 紧缚奴在线一区二区三区| 在线观看国产日韩| 久久日韩粉嫩一区二区三区| 亚洲国产日韩在线一区模特| 国产成人综合在线观看| 欧美日韩国产高清一区二区| 国产精品麻豆欧美日韩ww| 麻豆91精品91久久久的内涵| 99re在线精品| 国产蜜臀av在线一区二区三区| 麻豆精品在线视频| 一本久久综合亚洲鲁鲁五月天| 精品粉嫩超白一线天av| 午夜一区二区三区在线观看| 91亚洲精品久久久蜜桃网站| 国产欧美视频在线观看| 男女男精品网站| 欧美一区二区网站| 综合色天天鬼久久鬼色| 国产精品一区2区| 久久久久久久久伊人| 美女高潮久久久| 91精品婷婷国产综合久久| 一区二区三区在线播| 99天天综合性| 久久久久国产免费免费| 国内精品伊人久久久久影院对白| 555www色欧美视频| 日本中文在线一区| 555www色欧美视频| 青青国产91久久久久久| 欧美一区二区三区喷汁尤物| 亚洲国产va精品久久久不卡综合| 91国产福利在线| 亚洲va韩国va欧美va| 欧美日韩国产一区二区三区地区| 亚洲一区在线观看免费| 欧美日韩亚洲不卡|