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

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

?? calendar.js

?? 采用jsp+javabean實現功能
?? JS
?? 第 1 頁 / 共 3 頁
字號:
/*  Copyright Mihai Bazon, 2002, 2003  |  http://students.infoiasi.ro/~mishoo
 * ---------------------------------------------------------------------------
 *
 * The DHTML Calendar, version 0.9.3 "It's still alive & keeps rocking"
 *
 * Details and latest version at:
 * http://students.infoiasi.ro/~mishoo/site/calendar.epl
 *
 * Feel free to use this script under the terms of the GNU Lesser General
 * Public License, as long as you do not remove or alter this notice.
 */

// $Id: calendar.js,v 1.11 2003/07/08 18:51:41 mishoo Exp $

/** The Calendar object constructor. */
var Calendar = function (mondayFirst, dateStr, onSelected, onClose) {
	// member variables
	this.activeDiv = null;
	this.currentDateEl = null;
	this.checkDisabled = null;
	this.timeout = null;
	this.onSelected = onSelected || null;
	this.onClose = onClose || null;
	this.dragging = false;
	this.hidden = false;
	this.minYear = 1970;
	this.maxYear = 2050;
	this.dateFormat = Calendar._TT["DEF_DATE_FORMAT"];
	this.ttDateFormat = Calendar._TT["TT_DATE_FORMAT"];
	this.isPopup = true;
	this.weekNumbers = true;
	this.mondayFirst = mondayFirst;
	this.dateStr = dateStr;
	this.ar_days = null;
	// HTML elements
	this.table = null;
	this.element = null;
	this.tbody = null;
	this.firstdayname = null;
	// Combo boxes
	this.monthsCombo = null;
	this.yearsCombo = null;
	this.hilitedMonth = null;
	this.activeMonth = null;
	this.hilitedYear = null;
	this.activeYear = null;
	// Information
	this.dateClicked = false;

	// one-time initializations
	if (!Calendar._DN3) {
		// table of short day names
		var ar = new Array();
		for (var i = 8; i > 0;) {
			ar[--i] = Calendar._DN[i].substr(0, 3);
		}
		Calendar._DN3 = ar;
		// table of short month names
		ar = new Array();
		for (var i = 12; i > 0;) {
			ar[--i] = Calendar._MN[i].substr(0, 3);
		}
		Calendar._MN3 = ar;
	}
};

// ** constants

/// "static", needed for event handlers.
Calendar._C = null;

/// detect a special case of "web browser"
Calendar.is_ie = ( /msie/i.test(navigator.userAgent) &&
		   !/opera/i.test(navigator.userAgent) );

// short day names array (initialized at first constructor call)
Calendar._DN3 = null;

// short month names array (initialized at first constructor call)
Calendar._MN3 = null;

// BEGIN: UTILITY FUNCTIONS; beware that these might be moved into a separate
//        library, at some point.

Calendar.getAbsolutePos = function(el) {
	var r = { x: el.offsetLeft, y: el.offsetTop };
	if (el.offsetParent) {
		var tmp = Calendar.getAbsolutePos(el.offsetParent);
		r.x += tmp.x;
		r.y += tmp.y;
	}
	return r;
};

Calendar.isRelated = function (el, evt) {
	var related = evt.relatedTarget;
	if (!related) {
		var type = evt.type;
		if (type == "mouseover") {
			related = evt.fromElement;
		} else if (type == "mouseout") {
			related = evt.toElement;
		}
	}
	while (related) {
		if (related == el) {
			return true;
		}
		related = related.parentNode;
	}
	return false;
};

Calendar.removeClass = function(el, className) {
	if (!(el && el.className)) {
		return;
	}
	var cls = el.className.split(" ");
	var ar = new Array();
	for (var i = cls.length; i > 0;) {
		if (cls[--i] != className) {
			ar[ar.length] = cls[i];
		}
	}
	el.className = ar.join(" ");
};

Calendar.addClass = function(el, className) {
	Calendar.removeClass(el, className);
	el.className += " " + className;
};

Calendar.getElement = function(ev) {
	if (Calendar.is_ie) {
		return window.event.srcElement;
	} else {
		return ev.currentTarget;
	}
};

