/* * my97 datepicker 4.72 release * license: http://www.my97.net/dp/license.asp */ var $dp, wdatepicker; (function() { var _ = { $wdate: true, $dppath: "", $crossframe: true, doublecalendar: false, enablekeyboard: true, enableinputmask: true, autoupdateonchanged: null, whichdayisfirstweek: 4, 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, specialdates: null, specialdays: null, disableddates: null, disableddays: null, opposite: false, 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, errmsg: "", quicksel: [], has: {}}; wdatepicker = u; var x = window, o = "document", j = "documentelement", c = "getelementsbytagname", v, a, t, i, b; switch (navigator.appname) { case"microsoft internet explorer": t = true; break; case"opera": b = true; break; default: i = true; break } a = l(); if (_.$wdate) m(a + "skin/wdatepicker.css"); v = x; if (_.$crossframe) { try { while (v.parent && v.parent[o] != v[o] && v.parent[o][c]("frameset").length == 0) v = v.parent } catch (p) { } } if (!v.$dp) v.$dp = {ff: i, ie: t, opera: b, el: null, win: x, status: 0, defmindate: _.mindate, defmaxdate: _.maxdate, flatcfgs: []}; b(); if ($dp.status == 0) z(x, function() { u(null, true) }); if (!x[o].docmd) { e(x[o], "onmousedown", d); x[o].docmd = true } if (!v[o].docmd) { e(v[o], "onmousedown", d); v[o].docmd = true } e(x, "onunload", function() { if ($dp.dd) q($dp.dd, "none") }); function b() { v.$dp = v.$dp || {}; obj = {$: function($) { return(typeof $ == "string") ? x[o].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[o].getelementsbytagname("div"), $ = 100000; for (var b = 0; b < a.length; b++) { var _ = parseint(a[b].style.zindex); if (_ > $) $ = _ } this.dd.style.zindex = $ + 2; q(this.dd, "block") }, hide: function() { q(this.dd, "none") }, attachevent: e}; for (var $ in obj) v.$dp[$] = obj[$]; $dp = v.$dp; $dp.dd = v[o].getelementbyid("_my97dp") } function e(a, $, _) { if (t) a.attachevent($, _); else if (_) { var b = $.replace(/on/, ""); _._ieemueventhandler = function($) { return _($) }; a.addeventlistener(b, _._ieemueventhandler, false) } } function l() { var _, a, $ = x[o][c]("script"); for (var b = 0; b < $.length; b++) { _ = $[b].src.substring(0, $[b].src.tolowercase().indexof("wdatepicker.js")); a = _.lastindexof("/"); if (a > 0) _ = _.substring(0, a + 1); if (_) break } return _ } function f(f) { var e, c; if (f.substring(0, 1) != "/" && f.indexof("://") == -1) { e = v.location.href; c = location.href; if (e.indexof("?") > -1) e = e.substring(0, e.indexof("?")); if (c.indexof("?") > -1) c = c.substring(0, c.indexof("?")); var g, i, $ = "", d = "", a = "", j, h, b = ""; for (j = 0; j < math.max(e.length, c.length); j++) { g = e.charat(j).tolowercase(); i = c.charat(j).tolowercase(); if (g == i) { if (g == "/") h = j } else { $ = e.substring(h + 1, e.length); $ = $.substring(0, $.lastindexof("/")); d = c.substring(h + 1, c.length); d = d.substring(0, d.lastindexof("/")); break } } if ($ != "") for (j = 0; j < $.split("/").length; j++) b += "../"; if (d != "") b += d + "/"; f = e.substring(0, e.lastindexof("/") + 1) + b + f } _.$dppath = f } function m(a, $, b) { var d = x[o][c]("head").item(0), _ = x[o].createelement("link"); if (d) { _.href = a; _.rel = "stylesheet"; _.type = "text/css"; if ($) _.title = $; if (b) _.charset = b; d.appendchild(_) } } function z($, _) { e($, "onload", _) } function g($) { $ = $ || v; var a = 0, _ = 0; while ($ != v) { var d = $.parent[o][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(f) { if (f.getboundingclientrect) return f.getboundingclientrect(); else { var a = {root_tag: /^body|html$/i, op_scroll: /^(?:inline|table-row)$/i}, e = false, h = null, _ = f.offsettop, g = f.offsetleft, d = f.offsetwidth, b = f.offsetheight, c = f.offsetparent; if (c != f) while (c) { g += c.offsetleft; _ += c.offsettop; if (s(c, "position").tolowercase() == "fixed") e = true; else if (c.tagname.tolowercase() == "body") h = c.ownerdocument.defaultview; c = c.offsetparent } c = f.parentnode; while (c.tagname && !a.root_tag.test(c.tagname)) { if (c.scrolltop || c.scrollleft) if (!a.op_scroll.test(q(c))) if (!b || c.style.overflow !== "visible") { g -= c.scrollleft; _ -= c.scrolltop } c = c.parentnode } if (!e) { var $ = a(h); g -= $.left; _ -= $.top } d += g; b += _; return{"left": g, "top": _, "right": d, "bottom": b} } } function n($) { $ = $ || v; var b = $[o], a = ($.innerwidth) ? $.innerwidth : (b[j] && b[j].clientwidth) ? b[j].clientwidth : b.body.offsetwidth, _ = ($.innerheight) ? $.innerheight : (b[j] && b[j].clientheight) ? b[j].clientheight : b.body.offsetheight; return{"width": a, "height": _} } function a($) { $ = $ || v; var b = $[o], a = b[j], _ = b.body; b = (a && a.scrolltop != null && (a.scrolltop > _.scrolltop || a.scrollleft > _.scrollleft)) ? a : _; return{"top": b.scrolltop, "left": b.scrollleft} } function d($) { var _ = $ ? ($.srcelement || $.target) : null; try { if ($dp.cal && !$dp.econt && $dp.dd && _ != $dp.el && $dp.dd.style.display == "block") $dp.cal.close() } catch ($) { } } function y() { $dp.status = 2; h() } function h() { if ($dp.flatcfgs.length > 0) { var $ = $dp.flatcfgs.shift(); $.el = {innerhtml: ""}; $.autopickdate = true; $.qsenabled = false; k($) } } var r, $; function u(j, c) { $dp.win = x; b(); j = j || {}; if (c) { if (!g()) { $ = $ || setinterval(function() { if (v[o].readystate == "complete") clearinterval($); u(null, true) }, 50); return } if ($dp.status == 0) { $dp.status = 1; k({el: {innerhtml: ""}}, true) } else return } else if (j.econt) { j.econt = $dp.$(j.econt); $dp.flatcfgs.push(j); if ($dp.status == 2) h() } else { if ($dp.status == 0) { u(null, true); return } if ($dp.status != 2) return; var f = d(); if (f) { $dp.srcel = f.srcelement || f.target; f.cancelbubble = true } $dp.el = j.el = $dp.$(j.el || $dp.srcel); if (!$dp.el || $dp.el["my97mark"] === true || $dp.el.disabled || ($dp.el == $dp.el && q($dp.dd) != "none" && $dp.dd.style.left != "-1970px")) { $dp.el["my97mark"] = false; return } k(j); if (f && $dp.el.nodetype == 1 && $dp.el["my97mark"] === undefined) { $dp.el["my97mark"] = false; var _, a; if (f.type == "focus") { _ = "onclick"; a = "onfocus" } else { _ = "onfocus"; a = "onclick" } e($dp.el, _, $dp.el[a]) } } function g() { if (t && v != x && v[o].readystate != "complete") return false; return true } function d() { if (i) { func = d.caller; while (func != null) { var $ = func.arguments[0]; if ($ && ($ + "").indexof("event") >= 0) return $; func = func.caller } return null } return event }} function s(_, $) { return _.currentstyle ? _.currentstyle[$] : document.defaultview.getcomputedstyle(_, false)[$] } function q(_, $) { if (_) if ($ != null) _.style.display = $; else return s(_, "display") } function k(h, $) { for (var d in _) if (d.substring(0, 1) != "$") $dp[d] = _[d]; for (d in h) if ($dp[d] !== undefined) $dp[d] = h[d]; var e = $dp.el ? $dp.el.nodename : "input"; if ($ || $dp.econt || new regexp(/input|textarea|div|span|p|a/ig).test(e)) $dp.elprop = e == "input" ? "value" : "innerhtml"; else return; if ($dp.lang == "auto") $dp.lang = t ? navigator.browserlanguage.tolowercase() : navigator.language.tolowercase(); if (!$dp.dd || $dp.econt || ($dp.lang && $dp.reallang && $dp.reallang.name != $dp.lang && $dp.getlangindex && $dp.getlangindex($dp.lang) >= 0)) { if ($dp.dd && !$dp.econt) v[o].body.removechild($dp.dd); if (_.$dppath == "") f(a); var b = ""; if ($dp.econt) { $dp.econt.innerhtml = b; z($dp.econt.childnodes[0], y) } else { $dp.dd = v[o].createelement("div"); $dp.dd.id = "_my97dp"; $dp.dd.style.csstext = "position:absolute"; $dp.dd.innerhtml = b; v[o].body.appendchild($dp.dd); z($dp.dd.childnodes[0], y); if ($) $dp.dd.style.left = $dp.dd.style.top = "-1970px"; else { $dp.show(); c() } } } else if ($dp.cal) { $dp.show(); $dp.cal.init(); if (!$dp.econt) c() } function c() { var f = $dp.position.left, b = $dp.position.top, c = $dp.el; if (c != $dp.srcel && (q(c) == "none" || c.type == "hidden")) c = $dp.srcel; var h = w(c), $ = g(x), d = n(v), a = a(v), e = $dp.dd.offsetheight, _ = $dp.dd.offsetwidth; if (isnan(b)) { if (b == "above" || (b != "under" && (($.topm + h.bottom + e > d.height) && ($.topm + h.top - e > 0)))) b = a.top + $.topm + h.top - e - 2; else b = a.top + $.topm + math.min(h.bottom, d.height - e) + 2 } else b += a.top + $.topm; if (isnan(f)) f = a.left + math.min($.leftm + h.left, d.width - _ - 5) - (t ? 2 : 0); else f += a.left + $.leftm; $dp.dd.style.top = b + "px"; $dp.dd.style.left = f + "px" }} } )()