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

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

?? calendar-setup.js

?? Calendar淘寶漂亮的js日歷控件
?? JS
字號:
/*  Copyright Mihai Bazon, 2002, 2003  |  http://dynarch.com/mishoo/
 * ---------------------------------------------------------------------------
 *
 * The DHTML Calendar 
 *
 * Details and latest version at:
 * http://dynarch.com/mishoo/calendar.epl
 *
 * This script is distributed under the GNU Lesser General Public License.
 * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html
 *
 * This file defines helper functions for setting up the calendar.  They are
 * intended to help non-programmers get a working calendar on their site
 * quickly.  This script should not be seen as part of the calendar.  It just
 * shows you what one can do with the calendar, while in the same time
 * providing a quick and simple method for setting it up.  If you need
 * exhaustive customization of the calendar creation process feel free to
 * modify this code to suit your needs (this is recommended and much better
 * than modifying calendar.js itself).
 */

// $Id: calendar-setup.js,v 1.25 2005/03/07 09:51:33 mishoo Exp $

/**
 *  This function "patches" an input field (or other element) to use a calendar
 *  widget for date selection.
 *
 *  The "params" is a single object that can have the following properties:
 *
 *    prop. name   | description
 *  -------------------------------------------------------------------------------------------------
 *   inputField    | the ID of an input field to store the date
 *   displayArea   | the ID of a DIV or other element to show the date
 *   button        | ID of a button or other element that will trigger the calendar
 *   eventName     | event that will trigger the calendar, without the "on" prefix (default: "click")
 *   ifFormat      | date format that will be stored in the input field
 *   daFormat      | the date format that will be used to display the date in displayArea
 *   singleClick   | (true/false) wether the calendar is in single click mode or not (default: true)
 *   firstDay      | numeric: 0 to 6.  "0" means display Sunday first, "1" means display Monday first, etc.
 *   align         | alignment (default: "Br"); if you don't know what's this see the calendar documentation
 *   range         | array with 2 elements.  Default: [1900, 2999] -- the range of years available
 *   weekNumbers   | (true/false) if it's true (default) the calendar will display week numbers
 *   flat          | null or element ID; if not null the calendar will be a flat calendar having the parent with the given ID
 *   flatCallback  | function that receives a JS Date object and returns an URL to point the browser to (for flat calendar)
 *   disableFunc   | function that receives a JS Date object and should return true if that date has to be disabled in the calendar
 *   onSelect      | function that gets called when a date is selected.  You don't _have_ to supply this (the default is generally okay)
 *   onClose       | function that gets called when the calendar is closed.  [default]
 *   onUpdate      | function that gets called after the date is updated in the input field.  Receives a reference to the calendar.
 *   date          | the date that the calendar will be initially displayed to
 *   showsTime     | default: false; if true the calendar will include a time selector
 *   timeFormat    | the time format; can be "12" or "24", default is "12"
 *   electric      | if true (default) then given fields/date areas are updated for each move; otherwise they're updated only on close
 *   step          | configures the step of the years in drop-down boxes; default: 2
 *   position      | configures the calendar absolute position; default: null
 *   cache         | if "true" (but default: "false") it will reuse the same calendar object, where possible
 *   showOthers    | if "true" (but default: "false") it will show days from other months too
 *
 *  None of them is required, they all have default values.  However, if you
 *  pass none of "inputField", "displayArea" or "button" you'll get a warning
 *  saying "nothing to setup".
 */