Calendar.getTargetElement = function(ev) {
	if (Calendar.is_ie) {
		return window.event.srcElement;
	} else {
		return ev.target;
	}
};

Calendar.stopEvent = function(ev) {
	if (Calendar.is_ie) {
		window.event.cancelBubble = true;
		window.event.returnValue = false;
	} else {
		ev.preventDefault();
		ev.stopPropagation();
	}
	return false;
};

Calendar.addEvent = function(el, evname, func) {
	if (el.attachEvent) { // IE
		el.attachEvent("on" + evname, func);
	} else if (el.addEventListener) { // Gecko / W3C
		el.addEventListener(evname, func, true);
	} else { // Opera (or old browsers)
		el["on" + evname] = func;
	}
};

Calendar.removeEvent = function(el, evname, func) {
	if (el.detachEvent) { // IE
		el.detachEvent("on" + evname, func);
	} else if (el.removeEventListener) { // Gecko / W3C
		el.removeEventListener(evname, func, true);
	} else { // Opera (or old browsers)
		el["on" + evname] = null;
	}
};

Calendar.createElement = function(type, parent) {
	var el = null;
	if (document.createElementNS) {
		// use the XHTML namespace; IE won't normally get here unless
		// _they_ "fix" the DOM2 implementation.
		el = document.createElementNS("http://www.w3.org/1999/xhtml", type);
	} else {
		el = document.createElement(type);
	}
	if (typeof parent != "undefined") {
		parent.appendChild(el);
	}
	return el;
};

// END: UTILITY FUNCTIONS

// BEGIN: CALENDAR STATIC FUNCTIONS

/** Internal -- adds a set of events to make some element behave like a button. */
Calendar._add_evs = function(el) {
	with (Calendar) {
		addEvent(el, "mouseover", dayMouseOver);
		addEvent(el, "mousedown", dayMouseDown);
		addEvent(el, "mouseout", dayMouseOut);
		if (is_ie) {
			addEvent(el, "dblclick", dayMouseDblClick);
			el.setAttribute("unselectable", true);
		}
	}
};

Calendar.findMonth = function(el) {
	if (typeof el.month != "undefined") {
		return el;
	} else if (typeof el.parentNode.month != "undefined") {
		return el.parentNode;
	}
	return null;
};

Calendar.findYear = function(el) {
	if (typeof el.year != "undefined") {
		return el;
	} else if (typeof el.parentNode.year != "undefined") {
		return el.parentNode;
	}
	return null;
};

Calendar.showMonthsCombo = function () {
	var cal = Calendar._C;
	if (!cal) {
		return false;
	}
	var cal = cal;
	var cd = cal.activeDiv;
	var mc = cal.monthsCombo;
	if (cal.hilitedMonth) {
		Calendar.removeClass(cal.hilitedMonth, "hilite");
	}
	if (cal.activeMonth) {
		Calendar.removeClass(cal.activeMonth, "active");
	}
	var mon = cal.monthsCombo.getElementsByTagName("div")[cal.date.getMonth()];
	Calendar.addClass(mon, "active");
	cal.activeMonth = mon;
	mc.style.left = cd.offsetLeft + "px";
	mc.style.top = (cd.offsetTop + cd.offsetHeight) + "px";
	mc.style.display = "block";
};

Calendar.showYearsCombo = function (fwd) {
	var cal = Calendar._C;
	if (!cal) {
		return false;
	}
	var cal = cal;
	var cd = cal.activeDiv;
	var yc = cal.yearsCombo;
	if (cal.hilitedYear) {
		Calendar.removeClass(cal.hilitedYear, "hilite");
	}
	if (cal.activeYear) {
		Calendar.removeClass(cal.activeYear, "active");
	}
	cal.activeYear = null;
	var Y = cal.date.getFullYear() + (fwd ? 1 : -1);
	var yr = yc.firstChild;
	var show = false;
	for (var i = 12; i > 0; --i) {
		if (Y >= cal.minYear && Y <= cal.maxYear) {
			yr.firstChild.data = Y;
			yr.year = Y;
			yr.style.display = "block";
			show = true;
		} else {
			yr.style.display = "none";
		}
		yr = yr.nextSibling;
		Y += fwd ? 2 : -2;
	}
	if (show) {
		yc.style.left = cd.offsetLeft + "px";
		yc.style.top = (cd.offsetTop + cd.offsetHeight) + "px";
		yc.style.display = "block";
	}
};

