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, "'> </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, "'> </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.