PageSourceSearch

http://chjzxc.com/static/home/js/_portletPlugs/datepicker/js/jquery.datepicker.js

js chjzxc.com collected 2026-10-08 12:17:18 UTC 27,969 bytes, 647 lines download raw bytes

1;
2(function($) {
3    if (!dateFormat || typeof(dateFormat) != "function") {
4        var dateFormat = function(format) {
5            var o = {
6                "M+": this.getMonth() + 1,
7                "d+": this.getDate(),
8                "h+": this.getHours(),
9                "H+": this.getHours(),
10                "m+": this.getMinutes(),
11                "s+": this.getSeconds(),
12                "q+": Math.floor((this.getMonth() + 3) / 3),
13                "w": "0123456".indexOf(this.getDay()),
14                "S": this.getMilliseconds()
15            };
16            if (/(y+)/.test(format)) {
17                format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
18            }
19            for (var k in o) {
20                if (new RegExp("(" + k + ")").test(format))
21                    format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
22            }
23            return format;
24        };
25    }
26    if (!DateAdd || typeof(DateDiff) != "function") {
27        var DateAdd = function(interval, number, idate) {
28            number = parseInt(number);
29            var date;
30            if (typeof(idate) == "string") {
31                date = idate.split(/\D/);
32                eval("var date = new Date(" + date.join(",") + ")");
33            }
34            if (typeof(idate) == "object") {
35                date = new Date(idate.toString());
36            }
37            switch (interval) {
38                case "y":
39                    date.setFullYear(date.getFullYear() + number);
40                    break;
41                case "m":
42                    date.setMonth(date.getMonth() + number);
43                    break;
44                case "d":
45                    date.setDate(date.getDate() + number);
46                    break;
47                case "w":
48                    date.setDate(date.getDate() + 7 * number);
49                    break;
50                case "h":
51                    date.setHours(date.getHours() + number);
52                    break;
53                case "n":
54                    date.setMinutes(date.getMinutes() + number);
55                    break;
56                case "s":
57                    date.setSeconds(date.getSeconds() + number);
58                    break;
59                case "l":
60                    date.setMilliseconds(date.getMilliseconds() + number);
61                    break;
62            }
63            return date;
64        }
65    }
66    if (!DateDiff || typeof(DateDiff) != "function") {
67        var DateDiff = function(interval, d1, d2) {
68            switch (interval) {
69                case "d": //date
70                case "w":
71                    d1 = new Date(d1.getFullYear(), d1.getMonth(), d1.getDate());
72                    d2 = new Date(d2.getFullYear(), d2.getMonth(), d2.getDate());
73                    break; //w
74                case "h":
75                    d1 = new Date(d1.getFullYear(), d1.getMonth(), d1.getDate(), d1.getHours());
76                    d2 = new Date(d2.getFullYear(), d2.getMonth(), d2.getDate(), d2.getHours());
77                    break; //h
78                case "n":
79                    d1 = new Date(d1.getFullYear(), d1.getMonth(), d1.getDate(), d1.getHours(), d1.getMinutes());
80                    d2 = new Date(d2.getFullYear(), d2.getMonth(), d2.getDate(), d2.getHours(), d2.getMinutes());
81                    break;
82                case "s":
83                    d1 = new Date(d1.getFullYear(), d1.getMonth(), d1.getDate(), d1.getHours(), d1.getMinutes(), d1.getSeconds());
84                    d2 = new Date(d2.getFullYear(), d2.getMonth(), d2.getDate(), d2.getHours(), d2.getMinutes(), d2.getSeconds());
85                    break;
86            }
87            var t1 = d1.getTime(),
88                t2 = d2.getTime();
89            var diff = NaN;
90            switch (interval) {
91                case "y":
92                    diff = d2.getFullYear() - d1.getFullYear();
93                    break; //y
94                case "m":
95                    diff = (d2.getFullYear() - d1.getFullYear()) * 12 + d2.getMonth() - d1.getMonth();
96                    break; //m
97                case "d":
98                    diff = Math.floor(t2 / 86400000) - Math.floor(t1 / 86400000);
99                    break;
100                case "w":
101                    diff = Math.floor((t2 + 345600000) / (604800000)) - Math.floor((t1 + 345600000) / (604800000));
102                    break; //w
103                case "h":
104                    diff = Math.floor(t2 / 3600000) - Math.floor(t1 / 3600000);
105                    break; //h
106                case "n":
107                    diff = Math.floor(t2 / 60000) - Math.floor(t1 / 60000);
108                    break; //
109                case "s":
110                    diff = Math.floor(t2 / 1000) - Math.floor(t1 / 1000);
111                    break; //s
112                case "l":
113                    diff = t2 - t1;
114                    break;
115            }
116            return diff;
117
118        }
119    }
120    var userAgent = window.navigator.userAgent.toLowerCase();
121    $.browser.msie8 = $.browser.msie && /msie 8\.0/i.test(userAgent);
122    $.browser.msie7 = $.browser.msie && /msie 7\.0/i.test(userAgent);
123    $.browser.msie6 = !$.browser.msie8 && !$.browser.msie7 && $.browser.msie && /msie 6\.0/i.test(userAgent);
124    if ($.fn.noSelect == undefined) {
125        $.fn.noSelect = function(p) { //no select plugin by me :-)
126            if (p == null)
127                prevent = true;
128            else
129                prevent = p;
130            if (prevent) {
131                return this.each(function() {
132                    if ($.browser.msie || $.browser.safari) $(this).bind('selectstart', function() {
133                        return false;
134                    });
135                    else if ($.browser.mozilla) {
136                        $(this).css('MozUserSelect', 'none');
137                        $('body').trigger('focus');
138                    } else if ($.browser.opera) $(this).bind('mousedown', function() {
139                        return false;
140                    });
141                    else $(this).attr('unselectable', 'on');
142                });
143
144            } else {
145                return this.each(function() {
146                    if ($.browser.msie || $.browser.safari) $(this).unbind('selectstart');
147                    else if ($.browser.mozilla) $(this).css('MozUserSelect', 'inherit');
148                    else if ($.browser.opera) $(this).unbind('mousedown');
149                    else $(this).removeAttr('unselectable', 'on');
150                });
151
152            }
153        }; //end noSelect
154    };
155    $.fn.datepicker = function(o) {
156        var def = {
157            weekStart: 0,
158            weekName: [i18n.datepicker.dateformat.sun, i18n.datepicker.dateformat.mon, i18n.datepicker.dateformat.tue, i18n.datepicker.dateformat.wed, i18n.datepicker.dateformat.thu, i18n.datepicker.dateformat.fri, i18n.datepicker.dateformat.sat], //week language support
159            monthName: [i18n.datepicker.dateformat.jan, i18n.datepicker.dateformat.feb, i18n.datepicker.dateformat.mar, i18n.datepicker.dateformat.apr, i18n.datepicker.dateformat.may, i18n.datepicker.dateformat.jun, i18n.datepicker.dateformat.jul, i18n.datepicker.dateformat.aug, i18n.datepicker.dateformat.sep, i18n.datepicker.dateformat.oct, i18n.datepicker.dateformat.nov, i18n.datepicker.dateformat.dec],
160            monthp: i18n.datepicker.dateformat.postfix,
161            Year: new Date().getFullYear(), //default year
162            Month: new Date().getMonth() + 1, //default month
163            Day: new Date().getDate(), //default date
164            today: new Date(),
165            btnOk: i18n.datepicker.ok,
166            btnCancel: i18n.datepicker.cancel,
167            btnToday: i18n.datepicker.today,
168            inputDate: null,
169            onReturn: false,
170            version: "1.1",
171            applyrule: false, //function(){};return rule={startdate,endate};
172            showtarget: null,
173            picker: ""
174        };
175        $.extend(def, o);
176        var cp = $("#BBIT_DP_CONTAINER");
177        if (cp.length == 0) {
178            var cpHA = [];
179            cpHA.push("<div id='BBIT_DP_CONTAINER' class='bbit-dp' style='width:175px;z-index:999;'>");
180            if ($.browser.msie6) {
181                cpHA.push('<iframe style="position:absolute;z-index:-1;width:100%;height:205px;top:0;left:0;scrolling:no;" frameborder="0" src="about:blank"></iframe>');
182            }
183            cpHA.push("<table class='dp-maintable' cellspacing='0' cellpadding='0' style='width:175px;'><tbody><tr><td>");
184            //caption bar goes here
185            cpHA.push("<table class='bbit-dp-top' cellspacing='0'><tr><td class='bbit-dp-top-left'> <a id='BBIT_DP_LEFTBTN' href='javascript:void(0);' title='", i18n.datepicker.prev_month_title, "'>&nbsp;</a></td><td class='bbit-dp-top-center' align='center'><em><button id='BBIT_DP_YMBTN'></button></em></td><td class='bbit-dp-top-right'><a id='BBIT_DP_RIGHTBTN' href='javascript:void(0);' title='", i18n.datepicker.next_month_title, "'>&nbsp;</a></td></tr></table>");
186            cpHA.push("</td></tr>");
187            cpHA.push("<tr><td>");
188            //week 
189            cpHA.push("<table id='BBIT_DP_INNER' class='bbit-dp-inner' cellspacing='0'><thead><tr>");
190            //calculat for week
191            for (var i = def.weekStart, j = 0; j < 7; j++) {
192                cpHA.push("<th><span>", def.weekName[i], "</span></th>");
193                if (i == 6) {
194                    i = 0;
195                } else {
196                    i++;
197                }
198            }
199            cpHA.push("</tr></thead>");
200            //to generat tBody, everything need to rebuilt
201            cpHA.push("<tbody></tbody></table>");
202            //end tbody
203            cpHA.push("</td></tr>");
204            cpHA.push("<tr>
204<td class='bbit-dp-bottom' align='center'><button id='BBIT-DP-TODAY'>", def.btnToday, "</button></td></tr>");
205            cpHA.push("</tbody></table>");
206            //for drop down to select year & month
207            cpHA.push("<div id='BBIT-DP-MP' class='bbit-dp-mp'  style='z-index:auto;'><table id='BBIT-DP-T' style='width: 175px; height: 193px' border='0' cellspacing='0'><tbody>");
208            cpHA.push("<tr>");
209            //tow buttons for Jan & Jul
210            cpHA.push("<td class='bbit-dp-mp-month' xmonth='0'><a href='javascript:void(0);'>", def.monthName[0], "</a></td><td class='bbit-dp-mp-month bbit-dp-mp-sep' xmonth='6'><a href='javascript:void(0);'>", def.monthName[6], "</a></td><td class='bbit-dp-mp-ybtn' align='middle'><a id='BBIT-DP-MP-PREV' class='bbit-dp-mp-prev'></a></td><td class='bbit-dp-mp-ybtn' align='middle'><a id='BBIT-DP-MP-NEXT' class='bbit-dp-mp-next'></a></td>");
211            cpHA.push("</tr>");
212            cpHA.push("<tr>");
213            cpHA.push("<td class='bbit-dp-mp-month' xmonth='1'><a href='javascript:void(0);'>", def.monthName[1], "</a></td>
213<td class='bbit-dp-mp-month bbit-dp-mp-sep' xmonth='7'><a href='javascript:void(0);'>", def.monthName[7], "</a></td><td class='bbit-dp-mp-year'><a href='javascript:void(0);'></a></td><td class='bbit-dp-mp-year'><a href='javascript:void(0);'></a></td>");
214            cpHA.push("</tr>");
215            cpHA.push("<tr>");
216            cpHA.push("<td class='bbit-dp-mp-month' xmonth='2'><a href='javascript:void(0);'>", def.monthName[2], "</a></td><td class='bbit-dp-mp-month bbit-dp-mp-sep' xmonth='8'><a href='javascript:void(0);'>", def.monthName[8], "</a></td><td class='bbit-dp-mp-year'><a href='javascript:void(0);'></a></td><td class='bbit-dp-mp-year'><a href='javascript:void(0);'></a></td>");
217            cpHA.push("</tr>");
218            cpHA.push("<tr>");
219            cpHA.push("<td class='bbit-dp-mp-month' xmonth='3'><a href='javascript:void(0);'>", def.monthName[3], "</a></td><td class='bbit-dp-mp-month bbit-dp-mp-sep' xmonth='9'><a href='javascript:void(0);'>", def.monthName[9], "</a></td><td class='bbit-dp-mp-year'><a href='javascript:void(0);'></a></td>
219<td class='bbit-dp-mp-year'><a href='javascript:void(0);'></a></td>");
220            cpHA.push("</tr>");
221
222            cpHA.push("<tr>");
223            cpHA.push("<td class='bbit-dp-mp-month' xmonth='4'><a href='javascript:void(0);'>", def.monthName[4], "</a></td><td class='bbit-dp-mp-month bbit-dp-mp-sep' xmonth='10'><a href='javascript:void(0);'>", def.monthName[10], "</a></td><td class='bbit-dp-mp-year'><a href='javascript:void(0);'></a></td><td class='bbit-dp-mp-year'><a href='javascript:void(0);'></a></td>");
224            cpHA.push("</tr>");
225
226            cpHA.push("<tr>");
227            cpHA.push("<td class='bbit-dp-mp-month' xmonth='5'><a href='javascript:void(0);'>", def.monthName[5], "</a></td><td class='bbit-dp-mp-month bbit-dp-mp-sep' xmonth='11'><a href='javascript:void(0);'>", def.monthName[11], "</a></td><td class='bbit-dp-mp-year'><a href='javascript:void(0);'></a></td><td class='bbit-dp-mp-year'><a href='javascript:void(0);'></a></td>");
228            cpHA.push("</tr>");
229            cpHA.push("<tr class='bbit-dp-mp-btns'>");
230            cpHA.push("<td colspan='4'><button id='BBIT-DP-MP-OKBTN' class='bbit-dp-mp-ok'>", def.btnOk, "</button><button id='BBIT-DP-MP-CANCELBTN' class='bbit-dp-mp-cancel'>", def.btnCancel, "</button></td>");
231            cpHA.push("</tr>");
232
233            cpHA.push("</tbody></table>");
234            cpHA.push("</div>");
235            cpHA.push("</div>");
236
237            var s = cpHA.join("");
238            $(document.body).append(s);
239            cp = $("#BBIT_DP_CONTAINER");
240
241            initevents();
242        }
243
244        function initevents() {
245            //1 today btn;
246            $("#BBIT-DP-TODAY").click(returntoday);
247            cp.click(returnfalse);
248            $("#BBIT_DP_INNER tbody").click(tbhandler);
249            $("#BBIT_DP_LEFTBTN").click(prevm);
250            $("#BBIT_DP_RIGHTBTN").click(nextm);
251            $("#BBIT_DP_YMBTN").click(showym);
252            $("#BBIT-DP-MP").click(mpclick).dblclick(mpdblclick);
253
254            $("#BBIT-DP-MP-PREV").click(mpprevy);
255            $("#BBIT-DP-MP-NEXT").click(mpnexty);
256            $("#BBIT-DP-MP-OKBTN").click(mpok);
257            $("#BBIT-DP-MP-CANCELBTN").click(mpcancel);
258        }
259
260        function mpcancel() {
261            $("#BBIT-DP-MP").animate({
262                top: -193
263            }, {
264                duration: 200,
265                complete: function() {
266                    $("#BBIT-DP-MP").hide();
267                }
268            });
269            return false;
270        }
271
272        function mpok() {
273            def.Year = def.cy;
274            def.Month = def.cm + 1;
275            def.Day = 1;
276            $("#BBIT-DP-MP").animate({
277                top: -193
278            }, {
279                duration: 200,
280                complete: function() {
281                    $("#BBIT-DP-MP").hide();
282                }
283            });
284            writecb();
285            return false;
286        }
287
288        function mpprevy() {
289            var y = def.ty - 10
290            def.ty = y;
291            rryear(y);
292            return false;
293        }
294
295        function mpnexty() {
296            var y = def.ty + 10
297            def.ty = y;
298            rryear(y);
299            return false;
300        }
301
302        function rryear(y) {
303            var s = y - 4;
304            var ar = [];
305            for (var i = 0; i < 5; i++) {
306                ar.push(s + i);
307                ar.push(s + i + 5);
308            }
309            $("#BBIT-DP-MP td.bbit-dp-mp-year").each(function(i) {
310                if (def.Year == ar[i]) {
311                    $(this).addClass("bbit-dp-mp-sel");
312                } else {
313                    $(this).removeClass("bbit-dp-mp-sel");
314                }
315                $(this).html("<a href='javascript:void(0);'>" + ar[i] + "</a>").attr("xyear", ar[i]);
316            });
317        }
318
319        function mpdblclick(e) {
320            var et = e.target || e.srcElement;
321            var td = getTd(et);
322            if (td == null) {
323                return false;
324            }
325            if ($(td).hasClass("bbit-dp-mp-month") || $(td).hasClass("bbit-dp-mp-year")) {
326                mpok(e);
327            }
328            return false;
329        }
330
331        function mpclick(e) {
332            var panel = $(this);
333            var et = e.target || e.srcElement;
334            var td = getTd(et);
335            if (td == null) {
336                return false;
337            }
338            if ($(td).hasClass("bbit-dp-mp-month")) {
339                if (!$(td).hasClass("bbit-dp-mp-sel")) {
340                    var ctd = panel.find("td.bbit-dp-mp-month.bbit-dp-mp-sel");
341                    if (ctd.length > 0) {
342                        ctd.removeClass("bbit-dp-mp-sel");
343                    }
344                    $(td).addClass("bbit-dp-mp-sel")
345                    def.cm = parseInt($(td).attr("xmonth"));
346                }
347            }
348            if ($(td).hasClass("bbit-dp-mp-year")) {
349                if (!$(td).hasClass("bbit-dp-mp-sel")) {
350                    var ctd = panel.find("td.bbit-dp-mp-year.bbit-dp-mp-sel");
351                    if (ctd.length > 0) {
352                        ctd.removeClass("bbit-dp-mp-sel");
353                    }
354                    $(td).addClass("bbit-dp-mp-sel")
355                    def.cy = parseInt($(td).attr("xyear"));
356                }
357            }
358            return false;
359        }
360
361        function showym() {
362            var mp = $("#BBIT-DP-MP");
363            var y = def.Year;
364            def.cy = def.ty = y;
365            var m = def.Month - 1;
366            def.cm = m;
367            var ms = $("#BBIT-DP-MP td.bbit-dp-mp-month");
368            for (var i = ms.length - 1; i >= 0; i--) {
369                var ch = $(ms[i]).attr("xmonth");
370                if (ch == m) {
371                    $(ms[i]).addClass("bbit-dp-mp-sel");
372                } else {
373                    $(ms[i]).removeClass("bbit-dp-mp-sel");
374                }
375            }
376            rryear(y);
377            mp.css("top", -193).show().animate({
378                top: 0
379            }, {
380                duration: 200
381            });
382        }
383
384        function getTd(elm) {
385            if (elm.tagName.toUpperCase() == "TD") {
386                return elm;
387            } else if (elm.tagName.toUpperCase() == "BODY") {
388                return null;
389            } else {
390                var p = $(elm).parent();
391                if (p.length > 0) {
392                    if (p[0].tagName.toUpperCase() != "TD") {
393                        return getTd(p[0]);
394                    } else {
395                        return p[0];
396                    }
397                }
398            }
399            return null;
400        }
401
402        function tbhandler(e) {
403            var et = e.target || e.srcElement;
404            var td = getTd(et);
405            if (td == null) {
406                return false;
407            }
408            var $td = $(td);
409            if (!$(td).hasClass("bbit-dp-disabled")) {
410                var s = $td.attr("xdate");
411                cp.data("indata", stringtodate(s));
412                returndate();
413            }
414            return false;
415        }
416
417        function returnfalse() {
418            return false;
419        }
420
421        function stringtodate(datestr) {
422            try {
423                var arrs = datestr.split(i18n.datepicker.dateformat.separator);
424                var year = parseInt(arrs[i18n.datepicker.dateformat.year_index]);
425                var month = parseInt(arrs[i18n.datepicker.dateformat.month_index]) - 1;
426                var day = parseInt(arrs[i18n.datepicker.dateformat.day_index]);
427                return new Date(year, month, day);
428            } catch (e) {
429                return null;
430            }
431        }
432
433        function prevm() {
434            if (def.Month == 1) {
435                def.Year--;
436                def.Month = 12;
437            } else {
438                def.Month--
439            }
440            writecb();
441            return false;
442        }
443
444        function nextm() {
445            if (def.Month == 12) {
446                def.Year++;
447                def.Month = 1;
448            } else {
449                def.Month++
450            }
451            writecb();
452            return false;
453        }
454
455        function returntoday() {
456            cp.data("indata", new Date());
457            returndate();
458        }
459
460        function returndate() {
461            var ct = cp.data("ctarget");
462            var ck = cp.data("cpk");
463            var re = cp.data("onReturn");
464            var ndate = cp.data("indata")
465            var ads = cp.data("ads");
466            var ade = cp.data("ade");
467            var dis = false;
468            if (ads && ndate < ads) {
469                dis = true;
470            }
471            if (ade && ndate > ade) {
472                dis = true;
473            }
474            if (dis) {
475                return;
476            }
477            if (re && jQuery.isFunction(re)) {
478                re.call(ct[0], cp.data("indata"));
479            } else {
480                ct.val(dateFormat.call(cp.data("indata"), i18n.datepicker.dateformat.fulldayvalue));
481            }
482            ck.attr("isshow", "0");
483            cp.removeData("ctarget").removeData("cpk").removeData("indata").removeData("onReturn")
484                .removeData("ads").removeData("ade");
485            cp.css("visibility", "hidden");
486            ct = ck = null;
487        }
488
489        function writecb() {
490            var tb = $("#BBIT_DP_INNER tbody");
491            $("#BBIT_DP_YMBTN").html(def.monthName[def.Month - 1] + def.monthp + " " + def.Year);
492            var firstdate = new Date(def.Year, def.Month - 1, 1);
493
494            var diffday = def.weekStart - firstdate.getDay();
495            var showmonth = def.Month - 1;
496            if (diffday > 0) {
497                diffday -= 7;
498            }
499            var startdate = DateAdd("d", diffday, firstdate);
500            var enddate = DateAdd("d", 42, startdate);
501            var ads = cp.data("ads");
502            var ade = cp.data("ade");
503            var bhm = [];
504            var tds = dateFormat.call(def.today, i18n.datepicker.dateformat.fulldayvalue);
505            var indata = cp.data("indata");
506            var ins = indata != null ? dateFormat.call(indata, i18n.datepicker.dateformat.fulldayvalue) : "";
507            for (var i = 1; i <= 42; i++) {
508                if (i % 7 == 1) {
509                    bhm.push("<tr>");
510                }
511                var ndate = DateAdd("d", i - 1, startdate);
512                var tdc = [];
513                var dis = false;
514                if (ads && ndate < ads) {
515                    dis = true;
516                }
517                if (ade && ndate > ade) {
518                    dis = true;
519                }
520                if (ndate.getMonth() < showmonth) {
521                    tdc.push("bbit-dp-prevday");
522                } else if (ndate.getMonth() > showmonth) {
523                    tdc.push("bbit-dp-nextday");
524                }
525
526                if (dis) {
527                    tdc.push("bbit-dp-disabled");
528                } else {
529                    tdc.push("bbit-dp-active");
530                }
531
532                var s = dateFormat.call(ndate, i18n.datepicker.dateformat.fulldayvalue);
533                if (s == tds) {
534                    tdc.push("bbit-dp-today");
535                }
536                if (s == ins) {
537                    tdc.push("bbit-dp-selected");
538                }
539
540                bhm.push("<td class='", tdc.join(" "), "' title='", dateFormat.call(ndate, i18n.datepicker.dateformat.fulldayvalue), "' xdate='", dateFormat.call(ndate, i18n.datepicker.dateformat.fulldayvalue), "'><a href='javascript:void(0);'><em><span>
540", ndate.getDate(), "</span></em></a></td>");
541                if (i % 7 == 0) {
542                    bhm.push("</tr>");
543                }
544            }
545            tb.html(bhm.join(""));
546        }
547
548        return $(this).each(function() {
549
550            var obj = $(this).addClass("bbit-dp-input");
551            var picker = $(def.picker);
552            def.showtarget == null && obj.after(picker);
553            picker.click(function(e) {
554                var isshow = $(this).attr("isshow");
555                //hide it initially
556                var me = $(this);
557
558                if (cp.css("visibility") == "visible") {
559                    cp.css(" visibility", "hidden");
560                }
561                if (isshow == "1") {
562                    me.attr("isshow", "0");
563                    cp.removeData("ctarget").removeData("cpk").removeData("indata").removeData("onReturn");
564                    return false;
565                }
566                var v = obj.val();
567                if (v != "") {
568                    v = stringtodate(v);
569                }
570                if (v == null || v == "") {
571                    def.Year = new Date().getFullYear();
572                    def.Month = new Date().getMonth() + 1;
573                    def.Day = new Date().getDate();
574                    def.inputDate = null
575                } else {
576                    def.Year = v.getFullYear();
577                    def.Month = v.getMonth() + 1;
578                    def.Day = v.getDate();
579                    def.inputDate = v;
580                }
581                cp.data("ctarget", obj).data("cpk", me).data("indata", def.inputDate).data("onReturn", def.onReturn);
582                if (def.applyrule && $.isFunction(def.applyrule)) {
583                    var rule = def.applyrule.call(obj, obj[0].id);
584                    if (rule) {
585                        if (rule.startdate) {
586                            cp.data("ads", rule.startdate);
587                        } else {
588                            cp.removeData("ads");
589                        }
590                        if (rule.enddate) {
591                            cp.data("ade", rule.enddate);
592                        } else {
593                            cp.removeData("ade");
594                        }
595                    }
596                } else {
597                    cp.removeData("ads").removeData("ade")
598                }
599                writecb();
600
601
602                $("#BBIT-DP-T").height(cp.height());
603                var t = def.showtarget || obj;
604                var pos = t.offset();
605
606
607                var height = t.outerHeight();
608                var newpos = {
609                    left: pos.left,
610                    top: pos.top + height
611                };
612                var w = cp.width();
613                var h = cp.height();
614                var bw = document.documentElement.clientWidth;
615                var bh = document.documentElement.clientHeight;
616                if ((newpos.left + w) >= bw) {
617                    newpos.left = bw - w - 2;
618                }
619                if ((newpos.top + h) >= bh) {
620                    newpos.top = pos.top - h - 2;
621                }
622                if (newpos.left < 0) {
623                    newpos.left = 10;
624                }
625                if (newpos.top < 0) {
626                    newpos.top = 10;
627                }
628                $("#BBIT-DP-MP").hide();
629                newpos.visibility = "visible";
630                cp.css(newpos);
631
632
633
634                //cp.show();
635                $(this).attr("isshow", "1");
636
637                $(document).one("click", function(e) {
638                    me.attr("isshow", "0");
639                    cp.removeData("ctarget").removeData("cpk").removeData("indata");
640                    cp.css("visibility", "hidden");
641                });
642
643                return false;
644            });
645        });
646    };
647})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.