// event handlers

Calendar.tableMouseUp = function(ev) {
	var cal = Calendar._C;
	if (!cal) {
		return false;
	}
	if (cal.timeout) {
		clearTimeout(cal.timeout);
	}
	var el = cal.activeDiv;
	if (!el) {
		return false;
	}
	var target = Calendar.getTargetElement(ev);
	Calendar.removeClass(el, "active");
	if (target == el || target.parentNode == el) {
		Calendar.cellClick(el);
	}
	var mon = Calendar.findMonth(target);
	var date = null;
	if (mon) {
		date = new Date(cal.date);
		if (mon.month != date.getMonth()) {
			date.setMonth(mon.month);
			cal.setDate(date);
			cal.dateClicked = false;
			cal.callHandler();
		}
	} else {
		var year = Calendar.findYear(target);
		if (year) {
			date = new Date(cal.date);
			if (year.year != date.getFullYear()) {
				date.setFullYear(year.year);
				cal.setDate(date);
				cal.dateClicked = false;
				cal.callHandler();
			}
		}
	}
	with (Calendar) {
		removeEvent(document, "mouseup", tableMouseUp);
		removeEvent(document, "mouseover", tableMouseOver);
		removeEvent(document, "mousemove", tableMouseOver);
		cal._hideCombos();
		_C = null;
		return stopEvent(ev);
	}
};

Calendar.tableMouseOver = function (ev) {
	var cal = Calendar._C;
	if (!cal) {
		return;
	}
	var el = cal.activeDiv;
	var target = Calendar.getTargetElement(ev);
	if (target == el || target.parentNode == el) {
		Calendar.addClass(el, "hilite active");
		Calendar.addClass(el.parentNode, "rowhilite");
	} else {
		Calendar.removeClass(el, "active");
		Calendar.removeClass(el, "hilite");
		Calendar.removeClass(el.parentNode, "rowhilite");
	}
	var mon = Calendar.findMonth(target);
	if (mon) {
		if (mon.month != cal.date.getMonth()) {
			if (cal.hilitedMonth) {
				Calendar.removeClass(cal.hilitedMonth, "hilite");
			}
			Calendar.addClass(mon, "hilite");
			cal.hilitedMonth = mon;
		} else if (cal.hilitedMonth) {
			Calendar.removeClass(cal.hilitedMonth, "hilite");
		}
	} else {
		var year = Calendar.findYear(target);
		if (year) {
			if (year.year != cal.date.getFullYear()) {
				if (cal.hilitedYear) {
					Calendar.removeClass(cal.hilitedYear, "hilite");
				}
				Calendar.addClass(year, "hilite");
				cal.hilitedYear = year;
			} else if (cal.hilitedYear) {
				Calendar.removeClass(cal.hilitedYear, "hilite");
			}
		}
	}
	return Calendar.stopEvent(ev);
};

Calendar.tableMouseDown = function (ev) {
	if (Calendar.getTargetElement(ev) == Calendar.getElement(ev)) {
		return Calendar.stopEvent(ev);
	}
};

Calendar.calDragIt = function (ev) {
	var cal = Calendar._C;
	if (!(cal && cal.dragging)) {
		return false;
	}
	var posX;
	var posY;
	if (Calendar.is_ie) {
		posY = window.event.clientY + document.body.scrollTop;
		posX = window.event.clientX + document.body.scrollLeft;
	} else {
		posX = ev.pageX;
		posY = ev.pageY;
	}
	cal.hideShowCovered();
	var st = cal.element.style;
	st.left = (posX - cal.xOffs) + "px";
	st.top = (posY - cal.yOffs) + "px";
	return Calendar.stopEvent(ev);
};

Calendar.calDragEnd = function (ev) {
	var cal = Calendar._C;
	if (!cal) {
		return false;
	}
	cal.dragging = false;
	with (Calendar) {
		removeEvent(document, "mousemove", calDragIt);
		removeEvent(document, "mouseover", stopEvent);
		removeEvent(document, "mouseup", calDragEnd);
		tableMouseUp(ev);
	}
	cal.hideShowCovered();
};

