- Replace CETC54 references with ETMS - Replace com.cetc54 package with com.example - Rename cetc54 directories to etms - Replace CECT54.WebUI to ETMS.WebUI - Replace organization names (中国电科54所 -> XX公司) - Replace internal system URLs (cetc54.com -> example.com)
421 lines
16 KiB
JavaScript
421 lines
16 KiB
JavaScript
/*
|
|
* My97 DatePicker 4.8 Beta4
|
|
* License: http://www.my97.net/dp/license.asp
|
|
*/
|
|
var $dp, WdatePicker;
|
|
(function () {
|
|
var $ = {
|
|
$langList: [
|
|
{name: "en", charset: "UTF-8"},
|
|
{name: "zh-cn", charset: "gb2312"},
|
|
{name: "zh-tw", charset: "GBK"}
|
|
],
|
|
$skinList: [
|
|
{name: "default", charset: "gb2312"}
|
|
],
|
|
$wdate: true,
|
|
$crossFrame: true,
|
|
$preLoad: false,
|
|
$dpPath: "",
|
|
doubleCalendar: false,
|
|
enableKeyboard: true,
|
|
enableInputMask: true,
|
|
autoUpdateOnChanged: null,
|
|
weekMethod: "ISO8601",
|
|
position: {},
|
|
lang: "auto",
|
|
skin: "default",
|
|
dateFmt: "yyyy-MM-dd",
|
|
realDateFmt: "yyyy-MM-dd",
|
|
realTimeFmt: "HH:mm:ss",
|
|
realFullFmt: "%Date %Time",
|
|
minDate: "1900-01-01 00:00:00",
|
|
maxDate: "2099-12-31 23:59:59",
|
|
startDate: "",
|
|
alwaysUseStartDate: false,
|
|
yearOffset: 1911,
|
|
firstDayOfWeek: 0,
|
|
isShowWeek: false,
|
|
highLineWeekDay: true,
|
|
isShowClear: true,
|
|
isShowToday: true,
|
|
isShowOK: true,
|
|
isShowOthers: true,
|
|
readOnly: false,
|
|
errDealMode: 0,
|
|
autoPickDate: null,
|
|
qsEnabled: true,
|
|
autoShowQS: false,
|
|
hmsMenuCfg: {H: [1, 6], m: [5, 6], s: [15, 4]},
|
|
opposite: false,
|
|
|
|
specialDates: null, specialDays: null, disabledDates: null, disabledDays: null, onpicking: null, onpicked: null, onclearing: null, oncleared: null, ychanging: null, ychanged: null, Mchanging: null, Mchanged: null, dchanging: null, dchanged: null, Hchanging: null, Hchanged: null, mchanging: null, mchanged: null, schanging: null, schanged: null, eCont: null, vel: null, elProp: "", errMsg: "", quickSel: [], has: {}, getRealLang: function () {
|
|
var _ = $.$langList;
|
|
for (var A = 0; A < _.length; A++)if (_[A].name == this.lang)return _[A];
|
|
return _[0]
|
|
}};
|
|
WdatePicker = U;
|
|
var Y = window, T = {innerHTML: ""}, N = "document", H = "documentElement", C = "getElementsByTagName", V, A, S, G, c, X = navigator.appName;
|
|
if (X == "Microsoft Internet Explorer")S = true; else if (X == "Opera")c = true; else G = true;
|
|
A = $.$dpPath || J();
|
|
if ($.$wdate)K(A + "skin/WdatePicker.css");
|
|
V = Y;
|
|
if ($.$crossFrame) {
|
|
try {
|
|
while (V.parent != V && V.parent[N][C]("frameset").length == 0)V = V.parent
|
|
} catch (O) {
|
|
}
|
|
}
|
|
if (!V.$dp)V.$dp = {ff: G, ie: S, opera: c, status: 0, defMinDate: $.minDate, defMaxDate: $.maxDate};
|
|
B();
|
|
if ($.$preLoad && $dp.status == 0)E(Y, "onload", function () {
|
|
U(null, true)
|
|
});
|
|
if (!Y[N].docMD) {
|
|
E(Y[N], "onmousedown", D, true);
|
|
Y[N].docMD = true
|
|
}
|
|
if (!V[N].docMD) {
|
|
E(V[N], "onmousedown", D, true);
|
|
V[N].docMD = true
|
|
}
|
|
E(Y, "onunload", function () {
|
|
if ($dp.dd)P($dp.dd, "none")
|
|
});
|
|
function B() {
|
|
try {
|
|
V[N], V.$dp = V.$dp || {}
|
|
} catch ($) {
|
|
V = Y;
|
|
$dp = $dp || {}
|
|
}
|
|
var A = {win: Y, $: function ($) {
|
|
return(typeof $ == "string") ? Y[N].getElementById($) : $
|
|
}, $D: function ($, _) {
|
|
return this.$DV(this.$($).value, _)
|
|
}, $DV: function (_, $) {
|
|
if (_ != "") {
|
|
this.dt = $dp.cal.splitDate(_, $dp.cal.dateFmt);
|
|
if ($)for (var B in $)if (this.dt[B] === undefined)this.errMsg = "invalid property:" + B; else {
|
|
this.dt[B] += $[B];
|
|
if (B == "M") {
|
|
var C = $["M"] > 0 ? 1 : 0, A = new Date(this.dt["y"], this.dt["M"], 0).getDate();
|
|
this.dt["d"] = Math.min(A + C, this.dt["d"])
|
|
}
|
|
}
|
|
if (this.dt.refresh())return this.dt
|
|
}
|
|
return""
|
|
}, show: function () {
|
|
var A = V[N].getElementsByTagName("div"), $ = 100000;
|
|
for (var B = 0; B < A.length; B++) {
|
|
var _ = parseInt(A[B].style.zIndex);
|
|
if (_ > $)$ = _
|
|
}
|
|
this.dd.style.zIndex = $ + 2;
|
|
P(this.dd, "block");
|
|
P(this.dd.firstChild, "")
|
|
}, unbind: function ($) {
|
|
$ = this.$($);
|
|
if ($.initcfg) {
|
|
L($, "onclick", function () {
|
|
U($.initcfg)
|
|
});
|
|
L($, "onfocus", function () {
|
|
U($.initcfg)
|
|
})
|
|
}
|
|
}, hide: function () {
|
|
P(this.dd, "none")
|
|
}, attachEvent: E};
|
|
for (var _ in A)V.$dp[_] = A[_];
|
|
$dp = V.$dp
|
|
}
|
|
|
|
function E(B, _, A, $) {
|
|
if (B.addEventListener) {
|
|
var C = _.replace(/on/, "");
|
|
A._ieEmuEventHandler = function ($) {
|
|
return A($)
|
|
};
|
|
B.addEventListener(C, A._ieEmuEventHandler, $)
|
|
} else B.attachEvent(_, A)
|
|
}
|
|
|
|
function L(A, $, _) {
|
|
if (A.removeEventListener) {
|
|
var B = $.replace(/on/, "");
|
|
_._ieEmuEventHandler = function ($) {
|
|
return _($)
|
|
};
|
|
A.removeEventListener(B, _._ieEmuEventHandler, false)
|
|
} else A.detachEvent($, _)
|
|
}
|
|
|
|
function a(_, $, A) {
|
|
if (typeof _ != typeof $)return false;
|
|
if (typeof _ == "object") {
|
|
if (!A)for (var B in _) {
|
|
if (typeof $[B] == "undefined")return false;
|
|
if (!a(_[B], $[B], true))return false
|
|
}
|
|
return true
|
|
} else if (typeof _ == "function" && typeof $ == "function")return _.toString() == $.toString(); else return _ == $
|
|
}
|
|
|
|
function J() {
|
|
var _, A, $ = Y[N][C]("script");
|
|
for (var B = 0; B < $.length; B++) {
|
|
_ = $[B].getAttribute("src") || "";
|
|
_ = _.substr(0, _.toLowerCase().indexOf("wdatepicker.js"));
|
|
A = _.lastIndexOf("/");
|
|
if (A > 0)_ = _.substring(0, A + 1);
|
|
if (_)break
|
|
}
|
|
return _
|
|
}
|
|
|
|
function K(A, $, B) {
|
|
var D = Y[N][C]("HEAD").item(0), _ = Y[N].createElement("link");
|
|
if (D) {
|
|
_.href = A;
|
|
_.rel = "stylesheet";
|
|
_.type = "text/css";
|
|
if ($)_.title = $;
|
|
if (B)_.charset = B;
|
|
D.appendChild(_)
|
|
}
|
|
}
|
|
|
|
function F($) {
|
|
$ = $ || V;
|
|
var A = 0, _ = 0;
|
|
while ($ != V) {
|
|
var D = $.parent[N][C]("iframe");
|
|
for (var F = 0; F < D.length; F++) {
|
|
try {
|
|
if (D[F].contentWindow == $) {
|
|
var E = W(D[F]);
|
|
A += E.left;
|
|
_ += E.top;
|
|
break
|
|
}
|
|
} catch (B) {
|
|
}
|
|
}
|
|
$ = $.parent
|
|
}
|
|
return{"leftM": A, "topM": _}
|
|
}
|
|
|
|
function W(G, F) {
|
|
if (G.getBoundingClientRect)return G.getBoundingClientRect(); else {
|
|
var A = {ROOT_TAG: /^body|html$/i, OP_SCROLL: /^(?:inline|table-row)$/i}, E = false, I = null, _ = G.offsetTop, H = G.offsetLeft, D = G.offsetWidth, B = G.offsetHeight, C = G.offsetParent;
|
|
if (C != G)while (C) {
|
|
H += C.offsetLeft;
|
|
_ += C.offsetTop;
|
|
if (R(C, "position").toLowerCase() == "fixed")E = true; else if (C.tagName.toLowerCase() == "body")I = C.ownerDocument.defaultView;
|
|
C = C.offsetParent
|
|
}
|
|
C = G.parentNode;
|
|
while (C.tagName && !A.ROOT_TAG.test(C.tagName)) {
|
|
if (C.scrollTop || C.scrollLeft)if (!A.OP_SCROLL.test(P(C)))if (!c || C.style.overflow !== "visible") {
|
|
H -= C.scrollLeft;
|
|
_ -= C.scrollTop
|
|
}
|
|
C = C.parentNode
|
|
}
|
|
if (!E) {
|
|
var $ = b(I);
|
|
H -= $.left;
|
|
_ -= $.top
|
|
}
|
|
D += H;
|
|
B += _;
|
|
return{"left": H, "top": _, "right": D, "bottom": B}
|
|
}
|
|
}
|
|
|
|
function M($) {
|
|
$ = $ || V;
|
|
var B = $[N], A = ($.innerWidth) ? $.innerWidth : (B[H] && B[H].clientWidth) ? B[H].clientWidth : B.body.offsetWidth, _ = ($.innerHeight) ? $.innerHeight : (B[H] && B[H].clientHeight) ? B[H].clientHeight : B.body.offsetHeight;
|
|
return{"width": A, "height": _}
|
|
}
|
|
|
|
function b($) {
|
|
$ = $ || V;
|
|
var B = $[N], A = B[H], _ = B.body;
|
|
B = (A && A.scrollTop != null && (A.scrollTop > _.scrollTop || A.scrollLeft > _.scrollLeft)) ? A : _;
|
|
return{"top": B.scrollTop, "left": B.scrollLeft}
|
|
}
|
|
|
|
function D($) {
|
|
try {
|
|
var _ = $ ? ($.srcElement || $.target) : null;
|
|
if ($dp.cal && !$dp.eCont && $dp.dd && _ != $dp.el && $dp.dd.style.display == "block")$dp.cal.close()
|
|
} catch ($) {
|
|
}
|
|
}
|
|
|
|
function Z() {
|
|
$dp.status = 2
|
|
}
|
|
|
|
var Q, _;
|
|
|
|
function U(K, C) {
|
|
if (!$dp)return;
|
|
B();
|
|
var L = {};
|
|
for (var H in K)L[H] = K[H];
|
|
for (H in $)if (H.substring(0, 1) != "$" && L[H] === undefined)L[H] = $[H];
|
|
if (C) {
|
|
if (!J()) {
|
|
_ = _ || setInterval(function () {
|
|
if (V[N].readyState == "complete")clearInterval(_);
|
|
U(null, true)
|
|
}, 50);
|
|
return
|
|
}
|
|
if ($dp.status == 0) {
|
|
$dp.status = 1;
|
|
L.el = T;
|
|
I(L, true)
|
|
} else return
|
|
} else if (L.eCont) {
|
|
L.eCont = $dp.$(L.eCont);
|
|
L.el = T;
|
|
L.autoPickDate = true;
|
|
L.qsEnabled = false;
|
|
I(L)
|
|
} else {
|
|
if ($.$preLoad && $dp.status != 2)return;
|
|
var F = D();
|
|
if (Y.event === F || F) {
|
|
L.srcEl = F.srcElement || F.target;
|
|
F.cancelBubble = true
|
|
}
|
|
L.el = L.el = $dp.$(L.el || L.srcEl);
|
|
if (!L.el || L.el["My97Mark"] === true || L.el.disabled || ($dp.dd && P($dp.dd) != "none" && $dp.dd.style.left != "-970px")) {
|
|
try {
|
|
if (L.el["My97Mark"])L.el["My97Mark"] = false
|
|
} catch (A) {
|
|
}
|
|
return
|
|
}
|
|
if (F && L.el.nodeType == 1 && !a(L.el.initcfg, K)) {
|
|
$dp.unbind(L.el);
|
|
E(L.el, F.type == "focus" ? "onclick" : "onfocus", function () {
|
|
U(K)
|
|
});
|
|
L.el.initcfg = K
|
|
}
|
|
I(L)
|
|
}
|
|
function J() {
|
|
if (S && V != Y && V[N].readyState != "complete")return false;
|
|
return true
|
|
}
|
|
|
|
function D() {
|
|
if (G) {
|
|
func = D.caller;
|
|
while (func != null) {
|
|
var $ = func.arguments[0];
|
|
if ($ && ($ + "").indexOf("Event") >= 0)return $;
|
|
func = func.caller
|
|
}
|
|
return null
|
|
}
|
|
return event
|
|
}
|
|
}
|
|
|
|
function R(_, $) {
|
|
return _.currentStyle ? _.currentStyle[$] : document.defaultView.getComputedStyle(_, false)[$]
|
|
}
|
|
|
|
function P(_, $) {
|
|
if (_)if ($ != null)_.style.display = $; else return R(_, "display")
|
|
}
|
|
|
|
function I(G, _) {
|
|
var D = G.el ? G.el.nodeName : "INPUT";
|
|
if (_ || G.eCont || new RegExp(/input|textarea|div|span|p|a/ig).test(D))G.elProp = D == "INPUT" ? "value" : "innerHTML"; else return;
|
|
if (G.lang == "auto")G.lang = S ? navigator.browserLanguage.toLowerCase() : navigator.language.toLowerCase();
|
|
if (!G.eCont)for (var C in G)$dp[C] = G[C];
|
|
if (!$dp.dd || G.eCont || ($dp.dd && (G.getRealLang().name != $dp.dd.lang || G.skin != $dp.dd.skin))) {
|
|
if (G.eCont)E(G.eCont, G); else {
|
|
$dp.dd = V[N].createElement("DIV");
|
|
$dp.dd.style.cssText = "position:absolute";
|
|
V[N].body.appendChild($dp.dd);
|
|
E($dp.dd, G);
|
|
if (_)$dp.dd.style.left = $dp.dd.style.top = "-970px"; else {
|
|
$dp.show();
|
|
B($dp)
|
|
}
|
|
}
|
|
} else if ($dp.cal) {
|
|
$dp.show();
|
|
$dp.cal.init();
|
|
if (!$dp.eCont)B($dp)
|
|
}
|
|
function E(K, J) {
|
|
var I = V[N].domain, F = false, G = "<iframe hideFocus=true width=9 height=7 frameborder=0 border=0 scrolling=no src=\"about:blank\"></iframe>";
|
|
K.innerHTML = G;
|
|
var _ = $.$langList, D = $.$skinList, H;
|
|
try {
|
|
H = K.lastChild.contentWindow[N]
|
|
} catch (E) {
|
|
F = true;
|
|
K.removeChild(K.lastChild);
|
|
var L = V[N].createElement("iframe");
|
|
L.hideFocus = true;
|
|
L.frameBorder = 0;
|
|
L.scrolling = "no";
|
|
L.src = "javascript:(function(){var d=document;d.open();d.domain='" + I + "';})()";
|
|
K.appendChild(L);
|
|
setTimeout(function () {
|
|
H = K.lastChild.contentWindow[N];
|
|
C()
|
|
}, 97);
|
|
return
|
|
}
|
|
C();
|
|
function C() {
|
|
var _ = J.getRealLang();
|
|
K.lang = _.name;
|
|
K.skin = J.skin;
|
|
var $ = ["<head><script>", "", "var doc=document, $d, $dp, $cfg=doc.cfg, $pdp = parent.$dp, $dt, $tdt, $sdt, $lastInput, $IE=$pdp.ie, $FF = $pdp.ff,$OPERA=$pdp.opera, $ny, $cMark = false;", "if($cfg.eCont){$dp = {};for(var p in $pdp)$dp[p]=$pdp[p];}else{$dp=$pdp;};for(var p in $cfg){$dp[p]=$cfg[p];}", "doc.oncontextmenu=function(){try{$c._fillQS(!$dp.has.d,1);showB($d.qsDivSel);}catch(e){};return false;};", "</script><script src=", A, "lang/", _.name, ".js charset=", _.charset, "></script>"];
|
|
if (F)$[1] = "document.domain=\"" + I + "\";";
|
|
for (var C = 0; C < D.length; C++)if (D[C].name == J.skin)$.push("<link rel=\"stylesheet\" type=\"text/css\" href=\"" + A + "skin/" + D[C].name + "/datepicker.css\" charset=\"" + D[C].charset + "\"/>");
|
|
$.push("<script src=\"" + A + "calendar.js\"></script>");
|
|
$.push("</head><body leftmargin=\"0\" topmargin=\"0\" tabindex=0></body></html>");
|
|
$.push("<script>var t;t=t||setInterval(function(){if(doc.ready){new My97DP();$cfg.onload();$c.autoSize();$cfg.setPos($dp);clearInterval(t);}},20);</script>");
|
|
J.setPos = B;
|
|
J.onload = Z;
|
|
H.write("<html>");
|
|
H.cfg = J;
|
|
H.write($.join(""));
|
|
H.close()
|
|
}
|
|
}
|
|
|
|
function B(J) {
|
|
var H = J.position.left, C = J.position.top, D = J.el;
|
|
if (D == T)return;
|
|
if (D != J.srcEl && (P(D) == "none" || D.type == "hidden"))D = J.srcEl;
|
|
var I = W(D), $ = F(Y), E = M(V), B = b(V), G = $dp.dd.offsetHeight, A = $dp.dd.offsetWidth;
|
|
if (isNaN(C))C = 0;
|
|
if (($.topM + I.bottom + G > E.height) && ($.topM + I.top - G > 0))C += B.top + $.topM + I.top - G - 2; else {
|
|
C += B.top + $.topM + I.bottom;
|
|
var _ = C - B.top + G - E.height;
|
|
if (_ > 0)C -= _
|
|
}
|
|
if (isNaN(H))H = 0;
|
|
H += B.left + Math.min($.leftM + I.left, E.width - A - 5) - (S ? 2 : 0);
|
|
J.dd.style.top = C + "px";
|
|
J.dd.style.left = H + "px"
|
|
}
|
|
}
|
|
})() |