Calendar.setup = function (params) {
	function param_default(pname, def) { if (typeof params[pname] == "undefined") { params[pname] = def; } };

	param_default("inputField",     null);
	param_default("displayArea",    null);
	param_default("button",         null);
	param_default("eventName",      "click");
	param_default("ifFormat",       "%Y/%m/%d");
	param_default("daFormat",       "%Y/%m/%d");
	param_default("singleClick",    true);
	param_default("disableFunc",    null);
	param_default("dateStatusFunc", params["disableFunc"]);	// takes precedence if both are defined
	param_default("dateText",       null);
	param_default("firstDay",       null);
	param_default("align",          "Br");
	param_default("range",          [1900, 2999]);
	param_default("weekNumbers",    true);
	param_default("flat",           null);
	param_default("flatCallback",   null);
	param_default("onSelect",       null);
	param_default("onClose",        null);
	param_default("onUpdate",       null);
	param_default("date",           null);
	param_default("showsTime",      false);
	param_default("timeFormat",     "24");
	param_default("electric",       true);
	param_default("step",           2);
	param_default("position",       null);
	param_default("cache",          false);
	param_default("showOthers",     false);
	param_default("multiple",       null);

	var tmp = ["inputField", "displayArea", "button"];
	for (var i in tmp) {
		if (typeof params[tmp[i]] == "string") {
			params[tmp[i]] = document.getElementById(params[tmp[i]]);
		}
	}
	if (!(params.flat || params.multiple || params.inputField || params.displayArea || params.button)) {
		alert("Calendar.setup:\n  Nothing to setup (no fields found).  Please check your code");
		return false;
	}

	function onSelect(cal) {
		var p = cal.params;
		var update = (cal.dateClicked || p.electric);
		if (update && p.inputField) {
			p.inputField.value = cal.date.print(p.ifFormat);
			if (typeof p.inputField.onchange == "function")
				p.inputField.onchange();
		}
		if (update && p.displayArea)
			p.displayArea.innerHTML = cal.date.print(p.daFormat);
		if (update && typeof p.onUpdate == "function")
			p.onUpdate(cal);
		if (update && p.flat) {
			if (typeof p.flatCallback == "function")
				p.flatCallback(cal);
		}
		if (update && p.singleClick && cal.dateClicked)
			cal.callCloseHandler();
	};

	if (params.flat != null) {
		if (typeof params.flat == "string")
			params.flat = document.getElementById(params.flat);
		if (!params.flat) {
			alert("Calendar.setup:\n  Flat specified but can't find parent.");
			return false;
		}
		var cal = new Calendar(params.firstDay, params.date, params.onSelect || onSelect);
		cal.showsOtherMonths = params.showOthers;
		cal.showsTime = params.showsTime;
		cal.time24 = (params.timeFormat == "24");
		cal.params = params;
		cal.weekNumbers = params.weekNumbers;
		cal.setRange(params.range[0], params.range[1]);
		cal.setDateStatusHandler(params.dateStatusFunc);
		cal.getDateText = params.dateText;
		if (params.ifFormat) {
			cal.setDateFormat(params.ifFormat);
		}
		if (params.inputField && typeof params.inputField.value == "string") {
			cal.parseDate(params.inputField.value);
		}
		cal.create(params.flat);
		cal.show();
		return false;
	}

	var triggerEl = params.button || params.displayArea || params.inputField;
	triggerEl["on" + params.eventName] = function() {
		var dateEl = params.inputField || params.displayArea;
		var dateFmt = params.inputField ? params.ifFormat : params.daFormat;
		var mustCreate = false;
		var cal = window.calendar;
		if (dateEl)
			params.date = Date.parseDate(dateEl.value || dateEl.innerHTML, dateFmt);
		if (!(cal && params.cache)) {
			window.calendar = cal = new Calendar(params.firstDay,
							     params.date,
							     params.onSelect || onSelect,
							     params.onClose || function(cal) { cal.hide(); });
			cal.showsTime = params.showsTime;
			cal.time24 = (params.timeFormat == "24");
			cal.weekNumbers = params.weekNumbers;
			mustCreate = true;
		} else {
			if (params.date)
				cal.setDate(params.date);
			cal.hide();
		}
		if (params.multiple) {
			cal.multiple = {};
			for (var i = params.multiple.length; --i >= 0;) {
				var d = params.multiple[i];
				var ds = d.print("%Y%m%d");
				cal.multiple[ds] = d;
			}
		}
		cal.showsOtherMonths = params.showOthers;
		cal.yearStep = params.step;
		cal.setRange(params.range[0], params.range[1]);
		cal.params = params;
		cal.setDateStatusHandler(params.dateStatusFunc);
		cal.getDateText = params.dateText;
		cal.setDateFormat(dateFmt);
		if (mustCreate)
			cal.create();
		cal.refresh();
		if (!params.position)
			cal.showAtElement(params.button || params.displayArea || params.inputField, params.align);
		else
			cal.showAt(params.position[0], params.position[1]);
		return false;
	};

	return cal;
};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91女厕偷拍女厕偷拍高清| 777久久久精品| 欧美二区乱c少妇| 国产午夜精品一区二区三区四区| 国产精品久99| 狠狠色丁香九九婷婷综合五月| 色婷婷av一区二区三区软件| 欧美精品一区二区不卡| 亚洲男人的天堂网| 精品无码三级在线观看视频| av爱爱亚洲一区| 精品国精品国产| 亚洲小少妇裸体bbw| 国产麻豆精品在线观看| 在线观看不卡视频| 日本一区二区三区dvd视频在线 | 成人理论电影网| 欧美在线不卡一区| 久久久久九九视频| 亚洲欧美一区二区三区极速播放 | 国产麻豆欧美日韩一区| 欧美性一区二区| 日本一区二区三区电影| 免费观看一级特黄欧美大片| 99免费精品在线观看| 精品少妇一区二区三区免费观看| 亚洲天堂免费看| 国内精品免费在线观看| 欧美日韩小视频| 亚洲免费成人av| 成人综合在线网站| 欧美成人精品福利| 日本一区二区动态图| 国产精品99久久久久久久女警| 欧美日韩国产天堂| 一区二区三区在线免费观看| 国产一区二区三区美女| 欧美日韩一区二区三区高清| 欧美国产日本视频| 国产一区二区在线免费观看| 色婷婷亚洲精品| 亚洲图片另类小说| 成人黄色在线看| 国产欧美精品国产国产专区| 久久成人免费网站| 日韩欧美一区中文| 日本不卡在线视频| 91精品国产综合久久久久久久 | 欧美性感一区二区三区| 亚洲激情男女视频| 色欧美88888久久久久久影院| 欧美一级欧美三级| 偷窥国产亚洲免费视频 | 国产91丝袜在线观看| 精品久久国产字幕高潮| 另类综合日韩欧美亚洲| 91精品国产综合久久国产大片 | 亚洲精品乱码久久久久久日本蜜臀| 国产成人a级片| 国产免费观看久久| 99国内精品久久| 亚洲精品日韩一| 欧美日韩免费一区二区三区| 日韩和欧美的一区| 欧美精品一区二区三区蜜桃视频| 国产在线不卡视频| 国产无一区二区| 成人ar影院免费观看视频| 国产精品区一区二区三| 一本大道久久a久久综合| 亚洲综合自拍偷拍| 欧美最猛性xxxxx直播| 日韩在线a电影| 久久免费精品国产久精品久久久久| 国产精品一区二区你懂的| 中文一区二区在线观看| 91高清视频在线| 奇米影视一区二区三区| 国产亚洲综合色| 色欧美88888久久久久久影院| 亚洲国产精品久久人人爱蜜臀| 7777精品伊人久久久大香线蕉完整版 | 久久精品欧美一区二区三区不卡| 国产91精品在线观看| 一区二区三区在线观看国产| 69堂精品视频| 成人免费av网站| 天天爽夜夜爽夜夜爽精品视频| 久久午夜国产精品| 色婷婷久久综合| 国产传媒久久文化传媒| 一区二区三区在线观看网站| 欧美成人一级视频| 成人av网址在线| 免费观看91视频大全| 国产精品第四页| 成人高清视频在线| 亚洲 欧美综合在线网络| 久久久久99精品一区| 欧美色视频一区| 成人免费av网站| 黑人精品欧美一区二区蜜桃| 伊人色综合久久天天| 亚洲精品一区二区三区影院| 在线观看av一区| 成人不卡免费av| 久久机这里只有精品| 一区二区三区在线免费播放| 国产盗摄一区二区| 亚洲激情图片一区| 国产精品免费aⅴ片在线观看| 91精品国产高清一区二区三区蜜臀 | 精品国产91洋老外米糕| 欧美无人高清视频在线观看| 成人午夜私人影院| 精品一区二区免费| 日韩电影在线观看电影| 亚洲欧美成aⅴ人在线观看| 久久精品夜色噜噜亚洲aⅴ| 欧美精品日韩精品| 精品视频1区2区| 91亚洲精品久久久蜜桃| 成人污污视频在线观看| 国产乱码精品一品二品| 国产一区福利在线| 久久精品国产99国产| 日韩中文字幕亚洲一区二区va在线 | 韩国精品在线观看| 久久99九九99精品| 一区二区三区美女| 亚洲青青青在线视频| 亚洲乱码国产乱码精品精小说 | 久久久综合视频| 久久久久久99精品| 国产女主播视频一区二区| 久久人人爽爽爽人久久久| 精品免费国产一区二区三区四区| 欧美一二三四在线| 日韩无一区二区| 久久伊人蜜桃av一区二区| 91精品国产91热久久久做人人| 在线免费一区三区| 欧美午夜精品久久久久久超碰| 欧洲中文字幕精品| 99国产精品国产精品久久| 色综合久久天天| 欧美日韩黄色一区二区| 精品视频在线免费观看| 欧美一区二区精品在线| 久久丝袜美腿综合| 国产精品久久毛片a| 国产欧美视频一区二区| 国产午夜一区二区三区| 亚洲精品一二三区| 日韩和欧美一区二区| 国产一区二区三区四区五区美女| 国产福利视频一区二区三区| 成人av片在线观看| 欧美性videosxxxxx| 欧美视频自拍偷拍| 国产高清久久久久| 欧美自拍偷拍午夜视频| 精品美女被调教视频大全网站| 久久午夜老司机| 亚洲美女电影在线| 久久国产精品一区二区| 粉嫩嫩av羞羞动漫久久久| 在线观看av不卡| 欧美精品一区二区三区很污很色的 | 亚洲精品乱码久久久久久黑人| 日日摸夜夜添夜夜添国产精品| 国产精品18久久久久久久久| av电影在线观看完整版一区二区| 欧美老女人在线| 亚洲国产电影在线观看| 一区二区三区四区在线播放| 亚洲国产日韩在线一区模特| 国产福利一区二区| 91精品国产综合久久精品麻豆| 日本一区二区久久| 日韩和的一区二区| 一本久久a久久精品亚洲 | 欧美性大战久久久| 欧美国产一区视频在线观看| 亚洲成人久久影院| 97精品国产97久久久久久久久久久久 | 欧美日韩综合在线免费观看| 精品美女在线播放| 尤物在线观看一区| 国产不卡高清在线观看视频| 欧美午夜视频网站| 欧美激情一区二区在线| 美女一区二区久久| 欧美性色黄大片手机版| 国产亚洲人成网站| 免费成人av在线播放| 欧美日韩在线亚洲一区蜜芽| 国产精品久久久久久久久快鸭 | 夜夜揉揉日日人人青青一国产精品| 国产呦萝稀缺另类资源|