Calendar.dayMouseDown = function(ev) {
	var el = Calendar.getElement(ev);
	if (el.disabled) {
		return false;
	}
	var cal = el.calendar;
	cal.activeDiv = el;
	Calendar._C = cal;
	if (el.navtype != 300) with (Calendar) {
		addClass(el, "hilite active");
		addEvent(document, "mouseover", tableMouseOver);
		addEvent(document, "mousemove", tableMouseOver);
		addEvent(document, "mouseup", tableMouseUp);
	} else if (cal.isPopup) {
		cal._dragStart(ev);
	}
	if (el.navtype == -1 || el.navtype == 1) {
		cal.timeout = setTimeout("Calendar.showMonthsCombo()", 250);
	} else if (el.navtype == -2 || el.navtype == 2) {
		cal.timeout = setTimeout((el.navtype > 0) ? "Calendar.showYearsCombo(true)" : "Calendar.showYearsCombo(false)", 250);
	} else {
		cal.timeout = null;
	}
	return Calendar.stopEvent(ev);
};

Calendar.dayMouseDblClick = function(ev) {
	Calendar.cellClick(Calendar.getElement(ev));
	if (Calendar.is_ie) {
		document.selection.empty();
	}
};

Calendar.dayMouseOver = function(ev) {
	var el = Calendar.getElement(ev);
	if (Calendar.isRelated(el, ev) || Calendar._C || el.disabled) {
		return false;
	}
	if (el.ttip) {
		if (el.ttip.substr(0, 1) == "_") {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩av一区二区| 天天色天天操综合| 国产欧美日韩卡一| 久久精品夜色噜噜亚洲a∨| 欧美一区二区三区免费大片| 911精品国产一区二区在线| 精品1区2区3区| 欧美视频完全免费看| 欧美三级电影精品| 欧美日韩精品免费观看视频| 欧美日韩久久不卡| 制服.丝袜.亚洲.中文.综合| 欧美一区国产二区| 欧美电影免费观看高清完整版在线| 欧美一区中文字幕| 久久亚洲精品国产精品紫薇| 国产欧美一区二区三区沐欲| 中国av一区二区三区| 亚洲欧美日韩一区二区| 亚洲一区二区三区三| 亚洲va中文字幕| 奇米色777欧美一区二区| 久久99国产精品成人| 国产成人av电影在线播放| 一本色道久久加勒比精品 | 成人短视频下载| 97se狠狠狠综合亚洲狠狠| 91成人在线精品| 欧美区在线观看| 久久综合狠狠综合久久综合88| 欧美激情一二三区| 亚洲综合一区二区三区| 日韩高清国产一区在线| 国产精品一区二区在线播放 | 在线精品观看国产| 欧美日本一区二区三区四区 | 精品影院一区二区久久久| 国产在线一区观看| 91在线porny国产在线看| 欧美人伦禁忌dvd放荡欲情| 精品99一区二区| 亚洲女女做受ⅹxx高潮| 视频一区视频二区中文字幕| 国产精品18久久久久久久网站| av色综合久久天堂av综合| 欧美剧情片在线观看| 久久久三级国产网站| 亚洲国产一区视频| 激情成人午夜视频| 在线观看欧美日本| 久久免费的精品国产v∧| 一区二区在线观看av| 精品一区二区三区在线观看| 色成年激情久久综合| 六月丁香婷婷久久| 欧美激情在线免费观看| 亚洲欧美日韩精品久久久久| 久久综合色婷婷| 7777精品伊人久久久大香线蕉的 | 亚洲国产欧美在线| 国产乱码精品一区二区三区av| 在线这里只有精品| 国产欧美日本一区二区三区| 亚洲va韩国va欧美va| 岛国精品在线播放| 日韩精品在线网站| 亚洲综合在线免费观看| 国产成人亚洲综合a∨婷婷图片| 欧美精品一卡二卡| 中文字幕在线一区免费| 精品中文字幕一区二区| 久久久蜜桃精品| 亚洲精品一区二区三区精华液| 日韩欧美一区中文| 91精品国产乱码| 日韩欧美一级在线播放| 欧美一区二区免费视频| 日韩欧美亚洲国产另类| 日韩欧美综合在线| 日韩欧美在线123| 久久一区二区视频| 国产欧美日韩久久| ●精品国产综合乱码久久久久| 一区在线中文字幕| 夜夜精品视频一区二区| 亚洲丶国产丶欧美一区二区三区| 亚洲mv在线观看| 日本亚洲三级在线| 国产一区二区福利| 成人免费高清视频| 91麻豆免费在线观看| 在线区一区二视频| 69堂亚洲精品首页| 337p日本欧洲亚洲大胆色噜噜| 国产欧美一区视频| 亚洲男人的天堂在线观看| 性欧美疯狂xxxxbbbb| 久久精品国产77777蜜臀| 丁香婷婷深情五月亚洲| 色国产综合视频| 日韩三级在线观看| 国产欧美日韩亚州综合| 亚洲女人的天堂| 日本成人超碰在线观看| 国产精品一区2区| 91女厕偷拍女厕偷拍高清| 欧美日韩免费观看一区二区三区| 日韩欧美在线综合网| 中文字幕欧美三区| 亚洲午夜影视影院在线观看| 久久99精品久久久久婷婷| 成人免费视频国产在线观看| 欧美自拍偷拍午夜视频| 欧美va亚洲va国产综合| 国产精品久久久久久户外露出| 视频在线观看国产精品| 成人免费观看视频| 91精品国产综合久久精品| 国产色婷婷亚洲99精品小说| 亚洲精品国产一区二区三区四区在线| 国产精品久久久久久久午夜片| 国产麻豆精品久久一二三| 亚洲国产精品成人综合色在线婷婷| 福利电影一区二区三区| 亚洲三级久久久| 综合欧美一区二区三区| 欧洲精品在线观看| 免费视频一区二区| 26uuu精品一区二区三区四区在线| 国产一区二区三区av电影| 国产精品久久久久久亚洲伦| 在线亚洲精品福利网址导航| 免费成人在线影院| 久久九九久久九九| 色欧美乱欧美15图片| 日本不卡1234视频| 国产欧美一区二区精品仙草咪| 色综合久久88色综合天天| 日韩av在线播放中文字幕| 久久综合给合久久狠狠狠97色69| 91啪九色porn原创视频在线观看| 99久久国产综合精品女不卡| 26uuuu精品一区二区| 蜜桃视频在线观看一区二区| 在线日韩一区二区| 综合在线观看色| 成人av综合一区| www国产亚洲精品久久麻豆| 免费国产亚洲视频| 欧美久久久久免费| 一区二区日韩av| 91免费小视频| 国产精品的网站| 成人一区二区三区视频| 久久蜜桃av一区二区天堂| 麻豆国产欧美一区二区三区| 91精选在线观看| 午夜成人免费电影| 欧美日韩一级片网站| 亚洲第一搞黄网站| 欧美三级电影网| 亚洲国产一区二区三区 | 精品视频123区在线观看| 亚洲精品视频一区二区| 99久久综合国产精品| 国产精品久久久久久久久图文区 | 色视频一区二区| 亚洲欧美一区二区三区孕妇| 91在线免费视频观看| 亚洲免费高清视频在线| 99久久国产综合精品女不卡| 亚洲欧美在线另类| 日本道精品一区二区三区| 一区二区三区产品免费精品久久75| 色婷婷av一区二区三区大白胸| 一区二区三区在线视频免费 | 欧美日韩中字一区| 亚洲成人免费影院| 欧美日韩夫妻久久| 美女脱光内衣内裤视频久久网站| 精品日韩99亚洲| 国产乱一区二区| 最新国产精品久久精品| 91一区一区三区| 午夜电影久久久| 亚洲精品一区二区三区蜜桃下载 | 日韩三级在线免费观看| 国产乱人伦偷精品视频免下载 | 日本不卡1234视频| 337p粉嫩大胆噜噜噜噜噜91av| 国产专区欧美精品| 国产精品国产自产拍高清av| 欧美性猛片aaaaaaa做受| 免播放器亚洲一区| 欧美狂野另类xxxxoooo| 在线视频国产一区| 91国产精品成人| 在线精品视频免费观看| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 国产成人在线看|