亚洲欧美第一页_禁久久精品乱码_粉嫩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制服丝袜| 1000部国产精品成人观看| 亚洲超丰满肉感bbw| 欧美猛男超大videosgay| 视频一区欧美精品| 欧美一级高清片| 国产成人av自拍| 中文字幕一区二区三区精华液| 91啦中文在线观看| 亚洲一二三四在线| 欧美人体做爰大胆视频| 蜜桃久久av一区| 国产精品久久夜| 欧美亚洲综合在线| 蜜臀av国产精品久久久久| 国产无一区二区| 色av一区二区| 久久草av在线| 自拍偷拍国产亚洲| 欧美肥妇毛茸茸| 国产成人福利片| 图片区小说区国产精品视频 | 99麻豆久久久国产精品免费优播| 亚洲婷婷综合色高清在线| 欧美视频在线一区二区三区| 麻豆精品视频在线观看视频| 中文字幕中文字幕在线一区| 777午夜精品视频在线播放| 国产福利精品一区二区| 亚洲二区在线视频| 久久人人超碰精品| 欧美日韩久久一区二区| 国产不卡免费视频| 午夜亚洲国产au精品一区二区| 2020日本不卡一区二区视频| 色老综合老女人久久久| 国产一区二区不卡| 天天色综合成人网| 亚洲视频图片小说| 日韩精品一区二区三区在线播放| 色综合天天综合给合国产| 六月婷婷色综合| 亚洲大片在线观看| 亚洲人成网站色在线观看| 久久色在线视频| 欧美精品日日鲁夜夜添| 91农村精品一区二区在线| 美女视频一区二区| 亚洲自拍另类综合| 国产精品私人自拍| 精品日韩成人av| 欧美性猛交xxxxxx富婆| 成人av电影在线网| 国产成人精品亚洲午夜麻豆| 精品无码三级在线观看视频| 亚洲6080在线| 一区二区三区不卡视频| 国产亚洲综合av| 精品日韩欧美一区二区| 日韩欧美一二三区| 欧美日韩国产另类不卡| 在线视频综合导航| 一本色道亚洲精品aⅴ| 成人av免费观看| 成人黄色一级视频| 成人免费观看视频| 成人一区二区三区视频在线观看| 国内精品国产成人| 国产一区二区在线免费观看| 精品亚洲欧美一区| 石原莉奈在线亚洲三区| 亚洲二区在线观看| 日韩不卡一区二区| 免费不卡在线观看| 久久精品国产一区二区| 久久精品国产免费| 韩国女主播一区二区三区| 久久精品免费看| 韩国一区二区三区| 成人美女视频在线看| 成人免费观看视频| 99re免费视频精品全部| 一本久道中文字幕精品亚洲嫩| 色妞www精品视频| 欧美视频自拍偷拍| 91精品黄色片免费大全| 337p日本欧洲亚洲大胆精品| 久久综合99re88久久爱| 国产精品久久久久久亚洲毛片| 1区2区3区国产精品| 3d动漫精品啪啪1区2区免费| 亚洲综合激情小说| 日韩成人精品在线观看| 国产精品福利在线播放| 欧美极品aⅴ影院| 欧美另类一区二区三区| 在线观看一区二区视频| 94-欧美-setu| 亚洲精选在线视频| 91精品国产日韩91久久久久久| 欧美精品一二三四| 久久综合中文字幕| 国产精品三级视频| 椎名由奈av一区二区三区| 亚洲曰韩产成在线| 久久99国产精品久久| 国产成人精品网址| 欧美色中文字幕| 日韩三级.com| 亚洲欧美在线aaa| 亚洲午夜激情网站| 国产一区二区三区免费| 91香蕉国产在线观看软件| 欧美日韩一本到| 亚洲精品一区二区三区四区高清 | 国产一区 二区 三区一级| 国产成人av电影在线| 欧美中文字幕一二三区视频| 精品福利视频一区二区三区| 日韩理论片在线| 久久精品免费看| 色婷婷综合久久久中文一区二区| 91精品久久久久久蜜臀| 亚洲欧洲国产日本综合| 久久99九九99精品| 色综合久久综合网欧美综合网| 日韩午夜中文字幕| 综合在线观看色| 精品中文av资源站在线观看| 欧洲精品一区二区三区在线观看| 久久久久久麻豆| 日韩成人一区二区三区在线观看| www.综合网.com| 久久午夜电影网| 免费黄网站欧美| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 久久九九影视网| 久久综合综合久久综合| 欧美日韩高清影院| ●精品国产综合乱码久久久久| 国产麻豆午夜三级精品| 9191精品国产综合久久久久久| 亚洲三级在线看| 懂色av中文一区二区三区| 日韩美一区二区三区| 午夜视频一区在线观看| 91性感美女视频| 中文字幕欧美区| 粉嫩欧美一区二区三区高清影视| 欧美tickling挠脚心丨vk| 午夜视频一区二区| 欧美日韩五月天| 亚洲一区视频在线| 在线一区二区三区| 亚洲欧美日韩久久| 成人午夜电影网站| 欧美激情综合五月色丁香小说| 久久综合综合久久综合| 欧美变态tickling挠脚心| 日韩电影在线观看一区| 欧美美女一区二区| 亚洲mv在线观看| 欧美高清视频一二三区| 偷拍一区二区三区| 91精品国产品国语在线不卡| 亚洲bt欧美bt精品777| 欧美精品亚洲二区| 日本一区中文字幕| 欧美岛国在线观看| 免费三级欧美电影| 精品久久99ma| 国产精品综合网| 欧美国产欧美综合| 99久久精品情趣| 亚洲欧美日韩国产另类专区| 色94色欧美sute亚洲线路一ni | 日韩精品一区二区三区在线观看| 麻豆精品久久久| 欧美第一区第二区| 国产aⅴ综合色| 亚洲欧洲日韩女同| 欧美在线观看视频一区二区三区| 亚洲va欧美va人人爽午夜| 69堂成人精品免费视频| 精品一区免费av| 中文字幕在线免费不卡| 色噜噜狠狠色综合中国| 日韩电影在线免费看| 久久久久久毛片| 色婷婷狠狠综合| 日韩成人免费电影| 中文在线一区二区| 日本韩国精品在线| 免费亚洲电影在线| 国产精品久久久久婷婷| 欧美亚洲丝袜传媒另类| 久久精品国产**网站演员| 国产精品乱人伦| 欧美久久高跟鞋激| 国产在线国偷精品产拍免费yy|